文件操作
指令
-
cat:查看文件内容
-
执行权限:所有用户
-
语法
cat [选项] 文件
-
选项:
- -n:显示文件行号
-
范例
cat /proc/cpuinfo cat -n /proc/cpuinfo
-
-
more:分页查看文件内容
-
执行权限:所有用户
-
语法:
more 文件/文件路径
-
操作:
- 空格键:向下翻动一页
- 回车键:向下翻动一行
- Q/q键:退出
-
范例:
more /proc/cpuinfo
-
-
less:分页查看文件内容
-
执行权限:所有用户
-
语法:
shell [选项] 文件/文件路径
-
选项:
- -M:显示当前行的范围
-
操作:
- 空格键:向下翻动一页
- B/b键:向上翻动一页
- 方向上下键:向下向上翻动一行
- Q/q键:退出(quit)
-
范例
less -M /proc/cpuinfo
-
-
head:查看文件的头部内容(默认十行)
-
执行权限:所有用户
-
语法:
head [选项] 文件/文件路径
-
选项:
- -n:从头开始显示n行内容(识别换行符)
-
范例:
head -n 5 /proc/cpuinfo --等价于 head -5 /proc/cpuinfo
-
-
tail:查看文件的尾部内容(默认十行)
-
执行权限:所有用户
-
语法:
tail [选项] 文件/文件路径
-
选项:
- -n:从尾开始显示n行内容(识别换行符)
-
范例:
tail -n 5 /proc/cpuinfo -- 等价于 tail -5 /proc/cpuinfo
-
-
grep:搜索文件内容,在文件中查找指定的字符序列(字符串)
-
执行权限:所有用户
-
语法:
grep [选项] 要查找的字符序列 文件/文件路径 --或者 grep [选项] '要查找的字符序列文件' 文件/文件路径
-
选项:
- -n:显示行号(number)
- -c:统计搜索到的行的数量(count)
- -i:忽略大小写搜索
-
范例:
grep -ni procesor /proc/cpuinfo --显示行号和忽略大小写,在文件cpuinfo中查找procesor --等价于 grep -ni 'procesor' /proc/cpuinfo --显示行号和忽略大小写,在文件cpuinfo中查找procesor grep -n/proc/cpuinfo --显示行号
-
特殊匹配
-
^:行首匹配
-
范例:
grep -n '^001' demo01.c -- 在demo01.c中匹配001开头内容
-
-
$:行尾匹配
-
范例:
grep -n '[0-7][0-9]$' demo01.c --在demo01.c中匹配以00~79结尾的内容
-
-
-
-
find:查找文件或目录(递归查找),从头硬盘查找,精确性高,性能低
-
执行权限:所有用户
-
语法:
find 检索路径 [选项] 参数
-
选项:
- -name:按照名称查找
- -iname:忽略大小写按名称查找
- -size:按照文件大小搜索,默认1个单位大小是512Bytes
- -type:按照文件类型查找(d,f,l,p,s…)
-
范例:
find ./ -iname test.c -- 在当前目录中查找文件名称为test.c的文件,文件名忽略大小写 find ./ -size +3M -- 在当前目录中查找文件大小超过3M(1024*1024*3(Bytes))的文件,这里的“+”表示大于 find ./ -size -3M -- 在当前目录中查找文件大小不超过3M的文件,这里的“-”表示小于 find ./ -size +3 -- 在当前目录中查找文件大小超过3个单位(3 * 512(Bytes))的文件,这里的“+”表示大于
-
-
locate:快速查找文件或目录,从数据库查找,准确性低,性能高。
说明:该指令是从文件系统的数据库中查找,确定是新创建的文件没有在数据库中建立索引,用该指令找不到。
-
执行权限:所有用户
-
语法:
locate [选项] 文件/目录
-
选项:
- -c:统计(count)
- -i:忽略大小写
-
范例:
locate -i test.c
-
注意:默认情况下updatedb每天更新一次,我们可以手动更新。指令:
updatedb
-
-
which:快速检索指令位置
-
执行权限:所有用户
-
语法:
which 指令名称
-
范例:
which ls
-
-
echo:将指定字符串输出到设备上
-
执行权限:所有用户
-
语法:
echo 字符串
-
范例:
echo "yueqian is good" > yueqian.txt // 将yueqian is good 输出到yueqian.txt echo "gaochao is good" >> yueqian.txt // 将gaochao is good 追加到yueqian.txt
解释:
① > 覆盖式写入,就是覆盖文件中本来的内容(不保留原本的内容)
② >> 追加式写入,就是在原本文件内容末追加内容(保留原本的内容)
-
-
|(管道):将前一个指令执行的结果作为后一个指令执行的条件(了解)
-
执行权限:所有用户
-
范例:
ls -l | grep "demo01.c" // 以详细列表的形式显示文件名称为demo01.c的文件 find /dev -type c | grep "2$" // 查找/dev下文件类型为c的以2结尾的所有文件
-