Linux基础命令入门笔记
这篇笔记是Linux入门阶段的核心基础命令整理,简单易懂、实操性强 ,既用途是我记忆力差所以索性写一篇当复习巩固 ,但是也希望可以帮助项目这样的人快速上手Linux常用操作,所有命令都附具体示例
目录
1. 目录与文件基础操作
这部分是Linux最常用的基础命令,主要用于目录切换、创建、删除,文件的创建、复制、移动/重命名
pwd:查看当前工作目录
语法 :pwd
功能 :打印当前所在的工作目录路径,新手刚登录时用来确认位置超实用
示例:直接输入命令即可
bash
pwd
# 输出示例:/home/zhangsan(当前在张三的家目录)
cd:切换工作目录
语法 :cd [路径]
功能 :change directory,切换到指定路径的目录,无参数时默认切到当前用户的家目录
示例:
bash
cd /home # 切到/home目录(绝对路径)
cd ./test # 切到当前目录下的test子目录(相对路径)
cd .. # 切到上一级目录
cd # 无参数,直接切到自己的家目录
ls:列出目录内容
语法 :ls [选项] [路径]
功能 :展示指定路径下的文件/目录,无路径时默认展示当前工作目录 内容
核心选项:
-a:all,显示所有内容,包括隐藏文件/目录 (Linux中隐藏文件以.开头)-l:以列表竖向排列展示,包含文件权限、大小、修改时间等详细信息-h:需和-l搭配使用,以人类易读的单位 (K/M/G)显示文件大小,而非默认的字节
示例:
bash
ls # 简单展示当前目录内容
ls -a # 展示当前目录所有内容(含隐藏)
ls -lh /home # 详细展示/home目录内容,大小以K/M显示
mkdir:创建目录
语法 :mkdir [-p] [路径]
功能 :make directory,创建指定路径的目录
核心选项:
-p:递归创建不存在的父目录 ,创建多级目录时必须用
示例:
bash
mkdir test # 在当前目录创建单级test目录
mkdir -p ./test/inner # 在当前目录创建test目录,且在test里创建inner子目录(多级)
touch:创建文件
语法 :touch [路径]
功能 :创建空文件,若文件已存在则更新文件的时间戳,不会覆盖内容
示例:
bash
touch test.txt # 在当前目录创建空的test.txt
touch ./test/note.txt # 在当前test目录创建note.txt
cp:复制文件/目录
语法 :cp [-r] 源路径 目标路径
功能 :copy,将源路径的文件/目录复制到目标路径
核心选项:
-r:递归复制,复制目录时必须使用 ,复制文件可省略
示例:
bash
cp test.txt ./test/ # 将当前目录的test.txt复制到test子目录
cp -r ./test ./backup # 将当前目录的test目录(含所有内容)复制到backup目录
mv:移动/重命名文件/目录
语法 :mv 源路径 目标路径
功能 :move,两个核心作用------移动文件/目录、重命名文件/目录(无需额外选项,目录也不用-r)
示例:
bash
mv test1.txt /home/ # 移动:将当前目录的test1.txt移到/home目录
mv test1.txt test2.txt # 重命名:将test1.txt改名为test2.txt(同一目录下)
rm:删除文件/目录
语法 :rm [-r -f] [路径]
功能 :remove,删除指定的文件/目录,使用需谨慎 ,尤其是删除目录时
核心选项:
-r:递归删除,删除目录时必须使用-f:force,强制删除,无需手动确认(避免删除大量文件时反复回车)
通配符 :*,匹配任意内容,比如test*表示所有以test开头的文件/目录
示例:
bash
rm test.txt # 删除当前目录的test.txt文件(会提示确认,按y回车)
rm -f test2.txt # 强制删除test2.txt,无提示
rm -rf ./test # 强制删除当前目录的test目录(含所有内容),无提示
rm -f test* # 强制删除当前目录所有以test开头的文件
which:查找命令的程序文件路径
语法 :which 命令名
功能 :找到Linux中某个命令对应的程序文件存放的路径,了解命令的安装位置
示例:
bash
which ls
# 输出示例:/bin/ls(ls命令的程序文件在/bin目录)
which grep
2. 路径相关:绝对/相对/特殊路径符
Linux的路径是操作文件/目录的核心,分绝对路径 和相对路径 ,搭配特殊路径符能大幅简化操作
家目录(Home)
每个Linux用户都有专属的家目录,默认路径为/home/用户名(比如用户zhangsan的家目录是/home/zhangsan),登录系统后默认的工作目录就是自己的家目录。
绝对路径
- 定义:以根目录/ 为起点的完整路径,任何情况下使用都有效
- 示例:
/home/zhangsan/test.txt、/usr/bin/ls
相对路径
- 定义:以当前工作目录为起点的路径,仅在当前目录下有效,适合操作当前目录的子/父目录
- 示例:
./test.txt(当前目录的test.txt)、../docs(上一级目录的docs)
特殊路径符
Linux提供了3个特殊符号,快速表示特定路径,替代冗长的书写,高频使用!
| 符号 | 含义 | 示例 |
|---|---|---|
. |
当前目录 | cd ./test 切到当前目录的test |
.. |
上一级目录 | cd .. 切到上一级目录 |
~ |
家目录 | cd ~ 切到自己的家目录 |
3. 文件查找与内容检索
这部分命令用于查找文件的位置 和在文件中查找指定关键字,是日常排查问题、查找配置文件的核心命令。
find:查找文件/目录的路径
语法1 :find 起始路径 -name "被查找的名称"(按名称查找,最常用)
语法2 :find 起始路径 -size +/-大小(按文件大小查找,+表示大于,-表示小于)
功能 :从指定的起始路径开始,递归查找符合条件的文件/目录
示例:
bash
find /home -name "test.txt" # 从/home目录开始,查找名为test.txt的文件
find ./ -name "*.txt" # 从当前目录开始,查找所有后缀为txt的文件
find /var -size +10M # 从/var目录开始,查找大小大于10M的文件
grep:在文件中检索关键字
语法 :grep [-n] "关键字" 文件路径
功能 :在指定文件中查找包含关键字的内容,是文本检索的核心命令
核心选项:
-n:显示匹配到的内容所在的行号 ,方便定位
示例:
bash
grep "hello" test.txt # 在test.txt中查找包含hello的内容
grep -n "error" /var/log/messages # 在系统日志中查找error,且显示行号
4. 文件内容统计与查看
这部分命令用于查看文件内容 和统计文件的行数、字符数等信息,适配不同大小的文件(小文件/大文件/实时更新的日志文件)。
cat:查看小文件完整内容
语法 :cat 文件名
功能 :直接打印文件的全部内容,适合小文件 (大文件会一次性刷屏,看不清)
示例:
bash
cat test.txt # 查看test.txt的所有内容
more:分页查看文件内容
语法 :more 路径
功能 :分页展示文件内容,按回车 翻行、按空格 翻页,适合大文件 ,避免刷屏
示例:
bash
more /var/log/messages # 分页查看系统日志
tail:查看文件尾部内容(实时跟踪日志必备)
语法 :tail [-f -num] 路径
功能 :默认查看文件最后10行 内容,搭配选项可自定义行数或实时跟踪
核心选项:
-f:follow,持续追踪文件的更新,查看实时日志的核心选项(比如程序运行日志、系统日志)-num:num为数字,指定查看最后N行内容
示例:
bash
tail test.txt # 查看test.txt最后10行
tail -20 test.txt # 查看test.txt最后20行
tail -f /var/log/messages # 实时跟踪系统日志,有新内容会自动刷新
wc:统计文件内容信息
语法 :wc [-c -m -l -w] 文件路径
功能 :word count,统计文件的字节数、字符数、行数、单词数,无选项时默认统计「行数+单词数+字节数」
核心选项:
-c:统计字节数-m:统计字符数-l:统计行数(最常用)-w:统计单词数
示例:
bash
wc -l test.txt # 统计test.txt的总行数
wc -m test.txt # 统计test.txt的字符数
wc test.txt # 默认统计:行数 单词数 字节数 test.txt
5. Linux常用特殊符号
Linux中的特殊符号能实现命令结果传递、内容输出、文件写入等功能,搭配基础命令使用,能大幅提升操作效率,核心的有4个,必须掌握!
管道符:|
功能 :将左边命令的输出结果 ,作为右边命令的输入内容 ,只要命令有输出,就能搭配管道符
核心场景 :多命令组合使用(比如查看文件后检索关键字)
示例:
bash
# 查看test.txt的全部内容,再从中检索包含111的内容
cat test.txt | grep "111"
# 查看系统日志最后20行,再检索包含error的内容
tail -20 /var/log/messages | grep -n "error"
输出命令:echo
语法 :echo "输出内容"
功能 :在命令行中直接输出指定内容,和编程语言的print功能一致,常搭配重定向符使用
示例:
bash
echo "hello linux" # 直接在命令行输出hello linux
反引号:`````
位置 :键盘左上角,和~同键
功能 :被反引号包裹的内容,会被当成Linux命令执行 ,最终输出命令的执行结果
示例:
bash
# 先执行pwd获取当前路径,再用echo输出
echo "当前工作目录:`pwd`"
# 输出示例:当前工作目录:/home/zhangsan
重定向符:> 和 >>
功能 :将左边命令的输出结果,写入到右边的文件中,而非在命令行打印,分为「覆盖写入」和「追加写入」
>:覆盖写入,若文件不存在则创建,若文件已存在则清空原有内容,写入新内容>>:追加写入 ,若文件不存在则创建,若文件已存在则在文件末尾添加新内容,不会覆盖原有内容 (常用)
示例:
bash
# 把echo的输出覆盖写入到test.txt(test.txt原有内容会被清空)
echo "hello" > test.txt
# 把echo的输出追加写入到test.txt(加在文件末尾,原有内容保留)
echo "linux" >> test.txt
# 把test.txt的行数统计结果,追加写入到count.txt
wc -l test.txt >> count.txt
6. Vi/Vim编辑器核心用法
Vi/Vim是Linux系统自带的文本编辑器 ,无需额外安装,是编辑配置文件、写脚本的必备工具,核心分为三种工作模式,掌握模式切换和常用快捷键,就能轻松使用。
核心前提
- 打开编辑器:
vi/vim 文件路径,文件不存在则自动创建新文件,文件存在则打开原有文件 - Linux系统中通用粘贴快捷键:
ctrl+shift+v(在Vim中粘贴前建议开启粘贴模式,避免格式错乱)
Vim的三种工作模式
Vim的所有操作都基于模式切换,默认打开后进入「命令模式」,三种模式可互相切换,核心切换方式如下:
- 命令模式 :类似快捷键模式,可执行删除、复制、粘贴、光标移动等操作,按ESC键可从其他模式切回命令模式
- 输入模式 :正常的文本输入模式,可打字、修改内容,从命令模式按
i/a/o任意一个键即可进入 - 底线命令模式 :用于保存、退出、设置编辑器(如显示行号),从命令模式按
:即可进入,命令以回车执行
模式切换总览
vi 文件名 → 命令模式
命令模式 → 输入模式:按i/a/o
命令模式 → 底线命令模式:按:
输入模式/底线命令模式 → 命令模式:按ESC
一、命令模式:常用快捷键(核心)
命令模式是Vim的基础,所有操作都先切回命令模式再执行,以下是高频快捷键,记熟就能满足90%的编辑需求:
1. 光标移动
| 快捷键 | 功能 |
|---|---|
| ↑ / k | 向上移动光标 |
| ↓ / j | 向下移动光标 |
| ← / h | 向左移动光标 |
| → / l | 向右移动光标 |
| 0 | 移动光标到当前行开头 |
| $ | 移动光标到当前行结尾 |
| gg | 跳到文件首行(笔记中99为笔误,标准为gg) |
| G | 跳到文件尾行 |
| PageUp/PgUp | 向上翻页 |
| PageDown/PgDn | 向下翻页 |
2. 删除操作
| 快捷键 | 功能 |
|---|---|
| dd | 删除光标所在行 |
| ndd | n为数字,删除光标向下n行 |
| dG | 从光标所在行开始,向下全部删除 |
| dgg | 从光标所在行开始,向上全部删除(笔记中dag为笔误,标准为dgg) |
| d$ | 从光标位置开始,删除到本行结尾 |
| d0 | 从光标位置开始,删除到本行开头(笔记中de为笔误,标准为d0) |
3. 复制/粘贴
| 快捷键 | 功能 |
|---|---|
| yy | 复制光标所在行 |
| nyy | n为数字,复制光标向下n行 |
| p | 将复制的内容粘贴到光标下一行 |
4. 撤销/恢复
| 快捷键 | 功能 |
|---|---|
| u | 撤销上一步的修改 |
| ctrl + r | 反向撤销(恢复被撤销的操作) |
5. 搜索操作
| 快捷键 | 功能 |
|---|---|
| / | 进入搜索模式,输入关键字按回车即可搜索 |
| n | 向下继续查找下一个匹配的关键字 |
| N | 向上继续查找上一个匹配的关键字 |
二、底线命令模式:常用命令(必记)
底线命令模式的命令都以:开头,按回车执行,核心是保存、退出,其次是编辑器设置,以下是高频命令:
| 命令 | 功能 |
|---|---|
| :wq | 保存并退出编辑器 |
| :q | 仅退出(文件未修改时可用) |
| :q! | 强制退出,不保存任何修改(文件修改后想放弃时用) |
| :w | 仅保存,不退出 |
| :set nu | 显示文件行号(方便定位) |
| :set paste | 开启粘贴模式(粘贴前开启,避免内容格式错乱) |
三、输入模式:简单使用
从命令模式按i/a/o进入输入模式后,左下角会显示--INSERT--,此时就可以像普通记事本一样,正常打字、修改、删除文本 ,完成编辑后按ESC切回命令模式,再用底线命令保存/退出即可。
最后絮絮念
Linux的核心是多实操,这篇笔记的所有命令和示例都可以直接在终端复制执行,练个几遍就能形成肌肉记忆