GNU/Linux 文件管理命令

例子

Linux对当前目录和父目录使用一些约定。这对于初学者可能会有些困惑。

每当您在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以长(表)格式列出当前目录中的文件和目录(建议将-l与ls结合使用,以提高可读性)。
ls -ld dir-name列出有关目录的信息,dir-name而不是其内容。
ls -a列出所有文件,包括隐藏文件(以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将文件1移动/重命名为文件2。
rm -i filename在每次删除文件之前要求您进行确认。如果您是LINUX COMMAND LINE的新用户,则应始终使用rm -i。您可以指定多个文件。
rm -R dir-name将dir-name递归删除目录。
rm -rf dir-name将以dir递归方式删除目录,忽略不存在的文件,并且永远不会提示输入任何内容。请谨慎使用此命令!您可以指定多个目录。
rmdir dir-namedir-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将文件的所有权更改为user owner1。
chgrp grp_owner filename将文件的主要组所有权更改filename为group grp_owner。
chgrp -R grp_owner dir-name将目录的主要组所有权更改dir-name为grp_owner递归组。要更改目录以及该目录中所有内容的组所有权,请使用此命令。