欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux学习笔记——文件与目录管理

程序员文章站 2022-06-19 16:47:01
...

文件与目录管理

常见目录处理指令

cd :移动到指定目录下
pwd :显示目前所在的目录
mkdir :创建一个新的目录
rmdir :删除一个空的目录
ls :显示当前目录下所有的目录和文件
rm :删除文件或目录
mv :移动文件与目录,或更名

cd [相对路径或绝对路径]
# 最重要的就是目录的绝对路径与相对路径,还有一些特殊目录的符号啰!
cd ~dmtsai
# 代表去到 dmtsai 这个使用者的主文件夹,亦即 /home/dmtsai
cd ~
# 表示回到自己的主文件夹
cd
# 没有加上任何路径,也还是代表回到自己主文件夹的意思
cd ..
# 表示去到目前的上层目录
cd -
# 表示回到刚刚的那个目录
cd /var/spool/mail
# 绝对路径,直接指定要去的完整路径名称!
cd ../postfix
# 这个是相对路径,由/var/spool/mail 去到/var/spool/postfix 

pwd 指令

pwd [-P]
-P :显示出确实的路径,而非使用链接 (link) 路径。

mkdir 指令

mkdir [-mp] 目录名称
选项与参数:
-m :设置文件的权限喔!直接设置,不需要看默认权限的脸色
-p :帮助你直接将所需要的目录(包含上层目录)递回创建起来!

rmdir 指令

rmdir [-p] 目录名称
选项与参数:
-p :连同“上层”“空的”目录也一起删除

ls 指令

ls [-a] 文件名或目录名称..
选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-A :全部的文件,连同隐藏文件,但不包括 ... 这两个目录
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-f :直接列出结果,而不进行排序 (ls 默认会以文件名排序!)
-h :将文件大小以人类较易读的方式(例如 GB, KB 等等)列出来;
-l :长数据串行出,包含文件的属性与权限等等数据;(常用)
-R :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;

rm 指令

rm [-fir] 文件或目录
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告讯息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!

范例一:将在 cp 的范例中创建的 bashrc 删除掉!
cd /tmp
rm -i bashrc
rm: remove regular file `bashrc'? y
# 如果加上 -i 的选项就会主动询问喔,避免你删除到错误的文件名!

范例二:通过万用字符*的帮忙,将/tmp下面开头为bashrc的文件名通通删除:
rm -i bashrc*
# 注意那个星号,代表的是 0 到无穷多个任意字符喔!很好用的东西!

范例三:将 cp 范例中所创建的 /tmp/etc/ 这个目录删除掉!
rmdir /tmp/etc
rmdir: failed to remove '/tmp/etc': Directory not empty <== 删不掉啊!因为这不是空的目录!
[[email protected] tmp]# rm -r /tmp/etc
rm: descend into directory `/tmp/etc'? y
rm: remove regular file `/tmp/etc/fstab'? y
rm: remove regular empty file `/tmp/etc/crypttab'? ^C <== 按下 [crtl]+c 中断
.....(中间省略).....
# 因为身份是 root ,默认已经加入了 -i 的选项,所以你要一直按 y 才会删除!
# 如果不想要继续按 y ,可以按下“ [ctrl]-c ”来结束 rm 的工作。
# 这是一种保护的动作,如果确定要删除掉此目录而不要询问,可以这样做:
\rm -r /tmp/etc
# 在指令前加上反斜线,可以忽略掉 alias 的指定选项喔!
# 拜托!这个范例很可怕!你不要删错了!删除 /etc 系统是会挂掉的!

mv 指令

选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新 (update)

范例一:复制一文件,创建一目录,将文件移动到目录中
cd /tmp
cp ~/.bashrc bashrc
mkdir mvtest
mv bashrc mvtest
# 将某个文件移动到某个目录去,就是这样做!

范例二:将刚刚的目录名称更名为 mvtest2
mv mvtest mvtest2 <== 这样就更名了!简单~
# 其实在 Linux 下面还有个有趣的指令,名称为 rename ,
# 该指令专职进行多个文件名的同时更名,并非针对单一文件名变更,与mv不同。请man rename。

范例三:再创建两个文件,再全部移动到 /tmp/mvtest2 当中
cp ~/.bashrc bashrc1
cp ~/.bashrc bashrc2
mv bashrc1 bashrc2 mvtest2
# 注意到这边,如果有多个来源文件或目录,则最后一个目标文件一定是“目录!”
# 意思是说,将所有的数据移动到该目录的意思!
相关标签: Linux