1.tar 命令
tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
参数 | 意义 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-z | 用 Gzip 压缩或解压 |
-j | 用 bzip2 压缩或解压 |
-v | 显示压缩或解压的过程 |
-C | 指定解压到的目录 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-t | 查看压缩包内有哪些文件 |
把/etc 目录通过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz:
tar -czvf etc.tar.gz /etc
将打包后的压缩包文件指定解压到/root/etc 目录中:
tar -xzvf etc.tar.gz -C /root/etc
2.grep 命令
grep 命令,文本处理工具,用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
① -n :显示搜索到信息的行号 grep -n ‘a’ 1.txt
[root@c66 ~]# more 1.txt
hello linux
hello world
apple
banana
cat
[root@c66 ~]# grep -n 'a' 1.txt
3:apple
4:banana
5:cat
[root@c66 ~]#
②-v :反向选择—仅列出没有“关键词”的行
[root@c66 ~]# ifconfig | grep 'inet'
inet 192.168.163.143 netmask 255.255.255.0 broadcast 192.168.163.255
inet6 fe80::9cce:a5bd:7558:26ff prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
[root@c66 ~]# ifconfig | grep 'inet' | grep -v 'inet6'
inet 192.168.163.143 netmask 255.255.255.0 broadcast 192.168.163.255
inet 127.0.0.1 netmask 255.0.0.0
[root@c66 ~]#
③显示当前不允许用户登录的信息并显示行号
[root@c66 ~]# grep -n /sbin/nologin /etc/passwd
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
......
注:/bin/bash/允许用户登录
/sbin/nologin 不允许用户登录
[root@c66 ~]# grep -n /bin/bash /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
23:alice:x:1000:1000::/home/alice:/bin/bash
27:tom:x:1001:1001::/home/tom:/bin/bash
28:john:x:1002:1002::/home/john:/bin/bash
31:user1:x:1003:1003::/home/user1:/bin/bash
32:user2:x:1004:1004::/home/user2:/bin/bash
[root@c66 ~]#
3.find 命令
find 命令用于按照指定条件来查找文件,格式为“find [查找路径]寻找条件 操作”。
[root@c66 ~]# find /etc/ -name "host*" -print
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/active/modules/100/hostname
/etc/hostname
[root@c66 ~]#
在整个文件系统中找出所有归属于 nebulalinux 用户的文件并复制到/root/findresults 目录。该实验的重点是“-exec {} ;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且命令的结尾必须是“;”。完成该实验的具体命令如下: find / -user nebulalinux -exec cp -a {} /root/findresults/ ;
方法:
①创建用户nebulalinux—>useradd nebulalinux
②创建文件/root/findresults—>mkdir /root/findresults
③查找用户 nebulalinux---->find / -name nebulalinux
[root@c66 ~]# useradd nebulalinux
[root@c66 ~]# mkdir /root/findresults
[root@c66 ~]# find / -name nebulalinux
/var/spool/mail/nebulalinux
/home/nebulalinux
[root@c66 ~]#
④find / -user nebulalinux -exec cp -a {} /root/findresults/ \;