当前位置: 首页 > news >正文

de风——【从零开始学Linu】 - 基础指令详解(二)


前言:承接上篇,继续进阶

上篇链接🔗:https://blog.csdn.net/Xiao_running/article/details/161167948?fromshare=blogdetail&sharetype=blogdetail&sharerId=161167948&sharerefer=PC&sharesource=Xiao_running&sharefrom=from_link

大家好!我是你们的小小风呀,欢迎来到《从零开始学习 Linux》专题的第二篇博客!

在上一篇文章中,我们一起学习了:

  • ✅ 如何使用 Xshell 连接腾讯云服务器

  • ✅ 最基础的三个指令:lscdpwd

  • ✅ Linux 的目录结构和路径概念

如果说第一篇是 "认识 Linux 的大门",那么今天这篇就是 "走进 Linux 的客厅"—— 我们要学习更多实用的基础指令,这些指令将伴随你整个 Linux 学习生涯!

本篇学习目标:

  1. 掌握输出打印、文件查看等常用指令

  2. 学会使用 nano 编辑器

  3. 理解重定向和管道的概念

  4. 掌握文件查找和时间日期相关指令

  5. 了解 Linux 文件类型分类

话不多说,让我们开始今天的学习之旅!🚀


(一)基础输出打印指令

输出指令是我们与 Linux"对话" 的最基本方式,就像我们说话一样重要!

1. echo 指令

语法形式
echo [选项] [输出内容]
功能

echo就像是 Linux 的 "嘴巴",专门用来在终端上输出文字或变量内容。它是最简单、最常用的输出命令,就像我们 C 语言中的printf一样!

💡新手提示:echo 默认会在输出结尾自动换行,这是它的默认行为

举例说明

【例子 1:普通文本输出】

# 直接输出一段文字 echo "Hello Linux! " # 不加引号也可以输出(但建议加引号,更规范) echo Hello World

【例子 2:输出变量内容】

# 定义一个变量 name="小小的风的Linux" # 使用$符号引用变量并输出 echo "欢迎来到$name"

【例子 3:不换行输出 -n 选项】

# 默认会换行 echo "第一行" echo "第二行" # 使用-n选项不换行 echo -n "不换行的" echo "内容"

【例子 4:输出转义字符 -e 选项】

# -e选项启用转义字符解析 echo -e "第一行\n第二行\t制表符" # 输出带颜色的文字(进阶技巧) echo -e "\033[31m红色文字\033[0m" echo -e "\033[32m绿色文字\033[0m"

2. printf 指令

语法形式
printf "格式字符串" [参数...]
功能

printf是更专业的输出命令,它和 C 语言的printf函数几乎一模一样!支持格式化输出,可以精确控制输出格式,比 echo 更强大。

💡新手提示:printf不会自动换行,需要手动加\n,这是它和 echo 最大的区别

举例说明

【例子 1:基本格式化输出】

# 输出字符串,注意要手动加换行 printf "Hello, Linux!\n" # 按格式输出多个参数 printf "姓名:%s,年龄:%d\n" "张三" 20

【例子 2:控制输出宽度和对齐】

# %-10s 表示左对齐,占10个字符宽度 printf "%-10s %-8s %-4s\n" "姓名" "性别" "年龄" printf "%-10s %-8s %-4d\n" "张三" "男" 20 printf "%-10s %-8s %-4d\n" "李四" "女" 19

【例子 3:数字格式化】

# 小数格式化 printf "圆周率:%.2f\n" 3.1415926 # 八进制、十六进制输出 printf "十进制:%d,八进制:%o,十六进制:%x\n" 255 255 255

(二)文件内容查看类型指令

学会了怎么 "说话",现在我们来学习怎么 "看书"—— 查看文件内容!

1. cat 指令

语法形式
cat [选项] 文件名
功能

cat是最常用的文件查看命令,全称是 concatenate(连接),它可以:

  • 查看文件内容(最常用)

  • 合并多个文件内容

  • 创建简单的小文件

就像直接把书翻开,一次性展示所有内容!

⚠️新手常见坑:cat 适合查看小文件,大文件会刷屏!

举例说明

【例子 1:查看文件内容】

# 查看当前目录下的test.txt文件 cat test.txt # 查看多个文件内容(会拼接在一起) cat file1.txt file2.txt

【例子 2:显示行号 -n 选项】

# 显示所有行的行号,包括空行 cat -n test.txt # -b选项:只给非空行加行号 cat -b test.txt

【例子 3:合并多个文件】

