Linux基础指令(one)
文章目录
- 1. linux是什么
- 2. linux基本指令
-
- 2.1 ls指令
- 2.2 pwd指令
- 2.3 cd指令
- 2.4 touch指令
- 2.5 mkdir指令
- 2.6 rmdir 指令 && rm 指令
- 2.7 man指令
- 2.8 cp指令
- 2.9 mv指令
- 2.9 cat指令
- 2.10 more指令
- 2.11 less指令
- 2.12 head指令和tail指令
- 2.13 tree指令
- 2.14 date指令
- 2.15cal指令
- 2.16find指令
- 2.17which指令
- 2.18 whereis指令
- 2.19 alias指令
- 2.20 grep指令
- 2.21 top指令
- 2.22 zip/unzip 指令
- 2.23 tar指令
- 2.24 bc指令
- 2.25 uname 指令
- 3.几个重要热键
1. linux是什么
Linux是一款免费、开源、稳定安全的操作系统,和Windows、macOS属于同类系统,由芬兰大学生林纳斯·托瓦兹在1991年创造,基于UNIX发展而来,代码完全公开、可自由修改与使用;它极少中毒、长期运行不卡顿,主要依靠命令行操作,被广泛用于网站服务器、安卓手机、云计算、路由器、智能设备等领域,是互联网与服务器领域的主流系统,常见版本有Ubuntu、CentOS等,也是程序员和运维人员必须掌握的系统。
2. linux基本指令
先看界面:
这行是 Linux 的命令提示符,代表你当前以 root 超级管理员身份登录主机名为iZn4a62zs0yk3ct42wbjyygZ的服务器,正处于/root目录下,等待输入命令。
2.1 ls指令
最常用 5 个用法(背会就够用)
- ls
直接看文件 / 目录名(简洁版) - ls -l
查看详细信息(权限、大小、时间) - ls -a
显示隐藏文件(以。开头的文件) - ls -lh
详细信息 + 文件大小人性化显示(KB/MB) - ls /
查看根目录下的内容
2.2 pwd指令
告诉你:你现在正处于哪个目录里(输出当前目录的完整绝对路径)
比如你在 /root 目录下执行 pwd,就会输出:
2.3 cd指令
- cd 目标路径 # 切换到指定目录
- cd ~ # 回到当前用户的家目录
- cd # 同上,效果一样
- cd … # 回到上一级目录
- cd - # 回到上一次所在的目录
- cd / # 直接切换到根目录
- cd /root # 切换到 root 用户的家目录
- cd /home/用户名 # 切换到指定用户的家目录
2.4 touch指令
- touch 文件名.txt # 1. 创建一个新的空文件
- touch a.txt b.txt c.txt # 2. 一次性创建多个空文件
- touch -d “2026-05-11” a.txt # 3. 修改文件的修改/访问时间为指定日期
- touch -t 202605111200 a.txt # 4. 修改时间为 2026-05-11 12:00(格式:YYYYMMDDhhmm)
- touch -r 参考文件.txt 目标文件.txt # 5. 让目标文件的时间戳和参考文件一致
这里给出创建文件示例:
tree下面会说
看时间:
2.5 mkdir指令
mkdir = make directory,意思就是:创建文件夹(目录)
touch 是创建「文件」的,mkdir 是创建「文件夹 / 目录」的,它们是两种完全不同的东西。
打个比方:touch 就像买了一张空白的纸(文件),你可以在上面写字、画画、改内容。
mkdir 就像做了一个空文件夹(目录),它本身装不了字,只能用来放 “纸” 或者其他更小的 “文件夹”。
-
创建单个文件夹
mkdir dir1 -
一次性创建多个文件夹
mkdir dir2 dir3 dir4 -
创建多层嵌套文件夹(必须加 -p,常用)
mkdir -p a/b/c
展示:
2.6 rmdir 指令 && rm 指令
-
rmdir dir1 # 删除空文件夹 dir1
-
rmdir dir1 dir2 # 同时删除多个空文件夹
-
rmdir -p a/b/c # rmdir -p 作用把子目录删掉后,如果上级目录也变空了,就一路往上连带全部删掉
-
rm 1.txt # 删除单个文件
-
rm 1.txt 2.txt # 删除多个文件
-
rm -f 1.txt # 强制删除文件(不提示、不报错)
-
rm -r dir1 # 删除 非空文件夹(必须加 -r)
-
rm -rf dir1 # 强制删除 非空文件夹(最常用!)
rmdir:只拆空文件夹
rm:删文件、删文件夹,通杀
注意:rm要通过文件夹找到文件,即app/b.txt就行,n为不同意删,y为同意。
2.7 man指令
命令参数记不住不用死背,用 man 看官方联机手册。
基本语法:
man 要查的命令
man 常用选项
- -k 关键字:按关键字搜索相关联机帮助
- man 数字 命令:只在指定第 num 章节查找帮助
- -a:显示所有章节手册;看完一章按 q 退出,自动继续查看下一章节,直到全部遍历完man 手册 9 章分工(必记)
- 普通终端命令(ls/mkdir/rm 等日常指令)
- 系统调用(内核函数:open、write 等,查头文件)
- 库函数(C 语言标准库:printf、fread 等)
- 特殊设备文件(/dev 下设备,了解即可)
- 配置文件格式(如 passwd,解释文件各字段含义)
- 游戏预留章节,基本不用
- 协议、全局环境变量等附加说明
- 系统管理员命令(root 专属运维命令)
- 内核相关,一般忽略
2.8 cp指令
cp = copy,用来复制文件 / 复制文件夹
cp a.txt b.txt # 复制a.txt为b.txt
cp a.txt dir1 # 把a.txt复制到dir1文件夹里
cp -r dir1 dir2 # 复制整个文件夹dir1到dir2
cp -rf dir1 dir2 # 强制递归复制文件夹,覆盖不提示
#常用
cp -f a.txt b.txt # 强制复制,直接覆盖不提示
cp -i a.txt b.txt # 覆盖前先询问用户
cp -r dir1 dir2 # 递归复制整个文件夹及里面所有内容
2.9 mv指令
mv = move
功能:1. 移动文件/目录
2. 给文件/目录重命名
mv a.txt b.txt # 第二个是文件:将a.txt重命名为b.txt
mv dir1 dir2 # 第二个不存在:将文件夹dir1重命名为dir2
mv a.txt b.txt dir1 # 第二个是已存在目录:把a.txt、b.txt都移入dir1
- mv 根据第二个参数的类型,决定做 重命名 还是 移动。
- 第二个参数是文件(不存在):只能有一个源文件 / 目录,作用是重命名。
- 第二个参数是已存在的目录:可以有多个源文件 / 目录,作用是把所有源移入目标目录。
常用选项
- -f:目标已存在,直接强制覆盖,不询问
- -i:目标已存在,先询问是否覆盖
2.9 cat指令
作用:
- 查看文件内容
- 合并、拼接文件内容
- 创建简单小文件
cat a.txt # 查看单个文件内容
cat a.txt b.txt # 一次性查看多个文件内容
cat a.txt > b.txt # 把a.txt内容写入/覆盖到b.txt
cat a.txt >> b.txt # 把a.txt内容追加到b.txt末尾
#----
cat -n a.txt # 显示内容同时带行号
cat -b a.txt # 只给非空行标行号
#---
cat > test.txt # 创建文件并直接输入内容,结束按Ctrl+C
2.10 more指令
more指令类似于cat,作用== 分页查看大文件内容,屏幕一页一页显示,不会一次性全刷屏。==
- 回车:往下翻一行
- 空格:往下翻一页
- q:退出查看
2.11 less指令
功能:分页查看文件内容,功能比 more 更强,支持上下翻页、搜索,查看大文件非常方便。
- 上下箭头:上下滚动一行
- 空格:向下翻一页
- b:向上翻一页
- /关键词:搜索内容
- n:查找下一个
- N:查找上一个
- q:退出
less a.txt # 分页查看文件
less -N a.txt # 显示行号
2.12 head指令和tail指令
head:查看文件开头默认前十行
tail: 查看文件末尾后默认十行
head -n 5 a.txt # 指定只显示前5行
tail -n 5 a.txt # 指定只显示最后5行
tail -f a.txt # 盯着文件,有新内容立刻刷新显示
2.13 tree指令
功能:以树形结构展示文件夹里的所有文件和目录,一眼看清目录结构。
tree # 显示当前目录树形结构
tree -L 2 # 只显示 2 层目录(最常用)
tree -d # 只显示目录,不显示文件
2.14 date指令
作用:显示时间
指定格式显示时间:
date +%Y:%m:%d # 显示 年:月:日
date +%F # 显示 年-月-日
date +%X # 显示 时:分:秒
date +"%Y-%m-%d %H:%M:%S" # 最常用标准格式
2.15cal指令
功能:显示公历阳历日历(格列历 / 西历)
cal # 显示本月日历
cal -3 # 显示上月、本月、下月
cal -j # 显示当天是当年第几天
cal -y # 显示当前整年日历
cal 5 2026 # 查看指定年月日历
cal 2026 # 查看整年日历

