【Linux】基本指令 | 文件 | 目录 | 路径

本文介绍了Linux中的基础命令,如查看路径的pwd,文件列表的ls,创建目录的mkdir,切换目录的cd,创建文件的touch等,并讲解了路径的概念、隐藏文件、文件属性与内容、绝对路径与相对路径的区别。
摘要由CSDN通过智能技术生成

快速认识一些指令

在这里我们先简单了解一些指令,不深究它们的复杂用法,以后会讲

pwd


pwd指令可以查看当前处于什么路径下

image-20231125112818130

以上说明我们处于 /root 路径下

ls

ls可以列出当前目录下的文件名

image-20231125113038133

以上说明当前目录下只有一个文件 code

mkdir


mkdir可以在当前目录下,创建一个目录

mkdir 目录名

下面我们在当前目录下新建一个 test 目录,mkdir test

image-20231125113720599

可以看到,在当前目录下,多了一个 test 目录

cd


可以切换当前所在目录

cd 目录名

下面我们进入当前目录下的 code 目录

image-20231125171353855

这样就进入了 code 目录

touch


可以创建一个文件

touch 文件名

在当前目录创建文件 file.txt

image-20231125171935723

指令详细介绍及周边知识

ls | 文件


语法:ls 选项 目录或文件

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
  • 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

ls -l 指令

这个指令可以列出文件的详细信息,可简写为 ll

image-20231125174733887

可以看到,文件名前面多了一堆东西,这些东西具体是什么意思,我们先不管

下面我们来补充一点相关知识

文件 = 文件属性 + 文件内容

就拿我们熟悉的 windows 操作系统来说
image-20231125172722459

这个文件的名字,修改日期,文件类型,文件大小等等,都属于文件属性
而文件中存的数据就是文件内容

文件属性和文件内容都是数据,都需要保存起来,所以这个文件虽然内容为空,但是属性也是数据,也是需要占据空间的

未来我们对文件进行操作时:

  • 1.对文件属性操作
  • 2.对文件内容操作

操作形式:

  • 指令操作
  • 编写程序操作

所以 ls -l 显示的都是文件的属性

ls -a 指令

可以显示隐藏文件,什么是隐藏文件呢?

在 Linux 系统中,以 . 开头的文件都是隐藏文件

ls -la列出隐藏文件在内的所有文件,其中 al 的顺序怎样都可以,可以是 al 也可以是 la
image-20231125183254858

我们手动创建一个隐藏文件,然后用 ll 查看image-20231125183523124
查看不到 .file.txt文件

再用 ls -la查看
image-20231125183831911
这样就可以看到了

pwd | 路径


上面我们已经了解到,pwd 会显示我们当前所处的路径,那么什么是路径呢?

在 windows 系统中,我们使用文件资源管理器时,顶端都会有当前所处路径

image-20231125180431806

在 Linux 系统中,我们使用 pwd 指令,也可以看到当前所处路径
image-20231125180805581

这是 windows 系统下的路径 C:\Users\13581\Desktop\Code\blog\Linux

这是 Linux 系统下的路径 /root/code

可以看到它们之间的不同:一个用 \分隔,一个用/分隔

无论是 \还是 /,我们统称为 分隔符

用分隔符维护起来的一串字符就是路径

通过观察,可以发现:

  • 两个分隔符之间一定是目录
  • 路径的末尾可能是目录或者普通文件

那为什么要有路径呢?

路径在系统层面标识了一个特定文件,当我们要寻找特定文件时,就需要路径

既然路径可精准地找到特定文件,那路径必须有唯一性,总不能同一个路径找到了好几个不同目录或文件吧,这不就乱套了

cd | 目录


上面已经提过,cd 可以切换目录,那我们下面就来谈谈目录

当前路径与上级路径

我么已经知道,使用 ls - la可以查看,隐藏文件,隐藏文件都是以 . 开头的

那么有没有人注意过 ... 呢?它们又是什么意思呢?
image-20231125190546553

先不着急,我们再来看文件属性最前面的信息
image-20231125190942823

d 开头的代表 direct,目录
- 开头的代表普通文件

那就说明,...代表的是文件夹

这里直接说明:

  • .代表当前路径
  • ..代表上级路径

直接上手使用看看

先使用 pwd 查看当前路径,再进入 . 再查看当前路径
image-20231125191449210
可以看到,当前路径并没有发生变化

进入 .. 再查看
image-20231125191628110
此时,当前路径切换到了上级路径

还有一点:任何目录下都存在 ...

那 . 和 … 有什么用呢?

.. 不难理解,可以帮我们回退到上级目录,那 . 呢?

当我们要访问一个文件时,是需要找到这个文件的
当前文件下有一个可执行文件,我们不要写出它的完整路径,只需要 ./文件名 就可以了

例如,当前目录下有一个 test.c 文件,内容如下:
image-20231125195518853

我们要运行,就得先编译 test.c ,形成 a.out 可执行文件
image-20231125195557893

运行 a.out
image-20231125195715329
并没有运行成功,这是因为没有 a.out 的路径,找不到文件

如果加上当前路径再运行
image-20231125195849705
运行成功

所以 . 可以帮我们访问可执行文件

路径的唯一性

当我们无脑进入上级路径之后,发现进入 / 后就不能继续了
image-20231125192100784

这个 / 就是Linux系统中的根目录

我们知道,目录中可以有文件,也可以有目录,那子目录中还可以有目录
所以,Linux的整个文件目录结构是一颗多叉树
image-20231125192519004

每个目录都可能有多个子目录或文件,但是每个目录或文件都只有一个父目录
就像一个人有好多个孩子,那这些孩子只有一个父亲

因为这个特点,当我们寻找某个特定目录或文件时,就只能有一个路径

比如,在上图中寻找 test.c ,因为每个目录或文件只有一个父目录,在 test.c 的位置向上逆推到根目录,就只有一个路径
/home/bit/test.c
这就体现了路径的唯一性

相对路径与绝对路径

访问一个文件或目录

  • 路径从根目录开始,就是绝对路径
  • 以当前路径为参照开始,就是相对路径

就这么说有点抽象,下面我们来看例子

当前路径是 /root/code/test ,要访问 a.out

image-20231125200842407

先来看绝对路径

从根目录开始访问
image-20231125201308846

再来看相对路径

当前处于 test 目录下
image-20231125201646358

只需要以 test 目录为参考,找到a.out

这里还有另一种玩法,进入 dir
image-20231125202020193

以 dir 为参考,利用上级路径 ..,找到 a.out
image-20231125202207260

以上就是本章的内容,如果对你有帮助,请留个赞叭~ 😄

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿洵Rain

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

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

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

打赏作者

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

抵扣说明:

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

余额充值