前言
我们先来解释一下命令格式,在 Linux 中,命令格式一般如下:
命令 [-选项] [参数]
选项用于定义命令的执行特性。选项有两种,一是完整选项,用 – 引导,后面跟完整的单词,另一种则是简化选项,后面跟单个的字符, 例如 -a,而且多个简化选项可以组合使用,例如可以将 -h -l -a 写成 -hla。而参数主要用于描述命令作用的对象。
ls 命令
ls 的英语原意为 list,用于显示指定工作目录下的所有文件以及子目录。
ls 的语法如下:
ls 选项 [文件或目录]
几个重要选项如下:
- -a:显示所有文件,包括隐藏文件
- -l:详细信息显示
- -d:查看目录属性
查看本目录下所有文件:

如果我们想查看别的目录的文件,直接在参数中进行指定即可。

我们发现使用上面的命令,只能得到一个简单的文件名,那么如果我们想看一下各个文件的详细信息,应该怎么做呢?其实,我们上面提到了这么一个选项 -l,它可以帮助我们查看文件的详细信息。

我们可以发现这个所谓的详细信息有很多列,那么每一列的具体含义是什么呢?下面我们以最后一行为例。
- 第一列:一共有10个字符,第一个字符表示文件类型,如果是 - 表示普通文件,如果是 d 表示目录,如果是 l 表示软链接文件。后面九个字符表示权限,前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限,权限又有三种,分别为 r 读,w 写,x 执行。其中,最后一行表示这是一个目录,文件拥有者拥有全部权限,而同组用户跟其它用户只有读权限与可执行权限
- 第二列:如果是文件,则代表文件的硬链接数;如果是目录,则代表这个目录下的文件数
- 第三列:文件所有者
- 第四列:文件所属组
- 第五列:文件大小,默认单位为字节
- 第六列:文件最后修改时间
- 第七列:文件名
扩展:Linux 中的用户
Linux 有三种用户,分别为拥有者,群组以及其他人。
- 拥有者:Linux 为每个用户提供了一个用户主目录,为 /home/<username>,该目录下只有该用户能够增删文件,其他人可以浏览,能不能查看文件内容就得看具体的文件权限了。每个 Linux 用户创建的文件的所有者都是自己
- 群组:例如,每个公司都有自己的共享资料,只有公司的人可以使用,不是这个公司的人就没有相应的权限,那么我们可以在 Linux 中为该公司建立一个群组,将该公司的所有成员添加到该群组中。然后将属于这个公司的文件所属群组设置为该群组,然后将文件的群组权限设置为可读写,于是该群组所有成员便都可以查看和修改,而不属于该群组的用户便没有这个权限了
- 其他人:除了文件拥有者或文件所属群组成员的用户,便都是其他人
- 还有一个超级用户,该用户就是 root,它可以访问 Linux 上的所有文件
扩展:三种权限可以用来做什么呢?
我们都知道权限有三种,那么这三种权限分别可以用来执行什么操作呢?
- r:读权限,对于文件,可以查看文件内容,对于目录,可以列出目录内的内容
- w:写权限,对于文件,可以修改文件内容,对于目录,可以在目录中创建,删除文件
- 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系统中常用的命令,如ls、mkdir、cd、pwd、rmdir、cp、mv、rm等,涵盖文件与目录的操作,权限管理,用户与群组的概念,帮助初学者快速掌握Linux操作技巧。

被折叠的 条评论
为什么被折叠?



