1. Linux命令基础认知与学习路径
作为一名从Windows转向Linux的老用户,我清楚地记得第一次面对黑底白字的终端窗口时的手足无措。与图形界面操作完全不同,Linux命令行的操作方式需要全新的思维方式。但掌握后你会发现,命令行才是Linux系统的灵魂所在,它能让你以最高效的方式控制系统。
Linux命令本质上是在Shell环境下运行的可执行程序,它们通常存放在/bin、/sbin、/usr/bin等目录中。每个命令都遵循"命令 [选项] [参数]"的基本结构,例如ls -l /home这个简单命令中,ls是命令本身,-l是选项(也叫标志或开关),/home则是参数。
对于初学者,我建议按照以下路径逐步掌握Linux命令:
- 文件系统操作:
cd、ls、pwd、mkdir、touch等 - 文件内容查看与编辑:
cat、more、less、vim、nano - 文件操作:
cp、mv、rm、find、grep - 权限管理:
chmod、chown、sudo - 系统信息:
top、ps、free、df、uname - 网络相关:
ping、ifconfig、netstat、ssh - 软件管理:
apt、yum、dpkg、rpm - 进程管理:
kill、jobs、bg、fg
提示:不要试图一次性记住所有命令的每个选项,这是不现实的。我建议先掌握每个命令最常用的2-3个选项,随着使用频率增加自然就会记住更多。
2. 文件与目录操作命令详解
2.1 基础导航与查看
pwd(Print Working Directory)可能是你最先需要掌握的命令,它能告诉你当前所在的目录位置。我刚学习时经常在目录结构中迷失,这个简单的命令帮我解决了大问题。
ls命令是使用频率最高的命令之一,它的几个常用选项值得牢记:
-l:以长格式显示,包含权限、所有者、大小等信息-a:显示所有文件,包括隐藏文件(以点开头的文件)-h:以人类可读的格式显示文件大小(如KB、MB)-t:按修改时间排序-r:反向排序
组合使用效果更佳,例如ls -lath会按修改时间倒序列出所有文件(包括隐藏文件),并以易读的格式显示大小。
2.2 文件操作核心命令
cp(copy)和mv(move)命令的结构相似:
cp [选项] 源文件 目标文件 mv [选项] 源文件 目标文件但它们的-i(interactive)选项特别有用,能在覆盖文件前提示确认,避免误操作。我强烈建议新手在.bashrc中为这些命令设置别名:
alias cp='cp -i' alias mv='mv -i' alias rm='rm -i'rm命令的-r(recursive)和-f(force)选项要格外小心,rm -rf /这样的命令可能造成灾难性后果。有一次我在半睡半醒的状态下差点执行了这个命令,幸好当时没有root权限。
2.3 查找与定位命令
find命令功能强大但语法复杂,我常用的几种形式:
find /path -name "*.txt" # 按名称查找 find . -type f -size +1M # 查找大于1MB的文件 find /var/log -mtime -7 # 查找7天内修改过的文件grep是文本搜索的利器,我几乎每天都会用到:
grep "error" /var/log/syslog # 在文件中搜索error grep -r "function" /project # 递归搜索目录 grep -i "warning" file.log # 忽略大小写 ps aux | grep nginx # 结合管道使用3. 系统管理与监控命令
3.1 进程管理
top命令是实时监控系统状态的瑞士军刀。运行后,几个有用的快捷键:
M:按内存使用排序P:按CPU使用排序1:显示所有CPU核心的详情q:退出
对于更简洁的进程查看,ps命令更合适:
ps aux | less # 查看所有运行中的进程 ps -ef | grep nginx # 查找特定进程当需要结束进程时,先用kill -l查看所有信号类型。最常用的是:
kill -9 PID # 强制终止进程(SIGKILL) kill -15 PID # 优雅终止进程(SIGTERM)3.2 硬件与资源监控
df -h能快速查看磁盘空间使用情况,而du -sh *可以查看当前目录下各文件/目录的大小。我曾经用这个命令发现了一个日志文件占用了50GB空间。
free -h显示内存使用情况,-h选项同样使其以易读格式显示。uptime命令则能快速了解系统运行时间和负载情况。
3.3 网络相关命令
ifconfig(或现代系统中的ip addr)查看网络接口信息。netstat虽然逐渐被ss取代,但仍然有用:
netstat -tulnp # 查看监听中的端口及对应程序 ss -tulnp # 更现代的替代方案ping和traceroute(或tracepath)是网络诊断的基础工具。curl和wget则用于网络数据传输,我常用:
curl -I example.com # 仅获取HTTP头信息 wget --mirror --convert-links https://example.com # 镜像网站4. 实用命令组合与技巧
4.1 管道与重定向
Linux最强大的特性之一是将多个命令通过管道(|)连接。例如:
cat access.log | grep "404" | awk '{print $7}' | sort | uniq -c | sort -nr这个组合能统计日志中404错误的URL及其出现次数,按频率排序。
重定向也很实用:
command > file # 输出重定向到文件(覆盖) command >> file # 追加到文件 command 2> error.log # 重定向错误输出 command &> all.log # 重定向所有输出4.2 后台作业与终端复用
长时间运行的任务可以放到后台:
long-running-command & # 直接在后台运行 # 或者 long-running-command Ctrl+Z # 暂停 bg # 放到后台继续 jobs # 查看后台作业 fg %1 # 调回前台对于更复杂的场景,tmux或screen这类终端复用器是更好的选择。它们允许你在断开SSH连接后仍保持会话。
4.3 实用小技巧
!!:重复上一条命令!$:上一条命令的最后一个参数Ctrl+R:反向搜索命令历史command | tee file:同时输出到屏幕和文件watch -n 1 command:每1秒执行一次命令并显示结果
5. 软件包管理命令对比
不同的Linux发行版使用不同的包管理系统,掌握它们对系统管理至关重要。
5.1 Debian/Ubuntu系列(APT)
sudo apt update # 更新软件包列表 sudo apt upgrade # 升级所有已安装软件包 sudo apt install package # 安装软件包 sudo apt remove package # 移除软件包(保留配置) sudo apt purge package # 完全移除软件包 sudo apt search keyword # 搜索软件包 apt-cache show package # 显示软件包信息5.2 RHEL/CentOS系列(YUM/DNF)
sudo yum check-update # 检查更新 sudo yum update # 更新所有软件包 sudo yum install package # 安装 sudo yum remove package # 移除 yum search keyword # 搜索 yum info package # 显示信息5.3 通用包管理命令
dpkg和rpm是底层的包管理工具:
dpkg -i package.deb # 安装.deb包 dpkg -l | grep nginx # 列出已安装的包 rpm -ivh package.rpm # 安装.rpm包 rpm -qa | grep mysql # 查询已安装的包6. 文本处理三剑客:grep、awk、sed
6.1 grep进阶用法
除了基础搜索,grep还有许多强大功能:
grep -v "pattern" file # 反向匹配,显示不包含模式的行 grep -A 3 -B 2 "error" log # 显示匹配行及前后几行 grep -E "pattern1|pattern2" file # 扩展正则,匹配多个模式 grep --color=auto "keyword" file # 高亮显示匹配6.2 awk数据处理
awk特别适合处理结构化文本,如日志文件:
awk '{print $1}' access.log # 打印每行第一个字段 awk -F: '{print $1,$6}' /etc/passwd # 指定冒号为分隔符 awk '$3 > 100 {print $0}' data.txt # 条件过滤 awk '{sum+=$1} END {print sum}' numbers.txt # 求和计算6.3 sed流编辑器
sed适合批量文本替换和编辑:
sed 's/old/new/g' file # 全局替换 sed -i.bak 's/foo/bar/' file # 直接修改文件(保留备份) sed '/pattern/d' file # 删除匹配行 sed -n '10,20p' file # 打印10到20行7. 权限与用户管理
7.1 文件权限
Linux文件权限由三组rwx(读、写、执行)组成,分别对应所有者、所属组和其他用户。chmod命令修改权限:
chmod u+x script.sh # 给所有者添加执行权限 chmod go-rw file.txt # 移除组和其他用户的读写权限 chmod 755 script.sh # 数字表示法:rwxr-xr-x数字表示法中,r=4,w=2,x=1,所以7=rwx,5=r-x等。
7.2 用户与组管理
sudo useradd -m username # 创建用户并创建家目录 sudo passwd username # 设置密码 sudo usermod -aG groupname username # 将用户添加到附加组 sudo userdel -r username # 删除用户及家目录 groups username # 查看用户所属组/etc/passwd存储用户信息,/etc/group存储组信息,/etc/shadow存储加密密码。
7.3 sudo配置
visudo命令安全地编辑/etc/sudoers文件。典型配置示例:
username ALL=(ALL:ALL) ALL # 授予所有权限 %admin ALL=(ALL) ALL # 组权限 webuser ALL=(root) /usr/bin/systemctl restart nginx # 特定命令权限8. 实用脚本编写基础
8.1 脚本基础结构
一个标准的bash脚本开头:
#!/bin/bash # 注释:这是一个示例脚本 set -euo pipefail # 安全设置:出错退出,未设变量报错,管道错误检测set命令的几个有用选项:
-e:命令失败时立即退出-u:遇到未定义变量时报错-o pipefail:管道中任一命令失败则整个管道失败
8.2 变量与参数
name="value" # 变量赋值 echo "$name" # 变量引用 echo "参数个数: $#" echo "第一个参数: $1" echo "所有参数: $@"8.3 条件与循环
if [ -f "$file" ]; then echo "文件存在" elif [ -d "$dir" ]; then echo "目录存在" else echo "都不存在" fi for i in {1..5}; do echo "迭代 $i" done while read line; do echo "处理: $line" done < input.txt8.4 函数定义
function log { local timestamp=$(date '+%Y-%m-%d %H:%M:%S') echo "[$timestamp] $1" } log "这是一个日志消息"9. 系统服务管理
9.1 systemd基础
现代Linux发行版大多使用systemd管理系统服务:
sudo systemctl start nginx # 启动服务 sudo systemctl stop nginx # 停止 sudo systemctl restart nginx # 重启 sudo systemctl reload nginx # 重载配置 sudo systemctl enable nginx # 设置开机启动 sudo systemctl status nginx # 查看状态 journalctl -u nginx -f # 查看日志(实时)9.2 服务故障排查
当服务启动失败时,按顺序检查:
systemctl status service- 查看服务状态和最后几条日志journalctl -u service -xe- 查看完整日志- 手动运行服务二进制文件,看是否有输出错误
- 检查配置文件语法(如
nginx -t测试nginx配置) - 检查端口冲突(
ss -tulnp | grep :80)
10. 安全相关命令
10.1 SSH安全连接
ssh user@host -p port # 指定端口连接 ssh -i ~/.ssh/id_rsa user@host # 使用密钥认证 scp -P port file user@host:path # 安全复制 rsync -avz -e "ssh -p port" src/ user@host:dest/ # 高效同步10.2 防火墙管理
ufw(Uncomplicated Firewall)简化了iptables配置:
sudo ufw allow 22/tcp # 允许SSH sudo ufw allow from 192.168.1.100 # 允许特定IP sudo ufw enable # 启用防火墙 sudo ufw status numbered # 查看规则(带编号) sudo ufw delete 2 # 删除第二条规则对于更复杂的配置,直接使用iptables或nftables。
10.3 安全扫描与审计
sudo chkrootkit # 检查rootkit sudo rkhunter --checkall # 更全面的安全检查 sudo lynis audit system # 系统安全审计 sudo apt install fail2ban # 安装防暴力破解工具11. 性能分析与优化
11.1 系统性能监控
top和htop提供了实时监控,但对于性能分析,这些命令更有用:
vmstat 1 # 系统整体状态(每秒刷新) iostat -xz 1 # 磁盘I/O统计 mpstat -P ALL 1 # CPU使用详情 sar -n DEV 1 # 网络流量统计 dstat -cdngy # 综合资源监控11.2 进程级分析
strace -p PID # 跟踪系统调用 ltrace -p PID # 跟踪库调用 perf top # 性能计数器分析 pidstat 1 # 进程资源使用统计11.3 内存分析
free -h # 内存总量和使用情况 vmstat -s # 详细内存统计 pmap -x PID # 进程内存映射详情 valgrind --tool=memcheck ./program # 检测内存泄漏12. 容器与虚拟化相关命令
12.1 Docker基础命令
docker ps -a # 列出所有容器 docker images # 列出镜像 docker pull nginx # 拉取镜像 docker run -d -p 80:80 nginx # 运行容器 docker exec -it container bash # 进入容器 docker logs -f container # 查看日志 docker system prune # 清理无用资源12.2 LXC/LXD容器
lxc list # 列出容器 lxc launch ubuntu:20.04 mycontainer # 创建容器 lxc exec mycontainer -- bash # 执行命令 lxc stop mycontainer # 停止容器 lxc delete mycontainer # 删除容器12.3 虚拟机管理
virsh list --all # 列出虚拟机 virsh start vmname # 启动VM virsh shutdown vmname # 关闭VM virsh console vmname # 连接控制台 virt-manager # 图形化管理工具13. 开发相关命令
13.1 版本控制(Git)
git init # 初始化仓库 git clone url # 克隆远程仓库 git status # 查看状态 git add file # 添加文件到暂存区 git commit -m "message" # 提交更改 git push origin main # 推送到远程 git pull # 拉取更新 git log --oneline --graph # 查看简洁历史13.2 编译与构建
gcc -o program source.c # 编译C程序 make # 执行Makefile cmake .. # 生成构建文件 ./configure # 配置源代码13.3 调试工具
gdb ./program # GNU调试器 valgrind ./program # 内存调试 strace ./program # 系统调用跟踪 ltrace ./program # 库调用跟踪14. 终端定制与效率提升
14.1 Shell配置
.bashrc或.zshrc中的实用配置:
# 命令别名 alias ll='ls -alF' alias grep='grep --color=auto' alias ..='cd ..' # 历史命令优化 HISTSIZE=10000 HISTFILESIZE=20000 HISTCONTROL=ignoreboth shopt -s histappend # 提示符定制 PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '14.2 终端复用器
tmux基本用法:
tmux new -s session_name # 新建会话 Ctrl+b d # 分离会话 tmux attach -t session_name # 重新连接 tmux ls # 列出会话 Ctrl+b % # 垂直分割窗格 Ctrl+b " # 水平分割窗格14.3 其他效率工具
# 文件模糊查找 find . -type f | fzf # 历史命令搜索 Ctrl+r # 快速目录跳转 apt install autojump j project # 快速跳转到经常访问的project目录15. 日志管理与分析
15.1 系统日志查看
journalctl -xe # 查看系统日志(最近错误) journalctl -u nginx --since "1 hour ago" # 服务特定日志 tail -f /var/log/syslog # 实时查看日志 grep -i error /var/log/syslog | less # 过滤错误15.2 日志轮转配置
/etc/logrotate.conf和/etc/logrotate.d/中的配置控制日志轮转。示例配置:
/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts postrotate /usr/bin/systemctl reload nginx > /dev/null endscript }15.3 高级日志分析
# 统计HTTP状态码 awk '{print $9}' access.log | sort | uniq -c | sort -nr # 找出访问量最大的IP awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -20 # 使用goaccess进行可视化分析 goaccess access.log -o report.html --log-format=COMBINED16. 备份与恢复
16.1 文件级备份
# 使用tar创建压缩备份 tar -czvf backup-$(date +%F).tar.gz /path/to/backup # 使用rsync增量备份 rsync -avz --delete /source/ user@host:/backup/ # 使用dd创建磁盘映像 dd if=/dev/sda of=/backup/sda.img bs=4M status=progress16.2 系统级备份
# 使用timeshift进行系统快照 sudo timeshift --create --comments "Before major update" # 使用clonezilla进行完整系统克隆 # 需要从Live USB启动16.3 数据库备份
MySQL备份:
mysqldump -u root -p --all-databases > full-backup.sqlPostgreSQL备份:
pg_dumpall -U postgres > full-backup.sql17. 硬件信息与诊断
17.1 硬件信息查询
lscpu # CPU信息 lsblk # 块设备列表 lspci -nnk # PCI设备详情 lsusb # USB设备 dmidecode # 全面硬件信息 hdparm -i /dev/sda # 磁盘信息 smartctl -a /dev/sda # SMART磁盘健康状态17.2 硬件测试
# CPU压力测试 stress --cpu 4 --timeout 60s # 内存测试 memtester 1G 1 # 磁盘性能测试 hdparm -Tt /dev/sda dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct18. 网络高级配置
18.1 网络调试
# 查看路由表 ip route route -n # 追踪网络路径 mtr example.com # 网络抓包 tcpdump -i eth0 -w capture.pcap tcpdump -i eth0 port 80 -A # 更友好的抓包分析 sudo apt install wireshark-tshark tshark -i eth0 -f "port 80" -Y "http.request"18.2 网络配置
# 临时设置IP sudo ip addr add 192.168.1.100/24 dev eth0 # 永久配置(以Ubuntu为例) # 编辑/etc/netplan/01-netcfg.yaml network: version: 2 ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]19. 环境变量与Shell配置
19.1 环境变量管理
echo $PATH # 查看PATH变量 export VAR=value # 设置环境变量 unset VAR # 取消设置 env # 显示所有环境变量 # 永久设置(对当前用户) echo 'export VAR=value' >> ~/.bashrc source ~/.bashrc19.2 Shell启动文件
了解加载顺序很重要:
/etc/profile- 系统全局配置~/.bash_profile- 用户特定配置(如果存在)~/.bashrc- 每次启动新shell时加载~/.bash_logout- 退出shell时执行
19.3 环境定制技巧
# 设置命令提示符显示Git分支 parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ " # 设置命令别名 alias update='sudo apt update && sudo apt upgrade -y' alias ports='netstat -tulnp'20. 终端下的生产力工具
20.1 文本处理
# 使用column格式化输出 df -h | column -t # 使用cut提取特定列 cut -d: -f1,6 /etc/passwd # 使用paste合并文件 paste file1 file2 # 使用sort和uniq处理数据 sort file | uniq -c | sort -nr20.2 文件比较
diff file1 file2 # 比较文件差异 vimdiff file1 file2 # 可视化比较 comm -12 file1 file2 # 找出共同行 md5sum file # 计算校验和20.3 其他实用工具
# 监视文件变化 watch -n 1 'ls -l' # 计算执行时间 time command # 创建临时文件 mktemp # 转换文本编码 iconv -f UTF-8 -t ASCII//TRANSLIT file.txt > newfile.txt21. 远程管理技巧
21.1 SSH高级用法
# 端口转发 ssh -L 8080:localhost:80 user@host # 本地端口转发 ssh -R 8080:localhost:80 user@host # 远程端口转发 # 跳板机连接 ssh -J user1@jump_host user2@target_host # 保持连接活跃 echo "ServerAliveInterval 60" >> ~/.ssh/config # 简化连接配置 # ~/.ssh/config示例 Host myserver HostName server.example.com User myuser Port 2222 IdentityFile ~/.ssh/id_rsa21.2 批量操作
# 使用pssh并行执行 pssh -h hosts.txt -l user -A -i "uptime" # 使用ansible自动化 ansible all -m ping ansible webservers -m apt -a "name=nginx state=present"22. 系统启动与运行级别
22.1 启动过程管理
# 查看启动时间 systemd-analyze systemd-analyze blame # 修复启动问题 journalctl -b # 本次启动日志 journalctl -b -1 # 上次启动日志 # 进入救援模式 # 在GRUB菜单选择"Advanced options" -> "Recovery mode"22.2 运行级别
虽然systemd引入了target概念,但传统运行级别仍有对应关系:
- 0:关机
- 1或rescue:单用户模式
- 3:多用户文本模式
- 5:图形界面模式
- 6:重启
切换运行级别:
sudo systemctl isolate multi-user.target # 相当于运行级别3 sudo systemctl isolate graphical.target # 相当于运行级别523. 内核模块与驱动
23.1 内核模块管理
lsmod # 列出已加载模块 modinfo module_name # 显示模块信息 sudo modprobe module # 加载模块 sudo modprobe -r module # 移除模块 # 查看模块参数 cat /sys/module/module_name/parameters/*23.2 内核参数调整
sysctl -a # 查看所有参数 sysctl kernel.hostname # 查看特定参数 sudo sysctl -w vm.swappiness=10 # 临时修改 # 永久修改(添加或修改/etc/sysctl.conf) echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 应用更改24. 文件系统深入
24.1 文件系统类型
# 查看已挂载文件系统 mount | column -t findmnt # 创建文件系统 mkfs.ext4 /dev/sdb1 mkfs.xfs /dev/sdb2 # 检查文件系统 fsck /dev/sda1 xfs_repair /dev/sdb224.2 挂载选项
/etc/fstab示例:
UUID=1234-5678 /mnt/data ext4 defaults,noatime,nodiratime 0 2常用选项:
defaults:默认选项(rw,suid,dev,exec,auto,nouser,async)noatime:不更新访问时间,提升性能nodiratime:不更新目录访问时间discard:启用TRIM(SSD)nofail:启动时忽略挂载失败
24.3 磁盘配额
# 启用配额 sudo quotacheck -cugm / sudo quotaon -v / # 设置用户配额 sudo edquota -u username # 查看配额 quota -vs username repquota -a25. 时间与计划任务
25.1 时间同步
# 使用systemd-timesyncd timedatectl status sudo timedatectl set-ntp true # 使用chrony(更精确) sudo apt install chrony chronyc tracking chronyc sources25.2 计划任务
# 用户crontab crontab -e # 示例:每天3点备份 0 3 * * * /path/to/backup.sh # 系统cron sudo nano /etc/crontab # 查看日志 grep CRON /var/log/syslog25.3 at命令
echo "shutdown -h now" | at midnight # 午夜关机 atq # 查看待执行任务 atrm 1 # 删除任务126. 国际化与本地化
26.1 语言环境设置
locale # 查看当前设置 localectl status # 系统范围设置 sudo dpkg-reconfigure locales # 生成语言环境 # 设置LANG环境变量 export LANG=en_US.UTF-826.2 时区设置
timedatectl list-timezones sudo timedatectl set-timezone America/New_York26.3 键盘布局
localectl list-keymaps sudo localectl set-keymap us27. 系统救援与恢复
27.1 单用户模式
# 在GRUB启动菜单中: 1. 按e编辑启动项 2. 找到linux行,在末尾添加"single"或"init=/bin/bash" 3. Ctrl+x启动27.2 从Live CD恢复
# 挂载原系统分区 mkdir /mnt/root mount /dev/sda1 /mnt/root mount --bind /dev /mnt/root/dev mount --bind /proc /mnt/root/proc mount --bind /sys /mnt/root/sys chroot /mnt/root27.3 修复GRUB
# 从Live CD启动后 sudo grub-install /dev/sda sudo update-grub28. 系统自动化与配置管理
28.1 Bash脚本进阶
# 错误处理 set -euo pipefail # 日志记录 exec > >(tee -a "$logfile") 2>&1 # 参数解析 while getopts ":a:b:" opt; do case $opt in a) arg1="$OPTARG" ;; b) arg2="$OPTARG" ;; \?) echo "无效选项: -$OPTARG" >&2 ;; esac done28.2 使用Ansible
# 安装 sudo apt install ansible # 简单playbook示例 --- - hosts: webservers become: yes tasks: - name: Ensure nginx is installed apt: name: nginx state: present28.3 使用Puppet/Chef
# Puppet示例 package { 'nginx': ensure => installed, } service { 'nginx': ensure => running, enable => true, }29. 性能调优实践
29.1 内核参数优化
# /etc/sysctl.conf优化示例 vm.swappiness = 10 vm.vfs_cache_pressure = 50 net.ipv4.tcp_fin_timeout = 30 net.core.somaxconn = 409629.2 磁盘I/O优化
# 使用ionice调整I/O优先级 ionice -c2 -n7 command # 使用deadline调度器 echo deadline | sudo tee /sys/block/sda/queue/scheduler # 调整预读值 blockdev --setra 256 /dev/sda29.3 网络优化
# 调整TCP缓冲区 echo 'net.core.rmem_max=16777216' | sudo tee -a /etc/sysctl.conf echo 'net.core.wmem_max=16777216' | sudo tee -a /etc/sysctl.conf sudo sysctl -p30. 命令学习资源与技巧
30.1 内置帮助系统
man command # 完整手册 command --help # 快速帮助 info command # 更详细的info文档 help builtin # shell内置命令帮助30.2 学习新命令的技巧
- 先看
--help输出,了解基本用法 - 查找常用示例(如"command examples")
- 从简单