目录
文件和目录操作
文本处理
系统信息查看
进程管理
权限管理
压缩和解压
查找和搜索
网络相关
磁盘和存储
环境变量和配置
常用快捷键
管道和重定向
实用组合命令示例
文件和目录操作
ls – 列出目录内容
ls # 列出当前目录文件
ls -l # 详细列表格式
ls -la # 显示隐藏文件
ls -lh # 人性化显示文件大小
ls -lt # 按修改时间排序
ls -lr # 递归显示子目录
cd – 切换目录
cd /path/to/dir # 切换到指定目录
cd ~ # 切换到用户主目录
cd .. # 切换到上级目录
cd - # 切换到上次访问的目录
cd # 切换到用户主目录(同cd ~)
pwd – 显示当前目录
pwd # 显示当前工作目录的完整路径
mkdir – 创建目录
mkdir dirname # 创建单个目录
mkdir dir1 dir2 dir3 # 创建多个目录
mkdir -p path/to/dir # 递归创建目录(父目录不存在时自动创建)
mkdir -m 755 dirname # 创建目录并设置权限
rmdir – 删除空目录
rmdir dirname # 删除空目录
rmdir -p path/to/dir # 递归删除空目录
rm – 删除文件和目录
rm filename # 删除文件
rm -i filename # 交互式删除(确认提示)
rm -f filename # 强制删除
rm -r dirname # 递归删除目录
rm -rf dirname # 强制递归删除目录
rm *.txt # 删除所有.txt文件
cp – 复制文件和目录
cp source dest # 复制文件
cp -r source dest # 递归复制目录
cp -i source dest # 交互式复制(目标存在时提示)
cp -p source dest # 保持文件属性
cp -u source dest # 只复制更新的文件
mv – 移动/重命名文件和目录
mv oldname newname # 重命名文件/目录
mv source dest # 移动文件/目录
mv -i source dest # 交互式移动
mv file1 file2 dir/ # 移动多个文件到目录
ln – 创建链接
ln file link # 创建硬链接
ln -s file link # 创建软链接(符号链接)
ln -sf file link # 强制创建软链接
文本处理
cat – 显示文件内容
cat filename # 显示文件内容
cat file1 file2 # 连接显示多个文件
cat -n filename # 显示行号
cat -b filename # 显示非空行行号
cat > filename # 创建文件(输入内容后Ctrl+D结束)
less/more – 分页显示文件内容
less filename # 分页显示文件(推荐)
more filename # 分页显示文件
# less中的操作:
# 空格键:下一页
# b:上一页
# /text:搜索text
# q:退出
head – 显示文件头部
head filename # 显示前10行
head -n 20 filename # 显示前20行
head -c 100 filename # 显示前100个字符
tail – 显示文件尾部
tail filename # 显示后10行
tail -n 20 filename # 显示后20行
tail -f filename # 实时监控文件变化
tail -F filename # 实时监控(文件被重建时也能继续)
grep – 文本搜索
grep "pattern" filename # 搜索模式
grep -i "pattern" filename # 忽略大小写搜索
grep -r "pattern" directory # 递归搜索目录
grep -n "pattern" filename # 显示行号
grep -v "pattern" filename # 反向搜索(不包含模式的行)
grep -c "pattern" filename # 统计匹配行数
grep -E "pattern" filename # 使用扩展正则表达式
sed – 流编辑器
sed 's/old/new/' filename # 替换每行第一个匹配
sed 's/old/new/g' filename # 替换所有匹配
sed -i 's/old/new/g' filename # 直接修改文件
sed '1,5d' filename # 删除1-5行
sed -n '1,5p' filename # 只显示1-5行
awk – 文本处理工具
awk '{print $1}' filename # 打印第一列
awk '{print NF}' filename # 打印每行的字段数
awk 'NR==1,NR==5' filename # 打印1-5行
awk -F: '{print $1}' /etc/passwd # 以:为分隔符,打印第一列
sort – 排序
sort filename # 按字母顺序排序
sort -n filename # 按数值排序
sort -r filename # 反向排序
sort -u filename # 排序并去重
sort -k2 filename # 按第二列排序
uniq – 去重
uniq filename # 去除相邻重复行
uniq -c filename # 统计重复次数
uniq -d filename # 只显示重复行
wc – 统计
wc filename # 统计行数、词数、字符数
wc -l filename # 只统计行数
wc -w filename # 只统计词数
wc -c filename # 只统计字符数
系统信息查看
uname – 系统信息
uname -a # 显示所有系统信息
uname -r # 显示内核版本
uname -m # 显示机器架构
whoami – 当前用户
whoami # 显示当前用户名
id – 用户ID信息
id # 显示当前用户和组ID
id username # 显示指定用户信息
who – 已登录用户
who # 显示已登录用户
w # 显示用户活动详情
date – 日期时间
date # 显示当前日期时间
date +"%Y-%m-%d %H:%M:%S" # 格式化显示
date -d "1 day ago" # 显示一天前的日期
uptime – 系统运行时间
uptime # 显示系统运行时间和负载
df – 磁盘使用情况
df # 显示磁盘使用情况
df -h # 人性化显示
df -i # 显示inode使用情况
du – 目录大小
du -h directory # 显示目录大小
du -sh directory # 显示目录总大小
du -ah directory # 显示所有文件大小
du --max-depth=1 # 只显示一级子目录
free – 内存使用情况
free # 显示内存使用情况
free -h # 人性化显示
free -m # 以MB为单位显示
进程管理
ps – 显示进程
ps # 显示当前终端进程
ps aux # 显示所有进程详细信息
ps -ef # 显示所有进程
ps -u username # 显示指定用户进程
top – 实时显示进程
top # 实时显示系统进程
htop # 增强版top(需要安装)
# top中的操作:
# q:退出
# k:杀死进程
# M:按内存使用排序
# P:按CPU使用排序
jobs – 作业管理
jobs # 显示后台作业
jobs -l # 显示作业详细信息
nohup – 后台运行
nohup command & # 后台运行命令,忽略挂起信号
nohup command > log.txt 2>&1 & # 重定向输出到文件
kill – 终止进程
kill PID # 终止指定进程
kill -9 PID # 强制终止进程
kill -TERM PID # 发送终止信号
killall process_name # 终止所有同名进程
bg/fg – 后台前台切换
bg %1 # 将作业1放到后台
fg %1 # 将作业1调到前台
Ctrl+Z # 暂停当前进程
Ctrl+C # 终止当前进程
权限管理
chmod – 修改权限
chmod 755 filename # 设置权限为rwxr-xr-x
chmod +x filename # 添加执行权限
chmod -w filename # 移除写权限
chmod u+w filename # 给所有者添加写权限
chmod g-r filename # 移除组的读权限
chmod o+x filename # 给其他用户添加执行权限
chmod -R 755 directory # 递归修改目录权限
权限数字表示:
4: 读权限(r)
2: 写权限(w)
1: 执行权限(x)
7 = 4+2+1: 读写执行
6 = 4+2: 读写
5 = 4+1: 读执行
chown – 修改所有者
chown user filename # 修改文件所有者
chown user:group filename # 修改所有者和组
chown -R user directory # 递归修改目录所有者
chgrp – 修改组
chgrp group filename # 修改文件所属组
chgrp -R group directory # 递归修改目录所属组
umask – 默认权限
umask # 显示当前umask值
umask 022 # 设置umask值
压缩和解压
tar – 打包和解压
tar -cvf archive.tar files # 创建tar包
tar -czvf archive.tar.gz files # 创建gzip压缩包
tar -cjvf archive.tar.bz2 files # 创建bzip2压缩包
tar -xvf archive.tar # 解压tar包
tar -xzvf archive.tar.gz # 解压gzip包
tar -xjvf archive.tar.bz2 # 解压bzip2包
tar -tf archive.tar # 查看tar包内容
tar -xvf archive.tar -C /path # 解压到指定目录
gzip/gunzip – gzip压缩
gzip filename # 压缩文件
gunzip filename.gz # 解压文件
gzip -d filename.gz # 解压文件
gzip -r directory # 递归压缩目录下所有文件
zip/unzip – zip压缩
zip archive.zip files # 创建zip包
zip -r archive.zip dir # 递归压缩目录
unzip archive.zip # 解压zip包
unzip -l archive.zip # 查看zip包内容
unzip archive.zip -d /path # 解压到指定目录
查找和搜索
find – 查找文件
find /path -name "filename" # 按名称查找
find /path -type f # 查找文件
find /path -type d # 查找目录
find /path -size +100M # 查找大于100M的文件
find /path -mtime -7 # 查找7天内修改的文件
find /path -user username # 查找指定用户的文件
find /path -perm 755 # 查找指定权限的文件
find /path -name "*.txt" -exec rm {} ; # 查找并删除
locate – 快速查找
locate filename # 快速查找文件
updatedb # 更新文件数据库
which – 查找命令路径
which command # 查找命令的完整路径
whereis – 查找程序
whereis command # 查找程序的二进制、源码、手册位置
网络相关
ping – 测试连通性
ping hostname # 测试网络连通性
ping -c 4 hostname # 发送4个包后停止
ping -i 2 hostname # 每2秒发送一个包
wget – 下载文件
wget URL # 下载文件
wget -O filename URL # 下载并重命名
wget -c URL # 断点续传
wget -r URL # 递归下载网站
curl – 传输数据
curl URL # 获取网页内容
curl -O URL # 下载文件
curl -L URL # 跟随重定向
curl -H "Header: value" URL # 添加HTTP头
curl -X POST URL # 发送POST请求
ssh – 远程登录
ssh user@hostname # SSH登录远程主机
ssh -p 2222 user@host # 指定端口登录
ssh -i keyfile user@host # 使用密钥文件登录
scp – 远程复制
scp file user@host:/path # 复制文件到远程主机
scp user@host:/path file # 从远程主机复制文件
scp -r dir user@host:/path # 复制目录
netstat – 网络状态
netstat -tuln # 显示所有监听端口
netstat -an # 显示所有连接
netstat -r # 显示路由表
磁盘和存储
mount – 挂载文件系统
mount # 显示已挂载的文件系统
mount /dev/sdb1 /mnt # 挂载设备到目录
umount /mnt # 卸载文件系统
fdisk – 磁盘分区
fdisk -l # 列出所有磁盘分区
fdisk /dev/sdb # 对磁盘进行分区操作
lsblk – 显示块设备
lsblk # 以树状显示块设备
lsblk -f # 显示文件系统信息
环境变量和配置
export – 设置环境变量
export VAR=value # 设置环境变量
export PATH=$PATH:/new/path # 添加到PATH
env – 显示环境变量
env # 显示所有环境变量
env | grep PATH # 查找特定环境变量
alias – 别名
alias # 显示所有别名
alias ll='ls -l' # 创建别名
unalias ll # 删除别名
history – 命令历史
history # 显示命令历史
history | grep command # 搜索历史命令
!! # 执行上一条命令
!n # 执行第n条历史命令
常用快捷键
命令行编辑
Ctrl+A: 光标移到行首
Ctrl+E: 光标移到行尾
Ctrl+U: 删除光标到行首的内容
Ctrl+K: 删除光标到行尾的内容
Ctrl+W: 删除光标前的单词
Ctrl+L: 清屏
Ctrl+C: 终止当前命令
Ctrl+Z: 暂停当前命令
Ctrl+D: 退出当前会话
历史命令
↑: 上一条命令
↓: 下一条命令
Ctrl+R: 搜索历史命令
管道和重定向
重定向操作符
command > file # 标准输出重定向到文件(覆盖)
command >> file # 标准输出重定向到文件(追加)
command < file # 从文件读取输入
command 2> file # 错误输出重定向到文件
command 2>&1 # 错误输出重定向到标准输出
command > file 2>&1 # 标准输出和错误输出都重定向到文件
管道操作
command1 | command2 # 将command1的输出作为command2的输入
ls -l | grep ".txt" # 列出当前目录并筛选txt文件
ps aux | grep firefox # 查找firefox进程
实用组合命令示例
# 查找最大的10个文件
find /path -type f -exec ls -lh {} ; | sort -k5 -hr | head -10
# 统计代码行数
find . -name "*.py" | xargs wc -l
# 批量重命名文件
for file in *.txt; do mv "$file" "${file%.txt}.bak"; done
# 监控日志文件
tail -f /var/log/syslog | grep ERROR
# 查找并删除空目录
find /path -type d -empty -delete
# 统计目录下文件数量
find /path -type f | wc -l
# 查找重复文件
find /path -type f -exec md5sum {} ; | sort | uniq -d -w32
这份文档涵盖了Linux系统中最常用的命令和操作。建议根据实际使用场景,逐步学习和实践这些命令。记住,man command 可以查看任何命令的详细手册页。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END



















暂无评论内容