mkdir [-mp]
-m:设定目录的档案,不受umask的影响
-p:递归建立目录
在PATH中增加root路径:PATH="$PATH":/root
cp:
-a:相当于-pdr,备份文件常用
-d:若源文件为链接文件,复制后将新的链接指向原链接所指向的文件
-i:若目标文件已经存在,会询问是否覆盖
-l:建立hard link链接档,而非复制档案本身(没加任何选项时,cp复制的是源文件,而非链接文件)
-p:复制档案的原属性,而非使用默认属性
-r:递归复制
-s:复制成symbolic link
-u:若目标文件比源文件旧时才进行更新
basename:取得路径最后的档名
dirname:取得路径的目录名
cat [-n] 显示行号
head [-n] 10 显示前十行
head [-n] -10 显示所有行,不显示最后10行
mtime (modification time):档案内容最后更新时间。只是档案内容,不是属性或权限(ls指令显示的时间)
ctime (status time):档案状态的最后更改时间,如全新或属性
atime (access time):档案的最后访问时间
touch:
-a:修改atime
-c:不创建新档案
-d:后接要设定的日期,也可以使用--date="日期或时间"
-m:修改mtime
-t:后接要设定的时间,格式为[YYMMDDhhmm]
如,将档案atime/mtime修改为两天前:touch -d "2 days ago" bashrc
将日期设定为2007/09/15 2:02:touch -t 0709150202 bashrc
在复制档案时,复制所有的属性,也没办法复制ctime这个属性
umask的数字是指去掉了哪些权限
chattr [+/-/=] [ASacdistu]
+:增加某个特殊参数,原参数不变
-:移除某个特殊参数,原参数不变
=:设定,仅有后面的参数
A:存取此文件时,atime不会被修改(可避免IO较慢的机器过度存取磁盘)
S:一般档案是异步写入磁盘的,加上S属性后,更改会同步写入磁盘
a:a设定之后,档案只能增加数据,不能删除也不能修改数据。只有root才能设定这个权限
c:存储时自动压缩,读取时自动解压
d:当dump程序执行时,设定d属性可使该文件不被dump备份
i:使该档案不能被删除、修改设定链接也无法写入新数据,只有root才能设定该属性
s:档案被删除时将完全移除出硬盘,无法恢复
u:与s相反,档案被删除时数据内容还在磁盘中
lsattr可用来查阅文件的隐藏属性
SUID:s出现在档案拥有者的x权限上
1. 仅对二进制程序有效(不能用在shell script上)
2. 执行者对于该档案需要具有x权限
3. 本权限仅在执行该程序的过程中有效
4. 执行者将具有该档案拥有者的权限
SGID:s出现在group的x权限上
对于档案:
1. SGID只对二进制程序有效
2. 程序执行者拥有该档案的x权限
3. 执行者在执行过程中将获得该group的支持
对于目录:
1. 若用户对此目录拥有r和x权限,则可以进入该目录
2. 用户在此目录中的有效群组将会变成该目录的群组
3. 若用户在此目录下具有w权限,则新建立的档案与此目录的group相同
SBIT:只对目录有效。当用户对此目录有w和x权限时,在此目录下新建立的档案或目录只有自己或root才能删除
SUID为4,SGID为2,SBIT为1。大写的S、T表示空的,比如拥有者没有x权限却设定了SUID
file:观察文件类型
which:寻找执行档
whereis:寻找档案(Linux会把系统内的所有档案记录在一个数据库档案中,whereis和locate是从该档案中寻找,所以比find快)
locate:寻找相关档案(更新locate数据库的方法:updatedb)
find [PATH] [option] [action]:
1. 与时间有关的选项:-atime,-ctime,-mtime。
n:n天前的一天之内被更改过的档案名
+n:在n天前(不含n天本身)被更改过的档案名
-n:在n天内(含n天本身)被更改过的档案名
-newer file:file为一个存在的档案,列出比file还新的档案
2. 与使用者或组名有关的参数:
-uid n:n为数字,为账户的UID
-gid n:n位数子,为group的GID
-user name:name为使用者的帐号名称
-nouser:寻找档案的拥有者不存在/etc/passwd的人
-nogroup:寻找档案的群组不存在/etc/passwd的人
3. 与档案权限及名称有关的参数
-a:and,用来连接两个条件
-name filename:寻找文件名为filename的档案
-size [+/-]SIZE:寻找比SIZE大/小的档案。c代表byte,k代表KB
-type TYPE:寻找类型为TYPE的档案。一般正规档案(f),装置档案(b,c),目录(d),链接档(l),socket(s),FIFO(p)等
-perm mode:寻找权限恰好为mode的档案(e.g.4755)
-perm -mode:寻找包含mode权限的档案,即找出的都大于等于mode(4,2,1是三位二进制,所有的1都被匹配)
-perm +mode:寻找至少有一个1被匹配的档案
4. 额外可进行的操作
-exec command:command为其他指令,-exec后面可再接额外的指令来处理搜寻得到的结果
如find / -perm +7000 -exec ls -l {} \; 其中{}代表由find找到的内容,-exec到\;代表额外动作,因为";"在bash下有特殊含义,所以用\跳脱
如果要寻找的档案是有特殊属性的,例如SUID、档案拥有者、档案大小等,利用locate是无法完成的,只能借助find