Linux 命令是操作 Linux 系统的核心工具,掌握常用指令能大幅提升工作效率。以下按 “文件操作、系统管理、网络操作、权限控制、实用工具” 五大类,详解最常用的 Linux 指令,包含语法、示例及实战技巧。
一、文件操作指令(最基础高频)
1. ls:列出目录内容
- 功能:查看当前或指定目录下的文件 / 文件夹。
- 常用参数:
-l:显示详细信息(权限、所有者、大小、修改时间);-a:显示隐藏文件(以.开头的文件);-h:以人类可读格式显示大小(如1K、2M);-t:按修改时间排序(最新的在前)。
- 示例:
ls -lha # 查看当前目录所有文件(含隐藏)的详细信息,大小人性化显示
ls /etc # 查看/etc目录下的文件
2. cd:切换目录
- 功能:切换当前工作目录。
- 常用用法:
cd 目录路径:切换到指定目录(绝对路径如/home/user,相对路径如../docs);cd ~或cd:切换到当前用户的家目录(如/home/ubuntu);cd -:切换到上一次所在的目录。
- 示例:
cd /var/log # 切换到/var/log目录(绝对路径)
cd ../downloads # 切换到上一级目录的downloads文件夹(相对路径)
3. pwd:显示当前目录路径
- 功能:打印当前工作目录的绝对路径(避免 “迷路”)。
- 示例:
pwd # 输出:/home/user/projects
4. mkdir:创建目录
- 功能:创建新文件夹。
- 常用参数:
-p:递归创建多级目录(父目录不存在时自动创建)。
- 示例:
mkdir docs # 创建单个目录docs
mkdir -p /tmp/a/b/c # 递归创建/tmp/a/b/c,即使a、b不存在
5. rm:删除文件 / 目录
- 功能:删除文件或目录(危险操作,谨慎使用)。
- 常用参数:
-f:强制删除,不提示(忽略不存在的文件);-r:递归删除目录及其中所有内容(删除目录必须用此参数)。
- 示例:
rm old.txt # 删除文件old.txt(会提示确认)
rm -f temp.log # 强制删除temp.log,不提示
rm -rf old_dir # 强制删除old_dir目录及里面所有内容(慎用!)
- 安全提示:避免使用
rm -rf /(删除根目录,系统崩溃),重要文件删除前先备份。
6. cp:复制文件 / 目录
- 功能:复制文件或目录到指定位置。
- 常用参数:
-r:递归复制目录(复制目录必须用此参数);-p:保留原文件的权限、修改时间等属性;-v:显示复制过程(verbose)。
- 示例:
cp file.txt /backup/ # 复制file.txt到/backup目录
cp -rp docs/ /tmp/ # 复制docs目录到/tmp,保留权限和属性
7. mv:移动 / 重命名文件 / 目录
- 功能:移动文件 / 目录到新位置,或重命名(同一目录下移动即重命名)。
- 示例:
mv report.txt /home/user/ # 移动report.txt到/home/user目录
mv oldname.txt newname.txt # 重命名文件(同一目录下)
mv docs/ archives/ # 重命名目录
8. cat/tac:查看文件内容
- 功能:
cat正序显示文件内容,tac倒序显示(较少用)。 - 常用参数:
-n:显示行号。
- 示例:
cat /etc/hosts # 查看hosts文件内容
cat -n test.txt # 显示test.txt内容并带行号
9. more/less:分页查看大文件
- 功能:用于查看大文件(如日志),支持分页浏览(
cat适合小文件,大文件会刷屏)。 - 操作技巧:
more:按Enter换行,Space翻页,q退出;less:更强大,支持PageUp/PageDown翻页,/关键词搜索,q退出。
- 示例:
more /var/log/syslog # 分页查看系统日志
less /etc/httpd/conf/httpd.conf # 分页查看配置文件,支持搜索
10. head/tail:查看文件开头 / 结尾
- 功能:
head显示文件前 N 行,tail显示后 N 行(常用于查看日志最新内容)。 - 常用参数:
-n:指定行数(默认 10 行);tail -f:实时跟踪文件新增内容(日志实时刷新时常用)。
- 示例:
head -n 5 /etc/passwd # 查看passwd文件前5行
tail -n 20 /var/log/nginx/access.log # 查看nginx访问日志最后20行
tail -f /var/log/messages # 实时监控系统消息日志(按Ctrl+C退出)
二、系统管理指令(监控与进程)
1. top/htop:查看系统资源与进程
- 功能:实时监控 CPU、内存、进程占用情况(
htop是top的增强版,需额外安装)。 top关键指标:%CPU:进程 CPU 使用率;%MEM:进程内存使用率;PID:进程 ID(用于杀死进程)。
- 操作:按
q退出,k+PID杀死进程,P按 CPU 排序,M按内存排序。 - 示例:
top # 启动实时监控
htop # 更直观的监控界面(需先安装:yum install htop 或 apt install htop)
2. ps:查看进程快照
- 功能:显示当前系统的进程快照(静态,不实时更新,区别于
top)。 - 常用参数:
aux:显示所有用户的进程(最常用组合);-ef:显示进程详细信息及父进程 ID。
- 示例:
ps aux # 查看所有进程(USER:所有者,PID:进程ID,COMMAND:进程命令)
ps aux | grep nginx # 筛选出nginx相关进程(|是管道,grep用于搜索)
3. kill/pkill:终止进程
- 功能:通过进程 ID(
kill)或进程名(pkill)终止进程。 - 常用参数:
-9:强制终止(进程无响应时使用,-15是默认的优雅终止)。
- 示例:
kill 1234 # 终止PID为1234的进程(优雅终止)
kill -9 5678 # 强制杀死PID为5678的进程
pkill nginx # 终止所有名为nginx的进程
4. free:查看内存使用情况
- 功能:显示系统内存(物理内存、交换分区)的使用和空闲情况。
- 常用参数:
-h:以人类可读格式显示(如2G、512M)。
- 示例:
free -h # 输出:总内存(total)、已用(used)、空闲(free)、可用(available)
5. df/du:查看磁盘空间
df:显示磁盘分区的总空间、已用空间、可用空间(整体磁盘情况)。- 参数
-h:人性化显示(如10G、50%)。
- 参数
du:显示指定目录 / 文件的磁盘占用量(具体文件 / 目录的大小)。- 参数
-sh:s汇总目录总大小,h人性化显示。
- 参数
- 示例:
df -h # 查看所有磁盘分区的使用情况(如/根分区、/home分区)
du -sh /var/log # 查看/var/log目录的总大小
du -h * # 查看当前目录下所有文件/文件夹的大小
三、网络操作指令
1. ifconfig/ip:查看 / 配置网络接口
- 功能:查看网卡信息(IP 地址、MAC 地址等),
ifconfig是旧命令,ip是新一代工具(推荐)。 - 示例:
ifconfig # 显示所有网卡信息(包含IP地址:inet)
ip addr # 新一代命令,显示网卡信息(同ifconfig)
ip link set eth0 up # 启用eth0网卡(down是禁用)
2. ping:测试网络连通性
- 功能:向目标主机发送数据包,测试是否可达(常用于排查网络故障)。
- 常用参数:
-c:指定发送包的数量(默认无限发送,按 Ctrl+C 停止)。
- 示例:
ping www.baidu.com # 测试与百度的连通性
ping -c 4 192.168.1.1 # 向网关192.168.1.1发送4个包
3. netstat/ss:查看网络连接
- 功能:显示网络连接、端口监听、进程关联等信息(
ss是netstat的替代工具,更快)。 - 常用参数:
-tuln:t显示 TCP 连接,u显示 UDP,l显示监听中,n显示 IP 和端口(不解析域名)。
- 示例:
netstat -tuln # 查看所有监听的TCP/UDP端口(如80端口是否被nginx占用)
ss -tuln # 同netstat,效率更高
netstat -an | grep ESTABLISHED # 查看所有已建立的TCP连接
4. curl/wget:下载文件或测试 HTTP
curl:发送 HTTP 请求、下载文件(支持多种协议)。- 示例:
curl http://www.baidu.com(获取百度首页 HTML);curl -O https://example.com/file.zip(下载文件)。
- 示例:
wget:专注于下载文件(后台下载、断点续传更方便)。- 示例:
wget https://example.com/file.iso(下载文件);wget -c https://example.com/bigfile.zip(断点续传)。
- 示例:
四、权限控制指令(Linux 安全核心)
1. chmod:修改文件 / 目录权限
- 功能:设置文件 / 目录的读(r)、写(w)、执行(x)权限,对应所有者(u)、所属组(g)、其他用户(o)。
- 权限表示:
- 字符模式:
r=4、w=2、x=1(如rwx=7,rw-=6,r--=4); - 数字模式:用 3 位数字分别表示 u、g、o 的权限(如
755表示 u=rwx,g=rx,o=rx)。
- 字符模式:
- 示例:
chmod 755 script.sh # 所有者可读可写可执行,组和其他用户可读可执行
chmod u+x file.txt # 仅给所有者增加执行权限
chmod -R 777 data/ # 递归修改data目录及所有子文件为最高权限(谨慎!安全风险)
2. chown:修改文件 / 目录的所有者和所属组
- 功能:改变文件的所有者(user)或所属组(group),需管理员权限(sudo)。
- 语法:
chown [所有者]:[所属组] 文件名 - 示例:
sudo chown user1 file.txt # 将file.txt的所有者改为user1
sudo chown user1:group1 docs/ # 将docs目录的所有者改为user1,所属组改为group1
sudo chown -R www-data:www-data /var/www # 递归修改网站目录的所有者为www-data(Web服务器常用)
五、实用工具指令
1. grep:文本搜索工具
- 功能:在文件或命令输出中搜索包含指定关键词的行(“文本 grep 神器”)。
- 常用参数:
-i:忽略大小写;-n:显示匹配行的行号;-r:递归搜索目录下的所有文件;-v:反向匹配(显示不包含关键词的行)。
- 示例:
grep "error" /var/log/syslog # 在系统日志中搜索包含error的行
grep -in "warning" app.log # 在app.log中搜索warning(忽略大小写),显示行号
grep -r "password" /etc/ # 递归搜索/etc目录下所有包含password的文件
ps aux | grep nginx # 结合管道,搜索nginx进程
2. find:查找文件 / 目录
- 功能:按名称、大小、修改时间等条件在指定目录下搜索文件(比图形界面搜索高效 10 倍)。
- 常用参数:
-name:按名称搜索(支持通配符*);-size:按大小搜索(+10M大于 10M,-500K小于 500K);-mtime:按修改时间搜索(-77 天内修改,+3030 天前修改);-exec:对找到的文件执行指定命令(如删除、复制)。
- 示例:
find /home -name "*.txt" # 在/home目录下搜索所有.txt文件
find /var -size +1G # 在/var目录下搜索大于1G的文件
find ./ -mtime -3 -name "*.log" # 在当前目录下搜索3天内修改的.log文件
find ./ -name "temp*" -exec rm {} \; # 查找所有以temp开头的文件并删除({}代表找到的文件)
3. tar:文件压缩 / 解压
- 功能:打包压缩文件(Linux 最常用的压缩工具,支持
tar.gz、tar.bz2等格式)。 - 常用参数:
-c:创建压缩包;-x:解压压缩包;-z:用 gzip 压缩 / 解压(.tar.gz 格式);-j:用 bzip2 压缩 / 解压(.tar.bz2 格式);-f:指定压缩包文件名(必须放在参数最后);-v:显示压缩 / 解压过程;-C:指定解压到的目录。
- 示例:
tar -zcvf docs.tar.gz ./docs # 将docs目录压缩为docs.tar.gz
tar -zxvf docs.tar.gz # 解压docs.tar.gz到当前目录
tar -jxvf data.tar.bz2 -C /tmp # 解压data.tar.bz2到/tmp目录
4. sudo:以管理员权限执行命令
- 功能:普通用户临时获取 root 权限执行命令(避免直接登录 root,提升安全性)。
- 示例:
sudo apt update # 以管理员权限更新软件包列表(Ubuntu/Debian)
sudo yum install nginx # 以管理员权限安装nginx(CentOS/RHEL)
sudo rm /var/log/old.log # 删除需要管理员权限的文件
六、命令行高效技巧
- Tab 键自动补全:输入文件名、目录名或命令时,按 Tab 键自动补全(减少输入错误)。
- 历史命令:按
↑/↓键切换历史命令,history命令查看所有历史,!n执行第 n 条历史命令(如!100执行第 100 条)。 - 管道(
|):将前一个命令的输出作为后一个命令的输入(如ps aux | grep nginx)。 - 重定向:
>:将输出写入文件(覆盖原有内容),如ls -l > file.list;>>:追加输出到文件,如echo "test" >> log.txt。
总结
以上指令覆盖了 Linux 日常操作的 90% 场景,核心在于 “多用多练”:
- 基础操作(
ls/cd/cp/mv)是入门必备; - 系统管理(
top/ps/kill)和网络指令(ping/netstat)是排查问题的关键; grep/find/tar等工具能大幅提升效率。
记住:命令的参数不必死记,用man 命令名(如man ls)查看手册,或命令名 --help查看简要帮助,边用边查效率更高。
1万+

被折叠的 条评论
为什么被折叠?



