Linux
一、基础命令
1. Linux 基础命令
问题:Linux 基础命令
答案: 核心回答:ls、cd、pwd、mkdir、rm、cp、mv 是基础命令。
代码示例:
# 目录操作
ls -la # 详细列表
ls -lh # 人类可读大小
cd /path/to/dir # 切换目录
pwd # 显示当前目录
mkdir -p /path/to/dir # 创建目录
mkdir -m 755 dir # 指定权限
# 文件操作
rm -rf dir # 删除目录
rm file.txt # 删除文件
cp -r source dest # 复制目录
cp file.txt dest/ # 复制文件
mv oldname newname # 重命名/移动
# 查看文件
cat file.txt # 全文
head -n 20 file.txt # 前20行
tail -n 20 file.txt # 后20行
tail -f /var/log/syslog # 实时查看日志
# 搜索
grep "pattern" file.txt # 搜索文本
find / -name "filename" # 查找文件
2. 文件权限
问题:文件权限
答案: 核心回答:Linux 文件权限分为 owner、group、others 三类,各有 rwx 权限。
代码示例:
# 查看权限
ls -l file.txt
# -rw-r--r-- 1 user group 4096 Jan 15 10:00 file.txt
# 权限位: -rw-r--r--
# 类型 owner group others
# r=4 w=2 x=1
# 修改权限
chmod 755 file # 数字形式
chmod u+x file # 所有者添加执行
chmod g-w file # 组移除写
chmod o+r file # 其他添加读
chmod a+x file # 所有添加执行
# 修改所有者
chown user:group file # 修改所有者和组
chown user file # 只修改所有者
chgrp group file # 只修改组
# 特殊权限
chmod +s file # SUID/SGID
chmod +t file # Sticky Bit
二、文本处理
3. 文本处理命令
问题:文本处理命令
答案: 核心回答:awk、sed、grep 是强大的文本处理工具。
代码示例:
# awk - 文本分析
awk '{print $1, $3}' file.txt # 打印第1、3列
awk -F',' '{print $2}' file.csv # 指定分隔符
awk '/pattern/ {print $0}' file.txt # 模式匹配
awk 'NR==5' file.txt # 第5行
# sed - 文本替换
sed 's/old/new/g' file.txt # 全局替换
sed -i 's/old/new/g' file.txt # 直接修改
sed '1,5d' file.txt # 删除1-5行
sed -n '2p' file.txt # 打印第2行
# grep - 搜索
grep "pattern" file.txt
grep -r "pattern" dir/ # 递归搜索
grep -i "pattern" file.txt # 忽略大小写
grep -v "pattern" file.txt # 反向匹配
grep -E "regex" file.txt # 扩展正则
# 管道组合
cat file.txt | grep "pattern" | awk '{print $2}' | sort
三、进程管理
4. 进程管理
问题:进程管理命令
答案: 核心回答:ps、top、kill 用于进程管理。
代码示例:
# 查看进程
ps aux # 所有进程
ps -ef # 详细格式
top # 实时监控
htop # 增强版 top
# 查找进程
ps aux | grep nginx
pgrep -f "nginx"
# 信号与 kill
kill -l # 列出信号
kill -9 pid # 强制终止
kill -15 pid # 优雅终止(SIGTERM)
killall nginx # 按名称终止
pkill -f "nginx" # 按模式终止
# 后台进程
nohup command & # 后台运行
bg # 后台任务
fg # 前台任务
jobs # 任务列表
四、网络管理
5. 网络命令
问题:网络命令
答案: 核心回答:ping、curl、wget、netstat、ss 是常用网络命令。
代码示例:
# 测试连通性
ping -c 4 example.com # 发4个包
ping -i 0.5 example.com # 0.5秒间隔
# 下载
curl https://example.com # 下载页面
curl -O file.txt # 下载文件
curl -L url #跟随重定向
wget url # 下载工具
wget -c url # 断点续传
# 网络诊断
netstat -tuln # 监听端口
netstat -anp | grep 80 # 查找端口占用
ss -tuln # 替代 netstat
netstat -i # 网卡信息
# curl 高级用法
curl -X POST url -d "data" # POST 请求
curl -H "Header: value" url # 自定义头
curl -v url # 详细输出
五、磁盘与内存
6. 磁盘与内存
问题:磁盘与内存命令
答案: 核心回答:df、du、free 是查看磁盘和内存的常用命令。
代码示例:
# 磁盘使用
df -h # 人类可读格式
df -i # 查看 inode
du -sh * # 目录大小
du -sh /path/to/dir # 指定目录
# 内存使用
free -h # 人类可读格式
free -m # MB 为单位
cat /proc/meminfo # 详细内存信息
# 磁盘挂载
mount /dev/sdb1 /mnt/usb # 挂载
umount /mnt/usb # 卸载
df -T # 显示文件系统类型