UP | HOME

第07章_Linux文件与目录管理

目录

第 07 章_Linux 文件与目录管理

rm(移除文件或目录)

     -i:互动模式
     -r:递归删除
     \rm:忽略默认参数(e.g.:root身份删除时默认加入参数-i)

mv(移动文件与目录,改名)

    -f:强制执行
    -i:互动模式
    -u:update
    重命名(e.g.:mv mvtest mvtest2);可以复制多个文件到目录

basename:只取得文件名;dirname:取得目录名 文件内容查阅

    cat:由第一行开始显示

          -n:打印全部出行号;-b:空白行不打印行号

    tac:从最后一行开始显示
    nl:显示同时输出行号(可以将行号做比较多的设计)
    more:一页一页地显示内容

          /字符串:在显示的内容中向下查询该字符串
          :f:显示出文件名以及目前显示的行数

    less:与more类似,不同的是less可以向前翻

    PageDown:向下翻页;PageUp:向上翻页
    /字符串:向下查询字符串;?字符串:向上查询字符串
    n:重复前一个查询;N:反向重复前一个查询(与/或?有关)

    head:只看头几行(-n:显示前n行)
    tail:只看结尾几行(-n:显示后n行;-f:持续检测该文件)
    od:以二进制方式查看(-t后接各种类型的输出)

mtime:数据最后被修改的时间;ctime:权限或属性最后被修改的时间;atime:文件最后被读取的时间; touch(修改文件时间或创建新文件) umask(文件默认权限) Warn:umask 的分数指的是“该默认值需要被减掉的权限” chattr(设置文件隐藏属性)

    +,-,=:增加或删除或等于后面接的参数
    a:文件只能增加数据,不能删除也不能修改(only for root)
    i:使文件不能被删除、改名、设置连接、写入或添加数据(only for root)

文件特殊权限:SUID,SGID,SBIT

    SetUID(-s in owner):

    SUID权限仅对二进制程序有效,不能够用在shell script上面
    执行者对于该程序需要具有x的可执行权限
    本权限仅在执行该程序的过程中有效
    执行者将具有该ower的权限

    Set GID(-s in group):

    SGID对二进制程序有用
    程序执行者对于该程序来说,具备x的权限
    执行者在执行的过程中将会获得该程序用户组的支持
    出了二进制程序外,事实上SGID也能够用在目录上
    用户若对此目录具有r和的权限时,该用户能够进入此目录
    用户在此目录下的有效用户组将会变成该目录的用户组
    若用户在此目录下具有w的权限(可以新建文件),则用户所创建的新文件的用户组与此目录的用户组相同
    SGID对于项目开发者非常重要,因为这涉及用户组权限的问题

    Sticky Bit(-t in other):

    SBIT目前只针对目录有效
    当用户对于此目录具有w,x权限时,即具有写入的权限时
    当用户在该目录下创建文件或者目录时,仅有自己与root才有权利删除该文件

SUID/SGID/SBIT 权限设置

    4为SUID
    2为SGID
    1为SBIT

e.g.:要将一个文件权限改为“-rwsr-xr-x”,由于 s 在用户权利中,所以是 SUID,因此使用命令“chmod 4775 filename” OR “chmod u=rwxs,go=rx filename” file(查看文件类型) which(寻找“执行文件”) 基于数据库文件查找: whereis(寻找特定文件);locate(找出所有相关的文件名) ps:updatedb 命令可以手动更新数据库 find(文件名的查找)基于时间参数查找(-atime,-ctime,-mtime,-newer file:列出比 file 还新的文件)

    +4代表大于等于5天前的文件名:ex>find /var -mtime +4
    -4代表小于等于4天内的文件名:ex> find /var -mtime -4
    4则代表4~5那一天的文件名:ex >find /var -mtime 4

基于用户或用户名参数查找

    -uid n,-gid n
    -user name,-group name
    -nouser,-nogroup

基于文件权限、名称和大小参数的查找

    -name filename
    -size [+-]SIZE

find 的特殊功能就是能够进行额外的动作(action)

该范例中特殊的地方有 {} 以及 ; 还有 -exec 这个关键字,这些东西的意义为:

    {} 代表的是『由 find 找到的内容』,如上图所示,find 的结果会被放置到 {} 位置中;
    -exec 一直到 \; 是关键字,代表 find 额外动作的开始 (-exec) 到结束 (\;) ,在这中间的就是 find 命令内的额外动作。 在本例中就是“ls -l {} ”
    因为“ ; ”在 bash 环境下是有特殊意义的,因此利用反斜线来跳脱。

作者: Petrus.Z

Created: 2021-09-01 Wed 00:38