Linux之文件目录指令(二)

一、touch命令

touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性

touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项

注意:在修改文件的时间属性的时候,用户必须是文件的属主,或拥有写文件的访问权限。

**语法格式:**touch [参数] [文件]

常用参数:

参数 作用
-a 改变档案的读取时间记录
-m 改变档案的修改时间记录
-c 不创建新文件
–help 显示帮助信息
–version 列出版本讯息

参考实例

创建空文件:

[root~]# touch file.txt  

批量创建文件:

[root~]# touch file{1..5}.txt 
[root~]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt 

修改文件的access(访问)时间:

[root~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:25:34.729216500 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:25:34.729216500 +0800
  Birth: -

[root~]# touch -a file.txt
 
[root~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:26:13.004116000 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:26:13.004116000 +0800
  Birth: -

二、cp命令

cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录

cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中

**语法格式:**cp [参数] [文件…] [目录]

常用参数:

参数 作用
-f 若目标文件已存在,则会直接覆盖原文件
-p 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
-r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
-d 复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式
-l 不复制文件,只是生成链接文件
-a 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合

参考实例

将dir1目录及其内的文件复制到dir2目录中:

[root~]# cp -r dir1 dir2/

将文件test1改名为test2:

[root~]# cp -f test1 test2

复制多个文件到dir目录中:

[root~]# cp -r file1 file2 file3 dir

将目录 /usr/linuxcool 中的所有.c文件复制到目录 dir 中:

[root~]# cp -r /usr/linuxcool/*.c dir

三、rm命令

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑

**语法格式:**rm [参数] [文件]

常用参数:

参数 作用
-f 忽略不存在的文件,强制删除
-i 删除前会询问用户是否确认删除
-r 如果文件是目录,则递归删除文件中的文件
-v 显示指令的详细执行过程

参考实例

删除前逐一询问确认:

[root~]# rm -i test.txt.bz2 
rm: remove regular file `test.txt.bz2'? 

直接删除,不会有任何提示:

[root~]# rm -f test.txt.bz2  

递归删除目录及目录下所有文件:

[root~]# mkdir /data/log
[root~]# rm -rf /data/log

删除当前目录下所有文件:

[root~]# rm -rf *

清空系统中所有的文件(谨慎):

[root~]# rm -rf /*

四、mv命令

mv命令是“move”单词的缩写,可以移动文件或对其改名

这是一个使用频率超高的文件管理命令,我们需要特别留意它与复制的区别:mv与cp的结果不同:mv命令好像文件“搬家”,文件名称发生改变,但个数并未增加。而cp命令是对文件进行复制操作,文件个数是有增加的

**语法格式:**mv [参数]

常用参数:

参数 作用
-i 若存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,覆盖前为其创建一个备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作

参考实例

将文件file_1重命名为file_2:

[root~]# mv file_1 file_2

将文件file移动到目录dir中 :

[root~]# mv file dir

将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名):

[root~]# mv dir1 dir2

将目录dir1下的文件移动到当前目录下:

[root~]# mv /dir1/*  .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章