1. Linux命令:从入门到精通的必备工具集
作为一名与Linux系统打交道十余年的老运维,我深知命令行操作是掌握这个强大系统的关键。不同于图形界面,命令行提供了直接、高效的系统控制能力。今天我想分享的是那些经过时间检验,在实际工作中真正高频使用的核心命令。这些命令组合起来,足以应对90%以上的日常系统管理任务。
很多人面对Linux命令时容易陷入两个极端:要么死记硬背几百个命令却不会灵活运用,要么只会几个基础命令遇到复杂需求就束手无策。实际上,掌握约30个核心命令及其常用参数,配合管道和重定向技巧,就能构建起强大的命令行工作流。这些命令就像工具箱里的扳手和螺丝刀——数量不多,但组合使用能解决大部分问题。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件与目录操作:基础中的基础
2.1 导航与查看:ls、cd、pwd
ls命令是使用频率最高的命令之一。除了基本的ls列出当前目录内容外,我最常用的组合是:
bash复制ls -lht --color=auto
这个组合实现了:
-l:长格式显示,包含权限、所有者、大小等信息-h:人类可读的文件大小(如K、M、G)-t:按修改时间排序--color=auto:彩色输出区分文件类型
cd命令虽然简单,但有几个技巧值得注意:
cd -:返回上一个工作目录cd ~:回到用户主目录cd ../..:向上移动两级目录(可任意扩展)
pwd命令看似简单,但在脚本中获取当前绝对路径时非常有用。加上-P参数可以解析符号链接的真实路径:
bash复制pwd -P
2.2 文件操作:cp、mv、rm
cp命令的-a参数是我最推荐的,它等价于-dR --preserve=all,能完整保留文件属性和目录结构:
bash复制cp -a /source/dir /destination/
mv命令除了移动文件外,也是重命名的标准方式。一个实用技巧是使用-i参数避免覆盖重要文件:
bash复制mv -i oldname newname
rm命令要格外小心,特别是-r递归删除和-f强制删除的组合。建议先使用-i交互模式确认:
bash复制rm -i file_to_delete
对于重要目录,我会先使用ls查看内容,再用rm删除,避免误操作。
2.3 文件查看:cat、less、head、tail
cat适合查看小文件,但对于大文件,less才是更好的选择,它支持上下翻页和搜索:
bash复制less /var/log/syslog
在less中:
/:向前搜索?:向后搜索q:退出
head和tail分别查看文件开头和结尾,默认显示10行。查看日志时常用:
bash复制tail -n 20 /var/log/nginx/error.log # 查看最后20行
tail -f /var/log/syslog # 实时跟踪日志更新
3. 文本处理三剑客:grep、awk、sed
3.1 grep:文本搜索利器
grep是文本搜索的核心工具,我最常用的参数组合:
bash复制grep -rin "search_pattern" /path/to/search
其中:
-r:递归搜索子目录-i:忽略大小写-n:显示行号
高级用法包括:
bash复制grep -v "exclude_pattern" file.txt # 反向匹配
grep -E "pattern1|pattern2" file.txt # 扩展正则
grep -A 3 -B 2 "pattern" file.txt # 显示匹配行前后内容
3.2 awk:字段处理大师
awk特别适合处理结构化文本,如日志文件。基本语法:
bash复制awk '/pattern/ {action}' file.txt
实用例子:
bash复制# 显示passwd文件的用户名和shell
awk -F: '{print $1, $7}' /etc/passwd
# 统计nginx日志中每个IP的访问次数
awk '{print $1}' access.log | sort | uniq -c | sort -nr
3.3 sed:流编辑器
sed擅长文本替换和批量编辑。常见用法:
bash复制# 替换文件中所有匹配文本
sed -i 's/old/new/g' file.txt
# 删除空白行
sed '/^$/d' file.txt
# 只打印匹配行
sed -n '/pattern/p' file.txt
4. 系统监控与管理命令
4.1 进程管理:ps、top、htop
ps命令查看进程信息,我最常用的组合:
bash复制ps aux --sort=-%mem | head # 按内存使用排序
top是实时系统监控工具,交互模式下常用命令:
M:按内存使用排序P:按CPU使用排序q:退出
htop是top的增强版,支持鼠标操作和彩色显示,建议安装使用:
bash复制sudo apt install htop # Debian/Ubuntu
htop
4.2 磁盘与内存:df、du、free
df查看磁盘空间使用情况:
bash复制df -h # 人类可读格式
du查看目录大小:
bash复制du -sh /var/log # 汇总大小
du -h --max-depth=1 /home # 一级子目录大小
free查看内存使用:
bash复制free -h # 包括buffers/cache
4.3 网络工具:ping、netstat、ss
ping测试网络连通性:
bash复制ping -c 4 example.com # 发送4个包
netstat查看网络连接(较老系统):
bash复制netstat -tulnp # 监听中的TCP/UDP端口
ss是netstat的现代替代品:
bash复制ss -tulnp # 更快的执行速度
5. 权限与用户管理
5.1 文件权限:chmod、chown
chmod修改文件权限,两种表示法:
bash复制chmod 755 script.sh # 数字表示法
chmod u+x,g-w,o=r file.txt # 符号表示法
chown修改文件所有者:
bash复制chown user:group file.txt
5.2 用户管理:useradd、passwd、sudo
创建用户并设置密码:
bash复制sudo useradd -m newuser # -m创建家目录
sudo passwd newuser
sudo提权执行命令:
bash复制sudo apt update # Debian/Ubuntu
sudo yum update # CentOS/RHEL
6. 实用组合与技巧
6.1 管道与重定向
将多个命令通过管道|连接:
bash复制cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
重定向输出:
bash复制command > output.txt 2>&1 # 标准输出和错误都重定向
6.2 后台与任务控制
&将命令放到后台运行:
bash复制long_running_command &
jobs查看后台任务,fg调回前台:
bash复制jobs
fg %1 # 调回第一个后台任务
6.3 命令历史与补全
history查看命令历史,配合grep搜索:
bash复制history | grep "apt install"
!重复历史命令:
bash复制!123 # 执行历史记录中第123条命令
!! # 上一条命令
7. 进阶工具推荐
7.1 文件查找:find
find是强大的文件搜索工具:
bash复制# 按名称查找
find / -name "*.conf" 2>/dev/null
# 按大小查找
find /var/log -size +10M
# 按时间查找
find ~ -mtime -7 # 7天内修改过的文件
7.2 压缩与归档:tar、gzip
创建和提取tar包:
bash复制# 创建
tar -czvf archive.tar.gz /path/to/dir
# 提取
tar -xzvf archive.tar.gz
7.3 系统信息:uname、lscpu
查看系统信息:
bash复制uname -a # 所有系统信息
lscpu # CPU详细信息
lsblk # 块设备信息
8. 我的命令行工作习惯
经过多年实践,我总结了一些提高效率的习惯:
- 别名设置:在
~/.bashrc中添加常用命令的别名
bash复制alias ll='ls -alFh'
alias grep='grep --color=auto'
- 命令历史优化:增加历史记录保存数量
bash复制export HISTSIZE=10000
export HISTFILESIZE=20000
- 提示符定制:显示更多信息
bash复制PS1='\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ '
-
脚本化重复工作:将常用操作写成脚本放在
~/bin/ -
使用tmux:终端多路复用器,避免SSH断开导致工作丢失
这些命令和技巧构成了我的Linux日常工具箱。记住,掌握命令不在于数量,而在于理解其原理和灵活组合的能力。建议先熟练使用这些核心命令,再根据需要逐步扩展知识面。
