Linux基础指令上

pwd指令与linux文件结构

pwd指令

指令:pwd

功能:查看别人所处工作目录

bash 复制代码
-bash-4.2# pwd
/root
-bash-4.2# 

linux文件结构

Linux的文件是一颗多叉树

非叶子节点:非空目录。

叶子节点:空目录或者普通文件

ls指令与常用选项以及linux中的文件

1.1ls指令

**语法:**ls 选项 目录或文件

**功能:**对于目录,该命令列出该目录下的所有子目录与文件,对于文件,将列出文件名以及其它信息

常用选项:

-a列出目录下所有文件,包括以 . 开头的隐含文件

-d将目录像文件一样显示,而不是显示其下的文件,如:ls -d 指定目录

-l 列出当前工作目录下的文件的详细信息

选项组合效果查表:(选项可以连用,连用选项没有固定格式要求,可以是 -a -l;或者是-l -a;-al;-la)

bash 复制代码
-bash-4.2# ls -a
.  ..  .bash_history  .cache  .config  .lesshst  mulu01  test01.c  test.c
bash 复制代码
-bash-4.2# ls -l
total 12
drwxr-xr-x 4 root root 4096 Mar 31 20:24 mulu01
-rw-r--r-- 1 root root   48 Mar 31 20:05 test01.c
-rw-r--r-- 1 root root   13 Mar 31 20:06 test.c
-bash-4.2# 
bash 复制代码
-bash-4.2# ls -al
total 36
drwxr-xr-x   5 root root 4096 Mar 31 20:24 .
dr-xr-xr-x. 19 root root 4096 Apr  6 15:59 ..
-rw-------   1 root root 1430 Apr  5 21:19 .bash_history
drwxr-xr-x   3 root root 4096 Mar 30 17:27 .cache
drwxr-xr-x   3 root root 4096 Mar 30 17:27 .config
-rw-------   1 root root   51 Mar 31 20:34 .lesshst
drwxr-xr-x   4 root root 4096 Mar 31 20:24 mulu01
-rw-r--r--   1 root root   48 Mar 31 20:05 test01.c
-rw-r--r--   1 root root   13 Mar 31 20:06 test.c
bash 复制代码
-bash-4.2# cd /root/mulu01
-bash-4.2# ls -d
.
-bash-4.2# ls -ld
drwxr-xr-x 4 root root 4096 Mar 31 20:24 .
-bash-4.2# ls -ald
drwxr-xr-x 4 root root 4096 Mar 31 20:24 .

ls -d为什么只显示一个点,其意思是列出当前目录本身,所以就只有一个点

-a和-d在同一条指令时,只会发挥-d不会发挥-a的作用,看似冲突了,但其实它们并不冲突,而是作用的对象和层级完全不同,-a管的是范围就是进行扫描时,是否要扫描隐藏文件,-d管的是行为,是否要把目录本身当作普通文件,有了-d时就会只扫描当前目录

bash 复制代码
-bash-4.2# cd /root/mulu01
-bash-4.2# ls -d
.
-bash-4.2# ls -ld
drwxr-xr-x 4 root root 4096 Mar 31 20:24 .
-bash-4.2# ls -ald
drwxr-xr-x 4 root root 4096 Mar 31 20:24 .
-bash-4.2# ls -al /root/mulu01
total 32
drwxr-xr-x 4 root root 4096 Mar 31 20:24 .
drwxr-xr-x 5 root root 4096 Mar 31 20:24 ..
drwxr-xr-x 3 root root 4096 Mar 31 20:02 mulu03
drwxr-xr-x 2 root root 4096 Mar 30 17:33 nihao01
-rw-r--r-- 1 root root 3257 Mar 31 20:17 test01
-rw-r--r-- 1 root root 4495 Mar 31 20:23 test02
-rw-r--r-- 1 root root  297 Mar 31 20:24 test03
-bash-4.2# 

ls可以指定目录

1.2linux中的文件初步介绍

