Linux 处理目录
处理目录的常用命令
- ls(英文全拼:list files): 列出目录及文件名
- cd(英文全拼:change directory):切换目录
- pwd(英文全拼:print work directory):显示目前的目录
- mkdir(英文全拼:make directory):创建一个新的目录
- rmdir(英文全拼:remove directory):删除一个空的目录
- cp(英文全拼:copy file): 复制文件或目录
- rm(英文全拼:remove): 删除文件或目录
- mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
ls (列出目录)
ls [-aAdfFhilnrRSt] 目录名称 ls [--color={never,auto,always}] 目录名称 ls [--full-time] 目录名称
选项与参数:
- -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
- -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
ls -al /opt
cd (切换目录)
cd /opt #使用 mkdir 命令创建 runoob 目录 mkdir runoob #使用绝对路径切换到 runoob 目录 cd /opt/runoob/ #使用相对路径切换到 runoob 目录 cd ./runoob/ # 表示回到自己的家目录,亦即是 /root 这个目录 cd ~ # 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思; cd ..
pwd (显示目前所在的目录)
pwd [-P]
选项与参数:
- -p :显示出确实的路径,而非使用链接 (link) 路径。
[root@nna opt]# cd /bin [root@nna bin]# pwd /bin [root@nna bin]# pwd -P /usr/bin [root@nna bin]# ls -ld /bin lrwxrwxrwx. 1 root root 7 8月 9 11:21 /bin -> usr/bin
mkdir (创建新目录)
mkdir [-mp] 目录名称
选项与参数:
- -m :配置文件的权限喔
- -p :将所需要的目录(包含上一级目录)递归创建起来!
实例:创建数个新目录:
[root@nna bin]# cd /opt [root@nna opt]# mkdir test [root@nna opt]# mkdir test1/test2/test3/test4 mkdir: 无法创建目录"test1/test2/test3/test4": 不是目录 [root@nna opt]# mkdir -p test1/test2/test3/test4
实例:创建权限为 rwx--x--x 的目录。
[root@nna opt]# mkdir -m 711 test2 [root@nna opt]# ls -dl test2 drwx--x--x. 2 root root 6 1月 6 16:38 test2
rmdir (删除空的目录)
rmdir [-p] 目录名称
选项与参数:
- -p :从该目录起,一次删除多级空目录
[root@nna opt]# ls -dl test* drwxr-xr-x. 3 root root 19 1月 6 16:36 test drwxr-xr-x. 3 root root 19 1月 6 16:37 test1 drwx--x--x. 2 root root 6 1月 6 16:38 test2 [root@nna opt]# rmdir test2 [root@nna opt]# ls -dl test* drwxr-xr-x. 3 root root 19 1月 6 16:36 test drwxr-xr-x. 3 root root 19 1月 6 16:37 test1 [root@nna opt]# rmdir test1 rmdir: 删除 "test1" 失败: 目录非空 [root@nna opt]# rmdir -p test1/test2/test3/test4 [root@nna opt]# ls -dl test* drwxr-xr-x. 3 root root 19 1月 6 16:36 test [root@nna opt]# rmdir -p test/test2/test3/test4 [root@nna opt]# ls -dl test* ls: 无法访问test*: 没有那个文件或目录
rmdir 仅能删除空的目录,可以使用 rm 命令来删除非空目录。
cp (复制文件或目录)
cp [-adfilprsu] 来源档(source) 目标档(destination)
选项与参数:
-
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-
-d:若来源档为链接档的属性(link file),则复制链接档属性而非文件本身;
-
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-
-l:进行硬式链接(hard link)的链接档创建,而非复制文件本身;
-
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-
-r:递归持续复制,用於目录的复制行为;(常用)
-
-s:复制成为符号链接档 (symbolic link),亦即『捷径』文件;
-
-u:若 destination 比 source 旧才升级 destination !
[root@www ~]# cp ~/.bashrc /tmp/bashrc [root@www ~]# cp -i ~/.bashrc /tmp/bashrc cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为覆盖
rm (移除文件或目录)
rm [-fir] 文件或目录
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
[root@www tmp]# rm -i bashrc rm: remove regular file `bashrc'? y
mv (移动文件与目录,或修改名称)
mv [-fiu] source destination
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
[root@www ~]# cd /tmp [root@www tmp]# cp ~/.bashrc bashrc [root@www tmp]# mkdir mvtest [root@www tmp]# mv bashrc mvtest [root@www tmp]# mv mvtest mvtest2
参考:https://www.runoob.com/linux/linux-file-content-manage.html