Rumah > Artikel > Operasi dan penyelenggaraan > 有关Linux文件管理的相关命令教程
在了解了Linux文件管理背景知识之后, 我们可以学习一些命令来管理我们的文件。
有一些命令可以帮助我们"修剪"之前看到的文件树。
$touch a.txt
如果a.txt不存在,生成一个新的空文档a.txt。如果a.txt存在,那么只更改该文档的时间信息。(这个命令实际上用得并不广泛,但可以帮我们创建一个空文件来实验下面操作)
$ls .
是list的简写,列出当前目录下的所有文件名
$ls -l a.txt
列出文件的详细信息
$cp a.txt b.txt
cp是copy的简写,用来复制文件。在工作目录下,将a.txt复制到文件b.txt
$cp a.txt ..
将a.txt复制到父目录的a.txt
$mv a.txt c.txt
mv是move的简写,用来移动文件。将a.txt移动成为c.txt (相当于重命名rename)
$mv c.txt /home/vamei
将c.txt移动到/home/vamei目录
$rm a.txt
rm是remove的缩写,用于删除文件。删除a.txt
$rm -r /home/vamei
删除从/home/vamei向下的整个子文件系统。-r表示recursive, 是指重复删除的操作,/home/vamei文件夹为空,然后删除/home/vamei文件夹本身。
(程序员总是对这个命令很感兴趣, $rm -rf / 它会删除整个文件树。f的目的是告诉rm放心干,不用再确认了…… 一般情况下,应该没有人会用这个命令。)
$mkdir /home/vamei/good
创建一个新的目录
$rmdir /home/vamei/good
删除一个空的目录
$chmod 755 a.txt
(你必须是文件a.txt的拥有者才能运行此命令。或者以$sudo chmod 755 a.txt的方式,以超级用户的身份运行该命令。)
change mode 改变a.txt的读、写以及执行权限。还记得每个文件都有九位的读写执行权限(参看 Linux文件管理背景知识),分为三组,分别对应拥有者(owner),拥有组(owner group)中的用户和所有其他用户(other)。在这里,我们也有三个数字,755,对应三个组。7被分配给拥有者,5被分配给拥有组,最后一个5分配给其它用户。Linux规定: 4为有读取的权利,2为有写入的权利,1为有执行的权利。我们看到的7实际上是4 + 2 + 1,表示拥有者有读、写、执行三项权利。(想想5 意味着什么)
这时,运行$ls -l a.txt, 你应该看到九位的权限变成了rwxr-xr-x。根据自己的需要,你可以用比如444, 744代替755,来让文件有不同的权限。
$sudo chown root a.txt
change owner 改变文件的拥有者为root用户。这个命令需要有超级用户权限才能执行,所以我们在命令之前加上sudo。
$sudo chgrp root a.txt
change group 改变文件的拥有组为root组
(wild card, 也叫filename pattern matching)
之前所讲的命令,比如ls, mv, cp都可以接收多个参数,比如:
$ls -l a.txt b.txt c.txt
就可以列出这三个文件的所有信息。
有时候,我们想列出工作目录下所有的以.txt结尾的文件的信息,可以用下面的方式:
$ls -l *.txt
*.txt的写法就运用了Linux通配表达式。它与正则表达式相类似,但语法有所不同。
Filename Pattern Matching 对应含义
* 任意多个任意字符
? 任意一个字符
[kl] 字符k或者字符l
[0-4] 数字0到4字符中的一个
[b-e] b到e字符中的一个
[^mnp] 一个字符,这个字符不是m,n,p
Linux会找到符合表达式的文件名,然后用这些文件名作为参数传递给命令。注意,当使用rm的时候,要格外小心。下面两个命令,只相差一个空格,但效果大为不同:
$rm * .txt
$rm *.txt
第一个命令会删除当前目录下所有文件!
touch, ls, mv, cp, rm, mkdir, rmdir
chmod, chown, chgrp
wild card
Atas ialah kandungan terperinci 有关Linux文件管理的相关命令教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!