以下是 Linux 系统中最常用的基础命令分类整理,包含文件操作、系统管理、网络相关等核心场景,附详细说明及示例:
一、文件与目录操作
1. 目录操作
ls
:列出目录内容ls -l # 长格式显示(包含权限、所有者、大小等) ls -a # 显示隐藏文件(以 . 开头的文件) ls -h # 以易读格式显示文件大小(如 KB/MB/GB)
cd
:切换目录cd /home/user # 切换到指定绝对路径 cd ../ # 返回上一级目录 cd ~ # 切换到当前用户主目录 cd - # 切换回上一次目录
mkdir
:创建目录mkdir dir1 # 创建单个目录 mkdir -p parent/child # 递归创建多级目录(如 parent 不存在则自动创建)
rmdir
:删除空目录rmdir dir1 # 删除空目录 rmdir -p parent/child # 递归删除空目录(若父目录为空,一并删除)
2. 文件操作
touch
:创建空文件或更新文件时间戳touch file.txt # 创建空文件 touch -m file.txt # 更新文件修改时间
cp
:复制文件 / 目录cp source.txt dest.txt # 复制文件 cp -r dir1 dir2 # 递归复制目录(含子文件) cp -p source.txt dest.txt # 保留文件属性(权限、时间等)
mv
:移动文件 / 目录(或重命名)mv file.txt /new/path # 移动文件到新路径 mv oldname.txt newname.txt # 重命名文件
rm
:删除文件 / 目录rm file.txt # 删除文件(需确认) rm -r dir1 # 递归删除目录(危险!谨慎使用) rm -f file.txt # 强制删除(不提示确认)
二、文件内容查看与编辑
1. 查看文件内容
cat
:一次性显示文件全部内容cat large.log # 直接显示(适合小文件) cat file1 file2 > merged.txt # 合并多个文件到新文件
more
/less
:分页查看文件(适合大文件)more large.log # 按空格翻页,按 q 退出 less large.log # 支持搜索(输入 /关键词 查找)和上下滚动
head
/tail
:查看文件开头 / 结尾部分head -n 10 file.txt # 查看前 10 行(默认前 10 行) tail -f server.log # 实时监控文件末尾(常用于日志查看,按 Ctrl+C 停止)
2. 文本编辑
nano
:简单文本编辑器(适合新手)nano config.txt # 打开文件编辑,按 Ctrl+O 保存,Ctrl+X 退出
vim
:强大的命令行编辑器(需学习基本操作)vim file.txt # 进入编辑模式:按 i 键插入,按 Esc 键退出插入,输入 :wq 保存并退出
三、系统信息与进程管理
1. 系统信息
uname
:查看系统内核信息uname -a # 显示完整系统信息(内核版本、主机名等)
hostname
:查看 / 设置主机名hostname # 查看当前主机名 sudo hostname new-hostname # 设置临时主机名(重启后失效)
df
:查看磁盘空间使用情况df -h # 以易读格式显示各分区容量、使用量、挂载点
free
:查看内存使用情况free -h # 以易读格式显示物理内存和交换空间使用情况
2. 进程管理
ps
:查看进程状态ps aux # 显示所有用户的进程(a)、详细信息(u)、包括后台进程(x) ps -ef | grep nginx # 过滤查找特定进程(如 nginx)
top
:动态监控进程(类似 Windows 任务管理器)top # 按 CPU/内存占用排序,按 q 退出
kill
:终止进程kill PID # 通过进程 ID(PID)终止进程(默认信号 15,温和终止) kill -9 PID # 强制终止进程(信号 9,可能导致数据丢失)
四、用户与权限管理
1. 用户操作
useradd
:创建新用户useradd -m -s /bin/bash newuser # 创建用户并创建主目录,指定默认 shell
passwd
:修改用户密码passwd # 当前用户修改自己的密码 sudo passwd newuser # 管理员为其他用户修改密码
su
/sudo
:切换用户 / 以管理员身份执行命令su - newuser # 切换到 newuser 用户(完全切换环境) sudo apt update # 以管理员权限执行命令(需当前用户在 sudo 组)
2. 权限管理
chmod
:修改文件 / 目录权限chmod 755 file.sh # 赋予文件所有者读写执行权限(7),其他用户读执行权限(5) chmod -R 755 dir1 # 递归修改目录及其子文件权限
chown
:修改文件所有者和所属组chown user:group file.txt # 将文件所有者改为 user,所属组改为 group
五、网络与远程连接
ifconfig
/ip addr
:查看网络接口信息ip addr show # 显示网卡 IP 地址、MAC 地址等
ping
:测试网络连通性ping google.com # 发送 ICMP 包测试连通性(按 Ctrl+C 停止)
ssh
:远程连接 Linux 服务器ssh user@192.168.1.100 # 通过 SSH 协议远程连接服务器(默认端口 22) ssh -p 2222 user@server # 连接指定端口的 SSH 服务
scp
:安全复制文件到远程服务器scp local.txt user@server:/remote/path # 上传文件到远程服务器 scp user@server:/remote.txt local_dir # 从远程服务器下载文件
六、软件包管理(不同发行版命令不同)
1. Debian/Ubuntu 系列(apt
)
sudo apt update # 更新软件包列表
sudo apt install package-name # 安装软件包
sudo apt upgrade # 升级已安装的软件包
sudo apt remove package-name # 删除软件包(保留配置文件)
sudo apt purge package-name # 彻底删除软件包(含配置文件)
2. Red Hat/CentOS 系列(yum
/dnf
)
sudo yum update # 更新软件包(CentOS 7 及以下用 yum)
sudo dnf install package-name # 安装软件包(CentOS 8+ 用 dnf)
sudo dnf remove package-name # 删除软件包
七、其他实用命令
history
:查看命令历史记录history # 显示所有历史命令 !123 # 重新执行第 123 条历史命令
tar
:压缩 / 解压缩文件tar -czvf archive.tar.gz dir1 # 压缩目录为 .tar.gz 文件(c:创建,z:gzip压缩,v:显示过程,f:指定文件名) tar -xzvf archive.tar.gz -C /extract/path # 解压缩到指定目录(x:解压,C:指定路径)
grep
:文本搜索grep "error" log.txt # 在 log.txt 中搜索包含 "error" 的行 cat access.log | grep -v "200" # 过滤出不包含 "200" 的行(-v 反向匹配)