# 将file1和file2的内容合并到newfile中 cat file1.txt file2.txt > newfile.txt

2. tac 指令

语法形式
tac 文件名
功能

tac就是cat反过来写!功能也正好相反 ——从最后一行倒着显示文件内容

就像把书倒过来看,从最后一页往前翻!这个指令在查看日志文件时特别有用,因为最新的日志通常在文件末尾。

举例说明

【例子 1:反向查看文件】

# 先看正常顺序 cat test.txt # 再看反向顺序 tac test.txt

【例子 2:查看最新日志】

# 系统日志文件,最新内容在最后,用tac直接看最新的 tac /var/log/messages | head -20

3. more 指令

语法形式
more [选项] 文件名
功能

more是 "分页查看" 命令,专门解决 cat 看大文件刷屏的问题!它会一页一页地显示文件内容,就像翻书一样。

操作方式:

  • 空格键:向下翻一页

  • Enter 键:向下翻一行

  • q 键:退出查看

  • = 键:显示当前行号

💡缺点:more 只能向下翻,不能向上翻!

举例说明

【例子 1:分页查看大文件】

# 分页查看一个大的配置文件 more /etc/services # 从第100行开始显示 more +100 /etc/services

【例子 2:设置每页显示行数】

# 每页只显示10行 more -10 test.txt

4. less 指令

语法形式
less [选项] 文件名
功能

less是 more 的升级版!功能更强大,是 Linux 查看文件内容的首选工具

less 的优势:

  • ✅ 可以上下翻页(PageUp/PageDown)

  • ✅ 可以上下翻行(↑/↓)

  • ✅ 支持搜索功能

  • ✅ 加载大文件比 vim 快

常用操作:

  • /关键词:向下搜索

  • ?关键词:向上搜索

  • n:下一个匹配

  • N:上一个匹配

  • q:退出

🔥记住:man 手册默认就是用 less 来显示的!

举例说明

【例子 1:查看文件并搜索】

# 查看系统日志 less /var/log/messages # 在less界面输入: # /error # 搜索error关键词 # n # 跳到下一个error # N # 跳到上一个error

【例子 2:显示行号查看】

# -N选项显示行号 less -N test.txt

5. head 指令

语法形式
head [选项] 文件名
功能

head就是 "头部" 的意思,用来查看文件开头几行的内容,默认显示前 10 行。

就像看书只看封面和前几页!

举例说明

【例子 1:查看文件前几行】

# 默认显示前10行 head /etc/passwd # 显示前5行 head -5 /etc/passwd # 或者 head -n 5 /etc/passwd

【例子 2:除了最后 N 行都显示】

# 显示除了最后20行之外的所有内容 head -n -20 test.txt

6. tail 指令

语法形式
tail [选项] 文件名
功能

tail就是 "尾巴" 的意思,用来查看文件末尾几行的内容,默认显示最后 10 行。

这是查看日志文件最常用的命令!因为日志最新的内容永远在最后。

举例说明

【例子 1:查看文件末尾几行】

# 默认显示最后10行 tail /var/log/messages # 显示最后5行 tail -5 /var/log/messages

【例子 2:实时监控日志 -f 选项(重点!)】

# 实时监控日志文件,有新内容自动刷新 tail -f /var/log/messages # 按Ctrl+C退出监控

🔥重点掌握tail -f是程序员排查问题的神器!程序运行时实时看日志就靠它!

【例子 3:从第 N 行开始显示到末尾】

# 从第100行开始显示到文件结束 tail -n +100 test.txt

(三)nano 的基本使用

终于到编辑器了!nano 是 Linux 最简单的文本编辑器,新手友好,比 vim 容易上手 100 倍!

1. 打开文件

语法形式
nano [文件名]
功能

打开或创建一个文件进行编辑。如果文件不存在,nano 会自动创建它。

举例说明

【例子:打开 / 创建文件】

# 打开已存在的文件 nano test.txt # 创建并编辑新文件 nano mycode.c

2. 基础编辑操作

nano 的编辑就像 Windows 的记事本一样简单!

功能
  • 直接用键盘输入文字

  • 方向键移动光标

  • Backspace/Delete 删除字符

  • 没有模式!不需要像 vim 那样按 i 进入编辑模式!

💡新手福音:nano 是 "所见即所得",直接打字就行,完全不用记命令!

举例说明

3. 核心快捷键

nano 的快捷键都显示在屏幕底部,用^表示 Ctrl 键!

快捷键

功能

Ctrl+O

保存文件(Write Out)

Ctrl+X

退出 nano

Ctrl+K

剪切一整行

