操作文件的命令
cat --将文件内容打印到标准输出设备上
cat -n 从1开始对所有输出的行数编号
cat -b 从1开始对所有输出的行数编号,空白行不输出行号
chmod--更改文件权限
chmod [ugoa] [+-=][rwxX]
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
例子:
设置所有人可读
chmod ugo+r test.txt
chmod a+r test.txt
将文件设为该文件拥有者,与其所属同一个群体者可写入
chmod ug+w,o-w test.txt
用数字表示权限
chmod 777 file
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限,r=4,w=2,x=1
- 若要rwx属性则4+2+1=7
- 若要rw-属性则4+2=6
- 若要r-x属性则4+1=5
cmp--命令用于比较两个文件是否有差异
当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号
cmp test test.bak
test test.bak 不同:第 26 字节,第 4 行
diff--用于比较文件的差异,会将不同的地方打印出来
diff test test.bak
-B 不检查空白行
-c 显示全部内容,并标出不同
-d 使用不同的演算法,以较小的单位来做比较
-H 比较大文件时可加快速度
-i 不检查大小写的不同
-y 以并列的方式显示文件的异同之处 常与-w连用
-W 在使用-y参数时,指定栏宽
diff -y -W 50 hjq.bak hjq
-w 忽略所有的空格字符
-q 仅显示有无差异,不显示详细信息
file--辨识文件类型(编码,文件,文件夹)
file test.sh
test.sh: UTF-8 Unicode text
-b 只展示结果,不显示文件名称
-v 显示版本信息
-z 尝试解读压缩文件内容
find --查找指定目录下的文件
find / -name test.sh
-name 文件名
-iname 忽略大小写
ln--创建连接
软连接:以路径的形式存在
硬链接:以文件副本的形式存在,不占用空间
-b 删除,覆盖以前的连接
-f 强制执行
-i 交互模式,文件存在提示用户是否覆盖
-n 把软连接视为一般目录
-s 软连接
-v 显示详细的处理过程
硬链接:
ln 2019-12-08.2.log 2019log
软连接:
ln -s 2019-12-08.2.log ceshilog
less--文件查看命令(不会加载整个文件)
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-N 显示每行的行号
打开文件后操作:
/ 向下搜索
?向上搜索
q 退出
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
空格 滚动一页
more -- 文件查看命令(一页一页显示)
-num 一次显示的行数(每次翻页滚动的行数)
-f 显示实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-s 两行或两行以上的空白行时,显示一行
+num 从第几行开始显示
fileNames 显示文档的个数,可以多个