news 2026/9/4 8:35:46

Linux基础指令上

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux基础指令上

pwd指令与linux文件结构

pwd指令

指令:pwd

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

-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-4.2# ls -a . .. .bash_history .cache .config .lesshst mulu01 test01.c test.c
-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-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-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-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-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-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-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-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-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-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-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 也会在内部安全地处理,避免对这两个特殊目录进行操作。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 3:52:23

三菱Q系列PLC填表式通信实现Modbus RTU数据采集与设备控制

在实际工业自动化项目中,PLC与第三方设备(如仪表、变频器、传感器)的通信是核心需求。三菱Q系列PLC功能强大,但其原生通信指令(如RS指令)在应对Modbus RTU这类标准协议时,往往需要开发者编写大量…

作者头像 李华
网站建设 2026/9/4 8:25:42

FPGA实战:MIPI CSI-2接收子系统配置与调试全解析

简介:这是基于Xilinx FPGA的MIPI CSI-2接收子系统完整工程,面向在Zynq UltraScale(zyqnmp)平台上实现摄像头数据接入与HDMI显示输出的硬件开发者,解决MIPI接口信号捕获、通道同步与视频格式转换等关键难题。压缩包共20…

作者头像 李华
网站建设 2026/9/5 7:11:43

冒泡排序可视化:用24个数字讲透算法过程与Python实现

冒泡排序可视化不是用来“欣赏”的,它是把算法过程变成可观察状态的最好方法。这篇文章用24个数字作为排序样本,把冒泡排序从相邻比较、逐趟扫描到每个元素沉底的过程完整拆开,最后给出可以运行的最小可视化程序和排查思路。如果你正在学算法…

作者头像 李华
网站建设 2026/9/2 7:23:53

每日leetcode(这题真的很有意思,第一次搞半天搞错瓶颈在哪)

2948. 交换得到字典序最小的数组 - 力扣(LeetCode) 代码参考: 并查集【C数据结构进阶】玩转并查集:从原理到实战,C 实现与高频面试题全解析_并查集c-CSDN博客 题目 给你一个下标从 0 开始的 正整数 数组 nums 和一…

作者头像 李华
网站建设 2026/9/5 6:34:05

收藏 | 医疗AI大模型:从辅助到独立写报告,小白也能看懂的技术变革

本文介绍了医疗AI从辅助功能向完整工作流转变的过程,重点讲述了一场医学影像AI大会上的挑战赛。比赛中,AI智能体首次尝试独立承担任务,编写胸部CT影像报告。比赛设置了四种工作模式:医生单独写报告、医生搭配传统AI模型、医生协同…

作者头像 李华