Ctrl+U

粘贴

Ctrl+W

搜索

Ctrl+G

帮助

💡记忆技巧:保存 = O(Output),退出 = X(eXit),搜索 = W(Where)

举例说明

【保存并退出流程】

# 1. 编辑完成后,按 Ctrl+O 保存 # 2. 按 Enter 确认文件名 # 3. 按 Ctrl+X 退出nano

【搜索内容】

# 在nano中按 Ctrl+W # 输入要搜索的关键词,按Enter # 按 Alt+W 继续搜索下一个

(四)文件的移动和重命名 - mv 指令

语法形式
mv [选项] 源文件/目录 目标文件/目录
功能

mv是 move 的缩写,它有两个核心功能:

  1. 移动文件 / 目录:把文件从一个地方搬到另一个地方

  2. 重命名文件 / 目录:给文件改名字

🔥神奇之处:Linux 没有专门的 "重命名命令",mv 一个命令搞定两个功能!

举例说明

【例子 1:文件重命名】

# 把oldname.txt改名为newname.txt mv oldname.txt newname.txt # 目录也可以重命名 mv olddir newdir

【例子 2:移动文件到其他目录】

# 把file.txt移动到/home目录下 mv file.txt /home/ # 移动多个文件到目标目录 mv file1.txt file2.txt /tmp/

【例子 3:移动并改名】

# 把当前目录的a.txt,移动到/tmp目录下,并改名为b.txt mv a.txt /tmp/b.txt

【例子 4:覆盖前询问 -i 选项】

# 如果目标文件已存在,会询问是否覆盖 mv -i file.txt /tmp/ # 输入y覆盖,n取消

(五)重定向相关操作

重定向是 Linux 的核心概念之一!简单说就是:改变数据的流向

1. 输出重定向>

语法形式
命令 > 文件
功能

把命令本来要输出到屏幕上的内容,写入到文件中

⚠️注意>覆盖文件原有内容!如果文件不存在会自动创建。

就像把本来要倒在地上的水,倒进了杯子里!

举例说明

【例子 1:将命令输出写入文件】

# 把ls的结果写入到list.txt文件中 ls > list.txt # 查看写入的内容 cat list.txt

【例子 2:创建并写入文件】

# 创建文件并写入内容 echo "Hello World" > hello.txt # 覆盖原有内容 echo "新内容" > hello.txt

2. 追加重定向>>

语法形式
命令 >> 文件
功能

>类似,但不会覆盖,而是在文件末尾追加内容。

💡区别>= 覆盖写,>>= 追加写

举例说明

【例子 1:追加内容到文件】

# 先创建文件 echo "第一行" > test.txt # 追加第二行(不会覆盖第一行) echo "第二行" >> test.txt echo "第三行" >> test.txt # 查看结果 cat test.txt

【例子 2:收集多次命令结果】

# 多次执行命令,结果都追加到同一个文件 date >> log.txt echo "执行了ls命令" >> log.txt ls >> log.txt

3. 输入重定向<

语法形式
命令 < 文件
功能

把文件的内容,作为命令的输入数据

就像本来要从键盘输入数据,现在改成从文件里读!

举例说明

【例子 1:统计文件行数】

# 两种方式效果一样 wc -l test.txt wc -l < test.txt

【例子 2:从文件读取输入】

# 把file.txt的内容作为cat的输入 cat < file.txt

(六)管道|与组合指令用法

语法形式
命令1 | 命令2 | 命令3 ...
功能

管道|是 Linux 最强大的特性之一!它把前一个命令的输出,作为后一个命令的输入

就像工厂的流水线:第一个工序加工完,直接传给第二个工序继续加工!

🔥记住:管道可以无限连接,组合出无限可能!

举例说明

【例子 1:分页查看长输出】

# ls -l /etc 输出很长,用less分页查看 ls -l /etc | less

【例子 2:搜索过滤】

# 在所有进程中,只看包含ssh的进程 ps aux | grep ssh # 在用户列表中找root用户 cat /etc/passwd | grep root

【例子 3:多级管道组合】

# 1. 列出所有文件 # 2. 只看包含txt的行 # 3. 统计行数 ls -l | grep txt | wc -l

💡新手提示:管道是 Linux 的灵魂!以后你写的 90% 复杂命令都会用到管道!


(七)时间与日期相关指令

1. date 指令

语法形式
date [选项] [+格式]
功能

显示或设置系统时间和日期。可以自定义各种时间格式,非常灵活。

举例说明

【例子 1:显示当前时间】

