Linux 常用命令分类详解

linux命令可参考每个命令的man手册详细选项说明:

bash 复制代码
man command_name    # 查看命令手册
command --help      # 查看命令帮助信息

1. 文件和目录操作

1.1 目录导航

  • pwd - 显示当前工作目录
bash 复制代码
pwd
# 输出: /home/user
  • cd - 切换目录
bash 复制代码
cd /home          # 切换到指定目录
cd ..             # 返回上一级目录
cd ~              # 回到家目录
cd -              # 切换到上一个工作目录
  • ls - 列出目录内容
bash 复制代码
ls                # 列出当前目录文件
ls -l             # 详细列表(权限、大小、时间等)
ls -a             # 显示隐藏文件
ls -lh            # 以人类可读格式显示文件大小

1.2 文件创建和查看

  • touch - 创建空文件或更新文件时间戳
bash 复制代码
touch file.txt    # 创建空文件
  • cat - 查看文件内容
bash 复制代码
cat file.txt      # 显示整个文件内容
cat file1.txt file2.txt > combined.txt  # 合并文件
  • more/less - 分页查看文件
bash 复制代码
less large_file.txt  # 可以上下滚动查看大文件
more file.txt        # 向下翻页查看
  • head/tail - 查看文件开头/结尾
bash 复制代码
head -n 10 file.txt   # 查看前10行
tail -f logfile.log   # 实时监控日志文件

1.3 文件复制、移动和删除

  • cp - 复制文件/目录
bash 复制代码
cp file1.txt file2.txt     # 复制文件
cp -r dir1 dir2            # 递归复制目录
  • mv - 移动或重命名文件
bash 复制代码
mv old_name.txt new_name.txt  # 重命名
mv file.txt /home/user/       # 移动文件
  • rm - 删除文件/目录
bash 复制代码
rm file.txt           # 删除文件
rm -r directory/      # 递归删除目录
rm -rf dangerous_dir/ # 强制递归删除(谨慎使用)

1.4 目录操作

  • mkdir - 创建目录
bash 复制代码
mkdir new_dir         # 创建单个目录
mkdir -p a/b/c        # 递归创建多级目录
  • rmdir - 删除空目录
bash 复制代码
rmdir empty_dir       # 只能删除空目录

2. 文件权限和属性

2.1 权限管理

  • chmod - 修改文件权限
bash 复制代码
chmod 755 script.sh        # 数字模式:所有者可读写执行,组和其他人可读执行
chmod u+x file.txt         # 符号模式:给所有者添加执行权限
chmod g-w,o-r file.txt     # 组去除写权限,其他人去除读权限
  • chown - 修改文件所有者
bash 复制代码
chown user:group file.txt  # 修改所有者和组
chown user file.txt        # 只修改所有者
chown -R user dir/         # 递归修改目录及子文件
  • chgrp - 修改文件组
bash 复制代码
chgrp groupname file.txt

2.2 文件属性查看

  • ls -l - 查看详细权限信息
bash 复制代码
ls -l file.txt
# 输出: -rwxr-xr-- 1 user group 1024 Jan 1 10:00 file.txt
  • stat - 查看文件详细状态
bash 复制代码
stat file.txt

3. 系统信息和监控

3.1 系统基本信息

  • uname - 显示系统信息
bash 复制代码
uname -a          # 显示所有系统信息
uname -r          # 显示内核版本
  • hostname - 查看或设置主机名
bash 复制代码
hostname          # 查看当前主机名
hostname newname  # 设置新主机名(需要root权限)
  • date - 显示或设置日期时间
bash 复制代码
date              # 显示当前日期时间
date +"%Y-%m-%d"  # 自定义格式输出

3.2 硬件和资源信息

  • df - 磁盘空间使用情况
bash 复制代码
df -h             # 以人类可读格式显示磁盘使用情况
  • du - 目录空间使用情况
bash 复制代码
du -sh /home      # 显示/home目录总大小
du -h --max-depth=1 # 显示当前目录下各子目录大小
  • free - 内存使用情况
bash 复制代码
free -h           # 以人类可读格式显示内存使用
  • top/htop - 进程监控
bash 复制代码
top               # 实时显示系统进程
htop              # 更友好的交互式进程监控(需安装)

