Linux系列三-文件与目录管理权限之touch、find等命令

一、修改文件时间或创建新文件: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环境下有特殊语义,用\转义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值