文件管理命令

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。要更改目录的组所有权以及该目录中的所有内容,请使用此命令。