Update All From Blog until 20260611
This commit is contained in:
@@ -0,0 +1,590 @@
|
||||
# 🐧 Debian/Linux 常用命令速查手册
|
||||
|
||||
# 📁1. 文件和目录操作
|
||||
|
||||
## 1.1 基础操作
|
||||
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| ls | 列出目录内容 | `ls -la`(显示所有,含隐藏文件) |
|
||||
| cd | 切换目录 | `cd /home/user` |
|
||||
| pwd | 显示当前路径 | `pwd` |
|
||||
| mkdir | 创建目录 | `mkdir -p dir1/dir2`(递归创建) |
|
||||
| rmdir | 删除空目录 | `rmdir empty_dir` |
|
||||
| rm | 删除文件或目录 | `rm -rf dir/`(递归强制删除) |
|
||||
| cp | 复制 | `cp -r source/ dest/`(递归复制) |
|
||||
| mv | 移动/重命名 | `mv old.txt new.txt` |
|
||||
| touch | 创建空文件或更新时间戳 | `touch file.txt` |
|
||||
| file | 查看文件类型 | `file unknown.bin` |
|
||||
|
||||
## 1.2 ls 常用参数
|
||||
```bash
|
||||
ls -l # 详细列表(权限、大小、时间)
|
||||
ls -a # 显示所有文件(包括 . 开头的隐藏文件)
|
||||
ls -h # 人类可读的大小(1K, 234M, 2G)
|
||||
ls -t # 按修改时间排序
|
||||
ls -r # 反向排序
|
||||
ls -R # 递归显示子目录
|
||||
```
|
||||
ls -lah # 最常用:详细+人类可读+隐藏文件
|
||||
## 1.3 rm 参数详解
|
||||
| 参数 | 含义 | 说明 |
|
||||
|------|------|------|
|
||||
| -f | force | 强制删除,不提示,忽略不存在的文件 |
|
||||
| -r 或 -R | recursive | 递归删除(删文件夹必须用) |
|
||||
| -i | interactive | 删除前逐个确认 |
|
||||
| -v | verbose | 显示删除过程 |
|
||||
|
||||
```bash
|
||||
rm file.txt # 删除文件(会提示确认)
|
||||
rm -f file.txt # 强制删除,不提示
|
||||
rm -rf folder/ # 递归强制删除整个文件夹
|
||||
rm -i *.log # 删除每个 .log 文件前确认
|
||||
```
|
||||
## 1.4 cp 和 mv 常用参数
|
||||
```bash
|
||||
cp source dest # 复制文件
|
||||
cp -r src_dir/ dest_dir/ # 递归复制目录
|
||||
cp -i file.txt backup/ # 覆盖前提示
|
||||
cp -u file.txt backup/ # 只复制更新的文件(update)
|
||||
cp -p file.txt backup/ # 保留原文件属性(权限、时间)
|
||||
```
|
||||
```bash
|
||||
mv old.txt new.txt # 重命名
|
||||
mv file.txt folder/ # 移动文件
|
||||
mv -i file.txt folder/ # 覆盖前提示
|
||||
mv -u file.txt folder/ # 只移动更新的文件
|
||||
```
|
||||
# 🔐2. 权限管理
|
||||
## 2.1 Linux 权限基础
|
||||
每个文件/目录有三组权限:所有者(u)、所属组(g)、其他人(o)
|
||||
```
|
||||
-rwxr-xr--
|
||||
^ ^^^ ^^^ ^^^
|
||||
| | | └─ 其他人权限
|
||||
| | └───── 组权限
|
||||
| └───────── 所有者权限
|
||||
└──────────── 类型(-文件,d目录,l链接)
|
||||
|
||||
r = 读 (4)
|
||||
w = 写 (2)
|
||||
x = 执行 (1)
|
||||
```
|
||||
## 2.2 常用命令
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| chmod | 修改权限 | `chmod 755 script.sh` |
|
||||
| chown | 修改所有者 | `chown user:group file.txt` |
|
||||
| chgrp | 修改所属组 | `chgrp staff file.txt` |
|
||||
| umask | 设置默认权限掩码 | `umask 022` |
|
||||
|
||||
### 2.2.1 chmod 两种写法
|
||||
#### 2.2.1.1 数字法(推荐):
|
||||
```bash
|
||||
chmod 755 file.sh # rwxr-xr-x
|
||||
chmod 644 file.txt # rw-r--r--
|
||||
chmod 600 secret.txt # rw-------
|
||||
chmod 777 temp/ # rwxrwxrwx(危险!)
|
||||
```
|
||||
#### 2.2.1.2 符号法:
|
||||
```bash
|
||||
chmod u+x file.sh # 所有者加执行权限
|
||||
chmod g-w file.txt # 组去掉写权限
|
||||
chmod o=r file.txt # 其他人设为只读
|
||||
chmod a+x script.sh # 所有人加执行权限(a=all)
|
||||
```
|
||||
#### 2.2.1.3 权限数字对照表
|
||||
| 数字 | 权限 | 含义 |
|
||||
|------|------|------|
|
||||
| 7 | rwx | 读+写+执行 |
|
||||
| 6 | rw- | 读+写 |
|
||||
| 5 | r-x | 读+执行 |
|
||||
| 4 | r-- | 只读 |
|
||||
| 3 | -wx | 写+执行 |
|
||||
| 2 | -w- | 只写 |
|
||||
| 1 | --x | 只执行 |
|
||||
| 0 | --- | 无权限 |
|
||||
#### 2.2.1.4 常用权限组合
|
||||
```bash
|
||||
755 # rwxr-xr-x - 目录/脚本(所有者全权,其他人只读执行)
|
||||
644 # rw-r--r-- - 普通文件(所有者读写,其他人只读)
|
||||
600 # rw------- - 私密文件(只有所有者可读写)
|
||||
700 # rwx------ - 私密目录(只有所有者可访问)
|
||||
777 # rwxrwxrwx - 完全开放(危险,慎用!)
|
||||
```
|
||||
#### 2.2.1.5 特殊权限(高级)
|
||||
```bash
|
||||
权限 数字 作用
|
||||
SUID 4xxx 以文件所有者身份执行(如 passwd)
|
||||
SGID 2xxx 以文件所属组身份执行
|
||||
Sticky 1xxx 只有所有者能删除(如 /tmp)
|
||||
```
|
||||
```bash
|
||||
chmod 4755 file # 添加 SUID
|
||||
chmod 1777 /tmp # 添加 Sticky 位
|
||||
```
|
||||
# 👤3. 用户和组管理
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| whoami | 显示当前用户 | `whoami` |
|
||||
| id | 显示用户ID和组信息 | `id username` |
|
||||
| users | 显示登录用户 | `users` |
|
||||
| who | 显示谁在登录 | `who -a` |
|
||||
| su | 切换用户 | `su - root` |
|
||||
| sudo | 以root身份执行 | `sudo command` |
|
||||
| useradd | 添加用户 | `useradd -m newuser` |
|
||||
| usermod | 修改用户 | `usermod -aG sudo user` |
|
||||
| userdel | 删除用户 | `userdel -r user` |
|
||||
| passwd | 修改密码 | `passwd username` |
|
||||
| groupadd | 添加组 | `groupadd groupname` |
|
||||
| groups | 显示用户所属组 | `groups username` |
|
||||
|
||||
```bash
|
||||
#添加新用户并创建家目录
|
||||
sudo useradd -m -s /bin/bash newuser
|
||||
|
||||
#将用户加入 sudo 组(Debian/Ubuntu)
|
||||
sudo usermod -aG sudo newuser
|
||||
|
||||
#删除用户及家目录
|
||||
sudo userdel -r olduser
|
||||
|
||||
#切换到 root(需要root密码)
|
||||
su -
|
||||
|
||||
#以 root 执行单条命令
|
||||
sudo apt update
|
||||
```
|
||||
# 🔍4. 文件查找和搜索
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| find | 按条件查找文件 | `find / -name "*.txt"` |
|
||||
| locate | 快速查找(需数据库) | `locate filename` |
|
||||
| which | 查找命令路径 | `which python` |
|
||||
| whereis | 查找命令/源码/手册 | `whereis ls` |
|
||||
| grep | 搜索文件内容 | `grep "text" file.txt` |
|
||||
| awk | 文本处理 | `awk '{print $1}' file` |
|
||||
| sed | 流编辑器 | `sed 's/old/new/g' file` |
|
||||
## 4.1 find常用用法
|
||||
```bash
|
||||
#按名称查找
|
||||
find /home -name "*.jpg" # 区分大小写
|
||||
find /home -iname "*.jpg" # 不区分大小写
|
||||
|
||||
#按类型查找
|
||||
find . -type f # 只找文件
|
||||
find . -type d # 只找目录
|
||||
find . -type l # 只找链接
|
||||
|
||||
#按大小查找
|
||||
find / -size +100M # 大于100MB
|
||||
find / -size -1k # 小于1KB
|
||||
|
||||
#按时间查找
|
||||
find . -mtime -7 # 7天内修改过
|
||||
find . -mtime +30 # 30天前修改
|
||||
find . -amin -60 # 60分钟内访问过
|
||||
|
||||
#组合条件
|
||||
find . -name "*.log" -mtime -7 # 最近7天的log文件
|
||||
find . -type f -size +1G -delete # 删除大于1GB的文件
|
||||
|
||||
#执行操作
|
||||
find . -name "*.tmp" -exec rm {} \; # 删除找到的文件
|
||||
find . -name "*.txt" -exec cp {} /backup/ \; # 复制到备份目录
|
||||
```
|
||||
## 4.2 grep常用用法
|
||||
### 4.2.1 基础搜索
|
||||
```bash
|
||||
grep "error" log.txt # 搜索字符串
|
||||
grep -i "error" log.txt # 忽略大小写
|
||||
grep -r "TODO" ./src/ # 递归搜索目录
|
||||
grep -n "error" log.txt # 显示行号
|
||||
grep -v "debug" log.txt # 反向匹配(不含debug的行)
|
||||
```
|
||||
### 4.2.2 正则表达式
|
||||
```bash
|
||||
grep "^start" file.txt # 以start开头的行
|
||||
grep "end$" file.txt # 以end结尾的行
|
||||
grep -E "error|warning" log.txt # 扩展正则(或)
|
||||
```
|
||||
### 4.2.3 实用组合
|
||||
```bash
|
||||
ps aux | grep nginx # 查找nginx进程
|
||||
grep -l "ERROR" *.log # 只显示包含ERROR的文件名
|
||||
grep -c "error" log.txt # 统计匹配行数
|
||||
```
|
||||
# 📦5. Debian 包管理(APT)
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| apt update | 更新软件包列表 | `sudo apt update` |
|
||||
| apt upgrade | 升级所有可升级包 | `sudo apt upgrade` |
|
||||
| apt install | 安装软件包 | `sudo apt install nginx` |
|
||||
| apt remove | 删除软件包(保留配置) | `sudo apt remove nginx` |
|
||||
| apt purge | 完全删除(含配置) | `sudo apt purge nginx` |
|
||||
| apt autoremove | 删除无用依赖 | `sudo apt autoremove` |
|
||||
| apt search | 搜索软件包 | `apt search python` |
|
||||
| apt show | 显示包详细信息 | `apt show nginx` |
|
||||
| apt list | 列出包(--installed) | `apt list --installed` |
|
||||
| dpkg | 直接操作.deb文件 | `dpkg -i package.deb` |
|
||||
|
||||
## 5.1 常用组合
|
||||
```bash
|
||||
#系统更新完整流程
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
#查找并安装软件
|
||||
apt search "image editor"
|
||||
sudo apt install gimp
|
||||
|
||||
#清理无用包
|
||||
sudo apt autoremove --purge
|
||||
|
||||
#查看已安装包的版本
|
||||
apt list --installed | grep nginx
|
||||
|
||||
#修复依赖问题
|
||||
sudo apt --fix-broken install
|
||||
```
|
||||
# 🖥️6. 进程和系统监控
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| ps | 查看进程 | `ps aux` |
|
||||
| top | 动态进程监控 | `top` |
|
||||
| htop | 更友好的top(需安装) | `htop` |
|
||||
| kill | 终止进程 | `kill -9 PID` |
|
||||
| pkill | 按名称终止 | `pkill nginx` |
|
||||
| jobs | 查看后台任务 | `jobs` |
|
||||
|
|
||||
bg | 将任务放到后台 | `bg %1` |
|
||||
| fg | 将任务调到前台 | `fg %1` |
|
||||
| & | 后台运行程序 | `./script.sh &` |
|
||||
| nohup | 忽略挂断信号运行 | `nohup ./script.sh &` |
|
||||
|
||||
## 6.1 进程管理详解
|
||||
```bash
|
||||
#查看进程
|
||||
ps aux # 所有进程(详细)
|
||||
ps -ef # 所有进程(标准格式)
|
||||
ps aux | grep python # 查找特定进程
|
||||
|
||||
#进程树
|
||||
pstree -p # 显示PID
|
||||
|
||||
#终止进程
|
||||
kill PID # 正常终止(SIGTERM)
|
||||
kill -9 PID # 强制终止(SIGKILL)
|
||||
kill -15 PID # 同 kill PID
|
||||
pkill -f "python script" # 按命令行匹配终止
|
||||
|
||||
#优先级
|
||||
nice -n 10 ./script.sh # 降低优先级(-20最高,19最低)
|
||||
renice 5 -p PID # 修改运行中进程的优先级
|
||||
系统资源查看
|
||||
bash
|
||||
#内存
|
||||
free -h # 人类可读的内存使用
|
||||
cat /proc/meminfo # 详细信息
|
||||
|
||||
#磁盘
|
||||
df -h # 磁盘分区使用情况
|
||||
du -sh /home/ # 目录总大小
|
||||
du -h --max-depth=1 /home/ # 各子目录大小
|
||||
|
||||
#CPU
|
||||
lscpu # CPU信息
|
||||
cat /proc/cpuinfo # 详细信息
|
||||
nproc # CPU核心数
|
||||
|
||||
#系统负载
|
||||
uptime # 系统运行时间和负载
|
||||
cat /proc/loadavg # 平均负载
|
||||
|
||||
#网络
|
||||
ss -tlnp # 查看监听端口
|
||||
netstat -tlnp # 同上(需安装net-tools)
|
||||
```
|
||||
# 📀7. 磁盘和挂载
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| lsblk | 列出块设备 | `lsblk -f`(含文件系统) |
|
||||
| fdisk | 分区工具 | `sudo fdisk -l` |
|
||||
| mount | 挂载设备 | `mount /dev/sda1 /mnt` |
|
||||
| umount | 卸载设备 | `umount /mnt` |
|
||||
| df | 磁盘使用情况 | `df -h` |
|
||||
| du | 目录占用空间 | `du -sh /home` |
|
||||
| blkid | 查看UUID | `sudo blkid` |
|
||||
| parted | GPT分区工具 | `sudo parted -l` |
|
||||
|
||||
## 7.1 常用操作
|
||||
```bash
|
||||
#查看所有磁盘和分区
|
||||
lsblk -f
|
||||
|
||||
#挂载NTFS硬盘
|
||||
sudo mount -t ntfs-3g /dev/sdb1 /mnt/data
|
||||
|
||||
#卸载
|
||||
sudo umount /mnt/data
|
||||
|
||||
#查看UUID(用于fstab自动挂载)
|
||||
sudo blkid
|
||||
|
||||
#查看磁盘使用情况
|
||||
df -Th # 显示类型和人类可读大小
|
||||
|
||||
#查看目录大小
|
||||
du -sh /* # 根目录下各文件夹大小
|
||||
fstab 自动挂载示例
|
||||
|
||||
#编辑 /etc/fstab 添加
|
||||
UUID=1234-5678 /mnt/data ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0
|
||||
```
|
||||
# 🌐8. 网络相关
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| ip | 网络配置(推荐) | `ip addr show` |
|
||||
| ifconfig | 网络配置(旧) | `ifconfig` |
|
||||
| ping | 测试连通性 | `ping google.com` |
|
||||
| curl | HTTP请求 | `curl -O http://file.zip` |
|
||||
| wget | 下载文件 | `wget https://example.com/file` |
|
||||
| ssh | 远程连接 | `ssh user@host` |
|
||||
| scp | 安全复制 | `scp file user@host:/path/` |
|
||||
| rsync | 增量同步 | `rsync -avz src/ dest/` |
|
||||
| netstat | 网络统计 | `netstat -tlnp` |
|
||||
| ss | socket统计(推荐) | `ss -tlnp` |
|
||||
|
||||
## 8.1 常用操作
|
||||
```bash
|
||||
#查看IP地址
|
||||
ip addr show
|
||||
ip -4 addr show # 只显示IPv4
|
||||
|
||||
#测试网络
|
||||
ping -c 4 8.8.8.8
|
||||
|
||||
#下载文件
|
||||
wget -c http://bigfile.zip # 断点续传
|
||||
curl -O http://file.zip # 保存为原文件名
|
||||
|
||||
#查看端口监听
|
||||
ss -tlnp # TCP监听端口
|
||||
ss -ulnp # UDP监听端口
|
||||
|
||||
#测试端口连通性
|
||||
nc -zv google.com 80 # 需要安装 netcat
|
||||
|
||||
#SSH 密钥登录
|
||||
ssh-keygen -t rsa -b 4096
|
||||
ssh-copy-id user@host
|
||||
```
|
||||
# 📜9. 文本编辑和查看
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| cat | 显示文件内容 | `cat file.txt` |
|
||||
| less | 分页查看(推荐) | `less large.log` |
|
||||
| head | 查看文件开头 | `head -20 file.txt` |
|
||||
| tail | 查看文件结尾 | `tail -f log.txt`(实时跟踪) |
|
||||
| nano | 简单编辑器 | `nano config.conf` |
|
||||
| vim | 高级编辑器 | `vim script.py` |
|
||||
| echo | 输出文本 | `echo "Hello" > file.txt` |
|
||||
| \|(管道) | 传递输出 | `cat file \| grep word` |
|
||||
| > | 重定向(覆盖) | `echo text > file` |
|
||||
| >> | 重定向(追加) | `echo text >> file` |
|
||||
|
||||
## 9.1 常用操作
|
||||
```bash
|
||||
#查看文件
|
||||
cat file.txt # 全部显示(适合小文件)
|
||||
less file.txt # 分页(空格翻页,q退出)
|
||||
head -20 file.txt # 前20行
|
||||
tail -f app.log # 实时跟踪日志(Ctrl+C退出)
|
||||
|
||||
#重定向示例
|
||||
ls -la > list.txt # 覆盖写入
|
||||
echo "new line" >> list.txt # 追加
|
||||
command 2> error.log # 只重定向错误输出
|
||||
command &> output.log # 重定向所有输出
|
||||
|
||||
#管道组合
|
||||
dmesg | grep error # 查找内核错误
|
||||
ps aux | sort -rnk3 | head -10 # CPU占用前10进程
|
||||
```
|
||||
# 🗜️10. 压缩和解压
|
||||
## 10.1 tar(最常用)
|
||||
|
||||
```bash
|
||||
#创建压缩包
|
||||
tar -czf archive.tar.gz folder/ # gzip压缩
|
||||
tar -cjf archive.tar.bz2 folder/ # bzip2压缩
|
||||
tar -cvf archive.tar folder/ # 不压缩,只打包
|
||||
|
||||
#解压
|
||||
tar -xzf archive.tar.gz # 解压到当前目录
|
||||
tar -xjf archive.tar.bz2 -C /target/ # 解压到指定目录
|
||||
tar -xf archive.tar # 自动识别格式
|
||||
|
||||
#查看压缩包内容
|
||||
tar -tzf archive.tar.gz
|
||||
|
||||
# 数说明
|
||||
#-c 创建 -x 解压 -z gzip -j bzip2 -v 显示过程 -f 文件 -C 指定目录
|
||||
```
|
||||
## 10.2 其他格式
|
||||
```bash
|
||||
#zip
|
||||
zip -r archive.zip folder/
|
||||
unzip archive.zip -d /target/
|
||||
|
||||
#7z(需安装 p7zip)
|
||||
7z a archive.7z folder/
|
||||
7z x archive.7z -o/target/
|
||||
|
||||
#gz
|
||||
gunzip file.gz
|
||||
gzip file.txt
|
||||
```
|
||||
## 10.3 查看压缩文件内容(不解压)
|
||||
```
|
||||
zcat file.gz | head
|
||||
zless file.gz
|
||||
```
|
||||
# 🔧11. 系统管理和维护
|
||||
| 命令 | 作用 | 示例 |
|
||||
|------|------|------|
|
||||
| systemctl | 服务管理 | `systemctl status nginx` |
|
||||
| journalctl | 查看日志 | `journalctl -u nginx -f` |
|
||||
| reboot | 重启 | `sudo reboot` |
|
||||
| shutdown | 关机 | `sudo shutdown -h now` |
|
||||
| uname | 系统信息 | `uname -a` |
|
||||
| lsb_release | 发行版信息 | `lsb_release -a` |
|
||||
| uptime | 运行时间 | `uptime` |
|
||||
| dmesg | 内核日志 | `dmesg \| tail` |
|
||||
| crontab | 定时任务 | `crontab -e` |
|
||||
|
||||
## 11.1 systemctl常用命令
|
||||
```bash
|
||||
#服务管理
|
||||
systemctl start nginx # 启动
|
||||
systemctl stop nginx # 停止
|
||||
systemctl restart nginx # 重启
|
||||
systemctl reload nginx # 重载配置(不中断)
|
||||
systemctl enable nginx # 开机自启
|
||||
systemctl disable nginx # 取消自启
|
||||
systemctl status nginx # 查看状态
|
||||
|
||||
#查看所有服务
|
||||
systemctl list-units --type=service --state=running
|
||||
|
||||
# 系统操作
|
||||
systemctl reboot # 重启
|
||||
systemctl poweroff # 关机
|
||||
systemctl suspend # 挂起
|
||||
```
|
||||
|
||||
## 11.2 journalctl日志查看
|
||||
```bash
|
||||
journalctl -xe # 查看最新日志(含说明)
|
||||
journalctl -u nginx # 查看nginx服务日志
|
||||
journalctl -u nginx -f # 实时跟踪
|
||||
journalctl --since "2024-01-01" # 指定开始时间
|
||||
journalctl --since today # 今天的日志
|
||||
journalctl -k # 内核日志
|
||||
journalctl | grep error # 搜索错误
|
||||
```
|
||||
|
||||
## 11.3 定时任务 Crontab
|
||||
```bash
|
||||
crontab -e # 编辑定时任务
|
||||
crontab -l # 列出当前任务
|
||||
crontab -r # 删除所有任务
|
||||
|
||||
# 格式:分 时 日 月 周 命令
|
||||
# 示例
|
||||
0 2 * * * /backup.sh # 每天2点执行
|
||||
*/5 * * * * /check.sh # 每5分钟执行
|
||||
0 9 * * 1-5 /report.sh # 周一至周五9点
|
||||
@reboot /start-service.sh # 开机执行
|
||||
```
|
||||
|
||||
# 🎯12. 实用技巧和快捷键
|
||||
## 12.1 命令行快捷键
|
||||
| 快捷键 | 作用 |
|
||||
|--------|------|
|
||||
| Ctrl+C | 终止当前命令 |
|
||||
| Ctrl+Z | 挂起当前命令(fg恢复) |
|
||||
| Ctrl+D | 退出终端(相当于exit) |
|
||||
| Ctrl+L | 清屏(相当于clear) |
|
||||
| Ctrl+A | 跳到行首 |
|
||||
| Ctrl+E | 跳到行尾 |
|
||||
| Ctrl+U | 删除光标前所有内容 |
|
||||
| Ctrl+K | 删除光标后所有内容 |
|
||||
| Ctrl+W | 删除前一个单词 |
|
||||
| Ctrl+R | 历史命令搜索 |
|
||||
| !! | 执行上一条命令 |
|
||||
| !$ | 上一条命令的最后一个参数 |
|
||||
| Tab | 自动补全 |
|
||||
|
||||
## 12.2 环境变量
|
||||
```bash
|
||||
# 查看变量
|
||||
echo $PATH
|
||||
env # 显示所有环境变量
|
||||
|
||||
# 设置临时变量
|
||||
export MY_VAR="value"
|
||||
|
||||
# 永久设置(添加到 ~/.bashrc 或 ~/.profile)
|
||||
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
|
||||
source ~/.bashrc # 立即生效
|
||||
```
|
||||
|
||||
## 12.3 重定向总结
|
||||
| 符号 | 含义 |
|
||||
|------|------|
|
||||
| > | 标准输出重定向(覆盖) |
|
||||
| >> | 标准输出重定向(追加) |
|
||||
| 2> | 错误输出重定向 |
|
||||
| 2>&1 | 错误输出合并到标准输出 |
|
||||
| &> | 所有输出重定向 |
|
||||
| < | 输入重定向 |
|
||||
| \| | 管道(前一个输出作为后一个输入) |
|
||||
```bash
|
||||
#实用重定向示例
|
||||
command > output.txt 2>&1 # 标准输出和错误都写入文件
|
||||
command &> output.txt # 同上(bash简写)
|
||||
command > /dev/null 2>&1 # 忽略所有输出(静默运行)
|
||||
cat < file.txt # 从文件读取输入
|
||||
```
|
||||
## 12,4 📚快速参考卡
|
||||
常用命令速查
|
||||
| 要做的事 | 命令 |
|
||||
|----------|------|
|
||||
| 更新系统 | `sudo apt update && sudo apt upgrade` |
|
||||
| 安装软件 | `sudo apt install 包名` |
|
||||
| 查看IP | `ip a` |
|
||||
| 查看端口 | `ss -tlnp` |
|
||||
| 查看磁盘 | `df -h` |
|
||||
| 查看目录大小 | `du -sh 目录` |
|
||||
| 查找文件 | `find / -name 文件名` |
|
||||
| 搜索内容 | `grep -r "内容" ./` |
|
||||
| 实时查看日志 | `tail -f log.txt` |
|
||||
| 后台运行 | `nohup 命令 &` |
|
||||
| 查看进程 | `ps aux \| grep 进程名` |
|
||||
| 杀掉进程 | `kill -9 PID` |
|
||||
| 重启服务 | `systemctl restart 服务名` |
|
||||
| 查看服务日志 | `journalctl -u 服务名 -f` |
|
||||
| 压缩文件夹 | `tar -czf archive.tar.gz 文件夹/` |
|
||||
| 解压 | `tar -xzf archive.tar.gz` |
|
||||
| 远程拷贝 | `scp file user@host:/path/` |
|
||||
| 同步文件夹 | `rsync -avz src/ dest/` |
|
||||
|
||||
# 13.⚠️危险命令(永远不要运行!)
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `rm -rf /` | 删除整个系统 |
|
||||
| `rm -rf /*` | 同上 |
|
||||
| `rm -rf .*` | 会匹配到 ..(上级目录)! |
|
||||
| `dd if=/dev/zero of=/dev/sda` | 清空硬盘 |
|
||||
| `mkfs.ext4 /dev/sda` | 格式化硬盘 |
|
||||
| `:(){ :\|:& };:` | Fork炸弹(死机) |
|
||||
Reference in New Issue
Block a user