
目录
[前言:欢迎来到 Linux 的世界](#前言:欢迎来到 Linux 的世界)
[📖 Linux 背景知识(新手必看)](#📖 Linux 背景知识(新手必看))
[🌱 Linux 发展史](#🌱 Linux 发展史)
[🆓 开源精神](#🆓 开源精神)
[💼 企业应用现状](#💼 企业应用现状)
[1. 功能](#1. 功能)
[2. 常用快捷键](#2. 常用快捷键)
[二、ls 指令(查看目录内容)](#二、ls 指令(查看目录内容))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】查看当前目录内容](#【示例 1】查看当前目录内容)
[【示例 2】显示详细信息(ls -l)](#【示例 2】显示详细信息(ls -l))
[【示例 3】显示所有文件包括隐藏文件](#【示例 3】显示所有文件包括隐藏文件)
[【示例 4】人性化显示文件大小](#【示例 4】人性化显示文件大小)
[【示例 5】组合使用多个选项](#【示例 5】组合使用多个选项)
[三、pwd 命令(查看当前路径)](#三、pwd 命令(查看当前路径))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】查看当前所在目录](#【示例 1】查看当前所在目录)
[【示例 2】切换目录后验证](#【示例 2】切换目录后验证)
[【示例 3】在深层目录中使用](#【示例 3】在深层目录中使用)
[四、cd 指令(切换目录)](#四、cd 指令(切换目录))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用特殊路径](#3. 常用特殊路径)
[4. 举例说明](#4. 举例说明)
[【示例 1】进入指定目录](#【示例 1】进入指定目录)
[【示例 2】回到上一级目录](#【示例 2】回到上一级目录)
[【示例 3】快速回家](#【示例 3】快速回家)
[【示例 4】在两个目录间来回切换](#【示例 4】在两个目录间来回切换)
[【示例 5】绝对路径 vs 相对路径](#【示例 5】绝对路径 vs 相对路径)
[五、touch 指令(创建文件)](#五、touch 指令(创建文件))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】创建单个空文件](#【示例 1】创建单个空文件)
[【示例 2】同时创建多个文件](#【示例 2】同时创建多个文件)
[【示例 3】批量创建带规律的文件](#【示例 3】批量创建带规律的文件)
[【示例 4】更新文件时间戳](#【示例 4】更新文件时间戳)
[六、mkdir 指令(创建目录)](#六、mkdir 指令(创建目录))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】创建单个目录](#【示例 1】创建单个目录)
[【示例 2】同时创建多个目录](#【示例 2】同时创建多个目录)
[【示例 3】递归创建多级目录(重点!)](#【示例 3】递归创建多级目录(重点!))
[【示例 4】显示创建过程](#【示例 4】显示创建过程)
[七、rmdir && rm 指令(删除)](#七、rmdir && rm 指令(删除))
[7.1 rmdir 指令](#7.1 rmdir 指令)
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】删除空目录](#【示例 1】删除空目录)
[【示例 2】删除非空目录会失败](#【示例 2】删除非空目录会失败)
[7.2 rm 指令(重点掌握)](#7.2 rm 指令(重点掌握))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】删除单个文件](#【示例 1】删除单个文件)
[【示例 2】删除前询问确认](#【示例 2】删除前询问确认)
[【示例 3】删除目录(必须加 - r)](#【示例 3】删除目录(必须加 - r))
[【示例 4】强制删除(最常用组合)](#【示例 4】强制删除(最常用组合))
[【示例 5】显示删除过程](#【示例 5】显示删除过程)
[八、man 指令(查看帮助)](#八、man 指令(查看帮助))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用操作(man 页面内)](#3. 常用操作(man 页面内))
[4. 举例说明](#4. 举例说明)
[【示例 1】查看 ls 命令的帮助](#【示例 1】查看 ls 命令的帮助)
[【示例 2】在 man 中搜索](#【示例 2】在 man 中搜索)
[【示例 3】whatis 快速查看简介](#【示例 3】whatis 快速查看简介)
[九、cp 指令(复制文件 / 目录)](#九、cp 指令(复制文件 / 目录))
[1. 语法形式](#1. 语法形式)
[2. 功能](#2. 功能)
[3. 常用选项](#3. 常用选项)
[4. 举例说明](#4. 举例说明)
[【示例 1】复制单个文件](#【示例 1】复制单个文件)
[【示例 2】复制多个文件到目录](#【示例 2】复制多个文件到目录)
[【示例 3】复制目录(必须加 - r)](#【示例 3】复制目录(必须加 - r))
[【示例 4】覆盖前提示](#【示例 4】覆盖前提示)
[【示例 5】显示复制过程](#【示例 5】显示复制过程)
[📝 本篇总结](#📝 本篇总结)
[💡 给新手的学习建议](#💡 给新手的学习建议)
[📢 下一篇预告](#📢 下一篇预告)
前言:欢迎来到 Linux 的世界
大家好,我是你们的老朋友小小风呀,经过我们前期对c/c++的初步学习,相信你们已经基本掌握了c/c++的基础用法,那么今天,我正式开启一个全新的专题系列 ------《从零开始学习 Linux》!
本专题学习环境说明
本专题全程采用Xshell + 腾讯云服务器的组合进行演示:
-
Xshell:一款功能强大的 SSH 终端模拟器,用于远程连接 Linux 服务器
-
腾讯云服务器 :提供稳定的 Linux 运行环境,推荐选择 CentOS 7.x 或Ubuntu 系统
-
学生可低价入手:79米/年
对于新手来说,云服务器是学习 Linux 的最佳选择 ------ 无需担心破坏本地系统,随时随地都能练习!
📖 Linux 背景知识(新手必看)
在开始学习指令之前,我们先简单了解一下 Linux 的来龙去脉:
🌱 Linux 发展史
Linux 的诞生要从 UNIX 说起:
-
1969 年:贝尔实验室的 Ken Thompson 和 Dennis Ritchie 开发了 UNIX 系统
-
1991 年:芬兰大学生Linus Torvalds在 Minix 系统启发下,发布了 Linux 内核 0.02 版本
-
1994 年:Linux 1.0 正式版本发布
如今,Linux 已经从一个学生的业余项目,发展成为全球最具影响力的操作系统!
🆓 开源精神
Linux 是自由软件和开源软件的代表:
-
遵循GNU GPL 许可证,任何人都可以自由使用、修改、分发源代码
-
全球数百万开发者共同贡献,持续迭代优化
-
这就是 Linux 能够快速发展的核心动力!
💼 企业应用现状
-
服务器领域 :占据75% 以上的市场份额,政府、金融、电信等关键领域首选
-
移动领域:Android 系统就是基于 Linux 内核,占据智能手机 80%+ 市场
-
嵌入式领域:路由器、智能电视、物联网设备广泛使用 Linux
可以说,掌握 Linux 就是掌握了进入 IT 行业的一把金钥匙!
一、基础快捷键(新手第一关)
在正式学习指令之前,我们先掌握几个能让你事半功倍的终端快捷键!
1. 功能
快捷键可以大幅提高你的操作效率,避免重复输入,快速纠错,是 Linux 高手的必备技能!
2. 常用快捷键
|------------|------------------|
| 快捷键 | 功能说明 |
| Tab | 自动补全命令或文件名(最常用!) |
| Ctrl + C | 终止当前正在运行的程序 |
| Ctrl + L | 清屏(相当于 clear 命令) |
| Ctrl + A | 光标移动到命令行开头 |
| Ctrl + E | 光标移动到命令行末尾 |
| Ctrl + U | 删除光标到行首的所有字符 |
| Ctrl + K | 删除光标到行尾的所有字符 |
| Ctrl + R | 搜索历史命令 |
| ↑ / ↓ | 浏览历史命令 |
二、ls 指令(查看目录内容)
ls 是 Linux 中最常用的命令,没有之一!
1. 语法形式
bash
ls [选项] [目录或文件]
2. 功能
列出指定目录下的所有文件和子目录。如果不指定目录,默认显示当前工作目录的内容。
💡 新手理解:就像你在 Windows 中打开文件夹,看到里面的所有文件一样!
3. 常用选项
|------|---------------------------|
| 选项 | 功能说明 |
| -l | 以长格式显示详细信息(权限、所有者、大小、时间等) |
| -a | 显示所有文件,包括隐藏文件(以。开头的文件) |
| -h | 以人类可读的格式显示文件大小(K、M、G) |
| -t | 按修改时间排序,最新的在最前面 |
| -r | 反向排序 |
| -R | 递归显示子目录内容 |
4. 举例说明
【示例 1】查看当前目录内容
bash
# 最简单的用法,直接输入ls
ls
# 输出:Desktop Documents Downloads Music Pictures
【示例 2】显示详细信息(ls -l)
bash
ls -l
# 输出:
# drwxr-xr-x 2 user user 4096 May 15 10:30 Desktop
# drwxr-xr-x 3 user user 4096 May 16 15:20 Documents
# -rw-r--r-- 1 user user 128 May 17 09:00 test.txt
# 解读:第一个字符d表示目录,-表示普通文件
# 后面是权限、所有者、大小、修改时间、文件名
【示例 3】显示所有文件包括隐藏文件
bash
ls -a
# 输出:. .. .bashrc .profile Desktop Documents test.txt
# 注意:以.开头的就是隐藏文件!
【示例 4】人性化显示文件大小
bash
ls -lh
# 输出:
# drwxr-xr-x 2 user user 4.0K May 15 10:30 Desktop
# -rw-r--r-- 1 user user 128 May 17 09:00 test.txt
# 4.0K 比 4096 好读多了!
【示例 5】组合使用多个选项
bash
# 显示所有文件的详细信息,按时间排序
ls -lath
# 这是我最常用的组合!推荐大家记住
三、pwd 命令(查看当前路径)
1. 语法形式
pwd
✨ 注意:pwd 命令没有任何选项,就是这么简单!
2. 功能
Print Working Directory ,打印当前工作目录的绝对路径。
💡 新手理解:就像问 "我现在在哪?",Linux 会告诉你当前所在的完整文件夹路径。
3. 常用选项
无常用选项。
4. 举例说明
【示例 1】查看当前所在目录
bash
pwd
# 输出:/home/user
# 表示你现在在 /home/user 这个目录下
【示例 2】切换目录后验证
bash
# 先进入Documents目录
cd Documents
# 再查看当前路径
pwd
# 输出:/home/user/Documents
【示例 3】在深层目录中使用
cpp
cd /usr/local/bin
pwd
# 输出:/usr/local/bin
# 再也不用担心迷路了!
四、cd 指令(切换目录)
1. 语法形式
bash
cd [目录路径]
2. 功能
Change Directory,切换当前工作目录到指定路径。
💡 新手理解:就像 Windows 中双击打开文件夹进入下一级目录。
3. 常用特殊路径
|-------------------|---------------------|
| 符号 | 含义 |
| cd 或 cd ~ | 回到当前用户的家目录 |
| cd .. | 回到上一级目录(父目录) |
| cd - | 回到上一次所在的目录 |
| cd / | 回到根目录 |
| cd /path/to/dir | 切换到绝对路径 |
| cd ./dir | 切换到相对路径(当前目录下的 dir) |
4. 举例说明
【示例 1】进入指定目录
bash
# 进入Documents目录
cd Documents
# 进入多级目录
cd Documents/project/src
【示例 2】回到上一级目录
bash
# 当前在 /home/user/Documents
pwd # /home/user/Documents
cd ..
pwd # /home/user
# 连续返回多级
cd ../.. # 向上返回两级
【示例 3】快速回家
bash
# 不管你在哪,直接输入cd就回家
cd
pwd # /home/user
# 或者用 ~ 表示家目录
cd ~/Desktop # 直接进入家目录下的Desktop
【示例 4】在两个目录间来回切换
bash
# 先在A目录
cd /home/user/Documents
# 切换到B目录
cd /tmp
# 按下 cd - 瞬间回到Documents!
cd - # 回到 /home/user/Documents
# 再按 cd - 又回到 /tmp!
cd - # 回到 /tmp
# 超级实用的技巧!
【示例 5】绝对路径 vs 相对路径
bash
# 绝对路径:从根目录/开始,完整路径
cd /usr/local/bin
# 相对路径:从当前目录开始
cd ./test # 当前目录下的test文件夹
cd test # ./可以省略,效果一样
五、touch 指令(创建文件)
1. 语法形式
bash
touch [选项] 文件名
2. 功能
主要功能有两个:
-
创建新的空文件(最常用)
-
更新已有文件的时间戳
💡 新手理解:就像 Windows 中右键→新建→文本文档。
3. 常用选项
|------|---------------|
| 选项 | 功能说明 |
| -a | 只更改访问时间 |
| -m | 只更改修改时间 |
| -d | 使用指定时间而不是当前时间 |
新手提示:99% 的情况下,直接用 touch 创建文件即可,不需要记选项。
4. 举例说明
【示例 1】创建单个空文件
bash
# 创建一个名为test.txt的空文件
touch test.txt
# 查看,文件已创建
ls -l test.txt
# -rw-r--r-- 1 user user 0 May 17 10:00 test.txt
# 注意:大小是0,空文件!
【示例 2】同时创建多个文件
bash
# 一次性创建3个文件
touch file1.txt file2.txt file3.txt
ls
# file1.txt file2.txt file3.txt
【示例 3】批量创建带规律的文件
bash
# 创建file1到file10共10个文件
touch file{1..10}.txt
ls
# file1.txt file2.txt ... file10.txt
# 这招批量创建文件超好用!
【示例 4】更新文件时间戳
bash
# 先看文件原来的时间
ls -l test.txt
# -rw-r--r-- 1 user user 0 May 17 10:00 test.txt
# touch一下已存在的文件
touch test.txt
# 再看时间,已经更新了!
ls -l test.txt
# -rw-r--r-- 1 user user 0 May 17 10:30 test.txt
六、mkdir 指令(创建目录)
1. 语法形式
bash
mkdir [选项] 目录名
2. 功能
Make Directory,创建新的目录(文件夹)。
💡 新手理解:就像 Windows 中右键→新建→文件夹。
3. 常用选项
|------|----------------|
| 选项 | 功能说明 |
| -p | 递归创建多级目录(最重要!) |
| -v | 显示创建过程的详细信息 |
4. 举例说明
【示例 1】创建单个目录
bash
# 创建一个名为project的目录
mkdir project
ls
# project/
【示例 2】同时创建多个目录
bash
mkdir dir1 dir2 dir3
ls
# dir1/ dir2/ dir3/
【示例 3】递归创建多级目录(重点!)
bash
# ❌ 错误:不能直接创建不存在的父目录
mkdir a/b/c
# 报错:mkdir: cannot create directory 'a/b/c': No such file or directory
# ✅ 正确:加上 -p 选项
mkdir -p a/b/c
# 验证一下
ls -R a
# a:
# b
#
# a/b:
# c
#
# a/b/c:
# 成功创建了三级目录!
【示例 4】显示创建过程
bash
mkdir -pv test/{src,doc,bin}
# 输出:
# mkdir: created directory 'test'
# mkdir: created directory 'test/src'
# mkdir: created directory 'test/doc'
# mkdir: created directory 'test/bin'
# -v 让你清楚看到创建了什么
七、rmdir && rm 指令(删除)
⚠️ 重要警告:Linux 没有回收站!删除了就真的没了!请谨慎操作!
7.1 rmdir 指令
1. 语法形式
bash
rmdir [选项] 目录名
2. 功能
Remove Directory ,删除空目录。
💡 注意:rmdir 只能删除空目录!如果目录里有文件,删不掉!
3. 常用选项
|------|-----------|
| 选项 | 功能说明 |
| -p | 递归删除多级空目录 |
4. 举例说明
【示例 1】删除空目录
bash
# 创建一个空目录
mkdir empty_dir
# 删除它
rmdir empty_dir # ✅ 成功删除
【示例 2】删除非空目录会失败
bash
# 创建目录并在里面放个文件
mkdir test_dir
touch test_dir/file.txt
# 尝试删除
rmdir test_dir
# 报错:rmdir: failed to remove 'test_dir': Directory not empty
7.2 rm 指令(重点掌握)
1. 语法形式
bash
rm [选项] 文件或目录
2. 功能
Remove,删除文件或目录。这是真正的删除命令,功能强大!
⚠️ 再次警告:rm 删除的文件无法恢复!操作前请三思!
3. 常用选项
|------|--------------------|
| 选项 | 功能说明 |
| -f | 强制删除,不提示确认 |
| -r | 递归删除目录及其内容(删目录必须加) |
| -i | 删除前逐一提示确认(安全模式) |
| -v | 显示删除过程 |
❌ 新手禁区 :
rm -rf /删根目录!绝对不要尝试!
4. 举例说明
【示例 1】删除单个文件
bash
# 创建一个测试文件
touch test.txt
# 删除它
rm test.txt # ✅ 文件已删除
【示例 2】删除前询问确认
bash
rm -i file1.txt file2.txt
# rm: remove regular empty file 'file1.txt'? y
# rm: remove regular empty file 'file2.txt'? n
# 输入y确认删除,n跳过
【示例 3】删除目录(必须加 - r)
bash
# 创建一个非空目录
mkdir -p test/a/b
touch test/file.txt
# ❌ 不加-r删不了目录
rm test
# 报错:rm: cannot remove 'test': Is a directory
# ✅ 加 -r 递归删除
rm -r test # 成功删除整个目录
【示例 4】强制删除(最常用组合)
bash
# -rf = 递归 + 强制,不提示直接删
rm -rf test_dir
# 这是最常用的删除组合,但也是最危险的!
# 建议:删除前先用 ls 确认一下路径对不对!
【示例 5】显示删除过程
bash
# -rf = 递归 + 强制,不提示直接删
rm -rf test_dir
# 这是最常用的删除组合,但也是最危险的!
# 建议:删除前先用 ls 确认一下路径对不对!
八、man 指令(查看帮助)
1. 语法形式
bash
man [选项] 命令名
2. 功能
Manual,查看命令的帮助手册。这是 Linux 自带的最权威的帮助文档!
💡 新手理解:遇到不会的命令,先
man 一下!这是 Linux 的 "百度"。
3. 常用操作(man 页面内)
|------------|-----------|
| 操作 | 功能 |
| q | 退出 man 页面 |
| 空格 / f | 向下翻页 |
| b | 向上翻页 |
| /关键词 | 搜索关键词 |
| n | 下一个搜索结果 |
| N | 上一个搜索结果 |
4. 举例说明
【示例 1】查看 ls 命令的帮助
bash
man ls
# 进入ls的完整帮助手册
# 按 q 退出
【示例 2】在 man 中搜索
bash
man ls
# 进入后输入 /-l 回车
# 会自动定位到 -l 选项的说明位置
【示例 3】whatis 快速查看简介
bash
# 如果不想看长文档,用whatis看一句话简介
whatis ls
# ls (1) - list directory contents
whatis pwd
# pwd (1) - print name of current/working directory
九、cp 指令(复制文件 / 目录)
1. 语法形式
bash
cp [选项] 源文件 目标文件
cp [选项] 源文件1 源文件2 ... 目标目录
2. 功能
Copy,复制文件或目录。
💡 新手理解:就像 Windows 中的复制粘贴。
3. 常用选项
|------|---------------------|
| 选项 | 功能说明 |
| -r | 递归复制目录(复制目录必须加) |
| -i | 覆盖前提示确认 |
| -f | 强制覆盖,不提示 |
| -v | 显示复制过程 |
| -a | 归档模式,保留所有属性(权限、时间等) |
4. 举例说明
【示例 1】复制单个文件
bash
# 创建源文件并写入内容
echo "Hello Linux" > source.txt
# 复制文件
cp source.txt dest.txt
# 验证内容一样
cat dest.txt
# Hello Linux
【示例 2】复制多个文件到目录
bash
# 创建目标目录
mkdir backup
# 把多个文件复制到backup目录
cp file1.txt file2.txt file3.txt backup/
ls backup/
# file1.txt file2.txt file3.txt
【示例 3】复制目录(必须加 - r)
bash
# 创建源目录
mkdir -p src/{a,b,c}
touch src/file.txt
# 复制目录
cp -r src src_backup
# 验证
ls -R src_backup/
# 整个目录结构都复制过来了!
【示例 4】覆盖前提示
bash
# dest.txt已经存在
cp -i source.txt dest.txt
# cp: overwrite 'dest.txt'? y
# 输入y确认覆盖
【示例 5】显示复制过程
bash
cp -rv src/ backup/
# 输出:
# 'src/' -> 'backup/src'
# 'src/file.txt' -> 'backup/src/file.txt'
# 'src/a' -> 'backup/src/a'
# 'src/b' -> 'backup/src/b'
📝 本篇总结
恭喜你!已经学完 Linux 入门最重要的 9 个基础指令了!让我们回顾一下:
|------------|--------|------------------|
| 命令 | 作用 | 记忆口诀 |
| 快捷键 | 提高效率 | Tab 补全、Ctrl+C 终止 |
| ls | 看目录里有啥 | 列文件 |
| pwd | 我在哪 | 看路径 |
| cd | 去哪 | 切换目录 |
| touch | 新建文件 | 建文件 |
| mkdir | 新建文件夹 | 建目录 |
| rm/rmdir | 删除 | 删东西(谨慎!) |
| man | 查帮助 | 不会就 man |
| cp | 复制 | 拷贝 |
💡 给新手的学习建议
-
多敲多练:命令不是看会的,是敲会的!每个命令至少敲 10 遍
-
别怕犯错:在云服务器上随便折腾,大不了重装系统
-
善用 man:遇到问题先查帮助,这是最好的老师
-
循序渐进:不要急于求成,基础打牢了后面才快
📢 下一篇预告
《【Linux 入门教程】从零开始学 Linux - 基础指令详解(二)》即将发布,将包含:
-
mv 指令(移动 / 重命名)
-
cat 指令(查看文件内容)
-
more /less 指令(分页查看)
-
head /tail 指令(查看文件头尾)
-
echo 指令
-
重定向与管道
-
date 指令
-
cal 指令
-
find 指令
敬请期待!如果这篇文章对你有帮助,欢迎点赞、收藏、关注!我们下篇见~
de风说:这个《从零开始学 Linux》系列会持续更新,从入门到精通,带你一步步走进 Linux 的世界!欢迎关注,一起学习进步!💪