Linux目录文件管理
一、建立目录和文件
1、建立目录 :mkdir命令
mkdir命令可以一次建立一个或多个目录。也可以一次建立一个连续的目录。
- mkdir — Make Directory
- 格式:mkdir [选项 ] /路径/目录名…
-
常用选项
-p 连同父目录一起创建[root@nsd ~]# mkdir -p /vod/movie/cartoon #连同父目录一并创建 [root@nsd ~]# ls -R /vod #递归显示目录内容 [root@nsd ~]# mkdir -p /opt/aa/bb/cc/dd #连同父目录一并创建 [root@nsd ~]# ls -R /opt/aa #递归显示目录内容 [root@nsd ~]# mkdir /aaa [root@nsd ~]# ls /aaa/
-
2、建立一个空文件:touch
touch 这个命令非常简单,就是在touch命令后面加上要创建的文档名字就可以了。
-
touch
-
格式: touch /路径/新建文件名
[root@nsd ~]# touch /aaa/1.txt //在目录aaa下建立以.txt结尾名为1的文件。 [root@nsd ~]# ls /aaa/
二、移动、复制、删除
1、移动和重命名:mv命令
mv命令类似于Windows系统中右键剪切的操作。
-
mv — move
-
格式:mv 选项 目录或文件路径
[root@nsd ~]# mkdir /opt/aaa/ [root@nsd ~]# touch /opt/1.txt [root@nsd ~]# ls /opt/ [root@nsd ~]# mv /opt/1.txt /opt/aaa/ [root@nsd ~]# ls /opt/ [root@nsd ~]# ls /opt/aaa/
-
重命名:路径不变的移动
[root@nsd ~]# ls /opt/ [root@nsd ~]# mv /opt/aaa /opt/bbb [root@nsd ~]# ls /opt/
-
在移动过程中有同名文件
有一个比较好用的选项 -b[root@hello ~]# touch /opt/1.txt [root@hello ~]# ls /opt/ 1.txt bbb [root@hello ~]# mv /opt/1.txt /opt/bbb/1.txt mv:是否覆盖"/opt/bbb/1.txt"? y
如果在 /opt/bbb/1.txt 文件中有一些内容,但刚刚建立的/opt/1.txt 文件中没有内容,这个操作就会将 /opt/bbb/1.txt覆盖掉。可能会造成一定程度的不方便。
[root@hello ~]# echo 大家好 > /opt/bbb/1.txt //在/opt/bbb/1.txt中书写‘大家好’
[root@hello ~]# cat /opt/bbb/1.txt
大家好
[root@hello ~]# mv -b /opt/1.txt /opt/bbb/1.txt //加上-b选项后再次移动覆盖
mv:是否覆盖"/opt/bbb/1.txt"? y
[root@hello ~]# ls /opt/bbb/ //此时会在原先/opt/bbb/下的 1.txt后加上~
1.txt 1.txt~
[root@hello ~]# cat /opt/bbb/1.txt
[root@hello ~]# cat /opt/bbb/1.txt~ //查看/opt/bbb/1.txt~ 发现 内容就是原/opt/bbb/1.txt的内容
大家好
2、复制:cp命令
Windows 中复制后,还需要栽目标文件夹中点击粘贴。cp命令可以将复制粘贴同时完成。
-
cp — Copy
-
格式:cp [选项]… 原文件… 目标路径
-
常用命令选项
-r:递归,复制目录时必须有此选项
-b:对同名文件改名后复制,与mv的 -b选项功能相同[root@nsd ~]# cp /etc/passwd /opt/ [root@nsd ~]# ls /opt/ [root@nsd ~]# cp /etc/shadow /opt/ [root@nsd ~]# ls /opt/ [root@nsd ~]# cp /etc/group /opt/ [root@nsd ~]# ls /opt/ [root@nsd ~]# cp -r /boot/ /opt/ [root@nsd ~]# ls /opt/ [root@nsd ~]# ls /opt/boot/ [root@nsd ~]# cp -r /home /opt/ [root@nsd ~]# ls /opt/ [root@nsd ~]# ls /opt/home
-
复制时出现同名的数据,强制覆盖
[root@nsd ~]# cp -r /boot/ /opt/ 由于在上面的操作中已经执行过这条命令,所以重复执行,系统会提示是否覆盖。 可是有时候文件太多。所以有了 -f (force 强制)这个参数。 按 Ctrl + c 结束 [root@nsd ~]# \cp -rf /boot/ /opt/ #临时在本次操作取消别名 [root@B ~]# alias cp #查看别名的命令 alias cp='cp -i'
由于在系统中 已经为cp命令建立了一个别名 -i 这个选项的意思是交互,就是相当于在覆盖的时候给操作者一个提醒。
\cp -rf /boot/ /opt/ ##cp命令 前面的这个\ 反斜杠 就是临时取消别名的意思 在这里取消 -i 的提醒效果
-
复制可以支持多个参数,永远会把最后一个参数作为目标路径,其他的所有参数都会作为源数据
[root@nsd ~]# mkdir /linux2020 [root@nsd ~]# cp -r /etc/passwd /etc/fstab /etc/shadow /etc/group /etc/shells /boot/ /home/ /linux2020 [root@nsd ~]# ls /linux2020
-
复制可以与 “.” 点进行连用,将数据复制到当前目录下
[root@nsd ~]# cd /opt/ [root@nsd opt]# cp /etc/redhat-release . [root@nsd opt]# ls [root@nsd /]# cd /etc/sysconfig/network-scripts/ [root@nsd network-scripts]# cp /etc/passwd . [root@nsd network-scripts]# ls
-
复制可以重新命名,目标路径的数据名称
[root@nsd /]# cp /etc/redhat-release /opt/red.txt [root@nsd /]# ls /opt/ [root@nsd /]# cp -r /boot/ /opt/hehe [root@nsd /]# ls /opt/ [root@nsd /]# ls /opt/hehe/ [root@nsd /]# cp /etc/fstab /opt/f.txt [root@nsd /]# ls /opt/ [root@nsd /]# cp /etc/passwd /opt/p.txt [root@nsd /]# ls /opt/
3、删除命令:rm命令 和 删除目录:rmdir命令
-
rm命令
rm命令一次可以删除一个或多个文件,而且在Linux系统中不会讲删除的文件放到类似于Windows的回收站中。 -
rm — Remove
格式:rm [选项]… 文件或目录… -
常用命令选项
-r:递归删除目录下所有的文件和子目录。
-f:强制删除[root@nsd ~]# ls /opt [root@nsd ~]# rm -rf /opt/bbb #执行这个命令不回给用户任何提醒,所有谨慎使用。 [root@nsd ~]# ls /opt
-
rmdir命令
rmdir命令用来删除目录。但是只能用来删除空目录。[root@B ~]# mkdir /opt/abc [root@B ~]# ls /opt abc bbb home passwd shadow [root@B ~]# rmdir /opt/abc/ [root@B ~]# rmdir /opt/bbb/ rmdir: 删除 "/opt/bbb/" 失败: 目录非空