在Linux系统中一切皆为文件,文件是一个文件,目录其实也是一个文件,
那我应该通过哪些命令来实现 创建/复制/移动/删除 呢?
- 创建文件touch
- 创建目录mkdir
- 移动/剪切mv
- 复制;cp
- 删除:rm
创建文件: touch
touch:创建一个空白的文件,如果不加路径 就是在当前文件下
通过一些操作可以实现一次创建多个文件,比如:
# touch /home/od/ file4 file5
# touch file{1..10}
# touch file{a,b,c} # {}集合,等价 touch a b c
无太多规则,一般使用touch命令 + /路径+file名称
我们可以通过 { . . } { , } 来实现重复性大的文件管理工作。
创建目录:mkdir
例2:
[root@oldboy ~]# mkdir -pv /home/{od/{diu,but},boy}
-p:递归创建即使linux系统你没有对应的目录也能帮你一步到位
-v:显示详细过程
当我们完成创建以后可以通 tree 命令查看目录结构,检查自己是否创建成功
或者通ls过查看当前目录的详细信息检查,目录是蓝色显示的
tree 将目录以树状结构显示,如果没有该命令:
yum install tree -y
移动文件: mv
使用 命令 + 参数 + [目标目录]/改名操作
可以实现移动文件并且改名的操作
例子1:
[root@oldboy ~]# mv file /tmp/ #移动file文件至/tmp目录
[root@oldboy ~]# mv file /tmp/file_mmm #移动file文件至/tmp目录下并修改文件名称
[root@oldboy ~]# mv filea fileb filec /tmp/test #移动多个文件至一个目录下
[root@oldboy ~]# mv file1 oldxu #给文件进行修改名称
[root@oldboy ~]# mv data/ /tmp/test/ mv可以直接移动目录,无需任何参数
拷贝文件:cp
直接使用cp无法拷贝目录,需要添加-r递归操作参数,才可以
[root@oldboy ~]# cp file /tmp/ 将当前目录下的file文件拷贝至/tmp/目录下
[root@oldboy ~]# cp file /tmp/test.txt 将当前目录下的file文件拷贝至/tmp/目录下,并改名
重复拷贝一个文件,至/tmp/目录会提示是否覆盖
# 如果输入 y 则确定覆盖(如果直接回车,则无反应)
拷贝多个文件时 cp 的最后一个目录就是目标,中间的都是要拷贝的源文件,也可以是目录。
以此实现多个文件的复杂复制
删除文件或目录:rm
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
默认rm存在alias别名,‘ rm -i ’ 所以会提醒是否删除文件
删除目录,可以使用 -r 递归删除,但是会提示。
删除文件时,加参数 -f 不要提示,直接就删除。
rm -rf 组合使用,可以将当前路径下得所有东西,破坏性强不建议使用。
推荐使用 # rm -f file (删文件) # 表示通配符,表示所有的意思
和 # rm -f ./file #确保删除当前目录下的文件 ./*(代表当前目录下得所有文件)
扩展:取消提示 : /bin/cp ….
\cp……..
# rm rf /tmp/* #删除为目录下所有内容,保留tmp目录
# rm rf /tmp/ #连目录本身一起删除