01. Linux中的常见指令介绍
本文介绍了Linux系统中常用的文件操作指令,包括目录与文件管理(ls、pwd、cd、mkdir、rm)、文件内容查看(cat、tac、more、less、head、tail)、文件操作(touch、cp、mv、find)、时间处理(date)、文本搜索(grep)以及压缩解压(tar)。重点讲解了各指令的常用选项和实用技巧,如使用管道连接命令、递归操作、权限处理等。这些基础指令是Linux系统管
·
Linux中的常见指令
01. ls指令
- ls -a 列出目录下的所有文件
- ls -d 这个指令会将目录像文件一样显示,只会展示目录本身,不加就是显示目录文件的内部信息
- ls -R 递归列出子目录下面的文件
02. pwd指令
- 显示用户当前所在的目录
03. cd指令
首先先介绍一下文件本身
- 文件本身:要明确即使是一个空文件也是会在磁盘上占用空间的,这是因为一份文件的构成是文件的内容和文件的属性
- 即 文件 = 文件内容 + 文件数据
- 文件之间 (普通文件 VS 目录)
讲解一下指令
- 改变工作目录,将当前工作目录改变到指定目录之下
- 需要强调的是
. #称之为当前目录 所以当要执行文件时常见的是./a.out
.. # 称之为上一级目录
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径 # /这个是回退的最终目录
cd ../day02/ : 相对路径
cd ~:进入用户家目 # home/zhongyuan
cd -:返回最近访问目录
04. touch指令
- 可以用来创建文件,当touch一个已经存在的文件的时候,会修改文档的存取时间和更改时间
- 当我们使用stat命令来查看文件的时候会得到一份文件的详细信息
Access: (0664/-rw-rw-r--) Uid: ( 1001/zhongyuan) Gid: ( 1001/zhongyuan)
Access: 2025-09-10 11:07:10.111683043 +0800 # 最后一次读取该文件的时间(比如用 cat、less 查看内容)
Modify: 2025-09-10 11:07:10.108682933 +0800 # 最后一次修改文件内容的时间(比如编辑文件内容),修改文件内容一般也会修改change时间
Change: 2025-09-10 11:07:10.108682933 +0800 # 最后一次修改文件元数据的时间(比如更改权限、所有者等)
# touch修改的就是这样的文件时间
# 其中需要注意的是为了防止Acces也就是读取文件时间频繁的进行变换,Linux也是启用了挂载选项
05. mkdir指令
- mkdir test创建一个名称为test的文件夹
- mkdir -p 递归创建文件夹,可以同时创建多个目录
06. rmdir && rm指令
- rmdir
- 删除空目录 注意只能是删除空目录
- -p选项 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
- rm
- 可以同时删除文件或者目录
- -f (force)对于文件属性为只读的文件,也进行强制删除
- -i 删除前直接进行确认
- -r 删除目录以及所有文件,递归删除
07. man指令
man [选项] [章节号] 命令名
- 常用选项的说明
- -k 按关键字搜索手册页(类似 apropos)
- -f 显示命令的简要说明(类似 whatis)
- -a 显示所有匹配的手册页
- -w 显示手册页的路径而不打开内容
- 章节号说明(其实还有很多但是在这里我只列出了最重要的一部分)
- 1 用户命令(如 ls, cd)
- 2 系统调用(如 open, read)
- 3 库函数(如 printf, malloc)
08. cp指令
cp [选项] 源文件或者是目录 目标文件或者是目录
09. mv指令
mv [选项] 源文件或者是目录 目标文件或者是目录
- 当在同一个目录下,mv在相同类型下会完成重命名
- 选项
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
集中查看文件指令对比
- cat 正序查看目标文件的内容(不适合去查看大型文本)
- -b 对非空的行进行编号
- -n 对输出的所有行进行编号
- -s 不输出空行
- tac 逆序打印出文件之中的内容
- more 可以慢慢查看文件的内容一次只显示一部分
- -n 对行进行编号
- less指令
- 📄 查看大文件 不会一次性加载整个文件,节省资源
- 🔍 搜索关键字 支持正向(向下搜索) /pattern 和反向(向上搜索) ?pattern 搜索
- 📜 分页浏览 支持上下翻页、跳转到指定行或百分比位置
- 📈 实时监控文件变化 使用 less +F 类似 tail -f,适合查看日志更新
- 📂 管道接收命令输出 如
dmesg less
,查看大量系统信息 - 📁 查看多个文件 less file1 file2,可在多个文件间切换
- 🧭 标记兴趣点 使用 m[a-z] 添加标记,'[a-z] 跳转回标
10. head指令
- head -n [文件] 显示文件的前n行
11. tail指令
- tail -n [文件] 显示文件的后n行
- 插入管道的概念
- 在 Linux 中,管道(pipe)是一种非常核心的机制,用于将一个命令的输出直接传递给另一个命令作为输入。它是命令行中实现数据流式处理的利器,既高效又优雅。
- 它连接两个或多个命令,使得前一个命令的输出直接成为后一个命令的输入,本质上是一种进程间通信(IPC)机制,在内核中通过缓冲区实现数据传递
# 举个例子
# ps aux:列出所有进程
# grep nginx:从中筛选包含 nginx 的行
# 管道 | 把 ps aux 的结果直接传给 grep,无需中间文件
ps aux | grep nginx
head -n1000 test.txt | tail -n50 # 这里表明的就是取出了950行到1000行
12. date指令
- 命令 date +%s 在 Linux 中的作用是:输出当前时间的 Unix 时间戳,也叫做 Epoch 时间。它是从 1970 年 1 月 1 日 00:00:00 UTC 到现在所经过的秒数。
[zhongyuan@VM-8-11-centos 进度条]$ date +%s
1757492926
- 如果要将时间戳转化成正常时间
date -d@1757492926
Wed Sep 10 16:28:46 CST 2025
13. find指令(会去访问磁盘外设,但是效率会比较低)
- which命令: 只搜索命令
- whereis:在指定路径下做搜索,一种近似查找的方案
[root@VM-8-11-centos ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
# 其中我想介绍一下alias指令
# 是用于为复杂或常用的命令创建简短的“别名”
# 例如
alias ll='ls -l --color=auto'
# 此时只需要输入ll就可以执行
14. greb指令
🧪 使用示例
✅ 查找文件中包含 “error” 的行:
grep "error" logfile.txt
✅ 忽略大小写查找:
grep -i "error" logfile.txt
✅ 显示匹配行号:
grep -n "error" logfile.txt
✅ 查找多个文件中的匹配行:
grep "error" *.log
✅ 递归查找目录下所有文件:
grep -r "error" /var/log/
✅ 只显示匹配的文件名:
grep -l "error" *.log
15. tar指令
📦 打包文件或目录(不压缩)
tar -cvf archive.tar folder/
-c
:创建归档-v
:显示过程(可选)-f
:指定文件名folder/
:你要打包的目录或文件
🗜 打包并压缩为 .tar.gz
tar -czvf archive.tar.gz folder/
-z
:使用 gzip 压缩- 生成的文件更小,适合传输或备份
🗜 打包并压缩为 .tar.bz2
(更高压缩率)
tar -cjvf archive.tar.bz2 folder/
-j
:使用 bzip2 压缩- 压缩率高但速度稍慢
📂 解压 .tar
文件
tar -xvf archive.tar
-x
:解包-v
:显示过程-f
:指定文件名
📂 解压 .tar.gz
文件
tar -xzvf archive.tar.gz
-z
:使用 gzip 解压
📂 解压 .tar.bz2
文件
tar -xjvf archive.tar.bz2
-j
:使用 bzip2 解压
🔍 查看压缩包内容(不解压)
tar -tvf archive.tar.gz
-t
:列出内容-v
:显示详细信息
🧠 小技巧:
-
如果你只想解压到指定目录:
tar -xzvf archive.tar.gz -C /path/to/destination/
-
如果你只想打包多个文件:
tar -cvf files.tar file1.txt file2.c file3.jpg
更多推荐
所有评论(0)