前言:Linux的目录结构为树状结构,根目录为/,其他目录可以通过挂载添加到树种,也可以通过解除挂载从树中移除。
处理目录的常用命令
ls : 列出目录
cd :切换目录
pwd :显示当前的目录
mkdir : 创建一个目录
rmdir : 删除一个目录
cp : 复制文件或者目录
rm : 移除文件或者目录
ls(列出目录)
[root@www ~]# ls [-aAdfFhilnrRSt] 目录名称 [root@www ~]# ls [--color={never,auto,always}] 目录名称 [root@www ~]# ls [--full-time] 目录名称
ls的选项和参数:
-a:列出目录中的全部文件(包括隐藏文件,以.开头的文件)
-d:仅列出目录本身,而不列出文件数据
-l:列出文件的详细信息,包括属性和权限等等
cd(切换目录)
cd /usr/local 使用绝对路径进行切换
cd /usr 切换到usr目录 cd ./local 切换到当前下的local目录。 这里使用的是相对路径。这两句的结果等于前面的cd /usr/local
cd ~ 返回到/root目录
cd ../ 返回上一层目录
pwd(显示当前目录)
pwd [-P] -P表示显示确切的路径,而非链接(link)路径
mkdir(创建目录)
mkdir [-mp] 目录名
mkdir的参数和选项:
-m 配置文件的权限,直接配置不受默认权限(umask)的影响.
-p 递归创建创建目录
由于可能不好理解,我们来写几个例子吧
例1(用于理解-m):
mkdir -m 777 example1
drwxrwxrwx 3 root root 4096 Jul 18 12:50 example1
例2: mkdir -m 711 example2
drwxr-xr-x 3 root root 4096 Jul 18 12:50 example2
让我们一起详解一下-p这个选项吧!
mkdir example 这时我们创建了一个目录 此目录下没有任何的文件或者目录
这时我们再使用命令 mkdir ./a/b/c 此时linux便会告诉我们
No such file or directory
这句话的意思很明了了,就是说你要创建的c目录之前的a和b目录不存在。
因此,我们可以使用 mkdir -p ./a/b/c 这时我们就可以正确的创建目录了
注:如果我们再使用mkdir命令时,没有指定-m参数,那系统将会使用默认的权限[drwx--x--x ]
rmdir(删除空的文件夹)
rmdir -p 目录名
如果不使用-p 只能删除一层目录,而想递归删除上一级目录就加上-p,同上
注:这里的 rmdir只能删除空目录,如果想要删除非空目录,可以使用rm命令
cp (复制文件或目录)
cp 即拷贝文件和目录。
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination) [root@www ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
-
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-
-r:递归持续复制,用於目录的复制行为;(常用)
-
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-
-u:若 destination 比 source 旧才升级 destination !