001_文件、目录管理

Linux 文件、目录管理

一、文档&目录相关命令

  1. 文件类型
    d 目录
    - 二进制/文本
    c 字符串设备
    b 块设备(光盘、磁盘)
    l 软连接
    s socket通信文件

  2. ls 命令
    -l 查看文件详细信息 (-lh 文件大小以合适的单位显示)
    -i 查看文件inode 号
    -a 查看所有文件(包含隐藏文件)
    -t 按时间顺序显示
    -d 只显示根目录本身

  3. alias 别名

$ which ll
alias ll='ls -l --color=auto'
      /usr/bin/ls

which 查看一个文件/命令所在的位置
alias aming='ls -lha' 设置别名
unalias aming 取消别名

  1. rm
    -r 进入目录,并删除
    -f 强制删除
    格式:rm -rfv 文件

  2. 系统环境变量PATH
    vim /etc/profile
    PATH=$PATH:/tmp/
    source /etc/profile

  3. cat (tac 倒叙显示)
    -n 显示行号
    wc -l 查看文件行数
    more 分屏显示 空格往下看 按CTRL+B(b) 往上看
    less 分屏显示 支持上下键 ;b向上看、f向下看、 q 退出、/搜索(从前往后搜索)、?搜索(从后往前搜索)、g行首、G 行尾
    head -n 10 显示前10行
    tail -n 10 显示后10行
    tail -f 显示动态文件(日志)

二、文件&目录权限

权限:主/组/其他 rwx 读(4)、写(2)、执行(1)

  1. chmod 修改权限(change mode)

    • 格式:chmod -R 权限 filename
    • 参数:-R 递减(目录与目录下文件权限同时修改)
      chmod 755 test
      chmod u=rwx,g=r,o=r test
      chmod o+x test
  2. chown 修改用户所属主、组(change owner)

    • 格式:chown -R username:group filename
    • 参数:-R目录与目录下文件权限同时修改
      chown test /home/1.txt // 修改用户主
      chown :root /home/1.txt // 修改用户组
      chown test:root /home/1.txt // 修改用户主和组
  3. chgrp 修改用户组 (change group)
    chgrp root /home/1.txt

  4. umask 默认权限
    文件:644
    目录:755 // 目录必须拥有x权限,否则无法进入
    umask 0022
    文件默认权限:rw- r-- r-- (644)= rw- rw- rw-(666) 减 --- -w- -w-(022)
    目录默认权限:rwx r-x r-x (755)=rwx rwx rwx (777) 减 --- -w- -w- (022)
    不能数字减,不准确 换成权限位减

  5. chattr 隐藏权限

    • 参数:
      i 不允许修改、删除
      a 只能追加内容
    • 格式:
      chattr +i 1.txt
  6. lsattr 查看隐藏权限

    • 查询的是目录下的子目录和子文件
    • 参数:
      -d 查询目录本身权限
      -R 查询目录本身权限和子目录及子文件权限
      -a 查询所有内容,包含隐藏文件
  7. set_uid 特殊权限
    执行set_uid权限命令,临时赋予文件所有主的权限 如:/etc/passwd文件
    必须是二进制、可执行的文件,才能被赋予s权限;目录可以设置s权限,无意义

    • 格式 :
      chmod u+s /usr/bin/lschmod u=rwsx /usr/bin/ls 没有x权限,S会大写)
      chmod u-s /usr/bin/ls

    • set_gid

    • 文件 同set_uid

    • 目录 组拥有s权限 目录下创建子目录或子文件 用户组与主目录组一致

    • stick_bit 防止删除,目录拥有t权限,只能删除用户自己创建的文件,其他用户文件,无法删除。修改可以 root 用户可操作

三、软连接&硬链接

  1. 软连接 ln -s

    • 格式:ln -s 文件 目标地址
    • 示列:ln -s /tmp/yum.log /test/34.log (采用绝对路径,避免使用相对路径)
  2. 硬链接 ln

    • 格式:ln 文件 目标文件 (不支持目录/不能跨分区)
      硬链接文件 inode 号与源文件相同,删除任意文件,不影响硬盘源文件
    • 示列:ln /tmp/yum.log /test/12.log

四、find (搜索命令)

  1. find 同类命令 which/whereis/locate-->安装mlocate

    • 示列:find /etc/ -type f -name "passwd*"
    • 参数:
      -type 类型(d/f/b/c/l/s)
      -name 名称
      -o 或者(多条件查询适用) 示例:find /test/ -type f -mmin -60 -o -name 34.log
      -szie 大小 (+10K大于10K的文件/ -10K小于10K的文件) 示例:find /test/ -type d -size -10k
  2. Time (+1大于1天/ -1小于一天)

    • 参数:
      -mtime 最近更改时间(文件内容改动等,ctime随着变动)
      -ctime 最近改动时间(权限、大小、位置等改动)
      -atime 访问时间
      -mmin -60 一小时以内(分钟为查询单位)
    • 示例: find /test/ -type f -mmin -60
  3. -inum 查询硬链接(用inode号查询)

    • 示列:find / -inum 8388681
    • sata 查看文件详细信息
      格式:stat filename
      示列:stat 1.txt
    • -exec 扩展选项
      示列:find /test/ -type f -mmin -60 -exec mv {} {}.bak \;
  4. find /test/ -type f -mmin -60 -exec ls -l {} \;

posted @ 2020-02-19 18:13  bret_chen  阅读(87)  评论(0)    收藏  举报