Linux常用命令整理:文件目录管理

据说,你要对Linux文件做的事情,98%都记录在这篇文章里了。

文件目录管理

1.ls命令

最常见的命令,相信刚进入linux命令行界面的时候,都要用这个命令看看当前目录下都有哪些文件吧。

  • 名称:List
  • 含义:列出当前目录(或者指定目录)下的文件或目录列表,通过不同的参数展示权限等目录相关信息,以及排序规则。
  • 格式:ls [参数]、ls [目录名] [参数]
  • 参数:
参数含义
-l除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。可以缩写成我们常用的ll命令
-a列出目录所有文件,包含以.开始的隐藏文件
-A列出除.及…的其它文件
-r反序排列
-t以文件修改时间排序
-S以文件大小排序
-h以易读大小显示,与-l一起使用image-20210829153539398
x*列出当前目录中所有以“x”开头的目录

2.cd命令

也是最常见的命令,无需多言。

  • 名称:Change Directory
  • 含义:切换到指定路径
  • 格式:cd [目录名]
  • 例子:
    • 切换到home路径:cd或者cd ~
    • 切换到指定路径:cd /bin/(/bin是完整路径名)
    • 切换到当前路径下的目录:cd learncd/(learncd是当前路径下的目录名) image-20210829150536546
    • 切换到上一级目录:cd …/

3.pwd

一般用于在目录中迷失方向的时候,需要找找自己在哪

  • 名称:Print Working Directory
  • 含义:打印当前工作目录的完整路径名
  • 格式:pwd

4.mkdir

  • 名称:Make Directory
  • 含义:创建目录
  • 格式:mkdir [参数] [目录]
  • 参数:
参数含义
-p创建的路径中间有不存在的路径,则自动创建其中的父目录image-20210829154932951
-v创建目录成功后展示结果文案(感觉比较鸡肋)

5.rm

删除命令很危险,使用rm -rf的时候一定要慎重。毕竟跑路是一件比较麻烦的事情。

  • 名称:Remove
  • 含义:删除文件
  • 格式:rm [参数] [文件路径]
  • 参数:
参数含义
-i删除前会提示确认是否删除,一般适用于一次性删除多个文件image-20210829201809971
-r递归的删除目录和目录下的文件
-f强制删除,不做任何提示

6.cp

cp是copy,不是炒的那个cp。

  • 名称:Copy
  • 含义:将源文件/目录复制到目标文件/目录
  • 格式:cp [参数] [源文件] [目标目录]、cp [参数] [源文件] [目标目录下文件名](可以将复制后的文件指定为新的名字)
  • 参数:
参数含义
-i复制指定的目标文件有同名文件,会有提示image-20210829205448879
-r复制目录及目录内所有项目
-l只是创建链接,不是复制文件。如果修改源文件,则打开的目标链接会看到改动。
  • 例子:

image-20210829202611358

7.mv

  • 名称:Move
  • 含义:移动文件/目录到指定目录下,并支持重命名
  • 格式:mv [参数] [源文件] [目标目录]
  • 参数:
参数含义
-i移动到指定的目标文件有同名文件,会有提示
-b移动到指定的目标文件有同名文件,会将已有的同名文件备份。备份的文件,在原有文件名后面有~符号。image-20210830001249147
-n移动到指定的目标文件有同名文件,则不进行移动

8.chmod

权限控制命令,还是稍微有些复杂,这里需要多多科普一下。

  • 名称:change mode
  • 含义:修改用户对文件/目录的访问权限
  • 格式:chmod [参数] [用户类型] [权限] [文件]。其中,用户类型包括:u-文件所有者;g-文件所有者所在的用户组;o-其他用户;a-全部用户
  • 参数:
参数含义
-c权限改变时,会有提示image-20210904211501195
-R变更指定目录及子目录下的全部文件

在这里需要对Linux的文件权限做一下介绍。

Linux中的一个用户,可以属于多个用户组。一个用户组里可以有多个用户。所以对于一个文件来说,Linux将拥有其权限的用户,分为了三个级别。分别是:文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。对于每一级别的用户,可以设置属于该级别用户的权限,通过9个权限位来设置。

举个例子,我们用ll命令来查看文件信息,如图:

image-20210904205317737

其中每一列的含义都标注在图片上了。

最前面的这一串-rwxrwxrwx,就代表fileA当前的权限。每一个字符都代表什么意思呢?

其中第一位的-代表文件,d代表目录,l代表链接。2到4位是文件所有者(Owner)的权限,5到7位是用户组(Group)的权限,8到10位是其它用户(Other Users)的权限。r代表read读权限,w代表write写权限,x代表execute运行权限,-代表没有该权限位的权限。具体直接看图:

image-20210904153648412

所以我们就知道了,如果想修改一个文件的权限,只需要修改指定用户级别的对应的权限位就可以了。

可以使用+增加权限,使用-删除权限,使用=指定权限。

比如对于刚才的那个文件fileA:

  • 我想让其他用户只拥有读权限,可以用命令:chmod o=r fileA
  • 我想删掉用户组的写权限,可以用命令:chmod g-w fileA
  • 我又想让其他用户拥有写权限运行权限,可以用命令:chmod o+wx fileA

那传说中经常用到的 chmod 777 是啥意思呢?

你可以把权限的rwx的每一个权限位对应成二进制的位。有权限则为1,无权限则为0。这样每一类用户的三个权限位就可以转换成一个二进制数,同时也可以转换成八进制数。

例如:

权限二进制八进制
rwx1117
r-x1015
–x0011

因此,我们就可以通过八进制的数字,来指定文件的权限了。

比如对于刚才的那个初始权限为-rwxrwxrwx的文件fileA:

  • 我想让其他用户只拥有读权限,也就是最终权限为-rwxrwxr–,可以用命令:chmod 774 fileA
  • 我想删掉用户组的写权限,也就是最终权限为-rwxr-xr–,可以用命令:chmod 754 fileA
  • 我又想让其他用户拥有写权限运行权限,也就是最终权限为-rwxr-xrw-,可以用命令:chmod 756 fileA

好啦,以上就是绝大部分你在使用Linux时,涉及到的命令了。如果有其他的用法和补充,欢迎在评论区里交流。后续还会有其他类型的命令整理,可以持续关注哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白码上飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值