目录的创建:
mkdir - make directories
使用示例及说明:
[root@localhost ~]# mkdir /root/x/y/z mkdir: cannot create directory `/root/x/y/z': No such file or directory
如果直接创建层级目录,是不能创建的。
[root@localhost ~]# mkdir -p /root/x/y/z
如果带上“-p”就可以了,“-p”的意思是如果父目录不存在则创建父目录。
[root@localhost ~]# tree /root /root |-- Desktop |-- anaconda-ks.cfg |-- install.log |-- install.log.syslog `-- x `-- y `-- z 4 directories, 3 files
tree命令可以查看目录树状结构。
[root@localhost ~]# mkdir -pv /root/test/{x/y,z} mkdir: created directory `/root/test' mkdir: created directory `/root/test/x' mkdir: created directory `/root/test/x/y' mkdir: created directory `/root/test/z'
说明:/root/test/{x/y,z}等于/root/test/x/y /root/test/z}
-v:当创建目录后显示信息。
[root@localhost ~]# rmdir -p /root/x/y/z rmdir: /root: Directory not empty
说明:rmdir用于删除空目录,如果目录非空则不能删除;
-p:用于删除目录和它的父目录(如果父目录是空的),此为选项。
可以从本例中看出,删除z目录时,x和y目录一并被删除,但是因为/root非空无法将其删除。
可以通过tree命令查看:
[root@localhost ~]# tree /root /root |-- Desktop |-- anaconda-ks.cfg |-- install.log |-- install.log.syslog `-- test |-- x | `-- y `-- z 5 directories, 3 files
从本例可以看出/root非空。
***********************分割线*************************
文件的创建于删除:
[root@localhost ~]# touch /root/test/hello [root@localhost ~]# ls -l /root/test/hello -rw-r--r-- 1 root root 0 Dec 7 03:42 /root/test/hello
touch本来的用途是用来修改文件的时间戳,却同时也可以用来创建空文件,如上例所示:
用# touch /root/test/hello创建了hello空文件,用ls -l /root/test/hello可以查看hello文件信息;
同时也可以使用stat查看文件状态:
[root@localhost ~]# stat /root/test/hello File: `/root/test/hello' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: fd00h/64768dInode: 29851728 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-12-07 03:42:22.000000000 +0800 Modify: 2014-12-07 03:42:22.000000000 +0800 Change: 2014-12-07 03:42:22.000000000 +0800
可以看到hello的的访问(access)、修改(modify)、change(改变)时间一样;
[root@localhost test]# touch -a hello [root@localhost test]# stat hello File: `hello' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: fd00h/64768dInode: 29851728 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2014-12-07 03:51:22.000000000 +0800 Modify: 2013-12-07 12:50:30.000000000 +0800 Change: 2014-12-07 03:51:22.000000000 +0800
使用-a选项可以修改文件的访问时间,同时改变时间也一并修改。
(注意我已经使用cd命令切换到了/test目录,所以才能直接把参数输入为“hello”)
[root@localhost test]# touch -m -t 201312071250.30 hello [root@localhost test]# stat hello File: `hello' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: fd00h/64768dInode: 29851728 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2012-12-07 12:50:30.000000000 +0800 Modify: 2013-12-07 12:50:30.000000000 +0800 Change: 2014-12-07 03:47:35.000000000 +0800
说明:-m用来修改文件的修改时间
-t用来直接设置时间,如果没有则使用当前时间,格式:[[CC]YY]MMDDhhmm[.ss]
使用nano命令可以编辑文件,比较简单,大家可以自行尝试。
[root@localhost test]# rm hello rm: remove regular empty file `hello'? y
rm命令用来删除文件。
删除后找不到hello文件了:
[root@localhost test]# tree . |-- a_c |-- a_d |-- b_c |-- b_d |-- x | `-- y `-- z 7 directories, 0 files
[root@localhost test]# rm -rf /root/test
选项-r递归地删除/test及其包含的所有文件和目录,
-f强制删除不提示。
可以看到/test目录已经没有了:
[root@localhost ~]# tree . |-- Desktop |-- anaconda-ks.cfg |-- install.log `-- install.log.syslog 1 directory, 3 files
谢谢!