文件管理命令
Linux 对 present 和 parent 目录使用一些约定。这对于初学者来说可能有点混乱。
每当你在 Linux 中的终端中时,你将处于所谓的当前工作目录中。通常,你的命令提示符将显示完整的工作目录,或者只显示该目录的最后一部分。你的提示可能如下所示:
user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
这表示你当前的工作目录是/home/user/somedir
。
在 Linux 中,..
表示父目录,.
表示当前目录。
因此,如果当前目录是/home/user/somedir
,那么 cd ../somedir
将不会更改工作目录。
下表列出了一些最常用的文件管理命令
目录导航
命令 | 效用 |
---|---|
pwd |
获取当前工作目录的完整路径。 |
cd - |
导航到你正在使用的最后一个目录。 |
cd ~ 或者只是 cd |
导航到当前用户的主目录。 |
cd .. |
转到当前目录的父目录(请注意 cd 和 .. 之间的空格) |
列出目录中的文件
命令 | 效用 |
---|---|
ls -l |
以 long(表)格式列出当前目录中的文件和目录(为了更好的可读性,建议使用 -l 和 ls)。 |
ls -ld dir-name |
列出有关目录 dir-name 而不是其内容的信息。 |
ls -a |
列出所有文件,包括隐藏文件(以 . 开头的文件名是 Linux 中的隐藏文件)。 |
ls -F |
在文件名的末尾附加一个符号以表示其类型(* 表示可执行文件,/ 表示目录,@ 表示符号链接,= 表示套接字, |
ls -lt |
列出按上次修改时间排序的文件,最近修改的文件显示在顶部(记住 -l 选项提供具有更好可读性的长格式)。 |
ls -lh |
以人类可读的格式列出文件大小。 |
ls -lR |
以递归方式显示所有子目录。 |
tree |
将从当前目录开始生成文件系统的树表示。 |
文件/目录创建,复制和删除
命令 | 效用 |
---|---|
cp -p source destination |
将文件从 source 复制到目的地。 -p 代表保存。它在复制文件所有者,时间戳,组,权限等时保留文件的原始属性。 |
cp -R source_dir destination_dir |
将源目录递归复制到指定的目标。 |
mv file1 file2 |
在 Linux 中没有这样的重命名命令。因此 mv 将 file1 移动/重命名为 file2。 |
rm -i filename |
在每次删除文件之前询问你是否确认。**如果你是 LINUX COMMAND LINE 的新用户,你应该总是使用 rm -i 。**你可以指定多个文件。 |
rm -R dir-name |
将递归删除目录 dir-name 。 |
rm -rf dir-name |
将递归删除目录 dir ,忽略不存在的文件,永远不会提示任何东西。小心使用这个命令! 你可以指定多个目录。 |
rmdir dir-name |
将删除目录 dir-name ,如果它是空的。此命令只能删除空目录。 |
mkdir dir-name |
创建一个目录 dir-name 。 |
mkdir -p dir-name/dir-name |
创建目录层次结构。根据需要创建父目录(如果它们不存在)。你可以指定多个目录。 |
touch filename |
创建文件 filename ,如果它不存在,否则将文件的时间戳更改为当前时间。 |
文件/目录权限和组
命令 | 效用 |
---|---|
chmod <specification> filename |
更改文件权限。规格= u 用户,g 组,o 其他,+ 添加权限,- 删除,r 读取,w 写入,x 执行。 |
chmod -R <specification> dir-name |
递归更改目录的权限。要更改目录的权限以及该目录中的所有内容,请使用此命令。 |
chmod go=+r myfile |
为所有者和组添加读取权限。 |
chmod a +rwx myfile |
允许所有用户读取,写入或执行 myfile 。 |
chmod go -r myfile |
删除组和其他人的读取权限。 |
chown owner1 filename |
将文件的所有权更改为用户 owner1 。 |
chgrp grp_owner filename |
将文件 filename 的主要组所有权更改为 group grp_owner 。 |
chgrp -R grp_owner dir-name |
将目录 dir-name 的主要组所有权更改为递归组 grp_owner 。要更改目录的组所有权以及该目录中的所有内容,请使用此命令。 |