linux从青铜到王者-文件管理命令汇总

247 阅读4分钟

这是我参与更文挑战的第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 ,你在删除的时候会有提示。

敲黑板:

  1. 删除文件能用mv移走就移走,尽可能不要使用rm命令,尤其是rm -rf命令
  2. 如果非要用rm,不要使用rf 参数 ,可以使用rm,这样在删除的过程中会有提示
  3. 如果非要使用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里去执行增删改查一样熟练即可。