首先,目录就是文件夹。文件夹有文件名和文件属性。文件属性有文件的名称,文件的各种时间(如修改时间,创建时间)。我们学习文件是学习堆文件内容的操作和对文件属性的操作。

这里ls指令就是显示文件信息,ls只显示文件的名称,ls-l显示的是文件的详细信息(文件属性):

bash 复制代码
-bash-4.2# ls -l
total 8
drwxr-xr-x 2 root root 4096 Apr  6 16:29 mulu07
drwxr-xr-x 2 root root 4096 Mar 31 20:02 nihao01
-rw-r--r-- 1 root root    0 Mar 31 20:02 test01

其中 -开头就是普通文件,d开头就是目录,除此之外,文件名以.和..开头的就是隐藏文件,需要ls-a才能显示出来,任何目录下都会有这两个文件(即使目录是空的),具体作用后续讲解

如果我们想要查找一个文件的详细状态信息,可以使用stat指令+文件名解决

bash 复制代码
-bash-4.2# stat /root/mulu01/mulu03/mulu01/test01
  File: '/root/mulu01/mulu03/mulu01/test01'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 786450      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-03-31 20:02:36.075569579 +0800
Modify: 2026-03-31 20:02:36.075569579 +0800
Change: 2026-03-31 20:02:36.075569579 +0800
 Birth: -
-bash-4.2# 

科普内容

这里的三个时间都是什么意思?

Access: 2026-03-31 20:02:36 (访问时间),最后一次读取文件内容的时间。

Modify: 2026-03-31 20:02:36 (修改时间),最后一次修改文件内容的时间。

Change: 2026-03-31 20:02:36 (状态改变时间),最后一次修改文件**元数据(属性)**的时间。

mkdir指令---创建文件夹

3.1mkdir指令的使用

功能:创建新的工作目录

指令语法:mkdir+新的工作目录名称

bash 复制代码
-bash-4.2# tree
.
|-- nihao01
|   `-- test789.txt
`-- test01

1 directory, 2 files
-bash-4.2# mkdir mulu07
-bash-4.2# tree
.
|-- mulu07//多了一个目录
|-- nihao01
|   `-- test789.txt
`-- test01

2 directories, 2 files
-bash-4.2# 

3.2mkdir的常用选项

touch指令与时间戳

4.1touch指令的使用

功能:1.创建新文件2.修改文件时间

语法:touch +文件名

bash 复制代码
-bash-4.2# tree
.

0 directories, 0 files
-bash-4.2# touch file01.txt
-bash-4.2# tree
.
`-- file01.txt

0 directories, 1 file
-bash-4.2# 

修改文件时间

bash 复制代码
-bash-4.2# stat file01.txt
  File: 'file01.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 786456      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-04-07 08:18:36.851113831 +0800
Modify: 2026-04-07 08:18:36.851113831 +0800
Change: 2026-04-07 08:18:36.851113831 +0800
 Birth: -
-bash-4.2# touch file01.txt
-bash-4.2# stat file01.txt
  File: 'file01.txt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 786456      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2026-04-07 08:23:02.769923455 +0800
Modify: 2026-04-07 08:23:02.769923455 +0800
Change: 2026-04-07 08:23:02.769923455 +0800
 Birth: -
-bash-4.2# 

touch后面的文件名如果存在,那就是修改文件时间(Access,Modify,Change)

如果不存在,就是创建新文件

4.2时间戳的概念补充

   时间戳(Timestamp)是计算机记录特定事件(如文件创建、数据修改或交易发生)发生时刻的一组数字,它像是一把数字刻度尺,通常以从"格林威治时间 1970 年 1 月 1 日 0 时"开始计算的总秒数(即 Unix 时间戳)来表示,从而确保在不同系统、不同时区之间都能拥有一个统一、唯一且可精确比较的时间参照。

   格林威治时间 1970 年 1 月 1 日 0 时------东八区1月1日上午8点。时间戳为0,我写这篇博客的时候的时间戳为1775527771。

cd指令与linux中的路径

功能:切换工作目录

语法:cd+空格+路径

bash 复制代码
-bash-4.2# tree
.
|-- mulu01
|   |-- mulu03
|   |   `-- mulu01
|   |       |-- nihao01
|   |       |   `-- test789.txt
|   |       `-- test01
|   |-- nihao01
|   |   `-- test789.txt
|   |-- test01
|   |-- test02
|   `-- test03
|-- test01.c
`-- test.c

5 directories, 8 files
-bash-4.2# cd /root/mulu01
-bash-4.2# pwd
/root/mulu01

Linux终端的路径分为绝对路径和相对路径

绝对路径:从根目录root开始向下查找的路径,配置文件中用的多一些

相对路径:从任何目录开始查找得到的路径,在日常使用的多

cd和相对路径有关的其他用法和一一演示

cd -:切回到你上一次所在的目录。 cd ~:直接飞回root目录。 cd . .:到上级目录

rm删除指令与rmdir指令与通配符

rm指令

功能:删除任何可以被删除的文件/目录

语法:rm + 要删除的文件目录

常用指令组合

rmdir指令----删除空目录

功能:删除一个空目录

语法:rm + 要删除的空目录

bash 复制代码
-bash-4.2# tree
.
|-- mulu01
|   |-- nihao01
|   |   `-- test789.txt
|   |-- test01
|   |-- test02
|   `-- test03
`-- test.c

