Linux 文件/目录管理

Linux 文件/目录管理

  • 目录结构
  • 显示当前所在目录:pwd
  • 切换当前目录:cd 参数 目的目录
  • 创建文件:touch 文件名
  • 删除文件:rm 参数 文件名
  • 创建目录:mkdir 参数 目录名
  • 删除目录:rmdir 参数 目录名
  • 拷贝文件:cp 参数 源文件 目的目录
  • 移动文件:mv 参数 目录名
  • 拷贝目录:cp 参数 源目录 目的目录
  • 移动目录:mv 参数 源目录 目的目录
  • 查看文件内容:
    • cat命令:cat 参数 文件名
    • head命令:head 参数 文件名
    • tail命令:tail 参数 文件名
    • ls命令:ls 参数 目录
  • 修改文件/目录权限
    • 文字设定法:chmod 用户 操作符 权限 文件/目录名
    • 数字设定法:chmod 权限 文件/目录名
  • 修改文件/目录所有者:chown 用户名/用户ID 文件/目录名
  • 修改文件所属组:chgrp 用户组名/组ID 文件/目录名

目录结构

Linux 文件/目录管理_第1张图片

显示当前所在目录:pwd

切换当前目录:cd 参数 目的目录

● cd 进入用户主目录;
● cd ~ 进入用户主目录;
● cd - 返回进入此目录之前所在的目录;
● cd … 返回上级目录(若当前目录为”/“,则执行完后还在”/“;”…”为上级目录的意思);
● cd …/… 返回上两级目录;
● cd !$ 把上个命令的参数作为cd参数使用。

创建文件:touch 文件名

如果一次想创建多个文件,则每个文件名用空格隔开。
touch命令创建一个指定的新文件,并将当前登录用户作为文件所有者。
由于touch命令创建的文件为空,所以文件的大小为0。
touch命令还可以用于更改文件的访问时间和修改时间,而不改变文件的内容。

删除文件:rm 参数 文件名

● -f:强制删除文件或目录;
● -i:删除已有文件或目录之前先询问用户;
● -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
● -i:删除已有文件或目录之前先询问用户。

如果一次想删除多个文件,则每个文件名用空格隔开。
rm命令可以使用通配符来删除文件。

创建目录:mkdir 参数 目录名

● -p或–parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。

如果一次想创建多个目录,则每个目录名用空格隔开。
mkdir命令创建一个指定的目录,并将当前登录用户作为目录所有者。
mkdir命令创建一个空目录后,该目录下只存在两个特殊的目录分别是“.”和“. .” 。

删除目录:rmdir 参数 目录名

●-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。

如果一次想删除多个空目录,则每个目录名用空格隔开。
rmdir命令可以使用通配符来删除目录。

拷贝文件:cp 参数 源文件 目的目录

● -f:强行复制文件或目录,不论目标文件或目录是否已存在;
● -i:覆盖既有文件之前先询问用户;
● -p:保留源文件或目录的属性。

cp命令支持同时复制多个文件,当一次复制多个文件时,目的目录参数必须是一个已经存在的目录,否则将出现错误;
cp命令支持同时复制多个文件,当一次复制多个文件时,多个文件用空格分隔。

移动文件:mv 参数 目录名

● -f:若目标文件与现有的文件重复,则直接覆盖现有的文件;
● -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。

如果一次想移动多个文件,则每个文件名用空格隔开;
mv命令也可以用来重命名目录;
mv命令可以使用通配符来移动目录。

拷贝目录:cp 参数 源目录 目的目录

● -r 是递归把源目录下的目录递归进行移动;
● -f:强行复制文件或目录,不论目标文件或目录是否已存在;
● -i:覆盖既有文件之前先询问用户;
● -p:保留源文件或目录的属性。

cp命令支持同时复制多个目录,当一次复制多个目录时,目的目录参数必须是一个已经存在的目录,否则将出现错误;
cp命令支持同时复制多个目录,当一次复制多个目录时,多个目录名用空格分隔;
cp命令拷贝目录和拷贝文件大致用法相似,最大差别就是拷贝目录的时候必须加上-r参数,而拷贝文件的时候不需要加-r参数。

移动目录:mv 参数 源目录 目的目录

● -f:若目标目录与现有的目录重复,则直接合并现有的目录;
● -i:交互式操作,覆盖前先行询问用户,如果源目录与目标目录同名,则询问用户是否合并目标目录。用户输入”y”,表示将合并目标目录;输入”n”,表示取消对源目录的移动。这样可以避免误将目录覆盖。

mv命令可以使用通配符来移动目录;
mv命令也可以重命名目录;
mv命令移动目录和移动文件的使用大致一样,唯一不同的是如果出现源目录和目标目录重名,则采用合并的方式,而对于文件则是直接覆盖。

查看文件内容:

cat命令:cat 参数 文件名

● -n 或 --number:由1开始对所有输出的行数编号;
● -b 或 --number-nonblank:和-n相似,只不过对于空白行不编号。

cat命令支持同时查看多个文件,当一次查看多个文件时,每个文件的内容都会被打印到屏幕上;
cat命令不能对文件进行编辑操作,只能查看文件内容。

head命令:head 参数 文件名

● -n number:显示文件的前number行内容;

head命令是从文件的开头显示内容,默认情况下只显示前10行的内容;
head命令不能对文件进行编辑操作,只能查看文件内容。

tail命令:tail 参数 文件名

● -n number:显示文件的最后number行内容;

tail命令是从文件的结尾显示内容,默认情况下只显示最后10行的内容;
tail命令不能对文件进行编辑操作,只能查看文件内容。

ls命令:ls 参数 目录

● -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
● -A:显示除影藏文件“.”和“. .”以外的所有文件列表;
● -l:列出内容的详细信息;
● -r:以文件名反序排列并输出目录内容列表;
● -s:显示文件和目录的大小,以区块为单位;
● -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
● -R:递归处理,将指定目录下的所有文件及子目录一并处理。

如果一次查看多个目录,则每个目录名用空格隔开。

修改文件/目录权限

文字设定法:chmod 用户 操作符 权限 文件/目录名

  • 用户:
    • u :用户(user),即文件或目录的所有者;
    • g :同组(group)用户,即与文件属主有相同组ID的所有用户;
    • o :其他(others)用户;
    • a :所有(all)用户,它是系统默认值。
  • 操作符:
    • +:添加某个权限;
    • -:取消某个权限;
    • =:赋予给定权限并取消其他所有权限。
  • 权限:
    • r 可读;
    • w 可写;
    • x 可执行。
  • -R 或 --recursive:递归处理,将指令目录下的所有文件及子目录一并处理。

数字设定法:chmod 权限 文件/目录名

权限为具体的数字:

  • 0:没有权限
  • 1:可执行权限
  • 2:可写权限
  • 4:可读权限

然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是u、g和o。

修改文件/目录所有者:chown 用户名/用户ID 文件/目录名

● -R 或 --recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

chown必须以root权限才能执行,如果是普通用户想执行chown时,需要在命令前加sudo命令来提升权限为root权限。

修改文件所属组:chgrp 用户组名/组ID 文件/目录名

● -R 或 --recursive:递归处理,将指定目录下的所有文件及子目录一并处理;

chown必须以root权限才能执行,如果是普通用户想执行chown时,需要在命令前加sudo命令来提升权限为root权限。

你可能感兴趣的:(Linux)