文件与文件系统管理工具

概述

参考:

ls - 列出有关文件的信息(默认情况下为当前目录所有文件)

参考:

ls 程序包含在 Coreutils 工具集

Syntax(语法)

ls [OPTIONS]… [FILE]…

OPTIONS

影响列出哪些文件的选项

参考:https://www.gnu.org/software/coreutils/manual/html_node/Which-files-are-listed.html

  • -a, –all # 不要忽略以 . 符号开头的条目

影响列出的文件包含哪些信息的选项

参考:https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html

  • –full-time # 显示时间的完整格式
  • -h, –human-readable # 将 size 列信息变为人类可读的格式。
  • -i, –inode # 显示文件的 inode 号。显示在最左侧。
  • -l # 输出更多的信息。每列信息所代表的含义详见 《文件管理》章节
  • -Z, –context # 显示 SELinux 安全上下文,若该文件不受 SELinux 影响,则显示 ?

对输出的信息进行排序的选项

参考:https://www.gnu.org/software/coreutils/manual/html_node/Sorting-the-output.html

  • -r # 对列出的内容反向排序
  • –sort=WORD # 按照 WORD 排序,而不是以文件的名称排序。
    • size # 以文件大小排序。等同于 -S 选项
    • time # 以时间排序。等同于 -t 选项
  • -S # 按照文件的大小排序,最大的排在第一个。等同于 –sort=size
  • -t # 按照文件的最新修改时间排序,最新的时间排在第一个。等同于 –sort=time
  • -c # 显示文件的 ctime,并按照 ctime 排序
  • -u # 显示文件的 atime,并按照 atime 排序

影响输出信息的格式

参考:https://www.gnu.org/software/coreutils/manual/html_node/General-output-formatting.html

  • –color[=WHEN] # 用色彩辨别文件类型。WHEN 可以是’never’、‘always’或’auto’其中之一
    • 白色:表示普通文件
    • 蓝色:表示目录
    • 绿色:表示可执行文件
    • 红色:表示压缩文件
    • 浅蓝色:链接文件
    • 红色闪烁:表示链接的文件有问题
    • 黄色:表示设备文件
    • 灰色:表示其它文件

EXAMPLE

  • 查看文件夹下的文件个数(当前目录的文件数)
    • ls -l | grep “^-” | wc -l

stat - 显示文件或文件系统的状态

~]# stat anaconda-ks.cfg
  File: ‘anaconda-ks.cfg’
  Size: 1594       Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d Inode: 67155554    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-24 09:01:18.293000000 +0800
Modify: 2019-05-24 09:01:18.296000000 +0800
Change: 2019-05-24 09:01:18.296000000 +0800 Birth: -

ln - 在文件之间建立(软/硬)链接

参考:

ln 工具用来在文件之间建立 文件管理 章节中提到的 Symbolic link(符合链接)

Syntax(语法)

ln [OPTIONS] SourceFILE DestinationFILE

Man 手册中 ln [OPTION]... [-T] TARGET LINK_NAME TARGET 指源文件,LINK_NAME 指目标文件

OPTIONS

  • -s, –symbolic # 使用软连接。默认为硬连接

EXAMPLE

  • ln -s /bin /usr/bin

file - 检查并显示文件的类型

参考:

Syntax(语法)

file [-bchiklLNnprsvz0] [–apple] [–mime-encoding] [–mime-type] [-e testname] [-F separator] [-f namefile] [-m magicfiles] file … file -C [-m magicfiles] file [–help]

OPTIONS

  • -s, –special-files # 通常,file 仅尝试读取和确定 stat(2) 报告为普通文件的参数文件的类型。这可以防止出现问题,因为读取特殊文件可能会产生特殊的后果。指定 -s 选项会导致 file 还读取作为块或字符特殊文件的参数文件。
    • 这对于确定原始磁盘分区中数据的文件系统类型非常有用(blkid 命令也可以获取文件系统类型),这些数据是块特殊文件。此选项还会导致 file 忽略 stat(2) 报告的文件大小,因为在某些系统上它报告原始磁盘分区的大小为零。效果如下:
[root@kzt241 mnt]# file /dev/dm-2
/dev/dm-2: block special (253/2)
[root@kzt241 mnt]# file -s /dev/dm-2
/dev/dm-2: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

EXAMPLE

  • 检查并显示当前目录下所有文件
    • file *

cp - 复制文件和目录

参考:

cp [OPTIONS] SOURCE DEST

将 SOURCE 复制到 DEST

OPTIONS

  • -a, –archive # 等同于 -dR --preserve=all 这几个选项的集合体
  • -d # 与 –no-dereference –preserve=links 相同
  • -P, –no-dereference # 不追踪符号链接。也就是复制符号链接时,复制其本身,而不复制链接目标。
  • –preserve <ATTR> # 保留 SOURCE 的指定属性,多个属性以逗号分隔。默认值:mode,ownership,timestamps
    • ATTR 还可以有 context、links、xattr、all。all 表示表示保留所有属性
  • -r, -R, –recursive # 递归得复制目录
  • -v, –verbose # 显示复制进度
  • -x, –one-file-system # 留在这个文件系统上

EXAMPLE

  • 完全全复制,包括源文件的属性、权限等等
    • cp -ax

mv - 移动文件和目录

参考:

Syntax(语法)

mv [OPTION] SOURCE DIRECTORY

OPTIONS

tree - 以树状格式列出目录的内容

参考:

安装方式:yum install -y tree

Syntax(语法)

tree [-acdfghilnpqrstuvxACDFQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [–nolinks] [-P pattern] [-I pattern] [–inodes] [–device] [–noreport] [–dirsfirst] [–version] [–help] [–filelimit #] [–si] [–prune] [–du] [–timefmt format] [directory …]

OPTIONS

  • -d # 仅列出目录
  • -F #
  • -L INT # 目录树的最大显示深度是 NUM 层。NUM 为 1 则只显示指定目录下的文件信息,为 2 则包括第一层子目录下的信息的也显示,以此类推

EXAMPLE

realpath - 获取文件的绝对路径

参考:


最后修改 March 25, 2025: clearup (feb59d93)