必学Linux命令,高效工作必备!

Linux 命令是操作 Linux 系统的核心工具,掌握常用指令能大幅提升工作效率。以下按 “文件操作、系统管理、网络操作、权限控制、实用工具” 五大类,详解最常用的 Linux 指令,包含语法、示例及实战技巧。

一、文件操作指令(最基础高频)

1. ls:列出目录内容
  • 功能:查看当前或指定目录下的文件 / 文件夹。
  • 常用参数
    • -l:显示详细信息(权限、所有者、大小、修改时间);
    • -a:显示隐藏文件(以.开头的文件);
    • -h:以人类可读格式显示大小(如1K2M);
    • -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、内存、进程占用情况(htoptop的增强版,需额外安装)。
  • 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:以人类可读格式显示(如2G512M)。
  • 示例
free -h  # 输出:总内存(total)、已用(used)、空闲(free)、可用(available)
5. df/du:查看磁盘空间
  • df:显示磁盘分区的总空间、已用空间、可用空间(整体磁盘情况)。
    • 参数-h:人性化显示(如10G50%)。
  • du:显示指定目录 / 文件的磁盘占用量(具体文件 / 目录的大小)。
    • 参数-shs汇总目录总大小,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:查看网络连接
  • 功能:显示网络连接、端口监听、进程关联等信息(ssnetstat的替代工具,更快)。
  • 常用参数
    • -tulnt显示 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=4w=2x=1(如rwx=7rw-=6r--=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.gztar.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  # 删除需要管理员权限的文件

六、命令行高效技巧

  1. Tab 键自动补全:输入文件名、目录名或命令时,按 Tab 键自动补全(减少输入错误)。
  2. 历史命令:按/键切换历史命令,history命令查看所有历史,!n执行第 n 条历史命令(如!100执行第 100 条)。
  3. 管道(|:将前一个命令的输出作为后一个命令的输入(如ps aux | grep nginx)。
  4. 重定向
    • >:将输出写入文件(覆盖原有内容),如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查看简要帮助,边用边查效率更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值