关于linux命令rm通配符的信息( 十 )


事实上,我们可以用touch命令同时创建多个文件:
如果我所要创建的文件的名字里有空格怎么办呢?
很简单,加上双引号:
创建一个目录 。
mkdir也可以同时创建好几个目录:
如果我所要创建的目录的名字里有空格怎么办呢?
很简单,加上双引号:
我们还可以用 -p 参数来递归创建目录结构 。
比如:
cp命令和mv命令:拷贝文件和移动文件
拷贝文件或目录
cp是英语copy的缩写 , 表示“拷贝” 。所以,顾名思义 , 此命令用于拷贝 。cp命令不仅可以拷贝单个文件,还可以拷贝多个文件 , 也可以拷贝目录 。
复制文件到另一个目录只需要把cp命令的第二个参数换成目录名 。
拷贝目录
要拷贝目录,只要在cp命令之后加上-R参数(注意是大写的R) 。拷贝的时候 , 目录中的所有内容(子目录和文件)都会被拷贝 。
使用通配符*
*号(星号)是很常用的正则表达式的符号,被称为“通配符”,
所以如果我们用如下命令:
那么就会把当前目录下所有txt文件拷贝到folder这个子目录当中 。
又如:
那么就会把当前目录下凡是以ha开头的文件都拷贝到folder目录中 。
移动文件
mv是英语move的缩写 , 表示“移动” 。mv命令有两个功能:
用mv命令来移动目录很简单,不需要额外的参数,就跟移动文件一样:
当然,我们也可以使用通配符 。
除了移动文件,mv命令还可以用于重命名文件 。
事实上,Linux中没有一个专门的命令用于重命名文件 。之所以mv命令可以重命名文件,其实还是归因于它的机制:移动文件 。经过mv移动之后 , 原始文件变成了新的名字的文件,文件内容是不变的,这不就相当于重命名了吗?
以上命令会将new_file重命名为renamed_file 。
删除文件和目录
rm命令可以删除一个文件 , 多个文件,目录,甚至你的整个Linux系统(如果你愿意的话) 。
以上命令删除当前目录下的new_file_copy这个文件 。
我们也可以同时删除多个文件,只要用空格隔开每个文件即可 。例如:
保险起见 , 用rm命令删除文件时,可以加上 -i 参数,这样对于每一个要删除的文件,终端都会询问我们是否确定删除 。i是英语inform的缩写,表示“告知,通知” 。
有两种回答:
y:是英语yes的缩写,表示“是” 。那么回车确认后,文件就删除了 。
n:是英语no的缩写,表示“否” 。那么回车确认后 , 文件不会删除 。
如果在rm命令后加上-f参数,那么终端不会询问用户是否确定删除文件,不论如何 , 文件会立刻被强制删除 。
f是英语force的缩写 。
以上命令会强制删除file文件 。
r是英语recursive的缩写,表示“递归的” 。所以使用-r参数 , 可以使rm命令删除目录,并且递归删除其包含的子目录和文件 。
这个命令也挺危险的,用得不好可能你的子目录和文件都没了 。
以上命令会删除one这个目录,包括其子目录和文件 。
其实 , 也存在一个命令
看着和 rm -r 挺像的 。但是这个命令有个局限性:只能删除空的目录 。
创建链接
事实上,Linux下有两种链接类型:
为了区分这两种链接类型的不同 , 我们首先来谈一谈如Linux这样的操作系统中文件在硬盘上的存放 。
文件在硬盘上存储时,大致来说(请注意我用了“大致来说”),每个文件有两部分:

推荐阅读