这是我参与更文挑战的第6天, 活动详情查看:更文挑战
前言
本文我们主要来聊聊文件管理,文件管理用的最多的就是增删改查,主要涉及到几个命令:
- 改变目录: cd
- 创建文件: touch
- 修改文件: vim/echo
- 创建文件夹: mkdir
- 移动文件: mv
- 复制文件: cp
- 删除文件: rm
绝对路径和相对路径
在说文件管理之前,我们先提一下绝对路径和相对路径:
绝对路径: 凡是以根开始的路径,都是绝对路径 相对路径: 凡是你当前路径开始的都是相对路径
这就像我从山东青岛做火车到北京一样, 假设我现在在潍坊玩,要来北京,我从潍坊直接坐车到了北京,这就是相对路径。如果我又折返回青岛(青岛是始发站相当于系统里的/),然后再从青岛坐火车到北京,这就是绝对路径。
举例: cd /etc/sysconfig/network 绝对路径
cd sysconfig/network相对路径
言归正传: 我们来看看文件管理, 大家有没有发现这个世界有个bug,你学操作系统也好,学数据库也好,学编程也好,都离不开增删改查。 文件的操作也一样需要增删改查
常用文件管理命令
1. 创建文件和文件夹
命令: touch
作用: 创建空文件,如果文件已存在,则修改文件创建的时间
问题来了: 我创建文件之后,插入数据,在创建同名文件会覆盖掉原来的数据吗?
- 会
- 不会
我们做个试验不就知道了,计算机行业最大的好处是有试验可以验证呢。靠猜或者算卦是没用的。
老夫掐指一算:
国破山河今犹在,只是朱颜改。 改了改时间而已,内容没变。
这里不得不提一下文件的三种时间: 我们使用一个命令可以查看 : stat
注释:
访问时间: atime 查看内容就是访问时间 ,比如用cat 查看
修改时间: mtime 修改内容的时间, 比如用vim来修改
改变时间: ctime, 主要是文件属性的修改,比如权限。
创建多个文件的技巧:
[root@zmgaosh test]# touch test1 test2
[root@zmgaosh test]# ls
gaosh test1 test2
[root@zmgaosh test]# touch test{3..8}
[root@zmgaosh test]# ls
gaosh test1 test2 test3 test4 test5 test6 test7 test8
[root@zmgaosh test]#
2. 创建目录命令: mkdir
命令: mkdir 作用:创建目录 举例:
[root@zmgaosh test]# mkdir zmedu
[root@zmgaosh test]# ls
gaosh test1 test2 test3 test4 test5 test6 test7 test8 zmedu
如果想一次创建多个目录,可以使用-p参数
[root@zmgaosh test]# mkdir -p dz/dz1/dz2
[root@zmgaosh test]# tree dz
dz
└── dz1
└── dz2
2 directories, 0 files
[root@zmgaosh test]#
问题: 能否创建一个同名目录?
答案是不能,我们来试试
提示文件已存在,在Linux下一切皆为文件。
3. 删除文件 rm
命令: rm 作用:删除文件或者目录 参数: -r 表示递归删除 -f 表示强制删除,没有提示
删掉了两个文件,而且没有任何提示。
如果不用 -f呢
[root@zmgaosh test]# rm test6
rm:是否删除普通空文件 "test6"?y
[root@zmgaosh test]#
看到没有,如果不用 -rf ,你在删除的时候会有提示。
敲黑板:
- 删除文件能用mv移走就移走,尽可能不要使用rm命令,尤其是rm -rf命令
- 如果非要用rm,不要使用rf 参数 ,可以使用rm,这样在删除的过程中会有提示
- 如果非要使用rf参数,不要使用通配符
什么是通配符?
在这里的test* ,就表示所有以*开头的文件。
为什么不要使用通配符:
因为如果你要删除一个文件, 你使用rm -rf / 他会提示你这个操作很危险,需要加上参数
[root@itlaoxin ~]# rm -rf / rm: 在"/" 进行递归操作十分危险 rm: 使用 --no-preserve-root 选项跳过安全模式 [root@itlaoxin ~]#
但是你如果使用通配符 rm -rf /* 可就真的把根下的内容都删除了
公司里怎么用?
一般我们在公司里都会写一个脚本,脚本的思路是:
当你使用rm命令的时候,脚本会自动提示你是否确认删除,确认2次后,脚本会自动使用MV把文件移动到/tmp目录下,当过了30天后,自动删除。
这样可以确保文件不会误删除文件
4. 复制和移动:cp和mv
另外: 在移动的时候可以改名字
[root@zmgaosh test]# ls
dz gaosh zmedu
[root@zmgaosh test]# mv gaosh gaosh.bak
[root@zmgaosh test]# ls
dz gaosh.bak zmedu
总结:
本文提到的都是一些基础命令,也是日常用的最多的命令,这些命令需要勤加练习,直到像在windwos里去执行增删改查一样熟练即可。