# 默认格式显示 date # 输出示例:Sat Jan 14 15:30:00 CST 2023

【例子 2:格式化输出】

# 年-月-日 date +%Y-%m-%d # 时:分:秒 date +%H:%M:%S # 完整格式 date +"%Y-%m-%d %H:%M:%S"

【例子 3:常用格式符】

# %Y 年(4位) %y 年(2位) # %m 月 %d 日 # %H 小时 %M 分钟 %S 秒 # %A 星期全称 %a 星期缩写 # 示例:生成带时间的文件名 echo "日志内容" > log_$(date +%Y%m%d).txt

2. 时间戳概念与转换

什么是时间戳?

Unix 时间戳:从 1970 年 1 月 1 日 00:00:00 UTC 到现在的秒数

💡为什么用时间戳?全世界统一,没有时区问题,计算方便!

举例说明

【例子 1:获取当前时间戳】

# 获取当前时间戳(秒) date +%s

【例子 2:时间戳转日期】

# 把时间戳1673680800转成日期 date -d @1673680800 # 格式化显示 date -d @1673680800 +"%Y-%m-%d %H:%M:%S"

3. cal 指令

语法形式
cal [选项] [[月份] 年份]
功能

显示日历!就像 Linux 里的万年历~

举例说明

【例子 1:显示本月日历】

# 默认显示当前月 cal

【例子 2:显示指定年月】

# 显示2023年1月 cal 1 2023 # 显示2023年全年日历 cal 2023

【例子 3:显示 3 个月日历】

# 显示上个月、本月、下个月 cal -3

(八)Linux 文件类型分类详解

Linux 和 Windows 最大的不同之一:Linux 不以后缀名区分文件类型!

Linux 通过ls -l第一个字符来判断文件类型:

文件类型符号

类型

说明

-

普通文件

文本、二进制、压缩包等

d

目录文件

文件夹(directory)

l

软链接文件

类似 Windows 快捷方式

b

块设备文件

硬盘、U 盘等存储设备

c

字符设备文件

键盘、鼠标、终端等

p

管道文件

进程间通信用

s

套接字文件

网络通信用

🔥重点.txt.exe.doc这些后缀在 Linux 里只是给人看的,系统不认!

举例说明

【查看文件类型】

# ls -l第一个字符就是文件类型 ls -l /dev # 你会看到: # brw-rw---- 这是块设备(硬盘) # crw-rw-rw- 这是字符设备 # lrwxrwxrwx 这是软链接

(九)查找文件 - find 指令

语法形式
find [搜索路径] [选项] [搜索条件]
功能

find是 Linux 最强大的文件查找命令,可以在指定目录下递归搜索文件,支持各种复杂条件。

💡特点:实时搜索,虽然慢但最准确!

举例说明

【例子 1:按文件名搜索】

# 在当前目录下搜索所有.txt文件 find . -name "*.txt" # 不区分大小写搜索 find . -iname "TEST.TXT"

【例子 2:按文件类型搜索】

# 只找普通文件 find . -type f # 只找目录 find . -type d # 只找软链接 find . -type l

【例子 3:按文件大小搜索】

# 找大于10M的文件 find . -size +10M # 找小于100K的文件 find . -size -100k # 单位:c(字节) k(KB) M(MB) G(GB)

【例子 4:搜索后执行命令】

# 找到所有.txt文件并删除 find . -name "*.txt" -exec rm {} \; # 找到所有.c文件并查看 find . -name "*.c" -exec ls -l {} \;

(十)which 指令

语法形式
which 命令名
功能

查找命令的可执行文件在哪里。

我们输入的lscd这些命令,本质上都是一个个小程序,which 就是告诉你这些小程序放在哪个文件夹里。

举例说明

【例子:查找命令位置】

# 查找ls命令在哪里 which ls # 输出:/usr/bin/ls # 查找pwd命令 which pwd # 输出:/usr/bin/pwd # 查找自己写的程序 which gcc

💡原理:which 会在环境变量PATH指定的目录中搜索命令


(十一)whereis 指令

语法形式
whereis [选项] 命令名
功能

比 which 更强大!不仅找可执行文件,还找:

  • 源文件

  • 帮助手册(man 文件)

相当于 "命令的全家桶搜索"!

举例说明

【例子:查找命令相关文件】

# 查找ls的所有相关文件 whereis ls # 输出:ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz # 只找二进制文件 whereis -b ls # 只找man手册 whereis -m ls

(十二)alias 指令

语法形式
alias [别名='原命令']
功能

给命令起外号!把很长的命令简化成一个短单词,提高效率。