2.16find指令
功能:在指定目录下查找文件 / 目录,把找到的文件 / 目录的完整路径 显示在屏幕上
find / -name "文件名" # 从根目录全局查找文件
find . -name "*.txt" # 当前目录查找所有 .txt 文件
find . -type d # 当前目录只找文件夹
find . -size +10M # 当前目录找大于10M的文件

2.17which指令
功能:在 $PATH 环境变量指定的目录中,查找可执行程序的位置
用于确认你输入的命令实际运行的是哪个文件。
which [选项] 命令名
举个例子吧
which ls

第一行输出 alias ls=‘ls --color=auto’:说明当前系统中,ls 被设置了别名,每次执行 ls 时,实际上运行的是 ls --color=auto,这就是为什么你的终端里文件 / 目录会有不同颜色区分。
第二行 /usr/bin/ls:是 ls 命令的真实可执行文件路径,系统的 ls 程序就存放在这里。
2.18 whereis指令
功能:定位程序的二进制文件,源代码和手册页
# 语法
whereis [选项] 命令名或文件名
# 常用选项
whereis -b 命令名 # 只搜索二进制文件
whereis -m 命令名 # 只搜索手册页
whereis -s 命令名 # 只搜索源代码

/usr/share/man/man1p/ls.1p.gz:POSIX 标准的帮助文档
/usr/share/man/man1/ls.1.gz:系统默认的帮助文档
2.19 alias指令
功能:为命令设置别名
# 语法
alias 别名='命令'
# 常用操作
alias # 查看所有已设置的别名
alias 别名='命令' # 创建或修改别名
unalias 别名 # 删除别名
2.20 grep指令
功能:在文件中搜索字符串,将匹配的行打印出来
# 语法
grep [选项] "搜寻字符串" 文件名
# 常用选项
# -i : 忽略大小写
# -n : 显示行号
# -v : 反向选择(显示不匹配的行)
# -vn : 反向选择并显示行号
# -ni : 忽略大小写并显示行号
# -vni: 忽略大小写、反向选择、显示行号(可组合)

