档案与目录管理

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值