在 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]#如果目标文件是目录,则会把源文件复制到该目录中;
如果目标文件也是普通文件,则会询问是否要覆盖它;
如果目标文件不存在,则执行正常的复制操作。
#普通文件的复制 [root@bogon 0608]# cp test1.txt test1_copy.txt [root@bogon 0608]# ls a test1_copy.txt test1.txt # 目录文件的复制 -r 参数表示递归复制 -v表示显示复制过程 [root@rockman hk]# ls 0607 0608 0611 0612 0613 0614 test workdir # 将目录0614及该目录下的所有文件全部复制到0614_c目录下(该目录也是新创建的) [root@rockman hk]# cp -rv 0614 0614_c ‘0614’ -> ‘0614_c’ ‘0614/openman.txt’ -> ‘0614_c/openman.txt’ ‘0614/practice.txt’ -> ‘0614_c/practice.txt’ ‘0614/abc.txt’ -> ‘0614_c/abc.txt’ ‘0614/bbb.txt’ -> ‘0614_c/bbb.txt’ ‘0614/ccc.txt’ -> ‘0614_c/ccc.txt’ ‘0614/aaa.txt’ -> ‘0614_c/aaa.txt’ ‘0614/example.sh’ -> ‘0614_c/example.sh’ ‘0614/findtest’ -> ‘0614_c/findtest’ ‘0614/findtest/aaa.txt’ -> ‘0614_c/findtest/aaa.txt’ ‘0614/findtest/a.txt’ -> ‘0614_c/findtest/a.txt’ ‘0614/findtest/aa.txt’ -> ‘0614_c/findtest/aa.txt’ ‘0614/test’ -> ‘0614_c/test’ ‘0614/test/560_file’ -> ‘0614_c/test/560_file’ ‘0614/test/aaa.txt’ -> ‘0614_c/test/aaa.txt’ ‘0614/test/a.txt’ -> ‘0614_c/test/a.txt’ ‘0614/test/aa.txt’ -> ‘0614_c/test/aa.txt’ [root@rockman hk]# ls 0607 0608 0611 0612 0613 0614 0614_c test workdir剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。
如果 在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名。
[root@bogon 0608]# mv test1.txt TEXT1.txt [root@bogon 0608]# ls a test1_copy.txt TEXT1.txt在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]#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考虑到有些读者会纠结 bs 块大小与 count 块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定值,用来盛饭的勺子的大小即 bs 块的大小,而用勺子盛饭的次数即 count 块个数。小明要吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由此可见,bs 与 count 都是用来指定容量大小的,只要能满足需求,可随意组合搭配方式。
在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]#转载于:https://www.cnblogs.com/rock-cc/p/9165805.html
