3-创建和销毁
文章目录
将文件改为当前时间
touch
命令的主要作用是更新文件的 访问和修改时间 (需要拥有文件的写入权限),如果指向修改文件的访问时间,可以使用 -a
选项;如果只想更新文件的修改时间,可以使用 -m
选项。如下:
Notice : ls
命令显示的时间是文件的修改时间,而 touch -a
更新的是文件的访问时间,所以上面例子中的文件a.c的时间没有变化。
将文件改为任意所需的时间
touch
命令可以将文件的时间修改为任意的时间,只需要加上 -t
选项,如下:
创建空文件
尝试将 touch
命令用于不存在的文件,将会使用指定的名称生成一个空文件,如下:
新建目录
使用 mkdir
命令可以新建一个目录(使用 -v
选项还将显示创建过程),如果创建目录时,该目录已存在,将创建失败。如下:
可以看到,我的bash创建的目录默认给的权限是755。
创建新目录以及必要的子目录
如果要创建多层嵌套的子目录,可以使用 mkdir
的 -p
选项,如下:
可以看到,如果嵌套的根目录不存在时,不使用 -p
选项是无法创建嵌套目录的。而嵌套的根目录存在时,又可以不使用该选项创建其子目录。
复制文件
cp
命令就是用来复制文件和目录的,格式为: cp 源 目的
,其中源可以是其他工作目录的文件或者目录,目的可以不给定名称,而只给定目的目录(这样目的的名称就是源的名称了)。一个例子如下:
使用通配符复制文件
cp
命令支持使用通配符一次性将多个文件复制过去,同时可以附加选项 -v
可以显示复制的过程,如下:
防止在复制时覆盖重要文件
如果我们复制同样的文件两次,第二次会覆盖第一次的文件,bash不会有任何提示,为了防止这种没有提示的覆盖,我们可以使用 cp
命令的 -i
选项,会在覆盖之前得到确认提示,如下:
复制目录
前面的 cp 源 目的
命令可以复制文件,但是复制目录时将会提示略过,此时我们可以加上 -r
选项(递归复制目录及其内容)来完成目录的复制,如下:
为建立完善副本而将文件复制到另一个目录
使用 cp
命令的 -a
选项可以确保不会复制软链接的内容(将会极大的增加复制量),而只保存关键的文件属性(如所有者、时间戳),并递归的处理子目录,一个例子如下:
移动文件和文件夹
移动文件和文件夹使用 mv
命令,该命令和 cp
命令类似,也有类似的选项,例如使用 -i
可以在移动时给出覆盖提示, -v
选项可以给出移动的过程。如下:
重命名文件和文件夹
mv
命令处理移动文件和文件夹的功能外,还可以重命名文件和文件夹,如下:
创建指向另一个文件或者目录的链接
Linux存在两种链接: 硬链接和软链接 。使用 ln
命令默认创建硬链接,加上 -s
选项则可以创建软链接。硬链接的原理是:硬链接和源文件有着相同的索引节点,所以通过这个相同的索引节点可以定位到相同的文件。软链接的原理是:软链接有着自己的索引节点,而该节点指向源文件的索引节点,从而定位到源文件。此外,硬链接只能链接文件,不能连接文件夹。下面是一个实例:
可以看到,我是先创建了一个软链接,在创建了这个软链接的硬链接。它们有着相同的索引节点号。
删除文件
删除文件使用 rm
命令,但是Linux没有回收站这个机制,所以删除文件时需要格外小心,更加稳妥的办法是使用 -i
选项,可以在删除文件之间给出确认提示。此外该命令可以使用通配符一次性删除多个文件。以下是一个实例:
删除空目录
仅使用 rm
命令不可以删除目录文件,想删除一个目录得使用 rmdir
命令(仅能删除空的目录),如下:
删除文件和非空的目录
如果一个目录非空,则我们不能再使用 rmdir
命令来删除它了,所以我们得强制删除它和它的子目录、子文件。此外, 一定要避免使用 rm -rf .*/*
来删除带点的目录,因为这会匹配..目录,也会把父目录给删了 。一个例子如下:
文章作者 P1n93r
上次更新 2019-11-16