2 directories, 5 files
-bash-4.2# rmdir /root/mulu01
rmdir: failed to remove '/root/mulu01': Directory not empty
-bash-4.2# mkdir mulu02
-bash-4.2# tree
.
|-- mulu01
|   |-- nihao01
|   |   `-- test789.txt
|   |-- test01
|   |-- test02
|   `-- test03
|-- mulu02
`-- test.c

3 directories, 5 files
-bash-4.2# rmdir mulu02
-bash-4.2# tree
.
|-- mulu01
|   |-- nihao01
|   |   `-- test789.txt
|   |-- test01
|   |-- test02
|   `-- test03
`-- test.c

2 directories, 5 files
-bash-4.2# 

模糊操作---*通配符

含义:匹配任意长度的任何字符

ls *.txt:找所有以.txt结尾的文件

ls mulu*:找所有以mulu开头的文件

ls test:找出所有文件里面带test的文件

rm -rf *:删除当前目录下所有非隐藏内容

除了隐藏文件,* 还不能通配什么?
通配符 * 的设计原则是匹配文件名中的字符,但为了安全和结构上的考虑,它有两个明确的"禁区":
路径分隔符 /
* 不能匹配目录分隔符。它只能在同一个目录层级内匹配文件名,无法跨目录匹配。
例如:在 /home/user 目录下执行 ls *,它会列出该目录下的所有文件,但不会列出 /home/user/subfolder/file.txt 这样的深层文件。如果你要匹配深层文件,需要使用 ls **(需要先通过 shopt -s globstar 开启 globstar 选项)。
路径起始的 . 和 ..
* 永远不会匹配当前目录 . 和上级目录 ..。即使你使用专门匹配隐藏文件的 .*,Shell 也会在内部安全地处理,避免对这两个特殊目录进行操作。

相关推荐
爱喝水的鱼丶40 分钟前
SAP-ABAP:BAdI 上下文数据获取与交互:标准数据读取与修改逻辑实现
运维·性能优化·sap·abap·增强·经验交流·badi
ARM|X86+FPGA工业主板厂家1 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
sulikey1 小时前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器
mengge.cloud1 小时前
网络技术基础小白教程
linux·服务器·网络·云计算
pt10432 小时前
网络自动化Python课程:Python与Linux密钥和敏感信息管理介绍
运维·自动化
严谨的麻辣烫2 小时前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全
学代码的CJY2 小时前
Linux 重定向、管道与环境变量
linux·spring boot·spring
云智慧AIOps社区2 小时前
2026年智能巡检机器人行业格局:三类厂商阵营、选型维度与产品推荐
运维·人工智能·机器人·巡检机器人
treacle田2 小时前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机