内容一:more 命令的格式
# more <file>
(补充:这样就会进入到这个文件的 more 显示模式)
内容二:进入 more 显示模式后的可用操作
1) 按下 “空格” 键,显示文件后面的内容
2) 按下 “q” 键,退出 more 显示模式
# more <file>
(补充:这样就会进入到这个文件的 more 显示模式)
1) 按下 “空格” 键,显示文件后面的内容
2) 按下 “q” 键,退出 more 显示模式
# head -<number> <file>
(
补充:
1) 这里的数字是几就是显示文件里的开头几行
2) 不输入数字则默认显示文件里的开头 10 行
)
使用 head 命令显示文件的前 5 行
# head -5 /etc/passwd
或者:
# head -n +5 /etc/passwd
或者:
# head -n 5 /etc/passwd
# tail /etc/passwd
# tail -5 /etc/passwd
或者:
# tail -n 5 /etc/passwd
或者:
# tail -n +5 /etc/passwd
(补充:这里以显示 /etc/passwd 文件的最后 5 行为例)
# tail -f /etc/passwd
# tail 5 /etc/passwd
或者:
# tail -n 5 -f /etc/passwd
或者:
# tail -n +5 -f /etc/passwd
(补充:这里以显示 /etc/passwd 新增加的内容并只显示最新的 5 行为例)
cut命令
cut是一个选取命令,就是将一段数据经过分析取出我们想要的。
语法:Usage: cut OPTION... [FILE]...
选项:
-b,--bytes=LIST:仅显示行中指定直接范围的内容;
-c,--characters=LIST:仅显示行中指定范围的字符;
-d,--delimiter=DELIM:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f,--fields=LIST:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:选项提取指定字段之外的列;
--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
补充扩展:
cut命令可以将一串字符作为列来显示,字符字段的记法:
N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
上面是记法,结合下面选项将每个范围的字节、字符指定为字段:
-b 表示字节;
-c 表示字符;
-f 表示定义字段;
注:cut是竖着切(竖着分割)
[root@iZwz9bhan5nqzh979qokrkZ ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
实例一:
[root@iZwz9bhan5nqzh979qokrkZ ~]# cat a.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
取出第一列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 1 a.txt
root
bin
daemon
adm
lp
取出第一列和第三列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 1,3 a.txt
root:0
bin:1
daemon:2
adm:3
lp:4
取出第一列至第三列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 1-3 a.txt
root:x:0
bin:x:1
daemon:x:2
adm:x:3
lp:x:4
取出第四列和之前的所有列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f -4 a.txt
root:x:0:0
bin:x:1:1
daemon:x:2:2
adm:x:3:4
lp:x:4:7
取出第四列和之后的所有列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 4- a.txt
0:root:/root:/bin/bash
1:bin:/bin:/sbin/nologin
2:daemon:/sbin:/sbin/nologin
4:adm:/var/adm:/sbin/nologin
7:lp:/var/spool/lpd:/sbin/nologin
总结:
-d 分界符
-f 1-3 第1列至第3列
-f 1,3 第1列和第3列
-f -3 第3列和之前的内容
-f 3- 第3列号和之后的内容
实例二:
取出除第一列之外的所有列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 1 --complement a.txt
x:0:0:root:/root:/bin/bash
x:1:1:bin:/bin:/sbin/nologin
x:2:2:daemon:/sbin:/sbin/nologin
x:3:4:adm:/var/adm:/sbin/nologin
x:4:7:lp:/var/spool/lpd:/sbin/nologin
取出除第一列和第三列之外的所有列
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -d ":" -f 1,3 --complement a.txt
x:0:root:/root:/bin/bash
x:1:bin:/bin:/sbin/nologin
x:2:daemon:/sbin:/sbin/nologin
x:4:adm:/var/adm:/sbin/nologin
x:7:lp:/var/spool/lpd:/sbin/nologin
实例三:
打印第一个字符到第三个字符
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -c 1-3 a.txt
roo
bin
dae
adm
lp:
打印前面两个字符
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -c -2 a.txt
ro
bi
da
ad
lp
打印第五个字符及后面所有的字符
[root@iZwz9bhan5nqzh979qokrkZ ~]# cut -c 5- a.txt
:x:0:0:root:/root:/bin/bash
x:1:1:bin:/bin:/sbin/nologin
on:x:2:2:daemon:/sbin:/sbin/nologin
x:3:4:adm:/var/adm:/sbin/nologin
:4:7:lp:/var/spool/lpd:/sbin/nologin
————————————————
版权声明:本文为CSDN博主「东城绝神」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37814112/java/article/details/80492032
注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本中复制而来

站主补充:cut 命令不显示特殊符号
# cut -b2- test.txt
(补充:这里以不显示 test.txt 的特殊符号为例)
# find <directory> <parameter> <parameter> ...... -print <-exec|-ok> <command|file> {<command>} \;
1) 目录 指需要查找的目录
2) 参数 限制匹配的条件,可以有多个
3) -print 将匹配的结果进行标准输出
4) -exec 让后面的命令执行查找到的内容
5) -ok 和 -exec 的作用相同,只不过每执行一步就需要用户确认一下
6) command 对匹配的结果执行命令
7) file 对匹配的结果进行文件种类分析,后面的 {} 里的命令必须为空
8) 命令 对匹配结果要执行的命令
(注意:<-exec|-ok> {} \;,这是一个固定格式,谁也不能被缺少。并且 {<命令>} 和 \ 之间有一个空格)
9) -xautofs 不查找 autofs 挂载的目录里的内容
10) -xdev 不查找不是属于同一文件系统的内容,例如通过 Samba 远程挂载到本地的目录里面的内容就不会被查找
1) -name n 名称是 n 的文件或目录
2) -iname n 名称是 n 的文件或目录,并且忽略大小写
3) -lname n 名称是 n 的链接
(注意:在 3) 参数中,n 是被链接文件的名称而不是链接文件本身的名称)
-type n :文件类型是 n 的文件
(补充:这里的 n 可以是 d、f、l,它们分别代表目录、文件、链接)
1) -uid n 所属 gid 是 n 的文件或目录
2) -user n 所属主名称为 n 的文件或目录
3) -gid n 所属 gid 是 n 的文件或目录
4) -group n 所属组名称为 n 的文件或目录
5) -nouser 匹配无所属主的文件或目录
6) -nogroup 匹配无所属组的文件或目录
1) -perm /u=n 所属主权限是 n 的文件或目录
2) -perm /g=n 所属组权限是 n 的文件或目录
3) -perm /o=n 其他的权限是 n 的文件或目录
(补充:在以上 1) 到 3) 参数中 n 可以是 r、w、x 它们分别代表读权限、写权限、执行权限)
4) -perm -n 所属主、所属组、其他的权限是 n 的文件或目录
(补充:在 (4 参数中 n 是可以是 1、2、4)
5) -perm nnn 权限是 nnn 的文件或目录
(
补充:
在 5) 参数中:
n 是数字
第一个 n 是特殊权限
第二个 n 是所属主的权限
第三个 n 是所属组的权限
第四个 n 是其他的权限
例:600
)
6) -perm nnnn 权限是 nnnn 的文件或目录
(
补充:
在 6) 参数中:
n 是数字
第一个 n 是特殊权限
第二个 n 是所属主的权限
第三个 n 是所属组的权限
第四个 n 是其他的权限
例:0600
)
1) -amin n 在过去 n 分钟被读取过的文件或目录
2) -anewer file 比文件 file 更晚被读取过的文件或目录
3) -atime n 在过去 n 天被读取过的文件或目录
4) -mmin n 在过去 n 分钟被修改过内容的文件或目录
5) -mnewer file 比文件 file 更晚被修改过内容的文件或目录
6) -mtime n 在过去 n 天被修改过内容的文件或目录
7) -cmin n 在过去 n 分钟被修改过属性(比如新建)的文件或目录
8) -cnewer file 比文件 file 更晚被修改过属性(比如新建)的文件或目录
9) -ctime n 在过去 n 天被修改过属性(比如新建)的文件或目录
(补充:在以上 1) 到 9) 参数中 n 是数字, +n 表示 n 以前,-n 表示 n 以后,n 表示第 n)
1) -empty 为空的文件或目录
2) -size n 文件大小是 n 的文件或目录
(补充:在 2) 参数中 n 是数字, +n 表示比 n 大,-n 表示比 n 小,单位有 b、m、g 等)
1) -path ‘n’ 路径名称符合 n 的文件或目录
2) -ipath ‘n’ 路径名称符合 n 的文件或目录,并且忽略大小写
3) -depth n 路径深度为 n 的文件或目录
4) -maxdepth n 最大路劲深度为 n 的文件或目录
(补充:在以上 1) 到 4) 参数中 n 是数字)
1) -fstype n 匹配硬盘格式为 n 文件或目录
(补充:1) 参数中 n 可以是 ext3、ext4、xfs 等硬盘格式)
2) -mount 是被挂载的文件或目录
1) -not 不匹配后面的参数,需要放在其他参数前面
2) ! 不匹配后面的参数,需要放在其他参数前面
3) -a 和,需要放在两个参数之前
4) -and 和,需要放在两个参数之前
5) -o 或,需要放在两个参数之前
6) -or 或,需要放在两个参数之前
7) <parameter> ( <parameter> n <parameter> ) 指定将某两个参数作为一个整体和另一个逻辑参数进行匹配
8) <parameter> -prune -n <parameter> <parameter> 指定某两个参数进行逻辑匹配
(补充:在以上 7) 到 8) 参数中 n 可以是 -a、-and、-o、-or 以上 3) 到 6) 参数)
# find . -name "*\.txt"
# find . -name "*\.txt" -not -name "test1.txt" -not -name "test2.txt"
# find /var/log -type f -not -name "wtmp" -not -name "btmp" -not -name "lastlog" -exec chmod o-rwx {} +
或者:
# find /var/log -type f -not -name "wtmp" -not -name "btmp" -not -name "lastlog" -exec chmod o-rwx {} \;
# find . -type d
# find /tmp/ -maxdepth 1 -type d -exec cp -p -f ./.htaccess.orig '{}'/.htaccess +
或者:
# find /tmp/ -maxdepth 1 -type d -exec cp -p -f ./.htaccess.orig '{}'/.htaccess \;
# find . -type f -ls | grep rw
# find . -user root
# find . -nouser -o -nogroup
# find / -user natasha -exec cp -rp {} /root/findfiles/ +
或者:
# find / -user natasha -exec cp -rp {} /root/findfiles/ \;
# find . -type f -perm 0777 -exec ls -l {}+
或者:
# find . -type f -perm 0777 -exec ls -l {}\;
# find . -type f -perm -2
# find . -perm /a=x
# find /var/log -type f -perm /o=r -ls
# /usr/bin/find . -type f -perm /o=w -exec chmod o-w {} +
或者:
# /usr/bin/find . -type f -perm /o=w -exec chmod o-w {} \;
# find / -type f \( -perm -1000 -o -perm -2000 -o -perm -4000 \) -print
# find . -ctime -10
# find /var/spool/postfix/maildrop -mtime +3 -exec rm -f {} \;
# find /var/log/mysql -type f -mtime +3 -ok rm {}+
或者:
# find /var/log/mysql -type f -mtime +3 -ok rm {}\;
(注意:此方法会出现交互界面,需要在交互界面确认以后才会对找到的文件进行操作)
# find . -type f -size 0 -exec ls -l {} +
或者:
# find . -type f -size 0 -exec ls -l {} \;
# find . -type f -empty
在 / 目录和 /proc/ 目录查找文件格式为 ext3 无所属主或所属组的文件和目录
# find / -path '/proc/*' -prune -o -fstype ext3 -nouser -o -nogroup
# find . -type f \( -name "*.txt" -or -name "*.dox" \)
# find . -type f ! -perm 777
# find . -type f \( -perm -2000 -o -perm -4000 \) -exec file {} +
或者:
# find . -type f \( -perm -2000 -o -perm -4000 \) -exec file {} \;
# find / -nouser -o -nogroup
# find /var/spool/postfix/maildrop -mtime +3 -ls
# find /var/spool/postfix/maildrop -mtime +3 -exec rm -f {}+
或者:
# find /var/spool/postfix/maildrop -mtime +3 -exec rm -f {} \;
# find /var/log/mysql -type f -mtime +3 -ok rm {}+
或者:
# find /var/log/mysql -type f -mtime +3 -ok rm {}\;
# find . -type f -ls