用户管理+文本处理+文件查找

用户管理

erter

useradd (使用频率2)
- -u 指定UID (默认500|1000开头) - -o -u新建用户前不检查下指定的UID是否存在(一般不要使用这个选项)  useradd -u 250 -o yonggege
- -g GID|组名  指明用户所属的基本组 (使用比较多) - -G 指明用户所属的附加组 - -d  指定某个目录作为家目录,默认/home - -s  指明用户默认的shell,默认/bin/bash,通常会指定/sbin/nologin(使用较多) - -c  “ ”  指定用户注释信息 - -r  新建系统用户 - -m  默认选项 创建用户家目录 - -M 不创建用户家目录 (使用较多)  ```useradd -M -s /sbin/nologin yongge```

- -D 改变新建用户默认的选项  (使用频率为0

/etc/default/useradd用户模板文件说明

: [root@CentOS68 ~]# cat /etc/default/useradd

GROUP=100
HOME=/home  默认家目录
INACTIVE=-1  密码失效日期,shadow第7列
EXPIRE=  账号失效日期 第8列
SHELL=/bin/bash
SKEL=/etc/skel  家目录下面的隐藏文件的模板
CREATE_MAIL_SPOOL=yes 是否创建一个邮箱账户
/etc/login.defs 关于新建用户的默认配置文件

: 主要用于指定文件的邮箱路径,是否新建家目录,uid.gid,加密方式SHA512 (mysql 默认md5),密码有效期提醒时间等

批量创建用户和修改密码

: 1.newusers和chpasswd(接新建用户的文件模板)2.使用for 循环

usermod 修改用户的属性

(使用频率为1)-a|–append 把用户追加到某些组中,仅与-G选项一起使用

  • -U 解锁用户 sarah
  • -L 锁定用户 (直接修改密码文件,加感叹号)

-a|–append ##把用户追加到某些组中,仅与-G选项一起使用(注意.不加此选项会修改)-c|–comment ##修改/etc/passwd文件第五段comment-d|–home ##修改用户的家目录通常和-m选项一起使用-e|–expiredate ##指定用户帐号禁用的日期,格式YY-MM-DD-f|–inactive ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1-g|–gid ##修改用户的gid,改组一定存在-G|–groups ##把用户追加到某些组中,仅与-a选项一起使用-l|–login ##修改用户的登录名称-L|–lock ##锁定用户的密码-m|–move-home ##修改用户的家目录通常和-d选项一起使用-s|–shell ##修改用户的shell-u|–uid ##修改用户的uid,该uid必须唯一


userdel 删除用户 (使用频率1)

  • -r 删除用户家目录
  • -f强制删除.即是用户处于登录状态

nmap ip查看指定ip的开放的端口 fping扫描网段内所有可访问的机器


passwd: 修改自己的密码

  • 不常用选项:

    • -l:锁定指定用户
    • -u:解锁指定用户
    • -e:强制用户下次登录修改密码
    • -n mindays: 可修改密码时间
    • -x maxdays:最大使用期限
    • -w warndays:提前多少天开始警告
    • -i inactivedays:宽限期
  • 常用选项–stdin:从标准输入接收用户密码

    echo "PASSWORD" | passwd --stdin USERNAME

    echo “123456” | passwd –stdin xian chage -d 0 xian 要求用户在第一次登陆的时候必须强制一定要修改密码

    `echo "P@w$sd" | passwd --stdin xian` : > 注意字符串有一个$符号 会把后面的内容给替换成变量 而这个变量为空,所以切记改密码的时候要使用单引号 强引用
    
    : > 要注意的事情是:改完密码之后,当前的终端不能立即退出,改为先验证下密码是否改成功,如果成功再退出,如果不成功,你退出了,后果你自己想吧?
gpasswd [选项] 用户账号 组账号

常见选项: -a 向组中添加的成员 -d 删除组中的成员 -M 同时向组中添加多个成员

chpasswd修改密码
  • -e:输入的密码是加密后的密文;
  • -h:显示帮助信息并退出
  • -m:当被支持的密码未被加密时,使用MD5加密代替DES加密。

实例:先创建用户密码对应文件,格式为username:password,如abc:abc123,必须以这种格式来书写,并且不能有空行,保存成文本文件user.txt,然后执行chpasswd命令: chpasswd < user.txt 以上是运用chpasswd命令来批量修改密码。是linux系统管理中的捷径。

来自: http://man.linuxde.net/chpasswd

2.chage option user
  1. -d 0 user 强制修改密码(shaddowd第三段),不为0指最近修改时间
  2. -E EXPIRE_DATE
  3. -I inactive密码失效时间
  4. -m mindays最短使用时间
  5. -M maxdays最大使用时间
  6. -W warndays 失效亲警告时间
  7. -l显示密码策略
chage -d 0 tom  下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
3.finger user 查看用户信息
4.chfn user 修改个人信息
5.chsh option shell user
  1. -s修改shell
6.groupadd option gname
  1. -g 指定gid
  2. -r 创建系统组CentOS 6: ID<500 CentOS 7: ID<1000
7.groupmod option gname
  1. -n new_group_name 改组名
  2. -g 新的GID
8.groupdel gname删除组
9.gpasswd option gname
  1. -a user: 将user 添加至指定组中
  2. -d user: 从指定组中移除用户user
  3. -A user1,user2,…: 设置有管理权限的用户列表
10.newgrp option gname 临时切换主组

如果用户本不属于此组,则需要组密码

11.groupmems option action更改或查看组成员
  1. -g gname -a user 将user加入组
  2. -g gname -d user 将user移除组
  3. -g gname -p(purge) 清除组内成员
更改和追加附加用户组总结
  1. 追加

    • usermod -aG
    • gpasswd -a
    • groupmems -a user1 -g admin
  2. 修改

    • usermod -G
    • gpasswd -G

3.移出组 – gpasswd -d user group

修改组的方法
  • usermod -g
  • gpasswd -g

练习

  1. 将 date 命令的所有大写字母转换成小写字母输出
1.[root@yongge ~]# date | tr 'A-Z' 'a-z' thu mar 30 08:51:16 cst 2017 2.[root@yongge ~]# date | tr [A-Z] [a-z]
  1. 将/etc/fstab 文件中的内容转换成大写后保存至/tmp/fstab.bak 中,用两种方法实现
1.[root@yongge ~]# cat /etc/fstab | tr 'a-z' 'A-Z'>>/tmp/fstab.bak 2.cat /etc/fstab | tr 'a-z' 'A-Z'|| tee -a /tmp/fstab1.bak(会有输出)
  1. 开启两个终端,将终端 1 中输入命令的执行结果输出,并同时输出到终端 2
1.列出已有会话:
[root@yongge ~]# screen -ls There are screens on: 4478.lee        (Attached) 4460.pts-0.yongge       (Attached) 2 Sockets in /var/run/screen/S-root. 2.新建会话:
screen -S test

[root@yongge ~]# screen -ls There are screens on: 4510.test       (Attached) 4478.lee        (Attached) 4460.pts-0.yongge       (Attached) 3 Sockets in /var/run/screen/S-root.

在另一个终端加入会话:
screen -x 4510 3.离线会话:
screen -x 4510 [root@yongge ~]# screen -ls There are screens on: 4510.test (Detached) 4478.lee (Attached) 4460.pts-0.yongge    (Attached) 3 Sockets in /var/run/screen/S-root.

或者:
ls /dev/pts/
w
tee /dev/pts/0 &> /dev/pts/1
  1. 创建 test 用户,并让其在首次登录后修改密码
useradd test && echo 3|passwd --stdin test&& chage -d 0 test
  1. 更改 test用户的登录环境 shell 为/sbin/nologin , 并说明 /etc/shadow 中 test:用户后加!! 区别
1.usermod -s /sbin/nologin test(无输出)
2.[root@yongge ~]# chsh -s /bin/bash test(有输出)
Changing shell for test. Shell changed.

/etc/shadow 中 test:用户后加!加!!的时候 可以 su - test 中去的
而当 /etc/passwd 的/bin/bash 改变为 /sbin/nologin 时,不仅不能登录,而且用 su 命令切
换不过去
  1. 查看 test 用户的 id 信息包括(用户 id,组 id,附加组 id)
[root@yongge ~]# id test
uid=1001(test) gid=1001(test) groups=1001(test)

7.修改test 用户组为 root 组,附加组为 ftp 组

usermod -g root -G ftp
  1. 当用户 test 用户目录被删除时,如何恢复
cp -av /etc/skel/ /home/test/
  1. 利用 cat 输入输出的功能,输入一段信息到/root/newbash 中,并调用一个系统命令
[root@yongge skel]# cat > /root/newbash shell
Bash
Linux
`date`
[root@yongge skel]# head /root/newbash  shell
Bash
Linux
date Wed Mar 29 16:33:56 CST 2017 [root@yongge skel]# cat -n  /root/newbash 1 shell 2 Bash 3 Linux 4 date Wed Mar 29 16:33:56 CST 2017
  1. 在不与用户交互的情况下更改 test 的密码
echo '123456' | passwd --stdin test
  1. 新建一个系统组为 group1,新建系统用户 sysuser
useradd -u 400 -g 400
  1. [root@node0 ~]# nano /etc/passwd 修改如下两行 #root:x:0:0:root:/root:/bin/bash 注释或删了 magedu:x:0:0::/home/magedu:/bin/bash #保存退出后,root 用户不能,而 magedu 则成为了系统的拥有最高管理权限的用户 #sshd 基于 root 名称的认证,而并非 id 所以 PermitRootLogin yes 对此类的 magedu 用户不起作用

    命令查找

    • which
    • whereis
    • whoami

    软件包查找

    rmp -qf which sz

    locate

    about

    • 文件索引数据库:/var/lib/mlocate/mlocate.db
    • 索引的构建是在系统较为空闲时自动进行( 周期性 任务), 管理员 手动更新数据库(updatedb)
    • 索引构建过程需要遍历整个根文件系统,极消耗资源

    usage

    locate [-in] keyword

    options complications
    i 不区分大小写
    n 只列举前n个匹配选项
    r 使用正则搜索

    locale 显示当前系统默认的字符集

    example

    搜索以conf结尾的文件
    locate -r ‘\.conf$’

    find

    about

    usage

    options

    按文件基本属性查找

    options complications
    -name 按文件名查找
    -iname 文件名忽略大小写
    -inum n 按inode编号查找
    -samefile filename 与filename相同inode号的文件
    -links n 链接数为n的文件
    -regex “PATTERN” PATTERN匹配整个文件路径而非文件名

    按文件属主属组查找

    options complications
    -user username 所属主
    -group gname 按属组查找
    -uid n 按uid查找
    -gid n 按gid查找
    -nouser 没有属主的文件
    -nogroup 没有属组的文件

    按文件类型查找 -type

    options complications
    -type d 目录
    -type f 普通文件
    -type l 符号链接
    -type s 套接字文件
    -type b 块设备文件
    -type c 字符设备文件
    -type p 管道文件

    按文件大小查找 -size

    options complications
    -size # 表示(#-1,#];#可以是10K,10M..表示(9,10]K
    -size +# 表示(#,无穷大)
    -size -# 表示[0,#-1]

    按时间查找 -[atime ctime mtime amin mmin cmin]

    -atime
    options complications
    +# [#+1,无穷大]
    -# [0,#)
    # [#,#+1)

    -mtime +10表示10天以前修改过的;-mtime -10表示10天内修改过的文件;-mtime 0表示一天内修改过的;注意跟size区分,size不加符号表示(#-1,#]

    各条件间的关系

    • 默认是与的关系-a
    • 或:-o
    • 非 -not!

    按权限查找 -perm

    perm [/|-] mode
    symbol complications
    – mode 精确权限匹配
    – /mode ugo中任何一位匹配
    – -mode 每个权限位必须同时满足
    – +mode ugo中任何一位匹配,cent7开始废弃

    +和-中出现0表示忽略这一位的权限

    find /etc perm /220 表示属主或属组有写权限,其他人任意权限
    find /etc -perm -220 表示属主和属组有写权限,其他人任意权限

    actions

    options complications
    print 默认行为
    -ls 列出文件属性
    -delete 删除查找到的文件
    -fls file 将查找的文件的长格式信息保存到file中,相当于重定向
    -ok commmond {} |对查找的文件执行commind命令,执行前需用户确认,{}表示find查找到的内容\为find命令结束符
    -exec commmond {} |直接执行.不询问

    xargs

    读取标准输出,并意空格或者回车符将stdin的数据分隔成arguments

    find | xargs command find /sbin -perm +700|xargx ls -l
    find /etc -perm -022 -ls >root/find.log find /etc -perm -022 fls root/find.log find /etc -perm 002 -ok chmod o-w {} \;

    使用通配符:

    find -name  '*.sh' 以.sh结尾的文件
    find -name  '??.sh' 以.sh结尾的文件名为2位字符
    find -name  '*sh*' 包含sh的
    find -name  '[0-9][[:digit:]].sh' 以两位数字作为文件名的.sh文件
    find -name  '[^0-9][[:digit:]].sh'
    开头非数字第二个字符为数字且只有两位字符的sh文件

    examples

    find -inum 2 查找根分区 find -samefile log 2>/dev/null find /home -user yongge -ls find /home -nouser -nogroup -type d 查找/home下没有属主属组的目录 find /home -nouser -o -type d 查找home下没有属主的文件和所有目录 find /home \(-nouser -o -type d\) -ls find /etc/ -not -name "*.conf" -ls find /etc/ ! -name "*.conf" -ls find /etc -path '/etc/etcsane.d' -prune -o -name '*.conf' 查找etc下不包括/etc/etcsane.d目录下以conf结尾的文件

    练习

    1. 备份配置文件,添加.orig 这个扩展名
    find -name “*.conf-exec cp {} {}.orig \;
    1. 提示删除存在时间超过3天以上的joe 的临时文件
    find /tmp -ctime +3 -user joe -ok rm {} \;

     find ~ -perm -002 -exec chmod o-w {} ; • 在你的主目录中寻找可被其它用户写入的文件  find /data –type f -perm 644 -name “*.sh” –exec chmod 755 {} ;  find /home –type d -ls

    1 、查找/var 目录下属主为root ,且属组为mail 的所有文件  2 、查找/var 目录下不属于root 、lp 、gdm 的所有文件  3 、查找/var 目录下最近一周内其内容修改过,同时属主不为 root ,也不是postfix 的文件  4 、查找当前系统上没有属主或属组,且最近一个周内曾被访 问过的文件  5 、查找/etc 目录下大于1M 且类型为普通文件的所有文件  6 、查找/etc 目录下所有用户都没有写权限的文件  7 、查找/etc 目录下至少有一类用户没有执行权限的文件  8 、查找/etc/init.d 目录下,所有用户都有执行权限,且其它 用户有写权限的文件

    grep简介

    grep(Global Search REgular Expression and Print out the line) grep,egrep,fgrep(不支持正则,但效率高)

    usage

    grep [-ABCceEFinoqvw] pattern filename

    options implications
    -v 显示不被pattern匹配的行
    -i 忽略字符大小写
    -n 显示行号(cat -n file
    -c 显示匹配行数
    -o 显示匹配的字符串
    -q 静默模式.不输出(grep str file &>/dev/null)
    -A# 后#行
    -B# 前#行
    -C# 前后各#行
    -e 实现多个选项间的逻辑or关系
    -E 使用ERE
    -F 相当fgrep,不支持正则
    -w 匹配单词(相当于\bstring\b)

    实例:

    grep root /etc/passwd grep "$USER" /etc/passwd grep '$USER' /etc/passwd grep `whoami` /etc/passwd
    nmap -sP -v 172.16.252.0/24 | grep -B1 up | grep -v up|grep -v '\-\-' 扫描子网内所有开机的ip
    nmap -sP -v 172.16.252.0/24 | grep -B1 up | grep scan|cut -d' ' -f5  取出ip
    
    namp -V -A 172.16.252.100 查看指定机器开放的端口
    
    ifconfig | grep -w inet|tr -s ' '|cut -d' ' -f3 查看所有网卡ip
    ifconfig | grep -w inet|tr -s ' '|cut -d' ' -f3|cut -d: -f2 兼容centos6
    
    df |grep /dev/sd|tr -s ' '|cut -d' ' -f5|tr -d %|sort -nr 查看硬盘占用率

    元字符(正则中所有字符统称元字符)

    字符匹配、匹配次数、位置锚定、分组

    字符匹配

    character complications
    . 匹配任意单个字符
    [] 匹配指定范围内的任意单个字符
    [^] 匹配指定范围外的任意单个字符
    [:alnum:] 字母和 数字
    [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
    [:lower:] 小写字母 [:upper:] 大写字母
    [:blank:] 空白字符(空格和制表符)
    [:space:] 水平和垂直的空白字符(比[:blank:] 包含的范围广)
    [:cntrl:] 不可打印的控制字符(退格、删除、警铃…) )
    [:digit:] 字 十进制数字 [:xdigit:] 十六进制数字
    [:graph:] 可打印的非空白字符
    [:print:] 可打印字符
    [:punct:] 标点符号

    匹配次数

    character complications
    * 匹配 前面的字符任意次,包括0次;贪婪模式:尽可能长的匹配
    .* 任意 长度的任意字符
    ? 匹配 其前面的字符0 或1次 次
    + 匹配 其前面的字符至少1次 次
    {n} 匹配 前面的字符n次 次
    {m,n} 匹配 前面的字符至少m 次,至多n次 次
    {,n} 匹配 前面的字符至多n次次
    {n,} 匹配 前面的字符至少n次

    位置锚定

    character complications
    ^ 行首锚定,用于模式的最左侧
    $ 行尾锚定,用于模式的最右侧
    ^PATTERN$ 用于模式匹配整行
    ^$ 空行
    ^[[:space:]]*$ 空白行
    \< 或 \b 词首锚定,用于单词模式的左侧(除了字母数字和下划线意外的字符都可以作为单词的边界)
    \> 或 \b 词尾锚定;用于单词模式的右侧
    \<PATTERN\> 匹配整个单词

    分组()

    将一个或多个字符捆绑在一起,当作一个整体进 行处理,如:(root)+ 分组 括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1, \2, \3, …

    • \1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到 的字符 示例 :
    \(string1\+\(string2\)*\) \1  :string1\+\(string2\)*
    \2  :string2

    后向引用引用前面的分组括号中的模式所匹配字符,而非模式本身

    # 匹配出现两次god的行 echo godgodgod |grep '/(god/)\{2\}'

    练习

    1. 显示/proc/meminfo 文件中以大小s 开头的行( 要求:使用两种方法)
    cat /proc/meminfo grep -i '^s'
     cat /proc/meminfo grep  '^[sS]'
     cat meminfo.log | grep -e "^s" -e "^S"
    1. 显示/etc/passwd 文件中不以/bin/bash 结尾的
    grep -v '/bin/bash$' /etc/passwd
    1. 显示用户rpc 默认的shell 程序
    grep -w rpc passwd |cut -d':' -f7
    grep '\<rpc\>' passwd |cut -d':' -f7
    1. 找出/etc/passwd 中的两位或三位数
    2. 显示CentOS7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存非空白字符的行
    grep -o '[[:space:]]\+[^[:space:]]\+' /etc/grub2.cfg
    1. 找出“netstat -tan” 命令的结果中以‘LISTEN’ 后跟任意多个空白字符结尾的行
    netstat -tan | grep 'LISTEN[[:space:]]*'
    1. 显示CentOS7 上所有系统用户的用户名和UID
    cat /etc/passwd|cut -d: -f1,3|egrep -w '[0-9]{1,3}'
    1. 添加用户bash 、testbash 、basher 以及nologin( 其shell为/sbin/nologin),找出/etc/passwd文件中用户名同shell 名的行
    egrep -w '(^.+).+\1$' /etc/passwd sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt nobody:x:99:99:Nobody:/:/sbin/nologin 以上由于实体1没有锚定词首词尾导致匹配多余的行.下面为正解
    egrep '^\b(\b.+\b).+\1$' /etc/passwd
    1. 利用df 和grep,取出磁盘各分区利用率,并从大到小排序
    df -h | grep -o "[[:digit:]]\+%" | tr -d "%" | sort -nr
    df |grep -o '[[:digit:]]\+%'|cut -d'%' -f1|sort -nr
    df|tr -s ' '| cut -d' ' -f5|cut -d% -f1
    df|tr -s ' '| cut -d' ' -f5|tr -d %
    1. 显示三个用户root 、mage 、wang 的UID 和默认shell
    egrep -w '^(root|mage|wang)' passwd|cut -d: -f3,7
    1. 找出/etc/rc.d/init.d/functions 文件中行首为某单词(包括下划线)后面跟一个小括号的行
    egrep -w '^[[:alnum:]_]+\(\)' /etc/rc.d/init.d/functions
    
    cat /etc/rc.d/init.d/functions  | egrep "^[_[:alpha:]]+\(\)"
    1. 使用egrep 取出/etc/rc.d/init.d/functions 中其基名
    echo /etc/rc.d/init.d/functions | egrep -v '^/.*/' echo /etc/rc.d/init.d/functions | egrep -o '/[[:alpha:]]+$' | tr -d / echo etc/rc.d/init.d/function|grep -o '[^/]\+$' echo etc/rc.d/init.d/function|egrep -o '[^/]+$' basename /etc/rc.d/init.d/functions
    1. 使用egrep 取出上面路径的目录名
    echo /etc/rc.d/init.d/functions | egrep -o '^/.*/' dirname /etc/rc.d/init.d/functions
    1. 统计last 命令中以root 登录的每个主机IP 地址登录次数
    last|grep -w root|tr -s ' '|cut -d' ' -f1,3
    1. 文件log内容如下:
    1 2 3 12 10 14 123 234 34 345 456 678 1234 1000 123456

    利用扩展正则表达式分别筛选出0-9、10-99、100-199,200-249 、250-255

    egrep -w '[0-9]{1}' log egrep -w '[[:digit:]]{1}' log egrep -w '[[:digit:]]{2}' log egrep -w '[[:digit:]]{3}' log egrep -w '2[0-4][[:digit:]]' log egrep -w '25[0-5]' log
    1. 显示ifconfig 命令结果中所有IPv4 地址
    ifconfig|grep '\<inet\>'|tr -s ' '|cut -d' ' -f3|cut -d: -f2
     ifconfig  | egrep  -o "([0-9]{1,3}\.){3}[0-9]{1,3}"
    1. 将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面
    echo welcom to mageedu linux|grep -o '[[:alpha:]]'|sort|uniq -c|sort -nr echo welcom to mageedu linux|grep -o '.'|sort|uniq -c | sort

    9.查找文件file中不包含空行的行

    grep -nv ^$ file grep -nv '^[[:space:]]*$' file #空格也排除
    1. 取出passwd中所有单词
    grep -ow '[[:alnum:]_]*' passwd grep -o '\b[[:alnum:]_]*\b' passwd grep -o '\<[[:alnum:]_]*\>' passwd

    压缩原理:

    相同字符串用短字符替换

    压缩工具

    compass file

    options complication
    -c 结果输出至标准输出,不删除源文件(compass -c file>file.z)
    -v 显示详情
    -d 解压缩

    uncompass file = compass -d

    也可用zcat file.z > file解压 compass -d -c file.z >file(保留源文件)

    zcat 不解压直接输出文件内容 (.z .ge)

    gzip [-dc] file

    options complication
    -d 解压缩,相当于gunzip
    -c 将压缩或解压的结果输出至标准输出
    -# 1-9指定压缩比,值越大压缩比越大,默认6
    压缩但保留源文件
    gzip -c err.log > err.log.gz
    
    解压但保留源文件
    gzip -c -d err.log.gz > err.log 或者zcat err.log.gz > err.log

    bzip2 [-kd#]

    options complication
    -k keep保留源文件
    -d 解压缩
    -# 1-9,压缩比.默认为6

    bzcat (.bz2)

    xz [-kd#]

    options complication
    -k keep保留源文件
    -d 解压缩
    -# 1-9,压缩比.默认为6

    xzcat (.xz)

    zip 打包压缩(支持目录压缩) 压缩后path 源文件

    • 压缩:zip -r /test/sysconfig /etc/syszonfig/
    • 解压缩:
    unzip sysconfig.zip cat /var/log/message | zip message -
    unzip -p messsage > message

    tar (tap archive) [-crtxzvf] 支持目录

    options complication
    -f 指定文件名
    -cf 创建归档
    -rf 追加
    -t 查看归档文件列表
    -x 展开归档
    -j 使用bizp2归档并压缩
    -z 使用gzip归档并压缩
    -J 使用xz归档并压缩
    -v 查看过程
    -C 指定解档后存放位置
    -T 调用文本中的文件路径归档
    -X 排除要归档的文件

    split

    options complication
    -b # (block)解档后分割存放,#指定没份文件的大小
    -d digit 后缀为数字
    split -b 5M backup.tar etc.part etc.part为前缀,会生成前缀加上aa ab ac ad...的编号 cat etc.part* > backup.tar 合并:
    归档txt中指定的文件或目录
    tar -cvf bakup.tar -T tar.txt 以gzip压缩归档并显示过程
    tar -zcvf file.tar.gz /etc/
    以bzip2压缩归档并显示过程
    tar -jcvf file.tar.bzip2 /etc/
    以xz归档并显示过程
    tar -Jcvf file.tar.xz /etc/
    
    tar -rvf 归档文件 追加文件 
    tar -tvf 预览归档文件
    
    tar -xvf 解开归档文件
    tar -xvf file.tar -c /test/file 解开归档文件之指定目录
    tar -xzvf  解开gzip压缩的归档文件
    tar -xjvf  解开bzip2压缩的归档文件
    tar -xJvf  解开xz压缩的归档文件

    cpio [-cdiov] > file/dev

    通过重定向的方式将文件进行打包备份,还原恢复 的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件

    options complication
    – o 将文件拷贝打包成文件或者将文件输出到设备上
    – i 解包,将打包文件解压或将设备上的备份还原到系统
    – t 预览,查看文件内容或者输出到设备上的文件内容
    – v 显示打包过程中的文件名称
    – d 解包生成目录,在cpio 还原时,自动的建立目录
    – c 一种较新的存储方式
    1.将/etc目录备份
    find ./etc | cpio -ov >etc.cpio 2.预览
    cpio -tv < etc.cpio 3.要解包的文件
    cpio -idv < etc.cpio

原创文章,作者:勇哥,如若转载,请注明出处:http://www.178linux.com/72976

(0)
勇哥勇哥
上一篇 2017-04-09
下一篇 2017-04-09

相关推荐

  • 正则

    Edit 正则 概述: 正则表达式,Regular Expression,缩写regex、regexp、RE 正则表达式是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换 1970年,Unix之父ken Thompson将正则表达式引入到Unix中文本编辑器ed和grep命令中,由此正则表达式普及开来 1980年后,perl语言对Henry…

    Linux干货 2017-11-06
  • find文件:就是这么简单

    概述 由于Linux一切皆文件,我们的日常运维工作其实就是与文件打交道的事,如何能够快速而有效地找到我们需要的文件呢?这是个令人头疼的问题。幸运是,Linux为用户提供了强大的查找工具——find。find通过遍历指定路径完成文件查找,它的的工作特点: 精确查找——多查询条件组合,精确匹配; 实时查找——遍历指定路径; 查找速度稍慢——由于需要遍历路径,速度…

    Linux干货 2016-08-18
  • 周期性计划任务Cron详解

    概述 cron 是Linux 或者类 Unix 系统的作业调度程序。利用它,我们可以配置某些命令或者脚本,让命令和脚本在某个设定的时间内周期性地运行。本文主要以描述了 CentOS 6的cron命令的详细知识。 了解cron组件 cron程序由程序包cronie提供,我们可以通过rpm -qi cronie查看cronie的信息。 cron 的组件包括: 1…

    Linux干货 2016-09-18
  • awk命令详解

    简介: wak是一个强大的文本分析工具,也可以叫做报告生成工具。相对于grep的查找,sed的编辑,awk在对其数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格 为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有三个不同的版本:awk,nawk,gawk。我们目前所使用的awk一般指gawk,gawk是AWK和GN…

    Linux干货 2016-11-28
  • Linux运维基础

    正则表达式

    Linux干货 2018-03-19
  • 文件的从属权限和特殊权限

    基础权限   rwx     经过今天的洗礼,了解了文件的权限位(rwx),而权限对于目录和文件有着不同的意义     使用ls -l 命令后可以看到     -rw-r–r–. 1 root root 1…

    Linux干货 2016-08-04

评论列表(1条)

  • renjin
    renjin 2017-04-12 13:08

    详细介绍了文本处理工具的用法,linux系统的用户类管理,文件查找,压缩类的命令用法。内容总结的很详细,排版也很不错,赞!