文件管理——文件操作
cp命令
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。
命令格式
cp [参数] [源文件或者目录] [目标文件或者目录]
命令功能
将源文件复制至目标文件,或将多个源文件复制至目标目录。
常用命令参数
参数 | 描述 |
---|---|
-f | 覆盖已经存在的目标文件而不给出提示 |
-i | 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖 |
-r | 若给出的源文件是一个目录,此时将复制该目录下所有的子目录和文件 |
-b | 删除、覆盖目标文件时先备份 |
常用范例
例一:复制单个文件到目标目录,目标文件在目标目录中不存在。
例二:复制单个文件到目标目录,如果目标文件在目标目录中存在,那么会询问是否覆盖。
温馨提示:如果此时加上参数-i(从上图可知,不加也是一样的),则会询问是否覆盖;如果加上参数-f,则会强制覆盖。
例三:复制单个文件到目标目录,如果目标文件在目标目录中存在,那么先将目标文件做一个备份。
例四:将当前目录下的test.txt文件复制到其父级目录中。
经过这些例子的洗礼,我们不仅知道了如何将一个文件复制到另一个文件中,而且也知道了如何将一个文件复制到一个目录中。
例五:将当前目录下的a目录(假设里面有一个test.txt文本文件)到当前目录下的a_copy目录(该目录此时并不存在)中。
此时,当前目录中并不存在目标目录,但在复制的时候,会创建出此目标目录,而且源目录中的文件也已经系数都复制到目标目录中了。温馨提示:复制目录时必须使用-r参数,无论是单层目录还是多层目录都可以复制。
mv命令
mv命令是move的缩写,可以用来移动或者更名现有的文件或目录,是Linux系统下常用的命令,经常用来备份文件或者目录。
命令格式
mv [参数] 源文件或目录 目标文件或目录
命令功能
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
常用命令参数
参数 | 描述 |
---|---|
-f | 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录 |
常用范例
例一:重命名文件,将当前目录下的a目录中的test02.txt重命名为init.log。
例二:剪切文件,将当前目录下的a目录中的init.log文件剪切到当前目录下的test目录中。
rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令上(比如在根目录下执行rm * -rf
)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
命令格式
rm [参数] 文件
命令功能
删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用rm来删除文件,通常仍可以将该文件恢复原状。
常用命令参数
参数 | 描述 |
---|---|
-f | 忽略不存在的文件,从不给出提示 |
-r | 指示rm将参数中列出的全部目录和子目录均递归地删除 |
常用范例
例一:删除文件,系统会先询问是否删除。
输入rm ./test/init.log
命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。
例二:强行删除文件,系统不再提示。
例三:强行将test目录删除,不管该目录是单个的空目录,还是该目录里面有东西。
find命令
Linux下的find命令在目录结构中搜索文件,并执行指定的操作。该命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。但在这里,我只简单介绍一下该命令,如果你感兴趣的话,可以深入了解这个命令下。
命令格式
find pathname -options [-print -exec -ok ...]
命令功能
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。
常用命令参数
参数 | 描述 |
---|---|
-name | 按照文件名查找名为name的文件。-iname会忽略大小写 |
常用范例
例一:在根目录下的root目录中寻找名称中包含in而且是以in开头的文件或者目录。
例二:在根目录下的root目录中查找以.json结尾的文件。
温馨提示:.
代表当前目录,find命令不指定path时,默认是当前目录。