一、修改文件时间或创建新文件:touch
文件变动的三个时间:
mtime(modification time)
当该文件的内容数据更改时,更新这个时间
ctime(status time)
当该文件的状态改变时,更新这个时间。例如:属性与权限的更改
atime(access time)
当该文件的内容被取用时,更新这个时间
touch命令:
touch [-acdmt] 文件
-a 仅修改访问时间
-c 仅修改文件的时间,若文件不存在不创建
-d 后面可以接欲修改的日期,也可使用--date="日期或时间"
-m 修改mtime
-t 后面可以接欲修改的时间而不用目前的时间
二、文件与目录的默认权限与隐藏权限
1、文件默认权限 umask
cc$ umask
0022 (备注:与一般权限相关的是后面三个数字user:group:others)
文件:用户创建文件默认无可执行权限,-rw-rw-rw-.
umask 分数表示默认值需要减掉的权限
新建文件时:(-rw-rw-rw-)- (----w--w-) = -rw-r--r--
例:
rock:test1 cc$ touch umasktest1.txt
rock:test1 cc$ ll umasktest1.txt
-rw-r--r-- 1 cc staff 0 7 5 22:48 umasktest1.txt
目录:新建目录时权限默认为 drwxrwxrwx
(drwxrwxrwx) - (d----w--w-) = drwxr-xr-x
例:
rock:test1 cc$ mkdir umaskDir
rock:test1 cc$ ll umaskDir/
total 0
drwxr-xr-x 2 cc staff 64 7 5 22:55 ./
drwxr-xr-x 14 cc staff 448 7 5 22:55 ../
umask修改:
rock:test1 cc$ umask 0011
rock:test1 cc$ umask
0011
2、文件隐藏属性chattr,lsattr
chattr:设置文件的隐藏属性,只能在Ext2/Ext3使用
chattr [+-=] [ASacdistu] 文件或目录
+ 增加一个特殊参数
- 删除一个特殊参数
= 仅有后面跟的参数
A 设置该属性,访问文件atime不会变
S 文件修改同步写入磁盘
a 只能增加数据,不能删除不能修改,root才有
c 自动文件压缩,读取时自动解压
d dump程序时,设置该属性避免dump
i 不能被删除、改名、修改
s 文件被删除,完全从硬盘删除
u 文件被删除,数据内容还在,可被找回
--------------
lsattr : 显示文件隐藏属性
3、文件特殊权限
SUID
SGID
SBIT
4、文件查询
which [-a] command
-a 将所有由PATH目录中可以找到的命令列出
例:
rock:test1 cc$ which ifconfig
/sbin/ifconfig
whereis [-bmsu] 文件或目录
-b 只找二进制格式的文件
-m 只找说明文件manual路径下的文件
-s 只找source源文件
-u 查找不在上述三个选项当中的其他特殊文件
locate [-ir] keyword
-i 忽略大小写差异
-r 可接正则方式查找
locate寻找的数据由已创建的数据库/var/lib/mlocate/里面的数据查找,而数据库默认每天执行一次,存在查找的延时性。updatedb手动更新数据库(whereis也是查找数据库)
find [PATH] [option] [action]
参数:
1、与时间有关,-atime、-mtime、-ctime,以-mtime为例
-mtime n : n为数字,n天之前的 24小时 被更改过的文件
-mtime +n: 列出在n天之前(不含n本身)被更改过的文件
-mtime -n: 列出在n天(含n)被更改过的文件
-newer ${file} :列出比file还新的文件
解释:+4 大于等于5天前的文件
-4 小于等于4天内的文件
4 4~5内的文件
例:找出当前目录中24小时内有改动的文件
rock:test cc$ touch findT.txt
find: -mite: unknown primary or operator
rock:test cc$ find . -mtime 0
.
./findT.txt
2、与用户或用户组名有关
-uid n : n 为用户的账户uid
-gid n : n 用户组名的id
-user name : name 用户账户名称
-group name :name 用户组名
-nouser : 寻找文件所有者不存与/etc/passwd的 文件
-nogroup :寻找文件所属用户组不存在于 /etc/group 中的文件
3、与文件权限及名称有关
-name filename : 查找文件名为filename的文件
-size [+-] SIZE: 查找比SIZE还要大(+)或小(-)的文件,c :byte,k 1024b
-type TYPE : 查询文件类型为TYPE的文件,类型有正规文件 f,设备文件 b、c,目录 d,连接文件 l,socket s,FIFO p等
-perm mode : 查询文件权限等于 mode的文件,(-rwsr-xr-x mode取值4755)
-perm -mode : 查找文件权限包含mode的文件
-perm +mode : 查找文件权限已包含在mode中的文件
4、其他可进行的操作
-exec command : command 可执行命令
例:
rock:test cc$ find . -name test.txt -exec ls -l {} \;
-rw-r--r--@ 1 cc staff 12 6 20 07:41 ./test1/test.txt
命令解释:find 查找 . 表示当前目录下 -name test.txt 查找文件名为test.txt的文件,-exec ls -l {} \; {} find查找结果放置到{} 中
";" 在bash环境下有特殊语义,用\转义