文件与目录操作
# 列出文件
ls # 列出当前目录内容
ls -l # 详细列表(权限、大小、时间)
ls -a # 显示隐藏文件
ls -lh # 人类可读的大小格式
# 目录切换
cd /path # 切换到指定目录
cd ~ # 返回家目录
cd .. # 返回上一级
cd - # 返回上次所在目录
# 路径查看
pwd # 显示当前目录路径
# 创建目录
mkdir dirname # 创建目录
mkdir -p a/b/c # 递归创建多级目录
mkdir dir{1,2,3} # 批量创建多个目录
# 删除
rm file.txt # 删除文件
rm -r dirname # 递归删除目录
rm -rf dirname # 强制删除(危险!)
# 移动/重命名
mv old.txt new.txt # 重命名
mv file /path/ # 移动文件
# 复制
cp file1 file2 # 复制文件
cp -r dir1 dir2 # 复制目录
cp -a source dest # 保留属性复制
cp -a source dest # 保留属性复制
文件内容查看与编辑
查看文件
# 基础查看
cat file.txt # 显示整个文件
less file.txt # 分页查看(可前后翻页)
more file.txt # 分页查看(只能向前)
# 查看部分内容
head -n 10 file.txt # 查看前10行
tail -n 20 file.txt # 查看后20行
tail -f log.txt # 实时查看日志更新
# 统计信息
wc file.txt # 统计行数、单词数、字节数
wc -l file.txt # 只统计行数
文本编辑器
nano file.txt # 简单易用的编辑器
vim file.txt # 功能强大的编辑器
emacs file.txt # 另一个强大的编辑器
文件搜索与查找
# 查找文件
find /path -name "*.txt" # 按文件名查找
find . -type f -size +1M # 查找大于1MB的文件
find / -mtime -7 # 查找7天内修改的文件
# 在文件中搜索文本
grep "pattern" file.txt # 搜索包含pattern的行
grep -r "pattern" /path # 递归搜索
grep -i "pattern" file.txt # 忽略大小写
grep -v "pattern" file.txt # 反向匹配(不包含)
grep -n "pattern" file.txt # 显示行号
# 查找命令位置
which python # 查找命令路径
whereis python # 查找命令及手册页
系统信息与监控
系统信息
# 基础信息
uname -a # 显示所有系统信息
hostname # 显示主机名
whoami # 显示当前用户名
date # 显示日期时间
# 硬件信息
free -h # 显示内存使用(人类可读)
df -h # 显示磁盘空间
du -sh dirname # 显示目录大小
top # 实时显示进程(类似任务管理器)
htop # 增强版top(需要安装)
# CPU信息
lscpu # 显示CPU信息
进程管理
# 查看进程
ps # 显示当前终端进程
ps aux # 显示所有进程详情
ps -ef | grep nginx # 查找特定进程
# 进程操作
kill PID # 终止进程
kill -9 PID # 强制终止
killall process # 终止同名所有进程
pkill process # 按名称终止进程
# 后台作业
jobs # 查看后台作业
fg %1 # 将作业1调到前台
bg %2 # 将作业2放到后台运行
command & # 在后台运行命令
nohup command & # 后台运行且退出终端不终止
网络相关命令
# 网络状态
ifconfig # 查看网络接口(旧版)
ip addr # 查看IP地址(新版)
netstat -tulpn # 查看端口监听情况
ss -tulpn # 更快的netstat替代
# 连接测试
ping google.com # 测试连通性
ping -c 4 host # 发送4个包后停止
traceroute host # 追踪路由路径
# 下载与传输
wget URL # 下载文件
curl URL # 传输数据
curl -O URL # 下载文件
curl -I URL # 只显示响应头
# SSH相关
ssh user@host # SSH连接
scp file user@host:/path # 复制到远程
scp user@host:/path/file . # 从远程复制
压缩与解压
# tar包
tar -cvf archive.tar file1 file2 # 创建tar包
tar -xvf archive.tar # 解压tar包
tar -czvf archive.tar.gz dir # 创建gzip压缩包
tar -xzvf archive.tar.gz # 解压gzip包
# zip包
zip archive.zip file1 file2 # 创建zip压缩
unzip archive.zip # 解压zip
# gzip
gzip file.txt # 压缩文件
gunzip file.txt.gz # 解压
用户与权限管理
# 用户管理
who # 显示已登录用户
w # 显示登录用户及活动
last # 显示登录历史
sudo command # 以root权限执行
# 权限修改
chmod 755 file # 修改文件权限
chmod u+x file # 给所有者添加执行权限
chown user:group file # 修改所有者和组
chgrp group file # 修改文件所属组
# 文件权限说明
# r=4, w=2, x=1
# 755 = rwxr-xr-x
# 644 = rw-r--r--
实用工具与技巧
快捷键
Ctrl+C # 终止当前命令
Ctrl+Z # 暂停当前进程
Ctrl+D # 退出终端/发送EOF
Ctrl+R # 搜索历史命令
Ctrl+L # 清屏
Tab # 命令/路径补全
!! # 重复上一条命令
!$ # 上一条命令的最后一个参数
管道与重定向
command1 | command2 # 管道:将命令1输出作为命令2输入
> file # 重定向输出到文件(覆盖)
>> file # 追加输出到文件
2> error.log # 重定向错误输出
&> output.log # 重定向标准输出和错误输出
环境变量
echo $PATH # 显示PATH变量
export VAR=value # 设置环境变量
env # 显示所有环境变量
磁盘与挂载
# 挂载管理
mount # 显示已挂载的文件系统
mount /dev/sda1 /mnt # 挂载设备
umount /mnt # 卸载设备
# 磁盘检查
fdisk -l # 列出磁盘分区
blkid # 显示块设备属性
lsblk # 列出块设备信息
包管理(不同发行版)
# Debian/Ubuntu (apt)
sudo apt update # 更新包列表
sudo apt upgrade # 升级所有包
sudo apt install package # 安装包
sudo apt remove package # 删除包
# RedHat/CentOS (yum/dnf)
sudo yum install package # 安装包
sudo yum update # 更新包
sudo yum remove package # 删除包
# Arch Linux (pacman)
sudo pacman -S package # 安装包
sudo pacman -Syu # 更新系统和包
sudo pacman -R package # 删除包
实用示例组合
查找并处理文件
# 查找所有.log文件并统计行数
find . -name "*.log" -exec wc -l {} \;
# 查找包含"error"的日志文件
grep -r "error" /var/log/ | head -20
# 监控日志文件变化
tail -f /var/log/syslog | grep "ERROR"
系统监控组合命令
# 显示CPU使用率最高的10个进程
ps aux --sort=-%cpu | head -11
# 显示内存使用率最高的10个进程
ps aux --sort=-%mem | head -11
# 查看磁盘使用率最大的目录
du -sh /* | sort -rh | head -10