文件查看命令:
以页的形式显示文件内容:more
语法:more [选项] [文件名]
功能:
一页一页地显示内容,方便用户 逐页阅读
基本操作:
按空格: 显示下一页
按B键:显示上一页
按H键:查看帮助信息
按Q键:跳出more状态
按V键:进入vim模式
查找字符串:/字符串 , 按n查找下一个关键字,shift+n查找上一个
参数:
-num 一次显示行数
逐行显示文件内容:less 命令
语法:less [选项] [文件名]
**功能:**可以用上下键逐行显示内容
与more的区别:
区别:1、less可以按上下方向键来显示上下内容,而more不能通过上下方向键控制显示;2、less不必读整个文件,加载速度比more更快;3、less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。
参数:
-N 在每行前输出行号
-m 显示读取文件的百分比
-c 从顶部刷新屏幕,并显示文件内容。
-f 强制打开文件,二进制文件显示时 不提示警告
-I 搜索的时候忽略大小写;除非搜索 串中包含大写字母
-M 显示读取文件的百分比、行号、总行数
-p pattern 在指定文件中搜索 pattern -s 把连续多个空白行作为一个空白行 显示
-Q 在终端下不响铃
cat 命令
语法:cat[选项] 文件 1文件 2 …
功能:把文件 串连接 后传到基本输出(输出到显示器或重定向到另一个文件)
参数:
-A --show-all 等价于-vET,显示所有字符,包括控制字符和非打印字符
-b --number-nonblank 对非空输出行编号
-e 等价于-vE
-E –show-ends在每行结束处显示$
-n --number 对输出的所有行编号
-s 当遇到有连续两行以上的空白行,就替换为一个空白行
-t 与-vT 等价
-v 显示除 Tab 和 Enter 之外的所有字符
-T 将跳格字符显示为^I
-help 显示帮助信息
案例:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
tac 命令
语法:tac 文件名
功能:将文件从最后一行开始倒过来将 内容数据输出到屏幕上。
nl 命令
类似于 cat -n 显示时输出行号,但是 不对空行编号。
head 命令
语法:head [选项] [文件名]
功能:显示文件的前几行
参数:
-n 输出文件前 n 行,默认输出前 10 行
-c 指定输出文件的大小,单位为 B
案例:
显示文件前3行
[root@localhost test]# head -n 3 1.txt 123 123 123
注意:默认带参赛 -n 10
显示文件前4个字节
[root@localhost test]# head -c 4 1.txt 123
tail 命令
语法:tail [选项] [文件名]
功能:显示文件的后几行
参数:
-n 输出文件后 n 行,默认输出后 10 行
-f 把 filename 最尾部内容显示在屏幕 上,并不断刷新,常用于日志文件的实时监控。
Ctrl+Z 结束命令
wc 命令
语法:wc [选项] [文件名]
功能:文件内容的统计命令。统计文件中的行数、字数、字符数。
参数:
c 统计文件的字节数
m 统计字符数。不能与-c 一起使用
l 统计文件的行数
L 打印最长行的长度
w 统计文件的字数,一个字被定义为由空白、跳格或换行字符分隔的字符串
案例:
$ wc testfile # testfile文件的统计信息 3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598
find命令
语法: find [起始目录] [查找条件] [操作]
功能:在目录中搜索文件,并执行指定的操作
参数:
常用参数:
-a and 必须满足两个条件才显示
-o or 只要满足一个条件就显示
-name 按照文件名查找文件
-iname 按照文件名搜索,不区分文件名大小写
根据时间:
-atime n 文件被读取或者访问的时间
-type c 文件类型是 c 的文件
-size n 文件大小是n 单位
补:b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
-user 按照文件属主来查找文件
-group 按照文件属组来查找文件
补充知识:
通配符:
当我们不知道确切的文件名时,可以用通配符来进行模糊操作。
“*”可以代表任意长度的任意字符,“?”代表一个任意字符。
注意:
如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
例:在/etc目录中查找文件init
案例:
1.常用查找文件:
1.1 find .
列出当前目录及子目录下所有文件和文件夹
[root@host-134 ~]# find . . ./.bash_logout ./.bash_profile
1.2 -name
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
# find . -name "*.c"
1.3 -type
-type 类型参数
类型参数列 f 普通文件 l 符号连接(软连接) d 目录 b 块设备 s 套接字
1.4 将当前目录及其子目录中的所有文件列出:
[root@host-136 ~]# find /home/ -type f /home/frank/.bash_logout /home/frank/.bash_profile /home/frank/.bashrc
2.按照时间查找:
UNIX/Linux文件系统每个文件都有三种时间戳:
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
amin 访问时间 access cmin 文件属性 change mmin 文件内容 modify
2.1 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
# find . -ctime 20
2.2 在/etc目录下查找100分钟内被修改过属性的文件和目录
[root@localhost ~]# find /etc -cmin -100 /etc/resolv.conf
3.根据文件大小进行匹配
find . -type f -size 文件大小单元
b —— 块(512字节) c —— 字节 w —— 字(word)(2字节) k —— 千字节 M —— 兆字节 G —— 吉字节
搜索大于10KB的文件
[root@host-136 ~]# find /etc/ -type f -size +10k /etc/ssh/moduli
搜索小于10KB的文件
[root@host-136 ~]# find /etc/ -type f -size -10k /etc/man_db.conf
搜索等于10KB的文件
[root@host-136 ~]# find /etc/ -type f -size 10k /etc/dbus-1/system.d/org.freedesktop.systemd1.conf
在/etc目录下查找大于80MB或者小于100MB的文件
a:两个条件同时满足
o:两个个条件满足一个即可
[root@localhost ~]# find /etc -size +163840 -o -size -204800 /etc/resolv.conf /etc/fonts /etc/fonts/conf.d
4.根据文件所有者或组进行匹配
-usr 在/home目录下找所有者为lhx的文件
[root@localhost ~]# find /home -user lhx /home/lhx /home/lhx/.mozilla /home/lhx/.mozilla/extensions
-group 在/home目录中查找所属组为lhx的文件
[root@localhost ~]# find /home -group lhx /home/lhx /home/lhx/.mozilla
5.-exec 命令
语法:
find [路径] [选项] [表达式] -exec 命令 {} \;
{ } 代表find找到的文件
\ 表示转义
; 表示本行命令结束
exec 参数后跟的是command命令,它的终止是以;(分号)来结束,所以这句话命令后面的分号是必不可少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠 "\”
案例:
[root@localhost ~]# find test -name 123 -exec ls -l {} \; -rw-r--r--. 1 root root 0 10月 14 22:29 test/123
6.按照节点查找
-inum:按照inode号搜索
参考博客:
https://blog.csdn.net/m0_46674735/article/details/112390027?ops_request_misc=&request_id=&biz_id=102&utm_term=find命令&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-112390027.nonecase&spm=1018.2226.3001.4187