Linux命令之文件管理
1. 文件操作相关
有一些命令可以帮助我们"修剪"之前看到的文件树。
$touch test.xml
如果test.xml不存在,生成一个新的空文档test.xml。如果test.xml存在,那么只更改该文档的时间信息。(这个命令实际上用得并不广泛,但可以帮我们创建一个空文件来实验下面操作)
$ls .
是list的简写,列出当前目录下的所有文件名
$ls -l test.xml
列出文件的详细信息
$cp test.xml b.txt
cp是copy的简写,用来复制文件。在工作目录下,将test.xml复制到文件b.txt
$cp test.xml ..
将test.xml复制到父目录的test.xml
$mv test.xml c.txt
mv是move的简写,用来移动文件。将test.xml移动成为c.txt (相当于重命名rename)
$mv c.txt /home/blogyuan
将c.txt移动到/home/blogyuan目录
$rm test.xml
rm是remove的缩写,用于删除文件。删除test.xml
$rm -r /home/blogyuan
删除从/home/blogyuan向下的整个子文件系统。-r表示recursive, 是指重复删除的操作,/home/blogyuan文件夹为空,然后删除/home/blogyuan文件夹本身。
$mkdir /home/blogyuan/good
创建一个新的目录
$rmdir /home/blogyuan/good
删除一个空的目录
2. 文件权限相关
$chmod 755 test.xml
(你必须是文件test.xml的拥有者才能运行此命令。或者以$sudo chmod 755 test.xml的方式,以超级用户的身份运行该命令。)
change mode 改变test.xml的读、写以及执行权限。还记得每个文件都有九位的读写执行权限(参看 Linux文件管理背景知识),分为三组,分别对应拥有者(owner),拥有组(owner group)中的用户和所有其他用户(other)。在这里,我们也有三个数字,755,对应三个组。7被分配给拥有者,5被分配给拥有组,最后一个5分配给其它用户。Linux规定: 4为有读取的权利,2为有写入的权利,1为有执行的权利。我们看到的7实际上是4 + 2 + 1,表示拥有者有读、写、执行三项权利。(想想5 意味着什么)
这时,运行$ls -l test.xml, 你应该看到九位的权限变成了rwxr-xr-x。根据自己的需要,你可以用比如444, 744代替755,来让文件有不同的权限。
$sudo chown root test.xml
change owner 改变文件的拥有者为root用户。这个命令需要有超级用户权限才能执行,所以我们在命令之前加上sudo。
$sudo chgrp root test.xml
change group 改变文件的拥有组为root组
总结:
touch, ls, mv, cp, rm, mkdir, rmdir
chmod, chown, chgrp