04文件目录管理命令

1. touch 命令

touch 命令用于创建空白文件或设置文件的时间,格式为“touch [选项][文件]”。

-a 仅修改“读取时间” (atime)

-m 仅修改“修改时间” (mtime)

-d 同时修改 atime 和 mtime

//使用touch -d 命令将修改后的文件的时间设置成修改前的时间(很多黑客就是这样做的)
[root@bogon 0607]# ls -l a.txt
-rw-r--r--. 1 root root 8 Jun  7 17:02 a.txt
[root@bogon 0607]# echo "huhuhuhuhuhuhhuhuhuuhuuhuuu" >> a.txt
[root@bogon 0607]# ls -l a.txt
-rw-r--r--. 1 root root 36 Jun  7 17:35 a.txt
[root@bogon 0607]# touch -d "2018-06-07 17:02" a.txt
[root@bogon 0607]# ls -l a.txt
-rw-r--r--. 1 root root 36 Jun  7 17:02 a.txt

2. mkdir 命令

mkdir 命令用于创建空白的目录,格式为“mkdir [选项] 目录”。

在 Linux 系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir 命令还可以结合-p 参数来递归创建出具有嵌套叠层关系的文件目录。

[root@bogon hk]# mkdir 0608
[root@bogon hk]# cd 0608
[root@bogon 0608]# mkdir -p a/b/c
[root@bogon 0608]# cd a
[root@bogon a]# cd b
[root@bogon b]#

3. cp 命令

cp 命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。

如果目标文件是目录,则会把源文件复制到该目录中;

如果目标文件也是普通文件,则会询问是否要覆盖它;

如果目标文件不存在,则执行正常的复制操作。

[root@bogon 0608]# cp test1.txt test1_copy.txt
[root@bogon 0608]# ls
a  test1_copy.txt  test1.txt

4. mv 命令

mv 命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。

剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。

如果 在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名。

[root@bogon 0608]# mv test1.txt TEXT1.txt
[root@bogon 0608]# ls
a  test1_copy.txt  TEXT1.txt

5.rm 命令

rm 命令用于删除文件或目录,格式为“rm [选项] 文件”。

在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可以在 rm 命令后跟上 -f 参数来强制删除。

另外,想要删除一个目录,需要在 rm 命令后面接一个 -r 参数才可以,否则删除不掉。

//删除文件(加-f参数不询问直接删除)
[root@bogon 0608]# ls
a  test1_copy.txt  TEXT1.txt
[root@bogon 0608]# rm test1_copy.txt
rm: remove regular empty file ‘test1_copy.txt’? y
[root@bogon 0608]# ls
a  TEXT1.txt
[root@bogon 0608]# rm -f TEXT1.txt
[root@bogon 0608]# ls
a
//删除目录(加-r参数删除目录)
[root@bogon 0608]# rm a
rm: cannot remove ‘a’: Is a directory
[root@bogon 0608]# rm -r a
rm: descend into directory ‘a’? y
rm: descend into directory ‘a/b’? y
rm: remove directory ‘a/b/c’? y
rm: remove directory ‘a/b’? y
rm: remove directory ‘a’? y
[root@bogon 0608]# ls
[root@bogon 0608]#
//直接删除目录(加-rf参数不询问直接删除目录及其中的文件)
[root@bogon 0608]# mkdir -p a/b/c
[root@bogon 0608]# rm -rf a
[root@bogon 0608]# ls
[root@bogon 0608]#

6. dd 命令

dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

dd命令能够让用户按照指定大小和个数的数据库来复制文件的内容。

//使用dd命令从/dev/zero设备文件中取出一个大小为560M的数据块,然后保存成名为560_file的文件。
[root@bogon 0608]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 9.9655 s, 58.9 MB/s
[root@bogon 0608]# ls
560_file
dd 命令的功能绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制成 iso 格式的镜像文件,在 Windows 系统中需要借助第三方软件才能做到,但是在 Linux 系统中可以直接使用 dd 命令来压制出光盘镜像文件,将它变成一个可立即使用的 iso 镜像。

if 输入的文件名称 of 输出的文件名称

bs 设置每个“块”的大小 count 设置要复制“块”的个数

[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

考录到有些读者会纠结 bs 块大小与 count 块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定值,用来盛饭的勺子的大小即 bs 块的大小,而用勺子盛饭的次数即 count 块个数。小明要吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由此可见,bs 与 count 都是用来指定容量大小的,只要能满足需求,可随意组合搭配方式。

7. file 命令

file 命令用于查看文件的类型,格式为“file 文件名”。

在Linux系统中,由于文本、目录、设备等所有这些一切统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用 file 命令来查看文件类型了。

[root@bogon 0608]# file aaa.txt
aaa.txt: ASCII text
[root@bogon 0608]# file /dev/sda
/dev/sda: block special
[root@bogon 0608]#

猜你喜欢

转载自www.cnblogs.com/rock-cc/p/9165805.html