文件权限及搜索常用命令

  • chmod :change the permissions mode of a file 更改文件的权限模式
  1. chmod [ugoa +-= rwx] [文件名]
  2. 权限数字 一般都用数字
    r = 2 2 = 4 r = 2^2 = 4
    w = 2 1 = 2 w = 2^1 = 2
    x = 2 0 = 1 x = 2^0 = 1
    -rwxrw-r--
    _7 _6 _4
  3. 改变目录权限,子目录权限不会改变,需要递归修改 (recursive)
    mkdir -p /tmp/a/b
    chmod 777 /tmp/a 发现子目录权限并没有改变
    chmod -R 777 /tmp/a 递归处理,所有文件及子目录一并处理

文件权限和目录权限对比

  • 文件
read 读文件(cat less head tail more)
write 写入文件
execute 执行文件
  • 目录
read 查看目录 列出目录内容
write 修改目录 在目录中创建、删除文件
execute 执行目录 进入目录
  • 删除文件的前提是目录有write的权限才行 (类比房间和桌椅)

  • chown (change file ownship) 改变文件拥有权

1.chown xxx /tmp/Japan

  • chgrp (change file group ownship)改变文件的所属组
  1. chgrp xxx /tmp/Japan
  • 文件创建的所属组是缺省组
  • umask :the user file-creation mask用户文件创建掩码
  1. 功能:显示、设置文件的缺省权限
  2. 缺省创建的文件不能有可执行权限,所以文件默认少了x
  3. umask -S 字符显示掩码
  4. umask 8进制掩码
  5. 默认掩码是0022,默认权限755 = 777(最高权限) - 掩码022 umask abc,所以默认权限是755

文件搜索

  • find path -option [ -print ] [ -exec -ok command ] {} \;
  • find /etc -name init -exec ls -l {} \;
  • find [搜索范围] [匹配条件]
  1. find / -name根目录下搜索,类似win全盘搜索
  • find /etc -name init
  • find /etc -name *init*正则表达式内容,所有包含init的文件
  • find /etc -name *init(init*) 前/后 包含
  • find /etc -name init???后面三个字符内容不知道
  1. find /etc -size +204800(100mb)查找大于100mb的文件
  • linux1个数据块大小是0.5kb,+代表大于,-代表小于
  1. find /home -user root根据所属组的查找
  2. find /etc -*min +time根据时间查找
  • find /etc -amin +10 access 10分钟前被访问过的文件
  • find /etc -cmin +10 change 10分钟前属性被修改过的文件
  • find /etc -mmin -10 modify 10分钟内 内容被修改过的文件
  1. find /etc -size +2048 -a -size -204800 -a :and 并且 注意到还是要加上-size
  • find /etc -size +2048 -o -size -1024 -o :or 或者
  1. -type 文件的类型
  • f :file 文件
    d :directory 目录
    l :link 软链接
    find /etc -name init* -a -type f 文件名以init开头且类型是文件
    find /etc -name init* -o -type d 文件名以init开头且类型是目录
  1. find /tmp -inum 30000 根据文件inode查找

其他搜索

  1. locate xxx文件资料库查找文件,找不到可能不在收录范围之中
    (速度快)
  2. which ls查找命令目录及别名信息
  3. whereis ls 查找命令目录及帮助文档
  4. 在文件中找字符串
    grep :(global regular experssion print:全局正则表达式打印)
    grep multiuser /etc/inittab
    grep -i multiuser /etc/inittab (-i 一般是不区分大小写ignore)

  • 链接命令
    -a
    -o

猜你喜欢

转载自blog.csdn.net/qq_43580151/article/details/92165353