3.3 网络信息

  • ifconfig/ip - 网络接口配置
bash 复制代码
ifconfig          # 显示网络接口信息(传统命令)
ip addr show      # 现代替代命令
  • ping - 测试网络连通性
bash 复制代码
ping google.com   # 测试到google的连通性
ping -c 4 host    # 发送4个包后停止
  • netstat/ss - 网络连接状态
bash 复制代码
netstat -tuln     # 显示监听的TCP/UDP端口
ss -tuln          # netstat的现代替代品
  • ps - 进程状态
bash 复制代码
ps aux            # 显示所有进程详细信息
ps -ef            # 另一种显示格式

4. 进程管理

4.1 进程控制

  • kill - 终止进程
bash 复制代码
kill 1234         # 发送TERM信号终止进程ID为1234的进程
kill -9 1234      # 强制终止进程(SIGKILL)
  • pkill/killall - 按名称终止进程
bash 复制代码
pkill firefox     # 终止所有firefox进程
killall nginx     # 终止所有名为nginx的进程
  • bg/fg - 后台/前台作业控制
bash 复制代码
# Ctrl+Z 暂停当前进程
bg                # 将暂停的进程放到后台运行
fg                # 将后台进程调到前台
  • jobs - 查看作业
bash 复制代码
jobs              # 显示当前shell的作业列表

4.2 进程优先级

  • nice/renice - 设置进程优先级
bash 复制代码
nice -n 10 command    # 以较低优先级运行命令
renice -n 5 -p 1234   # 修改已运行进程的优先级

5. 文本处理和搜索

5.1 文本搜索

  • grep - 文本搜索
bash 复制代码
grep "pattern" file.txt     # 在文件中搜索pattern
grep -r "pattern" /dir/     # 递归搜索目录
grep -i "PATTERN" file.txt  # 忽略大小写
grep -v "pattern" file.txt  # 反向匹配(不包含pattern的行)
  • find - 文件查找
bash 复制代码
find /home -name "*.txt"    # 查找所有.txt文件
find . -type f -size +100M  # 查找大于100MB的文件
find . -mtime -7            # 查找7天内修改的文件
  • locate - 快速文件查找(基于数据库)
bash 复制代码
locate filename
updatedb                    # 更新locate数据库

5.2 文本处理

  • sort - 排序
bash 复制代码
sort file.txt               # 按字母顺序排序
sort -n numbers.txt         # 按数值排序
sort -r file.txt            # 逆序排序
  • uniq - 去除重复行
bash 复制代码
uniq file.txt               # 去除相邻重复行
sort file.txt | uniq        # 去除所有重复行
uniq -c file.txt            # 统计重复行次数
  • wc - 统计行数、字数、字符数
bash 复制代码
wc file.txt                 # 显示行数、字数、字符数
wc -l file.txt              # 只显示行数
  • cut - 切割字段
bash 复制代码
cut -d':' -f1 /etc/passwd   # 以:为分隔符,取第一列
  • awk/sed - 高级文本处理
bash 复制代码
awk '{print $1}' file.txt   # 打印每行的第一个字段
sed 's/old/new/g' file.txt  # 全局替换old为new

6. 压缩和归档

6.1 tar 归档

  • tar - 打包和解包
bash 复制代码
tar -cvf archive.tar dir/   # 创建tar包
tar -xvf archive.tar        # 解压tar包
tar -czvf archive.tar.gz dir/ # 创建gzip压缩的tar包
tar -xzvf archive.tar.gz    # 解压gzip压缩的tar包

6.2 压缩工具

  • gzip/gunzip - gzip压缩
bash 复制代码
gzip file.txt               # 压缩为file.txt.gz
gunzip file.txt.gz          # 解压
  • zip/unzip - zip压缩
bash 复制代码
zip archive.zip file1 file2 # 创建zip文件
unzip archive.zip           # 解压zip文件
  • bzip2/bunzip2 - bzip2压缩
bash 复制代码
bzip2 file.txt              # 压缩(通常比gzip压缩率更高)
bunzip2 file.txt.bz2        # 解压

7. 用户和组管理

7.1 用户管理

  • useradd/userdel - 添加/删除用户
bash 复制代码
useradd -m username         # 创建用户并创建家目录
userdel -r username         # 删除用户及其家目录
  • passwd - 修改密码
