本章概要
- 文件系统结构元素
- 创建和查看文件
- 复制、转移和删除文件
- 软和硬链接
1、文件系统结构元素
文件系统与目录结构
[root@centos7 ~]#tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── data
├── date
├── dev
├── etc
├── home
├── httpd
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── misc
├── mnt
├── net
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
文件系统
- 文件和目录被组织成一个单根倒置树结构
- 文件系统从根目录下开始,用“/”表示
- 根文件系统(rootfs):root filesystem
- 文件名称区分大小写
- 以.开头的文件为隐藏文件
- 路径分隔的 /
- 文件有两类数据:
元数据:metadata
数据:data - 文件系统分层结构:LSB Linux Standard Base
- FHS: (Filesystem Hierarchy Standard)
http://www.pathname.com/fhs/
文件名规则
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
- 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
- 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们。
- 标准Linux文件系统(如ext4),文件名称大小写敏感。例如:MAIL, Mail, mail, mAiL
注意:Linux系统中文件名称是否区分大小写与文件系统有关,linux下文件系统有ext4,xfs,vfat等。标准Linux文件系统(如ext4),文件名称区分大小写。例如:MAIL, Mail, mail, mAiL。但vfat文件系统则不区分大小写。
文件系统结构
- /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
- /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
- /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
- /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
- /lib64:专用于x86_64系统上的辅助共享库文件存放位置
- /etc:配置文件目录
- /home/USERNAME:普通用户家目录
- /root:管理员的家目录
- /media:便携式移动设备挂载点
- /mnt:临时文件系统挂载点
- /dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问 - /opt:第三方应用程序的安装位置
- /srv:系统上运行的服务用到的数据
- /tmp:临时文件存储位置
- /usr: universal shared, read-only data 共享只读文件
bin: 保证系统拥有完整功能而提供的应用程序
sbin:类似于bin
lib:32位使用基本共享库
lib64:只存在64位系统库
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share - /var: variable data files 可变数据的存储位置
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据;
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据;
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据 - /proc: 用于输出内核与进程信息相关的虚拟文件系统
- /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
- /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置
- /misc:自动挂载光盘,该目录与autofs服务有关。
一般情况下,系统镜像在系统启动以后会挂载到/media(centos6)或/run(centos7)目录下,但在启动autofs服务之后,镜像文件也会自动挂载到该目录下,即/misc/cd目录。[root@centos7 ~]#ls /misc/cd CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL
- /net:与网络有关的目录
linux上的应用程序的组成部分
- 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
- 库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
- 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
- 帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
linux下的文件类型
- -:普通文件
- d: 目录文件
- b: 块设备文件
注意:块设备文件不会显示文件大小,而是在同样的位置显示设备号
主设备号为第一列数字8,次设备号为第二列数字0-5[root@centos7 ~]#ll /dev/sd* brw-rw----. 1 root disk 8, 0 Aug 21 10:03 /dev/sda brw-rw----. 1 root disk 8, 1 Aug 21 10:03 /dev/sda1 brw-rw----. 1 root disk 8, 2 Aug 21 10:03 /dev/sda2 brw-rw----. 1 root disk 8, 3 Aug 21 10:03 /dev/sda3 brw-rw----. 1 root disk 8, 4 Aug 21 10:03 /dev/sda4 brw-rw----. 1 root disk 8, 5 Aug 21 10:03 /dev/sda5
- c: 字符设备
- l: 符号链接文件
- p: 管道文件pipe
- s: 套接字文件socket
ll命令查询文件,文件权限前字母即为该文件类型lrwxrwxrwx. 1 root root 25 Aug 21 10:03 initctl -> /run/systemd/initctl/fifo drwxr-xr-x. 4 root root 300 Aug 21 10:03 input crw-r--r--. 1 root root 1, 11 Aug 21 10:03 kmsg srw-rw-rw-. 1 root root 0 Aug 21 10:03 log
centos 7目录变化
- /bin 和 /usr/bin
- /sbin 和 /usr/sbin
- /lib 和 /usr/lib
- /lib64 和 /usr/lib64
centos6[root@centos6 ~]#ll -d /bin /sbin /lib /lib64 dr-xr-xr-x. 2 root root 4096 Aug 11 15:50 /bin dr-xr-xr-x. 11 root root 4096 Jul 18 16:42 /lib dr-xr-xr-x. 9 root root 12288 Aug 11 15:49 /lib64 dr-xr-xr-x. 2 root root 12288 Aug 11 15:50 /sbin
centos7
[root@centos7 ~]#ll -d /bin /sbin /lib /lib64 lrwxrwxrwx. 1 root root 7 Jul 18 17:17 /bin -> usr/bin lrwxrwxrwx. 1 root root 7 Jul 18 17:17 /lib -> usr/lib lrwxrwxrwx. 1 root root 9 Jul 18 17:17 /lib64 -> usr/lib64 lrwxrwxrwx. 1 root root 8 Jul 18 17:17 /sbin -> usr/sbin
显示当前工作目录
- 每个shell和系统进程都有一个当前的工作目录
- CWD:current work directory
- 显示当前shell CWD的绝对路径
pwd: printing working directory
-P 显示真实物理路径
-L 显示链接路径(默认)[root@centos7 bin]#pwd -P /usr/bin
绝对和相对路径
- 绝对路径
以正斜杠开始
完整的文件的位置路径
可用于任何想指定一个文件名的时候 - 相对路径名
不以斜线开始
指定相对于当前工作目录或某目录的位置
可以作为一个简短的形式指定一个文件名 - 基名:basename 是指路径中最后一个/后的内容
- 目录名:dirname 是指路径中最后一个/前的内容
[root@centos7 ~]#basename /etc/sysconfig/network-scripts/ network-scripts [root@centos7 ~]#dirname /etc/sysconfig/network-scripts/ /etc/sysconfig
更改(切换)目录
cd:change directory 改变目录
cd /home/yuan 绝对路径切换目录
cd home/yuan 相对路径切换目录
绝对路径切换目录
[root@centos7 ~]#cd /home/yuan
相对路径切换目录
[root@centos7 yuan]#cd /
[root@centos7 /]#cd home/yuan
[root@centos7 yuan]#
.:当前目录
..:上一级目录,即父目录
-:上一次离开的目录
cd或cd ~:回到当前用户家目录
cd..:回到上一级目录即父目录
cd -:回到上一次离开的目录
与cd相关环境变量
PWD:当前目录路径
OLDPWD:上一次目录路径
[root@centos7 ~]#cd /data
[root@centos7 data]#cd
[root@centos7 ~]#echo $PWD
/root
[root@centos7 ~]#echo $OLDPWD
/data
知识扩展:
"cd -"的原理:与OLDPWD变量有关,当目录切换时,会将上一次目录路径记录到OLDPWD变量,当使用cd -时,调用该变量即可。
列出目录内容
ls:list directory contents 列出文件内容
用法:ls [OPTION]... [FILE]...
ls -a --all 列出所有文件(包含隐藏文件)
[root@centos7 data]#ls -a
. .. dir1 f1 f2 fstab fstab.~1~
ls -A 列出所有文件(.和..除外)
[root@centos7 data]#ls -A
dir1 f1 f2 fstab fstab.~1~
ls -l 列出详细信息
[root@centos7 data]#ls -l
total 8
drwxr-xr-x. 3 root root 18 Aug 21 15:57 dir1
-rw-r--r--. 1 root root 0 Aug 21 15:57 f1
-rw-r--r--. 1 root root 0 Aug 21 15:57 f2
-rw-r--r--. 1 root root 685 Aug 21 15:50 fstab
-rw-r--r--. 1 root root 685 Aug 21 15:50 fstab.~1~
ls -R 递归显示目录信息
[root@centos7 data]#ls -R
.:
dir1 f1 f2 fstab fstab.~1~
./dir1:
dir2
./dir1/dir2:
dir3
./dir1/dir2/dir3:
ls -ld 只显示目录和符号链接本身的详细信息,而不显示目录下的内容
[root@centos7 data]#ls -ld /data
drwxr-xr-x. 3 root root 68 Aug 21 15:57 /data
ls -1 分行显示目录或文件
[root@centos7 data]#ls -1
dir1
f1
f2
fstab
fstab.~1~
ls -S 根据文件大小从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls -r --reverse 反转 倒序排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
ls -d 只显示目录本身
ls -aI "[^.]*"或ls -d .*或l. 只显示隐藏文件
[root@centos7 ~]#ls -d .*
. .bash_logout .cache .dbus .local .ssh .xauthi2dZgk
.. .bash_profile .config .esd_auth .mozilla .tcshrc .Xauthority
.bash_history .bashrc .cshrc .ICEauthority .pki .viminfo
[root@centos7 ~]#l.
. .bash_logout .cache .dbus .local .ssh .xauthi2dZgk
.. .bash_profile .config .esd_auth .mozilla .tcshrc .Xauthority
.bash_history .bashrc .cshrc .ICEauthority .pki .viminfo
[root@centos7 ~]#ls -aI "[^.]*"
. .bash_logout .cache .dbus .local .ssh .xauthi2dZgk
.. .bash_profile .config .esd_auth .mozilla .tcshrc .Xauthority
.bash_history .bashrc .cshrc .ICEauthority .pki .viminfo
2、创建和查看文件
查看文件状态
- stat
- 三个时间戳:
atime:Access time,访问时间,读取文件内容
mtime:Modify time,修改时间,改变文件内容
ctime:Change time,改变时间,元数据发生改变
数据分为两部分:元数据(metadata),数据(data)
元数据是指数据本身所包含的属性信息,如:大小、权限、存储位置、历史记录、所有者等
数据是指数据内容[root@centos7 ~]#stat /root File: ‘/root’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 802h/2050d Inode: 100663361 Links: 18 Access: (0550/dr-xr-x---) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:admin_home_t:s0 Access: 2018-08-21 14:23:04.003029303 +0800 Modify: 2018-08-21 14:22:29.834029914 +0800 Change: 2018-08-21 14:22:29.834029914 +0800 Birth: -
文件通配符
- * 匹配零个或多个字符
- ? 匹配任何单个字符
- ~ 当前用户家目录,如:cd ~,切换到用户家目录
- ~+ 当前工作目录
- ~- 前一个工作目录
- [0-9] 匹配数字范围
- [a-z] 匹配小写字母
- [A-Z] 匹配大写字母
- [wang] 匹配列表中(wang)任何一个字符
- [^wang] 匹配列表(wang)中的所有字符以外的字符
- 预定义的字符类:
查看man帮助:man 7 glob
[:digit:]:任意数字,相当于0-9。
因此[:digit:]需再加[]即[[:digit:]]才相当于[0-9],其他通配符与此类似
[:lower:]:任意小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
练习:
1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
/etc/l*[[:digit:]]*[[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
/etc/[[:digit:]]*[^[:digit:]]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
/etc/[^[:alpha:]][[:alpha:]]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录
/etc/rc[0-6]*
5、显示/etc目录下,所有以.d结尾的文件或目录
/etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
/etc/[mnrp]*.conf
7、只显示/root下的隐藏文件和目录
/root/.*
8、只显示/etc下的非隐藏目录
/etc/[^.]*/
创建空文件和刷新时间(更改文件时间戳)
- touch命令
当文件不存在时,创建新文件;当文件存在时,刷新该文件的访问时间 - 用法:touch [OPTION]... FILE...
-a 改变atime和ctime
-m 改变mtime和ctime-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不创建文件。(刷新文件时间)
3、复制、转移和删除文件
复制文件和目录cp
用法:
- cp [OPTION]... [-T] SOURCE DEST
- cp [OPTION]... SOURCE... DIRECTORY
- cp [OPTION]... -t DIRECTORY SOURCE...
- cp SRC DEST
SRC是文件:
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
如果目标存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中
基于安全,建议为cp命令使用-i选项
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中 - cp SRC... DEST
SRC...:多个文件
DEST必须存在,且为目录,其它情形均会出错; - cp SRC DEST
SRC是目录:此时使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;
如果DEST存在:
如果DEST是文件:报错
如果DEST是目录:
源\目标 | 不存在 | 存在且为文件 | 存在且为目录 |
---|---|---|---|
一个文件 | 新建DEST,并将SRC中内容填充值DEST中 | 将SRC中的内容覆盖至DEST中 | 在DEST下新建与源文件同名的文件,并将SRC中内容填充至新文件中 |
多个文件 | 提示错误 | 提示错误 | 在DEST下新建与原文件同名的文件,并将原文件内容复制进新文件中 |
目录,须使用-r选项 | 创建指定DEST同名目录,复制SRC目录中所有文件至DEST下 | 提示错误 | 在DEST下新建与源目录同名的目录,并将SRC中内容复制至新目录下 |
cp常用选项
- -a:复制文件所有属性,相当于-dR --preserv=all
- -d:--no-dereference --preserv=links 不复制原文件,只复制链接名,该命令针对链接文件。
- -i:覆盖前提示 -n:不覆盖,注意两者顺序
- -r,-R:递归复制目录及内部的所有内容,针对于目录中存在目录或文件。
- -p --preserv[=ATTR_LIST] 复制文件时,指定复制的属性(权限)
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all - -v:--verbose复制时显示详细过程
- -f:--force,强制复制
- -u:只复制发生变化的文件,文件更新时使用
- --backup=numbered 目标存在,覆盖前先备份,并且本分文件加数字后缀
[root@centos7 data]#ls fstab [root@centos7 data]#cp --backup=numbered /etc/fstab fstab cp: overwrite ‘fstab’? y [root@centos7 data]#ls fstab fstab.~1~
练习:
1、定义别名命令baketc,每天将/etc/目录下所有文件,备份到/app独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见
alias baketc="cp -av /etc/ /app/backup`date +%F`"
2、创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
cp -a /root/ /app/rootdir
3、备份/root下所有内容(包括隐藏和非隐藏)到/data目录下
cp -rf /root/ /data
知识扩展:
给屏幕录像:
开始:script -t 2> time.log -a cmd.session
结束:exit
播放:scriptreplay time.log cmd.session
mv 移动和重命名文件
- 命令用法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE... - 常用选项
-i: 交互式
-f: 强制
rm 删除
- 命令用法:
rm [OPTION]... FILE... - 常用选项:
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除根目录(/)
知识扩展:
1、rename 批量更改文件
touch f{1..10}.txt
rename 'txt' 'txt.bak' *.txt 把txt后缀批量修改为txt.bak
rename '.bak' '' *.bak 把.bak后缀删除
2、如何立即删除大文件。
当删除一个文件bigfile时,该文件正在被访问,使用rm删除该文件后,该文件占用的空间不会被立即释放,需要等待一段时间后才会释放空间。
解决方法:> bigfile 将bigfile文件内容清0
rm -f bigfile 再rm删除big文件
目录操作
- tree(该命令需要安装软件包才能使用) 显示目录树
-d: 只显示目录
示例:
[root@centos7 ~]#tree -d
.
├── bin
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── Templates
└── Videos
9 directories
-L level:指定显示的层级数目
[root@centos7 data]#tree -L 2 /data
/data
├── dir1
│ └── dir2
├── f1
├── f2
├── fstab
└── fstab.~1~
2 directories, 4 files
-P pattern: 只显示由指定pattern匹配到的路径
[root@centos7 data]#tree -P d /data 显示包含d字母的目录
/data
└── dir1
└── dir2
└── dir3
3 directories, 0 files
- mkdir 创建目录
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限 - rmdir 删除空目录
-p: 递归删除父空目录
-v: 显示详细信息 - rm -r 递归删除目录树
练习:
(1) 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdir -p /testdir/dir1/{x,y}/{a,b}
(2) 如何创建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b
mkdir -p /testdir/dir2/{x/{a,b},y}
(3) 如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7
mkdir -p /testdir/dir{3,4,5/dir{6,7}}
索引节点
- inode(index node)表中包含文件系统所有文件列表
- 一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包括:
文件类型,权限,UID,GID
链接数(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
关于索引节点具体概念,可以查看该链接:http://www.cnblogs.com/adforce/p/3522433.html - inode表运行原理:
inode表中存储内容:元数据、直接指针(ext系统结构有12个直接指针)、间接指针(双重间接指针、三重间接指针)
inode表中的直接指针和间接指针指向数据块,每个直接指针指向一个数据块,每个数据块大小4K,那么直接指针能够寻找的数据块大小只有48K。
当继续存储数据时,48K空间被占用完后,若想要继续存储数据,就需要使用到双重间接块指针,间接指针指向一个数据块,该数据块是一个指针块,不存储数据,被分割成若干小块,每个小块大小4个字节(byte),那么共有1024个小块。每个小块又将指针指向磁盘中存储数据的数据块,那么该数据块能够存储的数据大小为4k*1024=4M。
当4M空间被占用完以后,若想要再存储数据,就要使用三重间接块指针,按照以上运行原理,可存储数据空间为4T。 - 如何访问目录、文件:
首先,查询目录、文件的节点编号
然后根据节点编号找到inode表中对应的inode信息,
最后,根据inode信息找到指针指向的数据块(block),该数据块指向存放该文件的磁盘路径。 - ls -i 查看inode节点编号
不同分区的节点编号一样
不同分区节点编号即使一致,也不是同一个文件
同一个分区中,节点编号一致,就是同一个文件
知识扩展:
复制文件时,提示no space left on device,这是什么原因
答案:节点编号inode被用完
cp、rm、mv和inode运行原理
cp和inode
- CP 命令:
分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件
rm和inode
- rm 命令:
链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。
mv和inode
- 如果mv命令的目标和源在相同的文件系统,作为mv 命令
用新的文件名创建对应新的目录项
删除旧目录条目对应的旧的文件名
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动! - 如果目标和源在一个不同的文件系统, mv相当于cp和rm
4、软和硬链接
硬链接
- 创建硬链接会增加额外的记录项以引用文件
- 对应于同一文件系统上一个物理文件
- 每个目录引用相同的inode号
- 创建时链接数递增
- 删除文件时:
rm命令递减计数的链接
文件要存在,至少有一个链接数
当链接数为零时,该文件被删除 - 不能跨越驱动器或分区
- 语法:
ln filename [linkname ]
软链接
- 一个符号链接指向另一个文件
- ls - l的 显示链接的名称和引用的文件
- 一个符号链接的内容是它引用文件的名称
- 可以对目录进行
- 可以跨分区
- 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数;
- 语法:
ln -s filename [linkname]
硬链接和软链接的区别:
1、文件:硬链接指的是同一个文件,是给文件起了一个新名,节点编号一致;软链接不是同一个文件(算是一个新文件),是给文件增加一个快捷方式(或起个别名),节点编号不一致。
2、分区:硬链接不可以跨分区(设备),软链接可以跨分区、设备甚至是网络
3、依赖关系:硬链接和原始文件之间的关系是平等关系,硬链接被删除,只要不是删除的最后一个硬链接,源文件不受影响,只是链接数-1;而软链接是依赖源文件而存在的,源文件被删除,软链接不可用
4、链接数:创建硬链接,链接数+1;创建软链接,链接数不变
5、目录:针对目录,软链接可以创建目录的软链接;硬链接不能,是为了防止硬链接死循环嵌套
确定文件内容
- 文件可以包含多种类型的数据
- 检查文件的类型,然后确定适当的打开命令或应用程序使用
- 语法:file [options]
... - 常用选项:
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
--help 显示命令在线帮助
文章评论