2.21 top指令
功能:动态显示系统进程状态(类似于任务管理器)
# 语法
top [选项]
# 常用选项
# -d 秒数 : 刷新时间间隔(默认3秒)
# -n 次数 : 刷新次数(达到次数后自动退出)
# -p PID : 只显示指定PID的进程
操作: 命令
启动top: top
每秒刷新,共5次: top -d 1 -n 5
退出top: 按 q
按CPU排序 :进入top后按 P
按内存排序: 进入top后按 M
杀死进程: 进入top后按 k → 输入PID

2.22 zip/unzip 指令
zip 功能:将文件或目录压缩成.zip格式
unzip 功能: 解压.zip格式的压缩包
# 2. 语法
zip [选项] 压缩包名称.zip 要压缩的文件/目录
# 3. 常用选项
# -r : 递归压缩目录(压缩目录时必须加)
# -q : 安静模式,不显示压缩过程
# -m : 压缩后删除源文件
# -e : 设置加密密码
# -P密码 : 直接设置密码(-P后面跟密码,无空格)
# -x : 排除指定文件
# -u : 更新压缩包中的文件
# -d : 从压缩包中删除文件
#########
# 2. 语法
unzip [选项] 压缩包.zip [-d 目标目录]
# 3. 常用选项
# -d 目录 : 解压到指定目录(不指定则解压到当前目录)
# -l : 查看压缩包内容,不解压
# -v : 查看压缩包详细信息(包括压缩率)
# -o : 解压时覆盖已存在文件(不提示)
# -n : 解压时不覆盖已存在文件
# -q : 安静模式,不显示解压过程
# -P密码 : 解压带密码的压缩包
2.23 tar指令
功能:打包解包文件
语法:
# 1. 功能:打包/解包文件(可配合压缩算法压缩)
# 2. 语法
tar [-cxtzjvf] 文件与目录 ...
# 3. 常用参数
# -c : 创建打包文件(create)
# -x : 解包(extract)
# -t : 查看打包文件内容(list)
# -z : 通过 gzip 压缩/解压(后缀 .tar.gz 或 .tgz)
# -j : 通过 bzip2 压缩/解压(后缀 .tar.bz2)
# -v : 显示正在处理的文件(verbose)
# -f : 指定文件名(f后面必须立即接文件名,不能加其他参数)
# -C : 解压到指定目录
# -p : 保留原文件权限属性
# -N : 只备份比指定日期新的文件
# --exclude : 排除指定文件或目录
# 4. 文件后缀约定
# .tar : 仅打包,未压缩
# .tar.gz : 打包后经 gzip 压缩
# .tgz : 同上,简写
# .tar.bz2 : 打包后经 bzip2 压缩
这里简但讲解一下
============================================
命令拆解说明
============================================
1. 压缩命令
tar -czvf test.tar.gz test/
│ │ │ │ └── 要压缩的目录/文件
│ │ │ └── 压缩后生成的文件名
│ │ └── 文件(必须紧跟在 -f 后面)
│ └── 参数组合(后面解释)
└── 打包命令
参数含义(可以分开记)
-c : 创建压缩包(Create)
-z : 用 gzip 方式压缩
-v : 显示压缩过程(Visible)
-f : 指定文件名(File)
2. 解压命令
tar -xzvf test.tar.gz
│ │ │ └── 要解压的文件名
│ │ └── 文件
│ └── 参数组合
└── 打包命令
参数含义
-x : 解压(eXtract)
-z : 文件是用 gzip 压缩的
-v : 显示解压过程
-f : 指定文件名
============================================
实际操作示例
============================================
准备:先创建一个测试目录和文件
mkdir test # 创建 test 目录
echo "hello" > test/a.txt # 在 test 里放一个文件
运行压缩命令
tar -czvf test.tar.gz test/
输出:
test/
test/a.txt
这时会生成一个 test.tar.gz 文件
ls
test test.tar.gz
删除原目录,模拟"别人发给你压缩包"的场景
rm -rf test
运行解压命令
tar -xzvf test.tar.gz
输出:
test/
test/a.txt
test 目录又回来了
ls test/
a.txt
完整示例如下:
2.24 bc指令
bc指令就相当于给你一个计算机
# 1. 功能:命令行计算器(支持整数和小数运算)
# 2. 进入和退出
bc # 进入bc交互模式
quit # 退出bc
# 或按 Ctrl+D 退出
# 3. 基本运算
# + 加法 - 减法 * 乘法 / 除法
# % 取余 ^ 指数 sqrt(n) 开平方

2.25 uname 指令
功能:获取电脑和操作系统的相关信息
语法: uname [选项]
常用选项
# -a : 显示所有信息(全部)
# -s : 显示内核名称
# -n : 显示主机名
# -r : 显示内核版本(最常用)
# -v : 显示内核版本号(更详细)
# -m : 显示硬件架构(机器类型)
# -p : 显示处理器类型
# -i : 显示硬件平台
# -o : 显示操作系统名称

3.几个重要热键
[Tab] — 具有【命令补全】【档案补齐】的功能
[Ctrl]-c 让当前程序停掉
[Ctrl]-d 键盘输入结束
关机
语法:shutdown [选项]
常见选项:
• -h:将系统的服务停掉后,立即关机。
• -r:在将系统的服务停掉之后就重新启动
• -t sec:-t 后⾯加秒数,亦即『过几秒后关机』的意思
感谢观看 😊 😄
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)