bash 复制代码
passwd username             # 修改指定用户密码
passwd                      # 修改当前用户密码
  • su/sudo - 用户切换和权限提升
bash 复制代码
su - username               # 切换到指定用户
sudo command                # 以root权限执行命令
sudo -i                     # 切换到root shell

7.2 组管理

  • groupadd/groupdel - 添加/删除组
bash 复制代码
groupadd groupname          # 创建新组
groupdel groupname          # 删除组
  • groups/id - 查看用户组信息
bash 复制代码
groups                      # 查看当前用户所属组
id username                 # 查看用户详细信息

8. 软件包管理

8.1 Debian/Ubuntu (APT)

bash 复制代码
apt update                  # 更新软件包列表
apt upgrade                 # 升级已安装的软件包
apt install package_name    # 安装软件包
apt remove package_name     # 卸载软件包
apt search keyword          # 搜索软件包

8.2 Red Hat/CentOS (YUM/DNF)

bash 复制代码
yum install package_name    # 安装软件包(CentOS 7及以下)
dnf install package_name    # 安装软件包(CentOS 8+/Fedora)
yum update                  # 更新软件包
yum remove package_name     # 卸载软件包

9. 网络和远程操作

9.1 远程连接

  • ssh - 安全远程登录
bash 复制代码
ssh user@hostname           # 连接到远程主机
ssh -p 2222 user@host       # 指定端口连接
  • scp - 安全文件复制
bash 复制代码
scp file.txt user@host:/path/  # 上传文件
scp user@host:/path/file.txt ./ # 下载文件
  • rsync - 高效文件同步
bash 复制代码
rsync -av /source/ /dest/      # 本地同步
rsync -av /local/ user@host:/remote/ # 远程同步

9.2 文件传输

  • wget/curl - 下载文件
bash 复制代码
wget http://example.com/file.zip
curl -O http://example.com/file.zip

10. Shell 和环境

10.1 环境变量

  • echo - 显示变量值
bash 复制代码
echo $HOME                  # 显示HOME环境变量
echo $PATH                  # 显示PATH环境变量
  • export - 设置环境变量
bash 复制代码
export MY_VAR=value         # 设置环境变量
  • env/printenv - 显示环境变量
bash 复制代码
env                         # 显示所有环境变量
printenv PATH               # 显示特定环境变量

10.2 历史和别名

  • history - 命令历史
bash 复制代码
history                     # 显示命令历史
!123                        # 重新执行历史命令123
  • alias/unalias - 命令别名
bash 复制代码
alias ll='ls -la'           # 创建别名
unalias ll                  # 删除别名

10.3 重定向和管道

  • 重定向
bash 复制代码
command > file.txt          # 输出重定向到文件(覆盖)
command >> file.txt         # 输出追加到文件
command 2> error.txt        # 错误输出重定向
command < input.txt         # 输入重定向
  • 管道
bash 复制代码
ls -l | grep ".txt"         # 将ls输出传递给grep
ps aux | grep nginx | wc -l # 多级管道
相关推荐
咖丨喱1 小时前
【修复miracast协商失败问题】
服务器·数据库·asp.net
wanhengidc1 小时前
云手机如何进行数据备份
运维·服务器·科技·智能手机·云计算
weixin_307779131 小时前
深度解析 Jenkins Git Client 6.4.0 插件:核心功能、应用场景与最佳实践
运维·git·架构·jenkins
阿巴~阿巴~1 小时前
HTTP头部字段:高效通信的关键
服务器·网络·网络协议·http·http头部字段
菜择贰1 小时前
为IDEA创建Linux桌面快捷方式
java·linux·intellij-idea
minji...1 小时前
Linux 进程控制(三) (进程程序替换,exec系列函数)
linux·运维·服务器
Xの哲學1 小时前
Linux TTY子系统深度剖析
linux·服务器·算法·架构·边缘计算
moringlightyn1 小时前
Linux---基础IO(文件理解 文件接口使用 文件系统层面)
linux·运维·服务器·c语言·笔记·系统·文件
艾莉丝努力练剑1 小时前
【Python基础:语法第三课】Python 函数详解:定义、参数、返回值与作用域
服务器·人工智能·windows·python·pycharm