1.查看文件与目录:ls
基本语法:
ls [-a/A/d/D/f/F/i/l/n/r/R/S/t] 目录名称
ls [–color={never,auto,always}] 目录名称
ls [–full-time] 目录名称
参数:
-a:全部文件,包括隐藏文件(即开头为.的文件)
-A:全部文件,包括隐藏文件,但不包括.与..这两个目录
-d:仅列出目录本身,而不是列出文件数据
-f:直接列出结果,而不进行排序
-F:根据文件、目录等信息给予附加数据结构
-h:以人类易读的方式列出来
-i:列出inode号码
-l:列出长数据串,包含文件属性与权限等数据
-n:列出UID与GID,而非用户与用户组的名称
-r:将排序数据反向输出
-R:连同子目录内容一起列出来
-S:以文件容量大小排序,而不是用文件名排序
-t:依时间顺序,而不是文件名
–color=never:不要根据文件特性给予颜色显示
–color=always:显示颜色
–color=auto:让系统自行依据设置来判断是否给予颜色
–full-time:以完整时间模式输出
–time={atime,ctime}:输出访问时间或改变权限属性时间
2.复制、删除及移动:cp,rm,mv
cp [-a/d/f/i/l/p/r/s/u] 源文件 目标文件
-a: 在保留原文件属性的前提下复制文件
-d:复制连接文件属性而非文件本身
-f:强制
-i:询问操作
-l:进行硬连接的连接文件创建,而非复制文件本身
-p:连同问文件属性一起复制过去
-r:递归复制
-s:复制成符号连接文件
-u:目标文件比源文件旧,更新目标文件
rm [-f/i/r] 文件或目录
参数:
-f:忽略不存在的文件,不会出现警告信息
-i:删除前询问
-r:递归删除
mv [-f/i/u] 源文件 目标文件
参数:
-f:强制移动
-i:移动前询问
-u:目标文件比源文件旧,更新目标文件
3.取得路径的文件名与目录名称
basename 取得最后的文件名
dirname 取得目录名
4.查看文件内容
cat -n 打印出行号,连同空白行也会有行号
tac 与cat反向,指反向列示,即由最后一行到第一行显示
nl 添加行号打印
nl [-b/n/w] 文件
参数:
-b:
-b a:不论是否有空行,一同列出行号
-b t:如果有空行,空的一行不要列出行号
-n:
-n ln:行号在屏幕的最左方显示
-n rn:行号在自己字段的最右方显示,且不加0
-n rz:行号在自己字段的最右方显示,且加0(默认字段六位数)
-w:行号字段占用的位数
5.可翻页查看
more 文件
在more这个程序的运行过程中,可以选择以下按键:
空格键:向下翻一页
Enter:向下滚动一行
/字符串:在显示的内容中,向下查询该字符串
:f :立刻显示出文件名以及目前显示的行数
q :离开more
b :往回翻页,只对文件有用,对管道没有作用
less
less相比起more来说,可以进行从前往后的翻页
空格键:向下翻一页
/字符串:向下查询字符串
?字符串:向上查询字符串
n:重复前一个查询
N:反向重复前一个查询
q:离开less这个程序
6.数据选取
head 取出前面几行
基本语法:
head [-n/number] 文件
参数:
-n:后边接数字,代表几行的意思
tail 取出后面几行
基本语法:
tail [-n/number] 文件
参数:
-n:后边接数字,代表几行的意思
-f:持续检测后面所接的文件名,要等按下[Ctrl]-c才会结束tail的检测
7.非纯文本文件:od
od [-t TYPE] 文件
TYPE(类型):
a:利用默认的字符输出
c:使用ASCLL字符输出
d[size]:利用十进制输出,每个整数占用size比特位
f[size]:利用浮点数输出,每个整数占用size比特位
o[size]:利用八进制输出,每个整数占用size比特位
x[size]:利用十六进制输出,每个整数占用size比特位
8.修改文件时间或创建新文件:touch
touch [-a/c/d/m/t] 文件
-a:仅修改访问时间
-c:仅修改文件的时间,若文件不存在则不创建新文件
-d:后面可以接准备修改的日期而不用目前日期,也可以使用–date=“日期或时间”
-m:仅修改mtime
-t:后面可以接准备修改的时间而不用目前的时间
touch常用的情景:
创建一个空文件
将某个文件日期修改为目前日期(mtime、atime)
9.文件与目录的默认权限与隐藏权限
9.1 文件默认权限:umask
umask 权限设置分数(注意:此分数是需要减掉的权限,r、w、x分别是4、2、1,举个例子,需要拿掉写的权限,输入2,需要拿掉读的权限,输入4)
umask -S 符号类型显示权限
那么怎样更改umask的设定值呢?
umask 设定值
9.2 文件隐藏属性:chattr,lsattr
chattr设置文件隐藏属性
基本语法:
chattr [+/-/=][A/S/a/c/d/i/s/t/u] 文件或目录名称
参数:
+:增加某一个特殊参数,其他原本存在参数则不动
-:删除某一个特殊参数,其他原本存在参数则不动
=:仅有后面接的参数
A:
S:
a:只能增加数据,不能删除或修改数据
c:自动将文件压缩,读取文件时会自动解压缩。存储时,先压缩在进行存储
d:当dump程序被执行的时候,设置d属性可将该文件或目录不会被dump备份
i:让一个文件不能被删除、改名,设置连接也无法写入或添加数据
s:如果这个文件被删除,将会完全从这个硬盘空间中删除
u:如果这个文件被删除,数据内容还存在磁盘中,可以找回
lsattr显示文件隐藏属性
lsattr [-a/d/R] 文件或目录
参数:
-a:将隐藏文件的属性也显示出来
-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名
-R:连同子目录的数据也列出来
9.3 文件特殊权限:SUID,SGID,SBIT
SUID:
该权限仅对二进制程序有效
执行者对于该程序需要就有x的可执行权限
本权限仅在执行该程序的过程中有效
执行者将具有该程序所有者权限
SGID:
对于设置SGID的文件来说:
* 该权限仅对二进制程序有效
* 执行者对于该程序需要就有x的可执行权限
* 执行者在执行的过程中将会获得该程序用户组支持
对于设置SGID的目录来说:
* 用户若对此目录具有r与w权限时,该用户能进入此目录
* 用户在此目录下的有效用户组将会变成该目录的用户组
* 若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同
SBID:
只对目录有效,该权限对目录来说:
* 当用户对于此目录具有w,x权限,即具有写入的权限
* 当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件
9.4.查看文件类型:file
10.命令与文件查询
10.1 脚本文件名查询
which 寻找执行文件
which [-a] 命令
参数:
-a:将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称
10.2 文件名的查找
whereis 寻找特定文件
whereis [-b/m/s/u] 文件或目录名
参数:
-b:只找二进制格式的文件
-m:只找说明文件manual路径下的文件
-s:只找source源文件
-u:查找不在上述三个选项当中的其他特殊文件
locate [-i/r] keyword
参数:
-i:忽略大小写的差异
-r:后面可接正则表达式的显示方式
find [PATH] [option] [action]
参数:
与时间有关参数:-atime,-ctime,-mtime
-mtime n:n天之前的那一天被更改过的文件
-mtime +n:列出在n天之前(不含n天本身)被更改过的文件名
-mtime -n:列出在n天之内(含n天本身)被更改过的文件名
-never file:file为一个存在的文件,列出比file还要新的文件名