Linux 基础命令合集
命令并行
| 需求 | 解决方式 | 复杂示例 |
|---|---|---|
| 固定数量参数传递 | xargs -n 2 command |
printf "a b\nc d\n" | xargs -n 2 echo → 执行 echo a b、echo c d |
| 自定义参数位置替换 | xargs -I {} |
cat list.txt | xargs -I {} cp {} /backup/{} → 每行替换 {} 为文件名 |
| 多列参数传递 | xargs -n 2 sh -c 'cmd "$1" "$2"' _ |
cat pairs.txt | xargs -n 2 sh -c 'cp "$1" "$2"' _ → 每行两个字段作为源和目标 |
| 调试查看命令执行 | xargs -t |
cat files.txt | xargs -t rm → 执行前打印实际命令,如 rm file1 |
| 并行执行任务 | xargs -P 4 |
cat pairs.txt | xargs -n 2 -P 4 sh -c 'cp "$1" "$2"' _ → 并行执行 4 个复制任务 |
一、用户管理
1. 用户与组管理
useradd <用户名>:添加新用户passwd <用户名>:设置或修改用户密码userdel <用户名>:删除用户usermod <选项> <用户名>:修改用户信息(如组、家目录、登录 shell)groupadd <组名>:创建新用户组groupdel <组名>:删除用户组groups <用户名>:查看用户所属组
1 | usermod -aG sudo alice # 将用户 alice 添加到 sudo 组 |
2. 用户身份与权限
id <用户名>:查看用户 UID、GID 信息su <用户名>:切换用户身份sudo <命令>:以管理员权限执行命令chmod <权限> <文件>:修改文件权限chown <用户:组> <文件>:修改文件所有者chgrp <组> <文件>:修改文件所属组
二、进程管理
1. 查看进程
ps:查看当前终端的进程- 常用参数:
ps -ef:查看系统中所有进程ps aux:查看所有进程的详细信息
- 常用参数:
top:动态显示进程状态htop:更友好的交互式进程监控(需安装)pgrep <关键字>:按名称搜索进程 ID
2. 控制进程
kill <PID>:结束指定进程kill -9 <PID>:强制终止进程pkill <进程名>:按名称终止进程jobs:查看后台任务bg:将任务放入后台fg:将任务调回前台
三、网络管理
1. 网络信息查看
ifconfig:查看或配置网络接口(旧命令)ip addr:查看 IP 地址信息ip link:查看网络接口状态ip route:查看路由表ping <主机>:测试网络连通性traceroute <主机>:跟踪数据包路径netstat -tuln:查看监听端口ss -tuln:替代netstat的现代命令curl <URL>/wget <URL>:测试网络下载或接口请求
2. 网络服务与连接
scp <源> <目标>:在主机间复制文件ssh <用户>@<主机>:远程登录ftp <主机>:FTP 连接nmap <主机>:端口扫描(需安装)
1 | scp file.txt user@192.168.1.10:/home/user/ # 上传文件到远程主机 |
四、文本格式化与处理
1. 基本文本操作
cat <文件>:查看文件内容tac <文件>:倒序显示文件内容head -n <行数> <文件>:显示文件前 N 行tail -n <行数> <文件>:显示文件后 N 行less <文件>/more <文件>:分页查看文件
2. 文本搜索与筛选
grep <模式> <文件>:搜索匹配的行- 常用参数:
-i:忽略大小写-v:反向匹配-r:递归搜索目录
- 常用参数:
awk '{print $1, $2}' <文件>:字段提取与格式化输出sed 's/旧/新/g' <文件>:流编辑器替换内容
1 | awk '{print $1, $3}' /etc/passwd # 输出每行的第1和第3个字段 |
3. 排序与统计
sort <文件>:排序uniq <文件>:去重wc <文件>:统计行数、单词数、字符数
1 | wc -l *.log # 统计当前目录下所有日志文件的行数 |
五、管道与重定向
1. 标准输入输出
>:重定向输出到文件(覆盖)>>:重定向输出到文件(追加)<:从文件读取输入2>:重定向错误输出&>:同时重定向标准输出和错误输出
2. 管道操作
command1 | command2:将前一命令输出作为后一命令输入- 示例:
ps aux | grep nginx:筛选 nginx 进程cat file | grep "error" | sort | uniq
- 示例:
六、多参数与组合命令
1. 多参数命令
ls -alh:显示详细信息并以人类可读格式输出tar -czvf archive.tar.gz dir/:打包压缩find /path -type f -name "*.log":查找特定文件
2. 逻辑运算与多命令执行
command1 && command2:前者成功后执行后者command1 || command2:前者失败后执行后者command1; command2:顺序执行两条命令():在子 Shell 中执行命令组{ command1; command2; }:在当前 Shell 中执行命令组
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

