Chapter 6 文件管理

6.1 pwd tree ls cd

  • pwd

    print working dir

  • tree

    yum -y install tree

    树状图显示

    -L 2 /etc :查看两层

    -d :只看目录

  • ~

    家目录

    ~alice :alice的家目录

  • ls [选项]… [文件]…

    -a:显示隐藏文件

    -l:一行一行地显示

    -d:查看目录的信息

    -h:便于阅读(与l一起使用)

    -t:按时间排序

    -S:按大小排序

  • cd [路径]

    change dir

    默认:回到家目录

    -:返回刚才访问的目录

6.2 mkdir touch cp mv rm

  • mkdir

    -p:parents,创建多级目录

mkdir /home/{jerry,tom}
mkdir -pv /home/{jack/{dir1,dir2},alice}
  • cp

    -a: 相当于-dR --preserve=all,即递归复制,并保留链接文件(不追踪符号连接)和文件属性

    -r: recursive,递归复制目录

    -f: force

    -v: verbose

举例:创建文件的副本

cp -r /etc/sysconfig/network-scripts/ifcfg-ens33{,.bak}
  • mv:移动和/或重命名文件

    mv name1 name2

    mv /a/b /targetFolder

  • rm

    -r:recursive,递归

    -f:force,强制

rm -rf *不会删除隐藏文件

手动删除时,应当进入目录,然后使用相对路径,避免误删

删除空目录时,可以使用rmdir命令

  • touch:创建空文件
touch test/{jack,tom}
touch test{01,02,03}.txt
touch file{1..20}
touch file{a..e}

6.3 type stat file

type 命令 查看命令类型

  • type -a ls 列出ls命令的所有类型

stat 文件 查看文件属性

  • atime:access time,访问时间

    RHEL6开始relatime,atime延迟修改(访问后延迟24h或发生写操作)

  • mtime:modify time,修改时间,ls默认显示mtime

  • ctime:status time,状态改变时间(权限,属性等元数据的变化)

  • dtime:delete time,删除时间

ll显示的是修改时间 mtime

find / -mtime -5

file 文件 查看文件类型

文件类型和扩展名无关

ls -l 文件名 第一个字符是文件类型

类型 含义
- 普通文件(文本、二进制、压缩文件,电影、图片…)
d 目录文件(蓝色)
b 设备文件(块设备)例如硬盘、U盘 (/dev/sda , /dev/sda1)
c 设备文件(字符设备) 打印机、终端 (/dev/tty1) 、(/dev/zero)
s socket,套接字文件
p 管道文件
l 链接文件(淡蓝色)

6.4 ln

  • ln -s <目标文件或目录> <链接文件名>

    创建软链接

6.5 find locate which whereis

  • find [目录] [选项] 关键字

    从指定目录向下递归地遍历各个子目录,寻找满足条件的文件或目录

    -name:按名称

    -user:按所有者

    -size:按大小(+大于, -小于, 单位有k, M, G)

举例:

find /home -name *.txt

find /opt -user root | more

find / -size +200M

查找范围太大时不建议用find,速度较慢

apt install mlocate

  • locate file

    locate利用事先建立的数据库实现查找而无需遍历文件系统

    因此可以快速定位文件路径

    需要定时updatedb或查找前updatedb

  • which 指令

    查找指令的位置,即只会在$PATH中查找

  • whereis

    查找可执行文件、配置、man手册等,使用数据库