《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis

时间:2022-01-21 10:36:08

一:基本

  - / 根目录下目录结构定义

    • /bin        常见的用户指令 ls/echo ...... 等
      /boot 内核和启动文件
      /dev 设备文件
      /etc 系统和服务配置文件
      /home 用户家目录
      /lib 系统函数库目录
      /lost+fond ext3文件需要目录,用于磁盘检查
      /mnt 系统加载文件常用挂载点
      /opt 第三方软件安装目录
      /proc 虚拟文件系统
      /root root用户家目录
      /sbin 存放系统管理命令
      /tmp 临时文件目录存放
      /usr 存放直接与用户相关文件
      /media 临时文件系统挂载点

二:文件操作

  - touch (创建文件)

    - 如果文件存在,则刷新 创建/修改 时间。

  - rm (删除文件)

    - -r 删除目录

    - -f 删除时不需要询问

  - mv (移动或重命名)

    - -i 重名文件询问是否覆盖

    - -f 重名文件直接覆盖

  - head (查看文件头)

    - -n 指定行数

  - tail (查看文件尾)

    - -f 实时监控文件末尾

三:目录操作

  - mkdir (创建目录)

    - -p 逐级创建目录

  - cp (复制文件)

    - -r 复制目录

四:文件/目录权限

  - 文件权限

    • ls -al
      
      drwxr-----         homework    homework          11月  :  apollo
      文件权限/类别 连接数 所有者 所有组 文件大小(K) 创建/修改时间 文件名

  - chmod (改变文件权限)

    - chmod -r 权限 文件  

    - r(读) = 4;w(写) = 2;x(执行) = 1;

  - chown (改变文件所有者)

    - chown -R 所有者:所有组 文件

  - file (查看文件类型)

    • [@:~]$ file smarty.conf
      smarty.conf: ASCII text

四:文件查找

  - find (一般查找)

    - 根据文件名查找

      - find /home -name xxx.jpg (/home 目录下递归查找所有文件名字为 xxx.jpg 的文件)

    - 根据文件大小查找

      - find /home -size +512k (/home 目录下递归查找大于512k的文件)

      - find /home -size -512k (/home 目录下递归查找小于512k的文件)

    - 指定深度范围查找

      - find /home/lihong1/www/ka/public -maxdepth 1 -size +3k (/home 目录下查找一层大于3k的文件)

    - 根据时间查找

      - find /home -cmin 10     (查找 /home 中十分钟左右修改的)

      - find /home -cmin +10   (查找 /home 中十分钟以上修改的)

      - find /home -cmin -10   (查找 /home 中十分钟以内修改的)

      - find /home -ctime 10    (查找 /home 中十天左右修改的)

      - find /home -ctime +10  (查找 /home 中十天以上修改的)

      - find /home -ctime -10  (查找 /home 中十天以内修改的)

    - 根据文件权限查找

      - find /home -perm 777   (查找 /home 文件权限为 777 的文件) (必须是 rwxrwxrwx)

      - find /home -perm -007  (查找 /home other 有读写权限的文件) (******rwx 满足任意即可)

    - 权限不足直接可以过滤

      -  find /home -name xxx.jpg 2 > /dev/null

  - locate (数据库查找)

    - 原理

      - 与 find 不同,locate 命令依赖于一个数据库文件

      - Linux 每天会检索下系统中的文件,记录到数据库中。

      - 所以, locate 比 find 更为迅速

    - 使用

      - 在使用命令之前,需先使用 updatedb 刷新文件,因为可能新加入的文件并没有被记录

      • homework@1 ~ $ locate npm-debug.log
        /home/homework/xxx.log

五:查找可执行文件

  - which (查找二进制执行文件绝对路径)

    • homework@1 $ which echo
      /bin/echo

  

  - whereis (除了能找到二进制执行文件,还能找到 man 文件)

    • homework@1 $ whereis echo
      echo: /bin/echo /usr/share/man/man1p/echo.1p.gz /usr/share/man/man1/echo..gz

六:压缩/解压

  - 压缩

    - tar -cvf /tmp/etc.tar /etc          仅打包,不压缩!

    - tar -zcvf /tmp/etc.tar.gz /etc      打包后,以 gzip 压缩

    - tar -jcvf /tmp/etc.tar.bz2 /etc   打包后,以 bzip2 压缩

  - 解压

    • - *.tar        用   tar -xvf        解压 [ -C 可以指定解压目录位置]
      - *.gz 用 gzip -d/gunzip 解压
      - *.tar.gz 用 tar -xzf 解压
      - *.tgz 用 tar -xzf 解压
      - *.bz2 用 bzip2 -d/bunzip2 解压
      - *.tar.bz2 用 tar -xjf 解压
      - *.Z 用 uncompress 解压
      - *.tar.Z 用 tar -xZf 解压
      - *.rar 用 unrar e 解压
      - *.zip 用 unzip 解压

-