
ls命令 – 显示指定工作目录下的文件及属性信息
ls是最常被使用到的Linux命令之一,来自于英文单词list的缩写,也正如list单词的英文意思,其功能是列举出指定目录下的文件名称及其属性。
默认不加参数的情况下,ls命令会列出当前工作目录中的文件信息,经常与cd和pwd命令搭配使用,十分方便。而带上参数后,我们则可以做更多的事情,作为最基础、最频繁使用的命令,有必要仔细了解下其常用功能。
语法格式: ls [参数] [文件]
常用参数:
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-l | 使用长格式列出文件及目录的详细信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
-d | 查看目录的信息,而不是里面子文件的信息 |
-i | 输出文件的inode节点信息 |
-m | 水平列出文件,以逗号间隔 |
-X | 按文件扩展名排序 |
--color | 输出信息中带有着色效果 |
参考实例
输出当前目录中的文件(默认不含隐藏文件):
[root@linuxcool ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
输出当前目录中的文件(含隐藏文件):
[root@linuxcool ~]# ls -a
. .bashrc Documents Music Videos
.. .cache Downloads Pictures .viminfo
anaconda-ks.cfg .config .esd_auth .pki
.bash_history .cshrc .ICEauthority Public
.bash_logout .dbus initial-setup-ks.cfg .tcshrc
.bash_profile Desktop .local Templates
输出文件的长格式,包含属性详情信息:
[root@linuxcool ~]# ls -l
total 8
-rw-------. 1 root root 1430 Dec 14 08:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Desktop
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Documents
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Downloads
-rw-r--r--. 1 root root 1585 Dec 14 08:34 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Music
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Pictures
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Public
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Templates
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Videos
输出指定目录中的文件列表:
[root@linuxcool ~]# ls /etc
adjtime hosts pulse
aliases hosts.allow qemu-ga
alsa hosts.deny qemu-kvm
alternatives hp radvd.conf
anacrontab idmapd.conf ras
asound.conf init.d rc0.d
at.deny inittab rc1.d
………………省略部分输出信息………………
输出文件名称及inode属性块号码:
[root@linuxcool ~]# ls -i
35290115 anaconda-ks.cfg 35290137 initial-setup-ks.cfg 35290164 Templates
1137391 Desktop 17840039 Music 51609597 Videos
1137392 Documents 35290165 Pictures
17840038 Downloads 51609596 Public
搭配通配符一起使用,输出指定目录中所有以sd开头的文件名称:
[root@linuxcool ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2
依据文件大小进行排序,输出指定目录中文件属性详情信息:
[root@linuxcool ~]# ls -Sl /etc
total 1348
-rw-r--r--. 1 root root 692241 Sep 10 2018 services
-rw-r--r--. 1 root root 66482 Dec 14 08:34 ld.so.cache
-rw-r--r--. 1 root root 60352 May 11 2017 mime.types
-rw-r--r--. 1 root dnsmasq 26843 Aug 12 2018 dnsmasq.conf
-rw-r--r--. 1 root root 25696 Dec 12 2018 brltty.conf
-rw-r--r--. 1 root root 9450 Aug 12 2018 nanorc
-rw-r--r--. 1 root root 7265 Dec 14 08:03 kdump.conf
-rw-------. 1 tss tss 7046 Aug 13 2018 tcsd.conf
………………省略部分输出信息………………

cp命令 – 复制文件或目录
cp命令来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
语法格式:cp [参数] 源文件 目标文件
常用参数:
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“pdr”选项 |
参考实例
在当前工作目录中,将某个文件复制一份,并定义新文件名称:
[root@linuxcool ~]# cp anaconda-ks.cfg kickstart.cfg
在当前工作目录中,将某个目录复制一份,并定义新目录名称:
[root@linuxcool ~]# cp -r Documents Doc
复制某个文件时,保留其原始权限及用户归属信息:
[root@linuxcool ~]# cp -a kickstart.cfg ks.cfg
将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问:
[root@linuxcool ~]# cp -f ks.cfg /etc
将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖:
[root@linuxcool ~]# cp anaconda-ks.cfg ks.cfg /etc
cp: overwrite '/etc/ks.cfg'? y

mkdir命令 – 创建目录文件
mkdir命令来自于英文词组“make directories”的缩写,其功能是用来创建目录文件。使用简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系,例如a/b/c/d/e/f,要想一次性创建则需要加入-p参数,进行递归操作。
语法格式 : mkdir [参数] 目录
常用参数:
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
参考实例
在当前工作目录中,建立一个目录文件:
[root@linuxcool ~]# mkdir dir1
在当前工作目录中,创建一个目录文件并设置700权限,不让除所有主以外任何人读、写、执行它:
[root@linuxcool ~]# mkdir -m 700 dir2
在当前工作目录中,一次性创建多个目录文件:
[root@linuxcool ~]# mkdir dir3 dir4 dir5
在系统根目录中,一次性创建多个有嵌套关系的目录文件:
[root@linuxcool ~]# mkdir -p /dir1/dir2/dir3/dir4/dir5
mv命令 – 移动或改名文件
mv命令来自于英文单词move的缩写,其功能与英文含义相同,用于对文件进行剪切和重命名。
这是一个高频使用的文件管理命令,我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。
在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作,例如下面的实例一所示。
语法格式:mv [参数] 源文件 目标文件
常用参数:
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
参考实例
在当前工作目录中,对某个文件进行剪切后粘贴(重命名)操作:
[root@linuxcool ~]# mv anaconda-ks.cfg ks.cfg
将某个文件移动到/etc目录中,保留文件原始名称:
[root@linuxcool ~]# mv ks.cfg /etc
将某个目录移动到/etc目录中,并定义新的目录名称:
[root@linuxcool ~]# mv Documents /etc/docs
将/home目录中所有的文件都移动到当前工作目录中,遇到已存在文件则直接覆盖:
[root@linuxcool ~]# mv -f /home/* .
pwd命令 – 显示当前工作目录的路径
pwd命令来自于英文词组”print working directory“的缩写,其功能是用于显示当前工作目录的路径,即显示所在位置的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止”迷路“,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作。
语法格式:pwd [参数]
常用参数:
-L | 显示逻辑路径 |
参考实例
查看当前工作目录路径:
[root@linuxcool ~]# pwd
/root