前言:为什么要系统学习这些命令?

很多新手学Linux时最大的困惑是:命令太多,记不住、用不来

其实Linux命令就像乐高积木——每个命令都是一个功能块,学会它们的用法后,你可以用管道|把它们组合起来,完成任何你想做的事情。

今天这篇文章,我会带你系统梳理Linux中最基础、最常用的命令,并按照功能分类整理,让你不仅“知道”这些命令,更知道“什么时候用”、“怎么用”。

---------------------------------------------------------------------------------------------------------------------------------

一、文件查看命令(最常用的5个)

1.1 命令对比一览

命令 特点 适用场景 翻页方式
cat 一次性输出全部 小文件(几十行) 无翻页
more 分页,只能向下 较长的文件 空格向下
less 功能最强大,可上下翻 任何文件 方向键/PgUp/PgDn
head 只看开头 预览文件 固定行数
tail 只看结尾 查看最新日志 可实时追踪

1.2 详细用法

bash

# cat - 查看小文件
cat file.txt
cat -n file.txt          # 显示行号
cat -A file.txt          # 显示隐藏字符(换行符、Tab等)

# more - 只能向下翻
more large.log           # 空格翻页,q退出

# less - 强烈推荐!
less large.log           # 方向键上下,/搜索,n下一个,q退出

# head - 看开头
head -n 20 file.txt      # 显示前20行(默认10行)

# tail - 看结尾
tail -n 20 file.txt      # 显示后20行
tail -f app.log          # 实时追踪(-f = follow),按Ctrl+C退出

1.3 grep文本搜索过滤

bash

grep "error" log.txt              # 搜索包含error的行
grep -i "error" log.txt           # 忽略大小写
grep -n "error" log.txt           # 显示行号
grep -v "debug" log.txt           # 反向匹配(排除debug)
grep -r "TODO" ./src/             # 递归搜索目录
grep -E "error|warning" log.txt   # 正则匹配多个关键词

二、文本编辑器入门

2.1 nano新手友好的编辑器

bash

nano file.txt
  • 底部有快捷键提示(^X表示Ctrl+X

  • 适合快速编辑配置文件

2.2 vim强大的编辑器

bash

vim file.txt

三种模式

模式 如何进入 如何退出 做什么
普通模式 默认 Esc 移动光标、删除、复制
插入模式 i Esc 输入文字
命令模式 : Esc 保存、退出、搜索

新手必会的操作

操作 命令 说明
保存退出 :wq 在命令模式下
不保存退出 :q! 强制退出
删除当前行 dd 普通模式下
删除4行 4dd 向下删除4行
复制当前行 yy -
粘贴 p 在光标后粘贴
粘贴5遍 5p -
删除到末尾 dG 从光标到文件尾
删除到开头 dgg 从光标到文件头
下一行插入 o 自动进入插入模式

快速定位技巧

目标 命令
文件第一行行首 gg
文件最后一行行首 G
跳转到第50行 :50
搜索"error" /error(n下一个,N上一个)

三、时间与时区

bash

date                 # 查看当前时间
date +%F             # 2026-06-08
date +%Y-%m-%d       # 同上
date +%H:%M:%S       # 15:30:45

timedatectl          # 查看时区信息
timedatectl list-timezones   # 列出所有时区
sudo timedatectl set-timezone Asia/Shanghai  # 设置中国时区

四、文件格式转换(Windows ↔ Linux)

Windows和Linux的换行符不同:

  • Windows:CRLF\r\n

  • Linux:LF\n

bash

# Windows文件转Linux格式
dos2unix windows_file.txt

# Linux文件转Windows格式
unix2dos linux_file.txt

# 如果没有这两个命令,先安装
sudo apt install dos2unix   # Ubuntu/Debian

也可以直接用   notepad++  右下角切换换行符格式。

五、文件类型与状态

5.1 file查看文件真实类型

bash

file script.sh
# 输出: script.sh: Bash script, ASCII text executable

file image.jpg
# 输出: image.jpg: JPEG image data

注意:扩展名(.txt/.sh)在Linux中只是文件名的一部分,file命令读取文件头判断真实类型。

5.2 stat查看文件详细状态

bash

stat file.txt

输出包含:

  • 文件大小

  • 块数量

  • 访问时间(atime)

  • 修改时间(mtime)

  • 状态改变时间(ctime)

  • Inode编号

  • 链接数

  • 权限

5.3 echo输出与颜色

bash

echo "Hello"                    # 普通输出
echo -e "Line1\nLine2\tTab"     # 启用转义符(\n换行,\t制表符)

# 彩色输出(-e必须加)
echo -e "\033[31m红色文字\033[0m"
echo -e "\033[32m绿色文字\033[0m"
echo -e "\033[33m黄色文字\033[0m"

颜色代码表:

颜色 代码
红色 31
绿色 32
黄色 33
蓝色 34
紫色 35
青色 36

\033[0m 重置颜色,否则后面所有文字都会变色。

六、通配符(批量操作的神器)

当有很多文件时,如何快速过滤出想要的文件?

符号 名称 含义 示例
* 星号 匹配任意长度字符(含0个) *.txt 所有txt文件
? 问号 匹配单个字符 file?.txt 匹配file1.txt
[abc] 方括号 匹配括号内任意一个 file[123].txt
[0-9] 范围 匹配范围内的字符 file[0-9].txt
[^abc] 脱字符 匹配不在括号内的字符 file[^0-9].txt
{a,b,c} 花括号 字符串展开 {1..10}.txt 生成1-10

实战示例

bash

ls *.log                    # 所有log文件
rm file?.tmp                # 删除file1.tmp, fileA.tmp
cp config[0-9].bak backup/  # 复制config0.bak到config9.bak
touch {1..5}.txt            # 创建1.txt,2.txt,3.txt,4.txt,5.txt
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