Linux 创建与删除(5)

相对于Windows下的右键新建文件与删除,我更喜爱Linux下的命令式创建与删除,真的方便。不过Windows下也可以借助工具来实现,比如git bash、cmder等等终端工具。

创建文件

新建文件使用touch命令,后直接跟文件名,比如创建一个名为 demo的 js文件:

touch demo.js

 

注意,如果当前目录下已经有了一个同名的文件,那么就会修改文件的末次修改日期。

查看文件信息

ls -l

有一个111.txt文件的信息:

-rw-r--r--   1 root root     0 Apr 19 16:04 111.txt

现在使用touch命令再来创建一次:

touch 111.txt

再看一下信息:

ls -l  

// -rw-r--r--   1 root root     0 Apr 22 14:57 111.txt

显然,时间已经变了~

 

创建目录

创建目录使用mkdir命令,后直接跟目录名。

结合cd 命令,创建多层级目录

mkdir a
cd a
mkdir b
cd b
mkdir c
cd c

这个层级很明了,查看当前所在位置:

pwd

//  /a/b/c

 

创建命令虽然简单,但是上面这种看起来很繁琐,层级多了还容易写错,所以这里主要介绍一个选项,可以更简便地创建多级目录:

-p : 可以递归创建目录

再来创建上面这样的目录,就可以这样写了:

mkdir -p a1/b1/c1

 

删除

删除命令是rm,可以删除文件也可以删除目录,需要注意的是:

使用rm删除的文件不可恢复

删除文件

删除一个普通的文件,直接rm+文件名,例如:

//删除test.txt文件
rm test.txt

此时会提示是否删除此文件:

rm: remove regular empty file ‘test.txt’?

在问号后面输入 y 就是确定删除,输入 n 就是取消删除。

 

删除目录

如果要删除一个目录文件,直接使用rm是不行的,例如:

//删除a目录
rm a

系统会提示:

rm: cannot remove ‘a’: Is a directory

 

此时,我们需要加一个选项,就是 -r,再来试下:

rm -r a

此时,会提示:

rm: descend into directory ‘a’?

输入 y确定:

rm: descend into directory ‘a/b’?

这是因为a目录下还有b目录,再次确定:

rm: remove directory ‘a/b/c’?

b目录下仍有c目录,之后一直确定:

rm: remove directory ‘a/b’?y

rm: remove directory ‘a’?

 

可以看到删除一个目录的过程比较麻烦,它会一层层进入到最深层的目录里,然后再从里往外一层层删除。不过虽然麻烦,但是却很合理,因为如果你不想删掉整个目录所有文件,这样的询问还是有必要的。现在,你可能会问,我就是想删掉整个目录,不想它一直提示怎么办?为此,Linux提供了另一个选项。

 

强制删除

使用选项 -f 可以实现强制删除,无需提示,即使文件不存在,也不会提示。

现在删除 a目录,可以:

rm -rf a

此时会一次性删除整个a目录,而不会再提示了。

 

在这之前,如果我们删除一个不存在的文件,会提示文件不存在:

//删除aaa.txt文件
rm: cannot remove ‘aaa.txt’: No such file or directory

如果加上-f,就不会提示了:

rm -f aaa.txt

 

最后想说,不管是touch、mkdir还是rm命令,它们都不止有一个选项可用,我只是把我用到的都说了,说多了也没必要,还不如查手册。

 

 

 

posted @ 2018-04-22 16:24  黑色瓶子  阅读(498)  评论(0编辑  收藏  举报