ls命令用来显示目标列表,在Linux中是使用率较高的命令
语法
ls(选项)(参数)
选项
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
参数
目录:指定要显示列表的目录,也可以是具体的文件。
实例
显示当前目录下非隐藏的文件和目录
[root@localhost ~]# ls
anaconda-ks.cfg
显示当前目录下包括隐藏文件在内的所有文件列表
[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_history .bash_profile .cshrc .tcshrc
.. .ansible .bash_logout .bashrc .ssh .viminfo
输出长格式列表
[root@localhost /]# ls -1
bin
boot
dev
etc
home
host
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
水平输出文件列表
[root@localhost /]# ls -m
bin, boot, dev, etc, home, host, lib, lib64, media, mnt, opt, proc, root, run, sbin, srv, sys, tmp, usr, var
把最有一次修改的文件显示在最前面
[root@localhost /]# ls -t
tmp run etc dev sys var proc home root host boot usr lib lib64 sbin bin media mnt opt srv
递归显示文件
[root@localhost tmp]# ls
systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T
systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY
[root@localhost tmp]# ls -R
.:
systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T
systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY
./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T:
tmp
./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T/tmp:
vmware-root
./systemd-private-59930535793f4514b31cff7876809a91-vmtoolsd.service-L90K2T/tmp/vmware-root:
./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY:
tmp
./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY/tmp:
vmware-root
./systemd-private-e4deb1594eee4ad9aff177dff99659f2-vmtoolsd.service-E494pY/tmp/vmware-root:
打印文件的UID和GID
[root@localhost /]# ls -n
total 20
lrwxrwxrwx. 1 0 0 7 Dec 23 22:03 bin -> usr/bin
dr-xr-xr-x. 4 0 0 4096 Dec 23 22:08 boot
drwxr-xr-x. 20 0 0 3220 Mar 11 19:10 dev
drwxr-xr-x. 79 0 0 8192 Mar 11 19:10 etc
drwxr-xr-x. 10 0 0 140 Mar 11 06:28 home
-rw-r--r--. 1 0 0 67 Dec 31 20:03 host
lrwxrwxrwx. 1 0 0 7 Dec 23 22:03 lib -> usr/lib
lrwxrwxrwx. 1 0 0 9 Dec 23 22:03 lib64 -> usr/lib64
drwxr-xr-x. 2 0 0 6 Nov 5 2016 media
drwxr-xr-x. 2 0 0 6 Nov 5 2016 mnt
drwxr-xr-x. 2 0 0 6 Nov 5 2016 opt
dr-xr-xr-x. 107 0 0 0 Mar 11 19:10 proc
dr-xr-x---. 4 0 0 179 Jan 25 23:13 root
drwxr-xr-x. 22 0 0 660 Mar 11 19:11 run
lrwxrwxrwx. 1 0 0 8 Dec 23 22:03 sbin -> usr/sbin
drwxr-xr-x. 2 0 0 6 Nov 5 2016 srv
dr-xr-xr-x. 13 0 0 0 Mar 11 19:10 sys
drwxrwxrwt. 9 0 0 253 Mar 11 19:11 tmp
drwxr-xr-x. 13 0 0 155 Dec 23 22:03 usr
drwxr-xr-x. 19 0 0 267 Mar 11 19:10 var
列出文件和文件夹的详细信息
[root@localhost /]# ls -l
total 20
lrwxrwxrwx. 1 root root 7 Dec 23 22:03 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Dec 23 22:08 boot
drwxr-xr-x. 20 root root 3220 Mar 11 19:10 dev
drwxr-xr-x. 79 root root 8192 Mar 11 19:10 etc
drwxr-xr-x. 10 root root 140 Mar 11 06:28 home
-rw-r--r--. 1 root root 67 Dec 31 20:03 host
lrwxrwxrwx. 1 root root 7 Dec 23 22:03 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Dec 23 22:03 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 2 root root 6 Nov 5 2016 mnt
drwxr-xr-x. 2 root root 6 Nov 5 2016 opt
dr-xr-xr-x. 107 root root 0 Mar 11 19:10 proc
dr-xr-x---. 4 root root 179 Jan 25 23:13 root
drwxr-xr-x. 22 root root 660 Mar 11 19:11 run
lrwxrwxrwx. 1 root root 8 Dec 23 22:03 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
dr-xr-xr-x. 13 root root 0 Mar 11 19:10 sys
drwxrwxrwt. 9 root root 253 Mar 11 19:11 tmp
drwxr-xr-x. 13 root root 155 Dec 23 22:03 usr
drwxr-xr-x. 19 root root 267 Mar 11 19:10 var
按时间列出文件和文件夹详细信息
[root@localhost /]# ls -lt
total 20
drwxrwxrwt. 9 root root 253 Mar 11 19:11 tmp
drwxr-xr-x. 22 root root 660 Mar 11 19:11 run
drwxr-xr-x. 79 root root 8192 Mar 11 19:10 etc
drwxr-xr-x. 20 root root 3220 Mar 11 19:10 dev
dr-xr-xr-x. 13 root root 0 Mar 11 19:10 sys
drwxr-xr-x. 19 root root 267 Mar 11 19:10 var
dr-xr-xr-x. 107 root root 0 Mar 11 19:10 proc
drwxr-xr-x. 10 root root 140 Mar 11 06:28 home
dr-xr-x---. 4 root root 179 Jan 25 23:13 root
-rw-r--r--. 1 root root 67 Dec 31 20:03 host
dr-xr-xr-x. 4 root root 4096 Dec 23 22:08 boot
drwxr-xr-x. 13 root root 155 Dec 23 22:03 usr
lrwxrwxrwx. 1 root root 7 Dec 23 22:03 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Dec 23 22:03 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 8 Dec 23 22:03 sbin -> usr/sbin
lrwxrwxrwx. 1 root root 7 Dec 23 22:03 bin -> usr/bin
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 2 root root 6 Nov 5 2016 mnt
drwxr-xr-x. 2 root root 6 Nov 5 2016 opt
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
cd命令用来切换工作目录至dirname,其中dirName表示法可为绝对路径或相对路径。
语法
cd (选项) (参数)
选项
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
实例
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
pwd命令以绝对路径的方式显示用户当前工作目录。
语法
pwd(选项)
选项
--help:显示帮助信息;
--version:显示版本信息。
实例
[root@localhost test]# pwd
/tmp/test
mkdir命令用来创建目录。
语法
mkdir (选项)(参数)
选项
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
--version 显示版本信息。
参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。
实例
创建多级目录
[root@localhost tmp]# mkdir -p test/test1/test2
[root@localhost tmp]# tree test
test
└── test1
└── test2
2 directories, 0 files
创建权限为711的目录
[root@localhost tmp]# ls -l | grep test4
drwx--x--x. 2 root root 40 3月 26 10:44 test4
rmdir命令用来删除空目录
语法
rmdir(选项)(参数)
选项
-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
--help:显示命令的帮助信息;
--version:显示命令的版本信息。
参数
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔
实例
rmdir -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除。
[root@localhost tmp]# rmdir -p test/test1/test2
[root@localhost tmp]# ll
总用量 4
drwxr-xr-x. 3 root root 4096 3月 21 15:20 mydata7
drwx------. 3 root root 60 3月 26 10:34 systemd-private-21f404b7890b4f50aa66892aea2623b9-vmtoolsd.service-T2KgWt
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法
cp(选项)(参数)
选项
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数
实例
递归复制,把文件夹下所有的文件复制到目标目录
[root@localhost ~]# cp -r /etc/yum.repos.d/ /tmp/test
[root@localhost ~]# tree /tmp/test
/tmp/test
├── CentOS-Base.repo
├── CentOS-CR.repo
├── CentOS-Debuginfo.repo
├── CentOS-fasttrack.repo
├── CentOS-Media.repo
├── CentOS-Sources.repo
├── CentOS-Vault.repo
└── epel.repo
-复制文件夹下所有文件,包括隐藏文件
[root@localhost yum.repos.d]# cp -r /etc/skel/. /tmp/test
[root@localhost yum.repos.d]# ll -a /tmp/test
总用量 44
drwxr-xr-x. 3 root root 280 3月 26 11:00 .
drwxrwxrwt. 10 root root 200 3月 26 10:50 ..
-rw-r--r--. 1 root root 18 3月 26 11:00 .bash_logout
-rw-r--r--. 1 root root 193 3月 26 11:00 .bash_profile
-rw-r--r--. 1 root root 231 3月 26 11:00 .bashrc
-rw-r--r--. 1 root root 1664 3月 26 10:50 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 3月 26 10:50 CentOS-CR.repo
-rw-r--r--. 1 root root 649 3月 26 10:50 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 3月 26 10:50 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 3月 26 10:50 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 3月 26 10:50 CentOS-Sources.repo
-rw-r--r--. 1 root root 2893 3月 26 10:50 CentOS-Vault.repo
-rw-r--r--. 1 root root 1084 3月 26 10:50 epel.repo
取消覆盖确认,默认覆盖需要确认
[root@localhost ~]# alias
alias cp='cp -i'
[root@localhost ~]# \cp -r /etc/yum.repos.d/* /tmp/test
mv命令用来
语法
mv(选项)(参数)
选项
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
参数
实例
复制整个目录到目标目录下
[root@localhost ~]# mv /tmp/test /tmp/test2
复制目录下所有文件到目标目录下
[root@localhost tmp]# mv /tmp/test/* /tmp/test2
修改目录名称
[root@localhost tmp]# mv /tmp/test2 /tmp/test1
修改文件名称
[root@localhost test1]# mv CentOS-Base.repo CentOS-Base.repo.bak
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
语法
rm (选项)(参数
选项
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
参数
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
实例
rm -i 目录名 删除时,会提示是否删除
rm -rf 目录名 强制删除目录及子目录的所有文件