Linux 从入门到跑路第二讲 -- 目录处理命令

本文深入讲解了Linux系统中常用的命令,如ls、mkdir、cd、pwd、rmdir、cp、mv、rm等,涵盖文件与目录的操作,权限管理,用户与群组的概念,帮助初学者快速掌握Linux操作技巧。

前言

我们先来解释一下命令格式,在 Linux 中,命令格式一般如下:

命令 [-选项] [参数]

选项用于定义命令的执行特性。选项有两种,一是完整选项,用 – 引导,后面跟完整的单词,另一种则是简化选项,后面跟单个的字符, 例如 -a,而且多个简化选项可以组合使用,例如可以将 -h -l -a 写成 -hla。而参数主要用于描述命令作用的对象。

ls 命令

ls 的英语原意为 list,用于显示指定工作目录下的所有文件以及子目录。

ls 的语法如下:

 ls 选项 [文件或目录]

几个重要选项如下:

  1. -a:显示所有文件,包括隐藏文件
  2. -l:详细信息显示
  3. -d:查看目录属性

查看本目录下所有文件:
在这里插入图片描述
如果我们想查看别的目录的文件,直接在参数中进行指定即可。
在这里插入图片描述
我们发现使用上面的命令,只能得到一个简单的文件名,那么如果我们想看一下各个文件的详细信息,应该怎么做呢?其实,我们上面提到了这么一个选项 -l,它可以帮助我们查看文件的详细信息。
在这里插入图片描述
我们可以发现这个所谓的详细信息有很多列,那么每一列的具体含义是什么呢?下面我们以最后一行为例。

  1. 第一列:一共有10个字符,第一个字符表示文件类型,如果是 - 表示普通文件,如果是 d 表示目录,如果是 l 表示软链接文件。后面九个字符表示权限,前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限,权限又有三种,分别为 r 读,w 写,x 执行。其中,最后一行表示这是一个目录,文件拥有者拥有全部权限,而同组用户跟其它用户只有读权限与可执行权限
  2. 第二列:如果是文件,则代表文件的硬链接数;如果是目录,则代表这个目录下的文件数
  3. 第三列:文件所有者
  4. 第四列:文件所属组
  5. 第五列:文件大小,默认单位为字节
  6. 第六列:文件最后修改时间
  7. 第七列:文件名
扩展:Linux 中的用户

Linux 有三种用户,分别为拥有者,群组以及其他人。

  1. 拥有者:Linux 为每个用户提供了一个用户主目录,为 /home/<username>,该目录下只有该用户能够增删文件,其他人可以浏览,能不能查看文件内容就得看具体的文件权限了。每个 Linux 用户创建的文件的所有者都是自己
  2. 群组:例如,每个公司都有自己的共享资料,只有公司的人可以使用,不是这个公司的人就没有相应的权限,那么我们可以在 Linux 中为该公司建立一个群组,将该公司的所有成员添加到该群组中。然后将属于这个公司的文件所属群组设置为该群组,然后将文件的群组权限设置为可读写,于是该群组所有成员便都可以查看和修改,而不属于该群组的用户便没有这个权限了
  3. 其他人:除了文件拥有者或文件所属群组成员的用户,便都是其他人
  4. 还有一个超级用户,该用户就是 root,它可以访问 Linux 上的所有文件
扩展:三种权限可以用来做什么呢?

我们都知道权限有三种,那么这三种权限分别可以用来执行什么操作呢?

  1. r:读权限,对于文件,可以查看文件内容,对于目录,可以列出目录内的内容
  2. w:写权限,对于文件,可以修改文件内容,对于目录,可以在目录中创建,删除文件
  3. x:可执行权限,对于文件,可以执行文件,对于目录,可以进入目录

这里需要注意的是,删除一个文件,我们需要对其所在的目录具有写权限,这与文件自身的权限无关。

mkdir 命令

mkdir 命令用于创建新目录。

mkdir 的语法如下,其中 -p 表示递归创建。

mkdir -p [目录名]

去 /tmp 目录下创建一个 people 目录,写法如下,直接在 mkdir 命令后面加上要创建的目录路径即可。
在这里插入图片描述
现在我有一个需求,需要在 /tmp 文件夹中创建一个 /p 目录,并在该 /p 目录下再创建一个 /o 目录,应该怎么写命令呢?我们先来试试直接使用 mkdir 命令。

在这里插入图片描述

可以发现这是不行的,那应该怎么做呢?相信大家已经猜到了,我们可以使用 -p 来递归创建。

在这里插入图片描述
再使用 ls 来查看一下目录,发现确实已经创建了相应的目录。
在这里插入图片描述

cd 命令

该命令用于切换目录,在 cd 命令的参数后面加上目录的路径,可以切换至相应的目录。

cd 的语法如下:

cd [目录]

例如我现在需要切换到 /tmp 目录下,我们可以执行下面这条命令
在这里插入图片描述

pwd 命令

该命令用于显示当前目录,我们可以来测试一下
在这里插入图片描述
在命令行输入 pwd 命令,可以显示当前所在目录的绝对路径。

rmdir 命令

该命令用于删除空目录。

rmdir 的语法如下:

rmdir [目录名]

我们来将之前创建的一个 /tmp/people 目录给删除掉,命令可以这么写
在这里插入图片描述
显然,由于 /tmp/people 是一个空目录,这个删除操作是成功的。

cp 命令

该命令用于复制文件或目录。

cp 命令的语法如下,其中,选项 -r 表示复制目录,-p 表示保留文件属性。

cp -rp [原文件或目录] [目标目录]

现在我们来测试一下,将 /tmp/p/0 目录复制到 /tmp 之下,我们的命令的写法如下所示。接着我们使用 ls 来查看 /tmp 目录,发现确实新增了一个目录,说明我们的 cp 命令起到效果了。

在这里插入图片描述

mv 命令

该命令可用于剪切文件,其语法为:

mv [原文件或目录] [目标目录]

我们来将 /tmp/p 这个目录下的所有内容转移至 /tmp/0 这个目录下,这就要用到我们提到的 mv 命令了。

在这里插入图片描述

然后我们查看一下 /tmp/0 这个目录,发现其已经多了一个名字为 p 的子目录。
在这里插入图片描述
然后我们再查看一下 /tmp 中的子目录,发现 /tmp/p 已经消失了,这证明我们的剪切文件操作成功。

在这里插入图片描述
另外, mv 命令也可以用于改名,如果我现在要将 /tmp 下的 /0 子目录改名为 /hello ,应该怎么操作呢?其实执行下面一行命令就行了。
在这里插入图片描述
由于我们目前就在 /tmp 目录下,该命令代表将 /tmp 目录下的 /0 目录 移动至 /hello 目录下,实际上由于它们的父目录是相同的,也就曲线救国地完成了改名这个操作。

rm 命令

该命令用于删除文件或目录,语法如下:

rm -rf [文件或目录]

其中 -f 选项表示强制执行,-r 表示删除目录。

现在我们将 /tmp/hello 这个目录给删除掉,怎么写命令呢?没错,这就要用到我们的 Linux 跑路神器 rm 命令(删了库,肯定是要跑路的啊)了。

在这里插入图片描述
执行这个命令之后,我们再去 /tmp 目录下看看,发现已经没有 /hello 目录了,证明我们的删除成功。

在这里插入图片描述

参考:Linux中的用户,所有者(user)群组(Group)其他人(others)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值