就像我们给朋友起外号,叫 "张三" 太麻烦,直接叫 "老三"!

举例说明

【例子 1:设置别名】

# 给ls -l起别名为ll alias ll='ls -l' # 现在直接输入ll就等于ls -l ll

【例子 2:实用别名推荐】

# 查看时自动带颜色 alias ls='ls --color=auto' # 删除前询问(防止误删) alias rm='rm -i' # 快速清屏 alias c='clear' # 快速回家 alias h='cd ~'

【例子 3:查看和取消别名】

# 查看所有已设置的别名 alias # 取消别名 unalias ll

⚠️注意:这样设置的别名只在当前终端有效,关闭就没了。要永久生效需要写入~/.bashrc文件!


本篇内容总结

恭喜你!又掌握了一大批 Linux 核心指令!来个大总结:

分类

指令

核心功能

输出打印

echoprintf

终端输出文字

文件查看

cattacmorelessheadtail

查看文件内容

编辑器

nano

简单文本编辑

文件操作

mv

移动 / 重命名

重定向

>>><

改变数据流向

管道

命令组合流水线

时间日期

datecal

时间日历

查找

findwhichwhereis

查找文件 / 命令

其他

alias

命令别名


下一篇预告

下一篇我们将学习:

  • 📁 文件权限的概念(rwx 到底是什么)

  • 🔐 chmod 修改权限

  • 👤 用户和用户组

  • 📦 tar 打包压缩和解压

  • ⚙️ grep 和 awk 文本处理三剑客

这些是 Linux 的核心精髓,一定要来哦!


:Linux 学习没有捷径,多敲多练才是王道!建议把今天的每个命令都敲 3 遍以上,肌肉记忆比什么都重要!

如果这篇文章对你有帮助,欢迎点赞👍收藏⭐关注我,我们下篇再见!

http://www.jsqmd.com/news/874408/

相关文章:

  • 【深度解析】制造业选AI Agent,应看重行业经验还是通用能力?
  • Win11当Linux用?手把手教你配置SSH服务实现远程开发与文件传输
  • 性价比高的生成式引擎优化GEO哪家专业
  • Git学习(四)
  • SQLmap Python环境配置避坑指南:从启动失败到稳定运行
  • IMPROVER系统:AI气象预报统计后处理的工程化实践
  • RuoYi接口调试:Postman作为Spring Boot权限系统可信信使
  • 告别加班!Windows 一键部署 Open Claw,下班前搞定全天工作量
  • 跨平台AI辅助图像标注工具VisioFirm的设计与实现
  • 用函数实现模块化程序设计
  • 深入理解 Eino 的向量体系:从 Embedding 到向量数据库
  • BIND DNS漏洞CVE-2025-13878:EDNS选项解析致堆越界崩溃分析
  • 龙芯电脑装系统,选UOS、Loongnix还是等Debian?给3A4000/3A5000用户的保姆级选择指南
  • 超详细图解Attention机制:从原理到Self-Attention、多头注意力全覆盖
  • 工具变量评估与合成:从核心原理到机器学习实践
  • Windows 11上WSL安装后报getpwuid错误的完整排查手册:从Docker冲突到用户权限
  • 手机抓包配置全指南:从连不上到解密HTTPS
  • 从需求到交付:深度拆解企业级软件定制开发的标准化流程
  • 为什么你的渐变总像PPT?揭秘Midjourney v6.2中未公开的--color-bleed机制与渐变锚点定位技术
  • 别再到处找激活工具了!手把手教你用vlmcsd在Windows上自建KMS服务器(附防火墙配置)
  • 保姆级教程:用Arbe或大陆4D毫米波雷达点云数据,手把手实现Freespace检测(附Python伪代码)
  • 神经纹理:让3D世界“活”起来的AI魔法,一篇讲透!
  • Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了
  • 语义优先架构:从VLM实验看90%功能漂移与具身AI新范式
  • 河北亮泽管道设备有限公司:2026年至今河北弹簧支吊架领域的优选实力服务商 - 2026年企业推荐榜
  • 无框架手写实现Function Calling:原理拆解+纯Python手写实现
  • Claude API文档版本管理生死线:v2.1→v3.0迁移实录,12个breaking change的文档同步策略
  • 别再乱格式化!一文搞懂NTFS、exFAT等磁盘格式区别与DiskGenius格式化实操
  • Super IO Blender插件:终极批量导入导出指南,工作效率提升300%
  • 储能 PACK 与 BMS:怎么识别有真实出货的系统集成厂,避开组装贴牌