Linux常见指令大全:从入门到精通

一、Linux命令行基础与核心概念

1.1 Shell:用户与内核的桥梁

Linux命令行操作的核心是Shell------命令解释器,它接收用户输入的命令,将其翻译成内核可执行的指令。主流Shell包括:

  • Bash (Bourne-Again Shell):Linux默认Shell,功能强大

  • Zsh:强大的交互式Shell,支持高级补全

  • Fish:友好的交互式Shell,语法高亮

1.2 终端模拟器:命令的入口

现代Linux通过终端模拟器访问Shell:

  • GNOME Terminal(默认)

  • Konsole(KDE)

  • Terminator(支持分屏)

  • Alacritty(GPU加速)

1.3 命令结构解析

bash

复制代码
command [options] [arguments]
  • 命令 :执行的操作(如ls

  • 选项 :修改命令行为(-l--all

  • 参数:操作对象(文件名/目录名)

1.4 环境变量与配置文件

bash

复制代码
# 查看所有环境变量
env

# 设置临时变量
export PATH=$PATH:/new/path

# 永久生效(写入~/.bashrc)
echo 'export VAR="value"' >> ~/.bashrc
source ~/.bashrc

1.5 命令帮助系统

bash

复制代码
man ls        # 完整手册
ls --help     # 快速帮助
info coreutils # 详细文档
whatis ls     # 简要说明

二、文件与目录操作(30+核心指令)

2.1 导航与查看

bash

复制代码
pwd          # 打印当前目录
ls -lath     # 详细列表(含隐藏文件)
tree -L 2    # 树状结构(2级深度)
cd -         # 返回上次目录

2.2 文件操作

bash

复制代码
# 创建删除
touch file.txt            # 创建空文件
mkdir -p project/{src,doc} # 递归创建目录
rm -ri dir/               # 交互式递归删除

# 复制移动
cp -av source/ dest/      # 归档模式复制
mv *.txt ~/docs/          # 批量移动

# 链接管理
ln -s target link_name    # 创建软链接

2.3 内容查看

bash

复制代码
cat -n file.txt          # 显示行号
less +F log.log          # 实时跟踪模式
tail -f -n 100 app.log   # 跟踪最后100行
head -c 500 data.bin     # 查看前500字节

2.4 文件查找

bash

复制代码
find /var/log -name "*.log" -mtime -7 -size +1M
# 查找7天内修改过且大于1MB的日志文件

locate -i "*.DOCX"       # 快速搜索(需updatedb)

三、文本处理大师班

3.1 基础处理

bash

复制代码
grep -Ei "error|fail" syslog    # 忽略大小写搜索错误
sed 's/foo/bar/g' file.txt      # 全局替换
awk '{print $1 "\t" $5}' data.csv # 打印指定列

3.2 高级文本操作

bash

复制代码
# 排序去重
sort -u names.txt | tee unique_names.txt

# 列处理
cut -d':' -f1,7 /etc/passwd     # 提取用户名和Shell

# 差异比较
diff -u file1 file2 > patch.diff # 生成补丁

3.3 正则表达式实战

bash

复制代码
# 匹配IP地址
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' access.log

# 提取邮箱
grep -Pio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b' contacts.txt

四、权限与所有权深度解析

4.1 权限模型

bash

复制代码
-rwxr-xr-- 1 user group 4096 Jan 12 10:30 script.sh
  • 类型-(文件), d(目录), l(链接)

  • 权限rwx(所有者), r-x(组), r--(其他)

4.2 权限管理命令

bash

复制代码
chmod u+x,g-w,o= script.sh     # 符号模式
chmod 764 file.txt             # 数字模式
chown user:group file          # 修改所有者
chgrp developers project/      # 修改组

4.3 特殊权限

bash

复制代码
chmod +t /shared/              # 设置粘滞位
chmod u+s /usr/bin/backup      # 设置SUID
chmod g+s /team/docs           # 设置SGID

五、进程管理全攻略

5.1 进程监控

bash

复制代码
ps aux --sort=-%mem | head -10  # 内存占用TOP10
top -c -u apache                # 监控apache进程
htop                             # 增强型监控

5.2 进程控制

bash

复制代码
kill -9 1843                    # 强制终止进程
pkill -f "python app.py"        # 按名称终止
killall -e chrome               # 终止所有匹配进程

5.3 后台作业

bash

复制代码
tar -czf backup.tar.gz /data &  # 后台运行
jobs -l                         # 查看后台作业
fg %1                           # 切换到前台
bg %2                           # 继续后台运行

六、网络管理实战指南

6.1 网络配置

bash

复制代码
ip addr show eth0               # 显示IP信息
ip route add default via 192.168.1.1 # 添加默认路由
nmcli device wifi list          # 列出WiFi网络

6.2 连接测试

bash

复制代码
ping -c 4 google.com           # 发送4个包
traceroute -T 8.8.8.8          # TCP方式跟踪
mtr --report www.baidu.com     # 持续路由跟踪

6.3 端口与服务

bash

复制代码
netstat -tulpn                 # 查看监听端口
ss -s                          # 查看连接统计
lsof -i :80                    # 查看80端口进程

6.4 文件传输

bash

复制代码
scp -P 2222 file.txt user@server:/backup/
rsync -avz --progress ~/photos/ user@nas:/media/
wget -c https://example.com/large.iso # 断点续传

七、系统监测与性能优化

7.1 资源监控

bash

复制代码
free -h                        # 人性化内存显示
vmstat 5 10                    # 每5秒采样,共10次
iostat -dx 2                   # 磁盘I/O详细统计
iftop -i eth0                  # 实时带宽监控

7.2 性能分析

bash

复制代码
uptime                         # 负载平均值
sar -u -r -d 1 3               # 综合性能快照
dmesg -T | grep -i "error"     # 查看内核错误

7.3 存储管理

bash

复制代码
df -Th                         # 文件系统类型+使用率
du -sh * | sort -rh | head -10 # 目录大小TOP10
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT # 块设备信息

八、软件包管理权威指南

8.1 APT (Debian/Ubuntu)

bash

复制代码
sudo apt update                # 更新源信息
sudo apt install nginx         # 安装软件
apt-cache search "^php8"       # 正则搜索包
sudo apt purge --auto-remove package # 完全卸载

8.2 YUM/DNF (RHEL/CentOS)

bash

复制代码
sudo dnf groupinstall "Development Tools"
sudo yum history undo 23       # 回滚第23次操作

8.3 通用包管理

bash

复制代码
# Snap
sudo snap install vscode --classic

# Flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# 源码编译
./configure --prefix=/opt
make -j$(nproc)
sudo make install

九、Shell进阶技巧大全

9.1 输入输出重定向

bash

复制代码
command > file.log 2>&1        # 标准/错误输出重定向
diff <(ls dir1) <(ls dir2)     # 进程替换

9.2 管道高级用法

bash

复制代码
# 并行处理
find . -type f -print0 | xargs -0 -P 4 -I{} convert {} {}.jpg

# 复杂组合
grep -r "pattern" . | awk -F: '{print $1}' | sort | uniq -c

9.3 环境定制

bash

复制代码
# 别名设置
alias ll='ls -alF'
alias update='sudo apt update && sudo apt upgrade'

# 函数定义
mkcd() { mkdir -p "$1" && cd "$1"; }

十、系统管理高级命令

10.1 用户管理

bash

复制代码
sudo useradd -m -G developers -s /bin/bash alice
sudo passwd -e alice           # 强制下次登录改密码
sudo usermod -aG docker bob     # 添加辅助组

10.2 计划任务

bash

复制代码
# Cron示例
0 3 * * * /backup/script.sh    # 每天3点执行
@reboot /scripts/startup.sh    # 启动时执行

# Systemd定时器
systemctl --user list-timers    # 查看用户级定时器

10.3 日志分析

bash

复制代码
journalctl -u nginx --since "2023-01-01" --until "1 hour ago"
logrotate -f /etc/logrotate.conf # 手动执行日志轮转

十一、安全防护关键命令

11.1 防火墙管理

bash

复制代码
sudo ufw allow 22/tcp          # 开放SSH端口
sudo firewall-cmd --permanent --add-service=http
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

11.2 SSH安全

bash

复制代码
ssh-keygen -t ed25519 -f ~/.ssh/server_key
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
sudo nano /etc/ssh/sshd_config # 禁用密码登录

11.3 安全扫描

bash

复制代码
sudo lynis audit system        # 系统安全审计
sudo rkhunter --checkall       # rootkit检测
chkrootkit                    # 基础rootkit检查

十二、故障排查与恢复

12.1 启动问题修复

bash

复制代码
# GRUB编辑启动参数
linux /vmlinuz root=/dev/sda2 single init=/bin/bash

# 文件系统修复
fsck /dev/sdb1 -y

12.2 性能瓶颈定位

bash

复制代码
strace -p 1234 -c              # 进程系统调用统计
perf top -p 2345               # CPU热点函数
iotop -oPa                     # 实时磁盘I/O

12.3 系统救援

bash

复制代码
# 使用Live CD挂载分区
sudo mount /dev/sda2 /mnt
sudo chroot /mnt

附录:常用命令速查表

类别 命令 功能描述
文件 file 检测文件类型
stat 显示文件详细信息
文本 wc 统计行数/单词数/字节数
tr 字符替换/删除
系统 uname -a 显示系统信息
dmidecode 查看硬件信息
网络 dig +short example.com DNS查询
nc -zv 192.168.1.1 80 端口扫描
开发 gdb GNU调试器
objdump 反汇编二进制文件

提示:使用tldr命令获取实用示例(需安装):

bash

复制代码
tldr tar

结语:Linux命令行的艺术

掌握Linux命令行如同获得数字世界的超能力。本文涵盖的100+核心命令只是起点,真正的精通需要:

  1. 持续实践:在安全环境大胆尝试命令组合

  2. 深入理解 :通过man和源码探究实现原理

  3. 自动化思维:将重复操作脚本化(Bash/Python)

  4. 社区参与:关注GitHub上的开源工具更新

随着云原生和AI时代的到来,Linux命令行技能的价值愈发凸显。从简单的文件操作到Kubernetes集群管理,命令行始终是IT专业人士的终极武器。

"在Linux中,你不是用户,而是系统建筑师。" ------ 佚名

扩展学习

  • Linux命令行与Shell脚本编程大全(第3版)

  • ExplainShell.com - 命令解析网站

  • Linux Performance - Brendan Gregg的博客

  • Command Line Fu - 命令技巧分享平台

掌握这些命令,你将成为真正的Linux系统掌控者!

相关推荐
lswzw7 分钟前
Linux系统管理利器lsof命令详解与实战应用
linux·运维·服务器
梅孔立1 小时前
linux 秒 安装谷歌浏览器 区分ubuntu和centos 给python爬取网站使用
linux·ubuntu·centos
求知若渴,虚心若愚。1 小时前
高可用实战之Nginx + Apache篇
运维·nginx·apache
wanhengidc1 小时前
企业在使用巨椰云手机进行多开挂机功能的优点有哪些?
运维·服务器·安全·智能手机
七夜zippoe2 小时前
Chrome 插件开发实战
前端·chrome·插件开发
哈基米喜欢哈哈哈4 小时前
进程和线程
java·linux·windows·笔记
扶风呀4 小时前
负载均衡详解
运维·后端·微服务·面试·负载均衡
chengpei1474 小时前
Ubuntu Server系统安装磁盘分区方案
linux·运维·ubuntu
轻松Ai享生活4 小时前
SysRq详解
linux