处理⽬录的常⽤命令---Linux 处理⽬录的常⽤命令
接下来我们就来看⼏个常见的处理⽬录的命令吧:
ls: 列出⽬录
cd:切换⽬录
pwd:显⽰⽬前的⽬录
mkdir:创建⼀个新的⽬录
rmdir:删除⼀个空的⽬录
cp: 复制⽂件或⽬录财务会计和管理会计
rm: 移除⽂件或⽬录
mv: 移动⽂件与⽬录,或修改⽂件与⽬录的名称
你可以使⽤ man [命令] 来查看各个命令的使⽤⽂档,如 :man cp。
ls (列出⽬录)
在Linux系统当中, ls 命令可能是最常被运⾏的。
语法:
[root@www ~]# ls [-aAdfFhilnrRSt] ⽬录名称
选项与参数:
-a :全部的⽂件,连同隐藏⽂件( 开头为 . 的⽂件) ⼀起列出来(常⽤)
-l :长数据串列出,包含⽂件的属性与权限等等数据;(常⽤)
将⽬录下的所有⽂件列出来(含属性与隐藏档)
[root@www ~]# ls -al
cd (切换⽬录)
cd是Change Directory的缩写,这是⽤来变换⼯作⽬录的命令。
语法:
cd[相对路径或绝对路径]
测试:
# 使⽤ mkdir 命令创建 kuangstudy ⽬录
[root@kuangshen home]# mkdir kuangstudy
# 进⼊ kuangstudy ⽬录
[root@kuangshen home]# cd kuangstudy
# 回到上⼀级
[root@kuangshen kuangstudy]# cd ..
# 回到根⽬录
[root@kuangshen kuangstudy]# cd /
# 表⽰回到⾃⼰的家⽬录,亦即是 /root 这个⽬录
[root@kuangshen kuangstudy]# cd ~
接下来⼤家多操作⼏次应该就可以很好的理解 cd 命令的。
pwd ( 显⽰⽬前所在的⽬录 )
pwd 是 Print Working Directory 的缩写,也就是显⽰⽬前所在⽬录的命令。[root@kuangshen kuangstudy]#pwd [-P]
选项与参数:-P :显⽰出确实的路径,⽽⾮使⽤连接(link) 路径。
测试:
# 单纯显⽰出⽬前的⼯作⽬录
[root@kuangshen ~]# pwd
/root
# 如果是链接,要显⽰真实地址,可以使⽤ -P参数
[root@kuangshen /]# cd bin
[root@kuangshen bin]# pwd -P
/usr/bin
mkdir (创建新⽬录)
如果想要创建新的⽬录的话,那么就使⽤mkdir (make directory)吧。
珏mkdir[-mp]⽬录名称
选项与参数:
-m :配置⽂件的权限喔!直接配置,不需要看默认权限 (umask) 的脸⾊~-p :帮助你直接将所需要的⽬录(包含上⼀级⽬录)递归创建起来!
测试:
张根硕最新电视剧# 创建⼀个 test ⽂件夹
[root@kuangshen home]# mkdir test
# 创建多层级⽬录
[root@kuangshen home]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’:
No such file or directory  # <== 没办法直接创建此⽬录啊!
# 加了这个 -p 的选项,可以⾃⾏帮你创建多层⽬录!
[root@kuangshen home]# mkdir -p test1/test2/test3/test4
# 创建权限为 rwx--x--x 的⽬录。
[root@kuangshen home]# mkdir -m 711 test2
[root@kuangshen home]# ls -l
drwxr-xr-x 2 root root  4096 Mar 12 21:55 test
drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1
drwx--x--x 2 root root  4096 Mar 12 21:58 test2
rmdir ( 删除空的⽬录 )
语法:
rmdir[-p]⽬录名称
选项与参数:**-p :**连同上⼀级『空的』⽬录也⼀起删除
测试:
# 看看有多少⽬录存在?
[root@kuangshen home]# ls -l
drwxr-xr-x 2 root root  4096 Mar 12 21:55 test
drwxr-xr-x 3 root root  4096 Mar 12 21:56 test1
drwx--x--x 2 root root  4096 Mar 12 21:58 test2
# 可直接删除掉,没问题
[root@kuangshen home]# rmdir test
# 因为尚有内容,所以⽆法删除!
[root@kuangshen home]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty
# 利⽤ -p 这个选项,⽴刻就可以将 test1/test2/test3/test4 依次删除。
[root@kuangshen home]# rmdir -p test1/test2/test3/test4
注意:这个 rmdir 仅能删除空的⽬录,你可以使⽤ rm 命令来删除⾮空⽬录,后⾯我们会将!cp ( 复制⽂件或⽬录 )
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) ⽬标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
**-a:**相当於 -pdr 的意思,⾄於 pdr 请参考下列说明;(常⽤)
**-p:**连同⽂件的属性⼀起复制过去,⽽⾮使⽤默认属性(备份常⽤);
**-d:**若来源档为连结档的属性(link file),则复制连结档属性⽽⾮⽂件本⾝;
**-r:**递归持续复制,⽤於⽬录的复制⾏为;(常⽤)
**-f:**为强制(force)的意思,若⽬标⽂件已经存在且⽆法开启,则移除后再尝试⼀次;
**-i:**若⽬标档(destination)已经存在时,在覆盖时会先询问动作的进⾏(常⽤)
**-l:**进⾏硬式连结(hard link)的连结档创建,⽽⾮复制⽂件本⾝。
**-s:**复制成为符号连结档 (symbolic link),亦即『捷径』⽂件;
**-u:**若 destination ⽐ source 旧才升级 destination !
测试:
# ⼀个有⽂件的⽬录,我这⾥到 root⽬录
[root@kuangshen home]# cd /root
[root@kuangshen ~]# ls
install.sh
[root@kuangshen ~]# cd /home
# 复制 root⽬录下的install.sh 到 home⽬录下
[root@kuangshen home]# cp /root/install.sh /home
[root@kuangshen home]# ls
install.sh
# 再次复制,加上-i参数,增加覆盖询问?
[root@kuangshen home]# cp -i /root/install.sh /home
cp: overwrite ‘/home/install.sh’? y # n不覆盖,y为覆盖
rm ( 移除⽂件或⽬录 )
语法:
rm[-fir]⽂件或⽬录
选项与参数:
-f :就是 force 的意思,忽略不存在的⽂件,不会出现警告信息;
-i :互动模式,在删除前会询问使⽤者是否动作
-r :递归删除啊!最常⽤在⽬录的删除了!这是⾮常危险的选项
测试:
# 将刚刚在 cp 的实例中创建的 install.sh删除掉!
[root@kuangshen home]# rm -i install.sh
rm: remove regular file ‘install.sh’? y
# 如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!
# 尽量不要在服务器上使⽤ rm -rf /
mv ( 移动⽂件与⽬录,或修改名称 )
语法:
9月9日忆山东兄弟 古诗
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory
选项与参数:
-f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖;
-i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!
-u :若⽬标⽂件已经存在,且 source ⽐较新,才会升级 (update)
测试:
# 复制⼀个⽂件到当前⽬录
[root@kuangshen home]# cp /root/install.sh /home
# 创建⼀个⽂件夹 test
[root@kuangshen home]# mkdir test
# 将复制过来的⽂件移动到我们创建的⽬录,并查看
[root@kuangshen home]# mv install.sh test
[root@kuangshen home]# ls
test
[root@kuangshen home]# cd test赵文琪不文雅照片
[root@kuangshen test]# ls
install.sh
# 将⽂件夹重命名,然后再次查看!
[root@kuangshen test]# cd ..
[root@kuangshen home]# mv test mvtest
[root@kuangshen home]# ls
为什么电脑自动重启
mvtest