Linux常见命令大全(新手入门+实操必备)
前言:Linux系统的核心操作依赖命令行,无论是服务器运维、开发环境部署,还是日常文件管理,熟练掌握常用命令都能大幅提升效率。本文整理了Linux最高频、最实用的命令,按功能分类详解,附具体示例和注意事项。
一、文件/目录操作命令(最核心,必掌握)
文件和目录是Linux系统的基础元素,这类命令是日常操作的高频项,务必熟练掌握,所有示例均为可直接执行的实操命令。
1. ls - 列出目录内容
用途:查看当前目录或指定目录下的文件、文件夹,是最常用的基础命令之一。
# 基础用法:列出当前目录下的文件/文件夹(仅名称)
$ ls
# 常用选项(高频组合)
$ ls -l # 详细列表显示,包含权限、所有者、大小、修改时间等(简称ll,日常最常用)
$ ls -a # 显示所有文件,包括以.开头的隐藏文件(Linux中隐藏文件以.开头)
$ ls -lh # 以K/M/G易读格式显示文件大小,配合-l使用更直观
$ ls /usr/local # 列出指定目录(/usr/local)下的内容
注意:ll是ls -l的别名,大部分Linux系统默认支持,输入ll可快速查看详细信息。
2. cd - 切换工作目录
用途:改变当前终端的工作目录,切换到指定路径,新手常混淆绝对路径和相对路径,示例中明确区分。
# 切换到绝对路径(从根目录开始,以/开头)
$ cd /home/user
# 切换到相对路径(相对于当前目录)
$ cd ../ # 切换到上级目录(..代表上级目录)
$ cd ./test # 切换到当前目录下的test文件夹(.代表当前目录,可省略)
# 快捷切换(高频)
$ cd ~ # 切换到当前用户的家目录(无论当前在哪个路径,一键返回)
$ cd - # 切换到上一次所在的目录(类似“返回”功能)
3. pwd - 查看当前路径
用途:显示当前工作目录的绝对路径,当不确定自己所在位置时,执行此命令即可快速确认,避免路径混淆。
# 直接执行,无额外选项
$ pwd
# 示例输出:/home/user/projects(当前所在的绝对路径)
4. mkdir/rmdir - 创建/删除空目录
用途:mkdir用于创建新目录,rmdir仅用于删除空目录(非空目录会报错),两者搭配使用,满足目录管理基础需求。
# mkdir 基础用法
$ mkdir test # 在当前目录创建单个名为test的目录
$ mkdir -p a/b/c # 递归创建多级目录(父目录a、b不存在时,自动创建,高频实用)
# rmdir 基础用法
$ rmdir test # 删除空目录test(若test内有文件/子目录,会报错)
5. rm - 删除文件/目录(慎用!)
用途:删除文件或目录,Linux中删除后难以恢复,尤其是root用户执行时,务必谨慎,重点记住高频选项的使用场景。
# 删除单个文件
$ rm file.txt
# 强制删除文件(忽略不存在的文件,无提示,避免弹窗干扰)
$ rm -f file.txt
# 递归删除目录及所有内容(删除目录必须加-r)
$ rm -r dir
# 强制递归删除(生产环境慎用!一键删除目录及所有内容,无任何提示)
$ rm -rf dir
警告:rm -rf 命令极其危险,切勿在root用户下执行 rm -rf /(会删除系统所有文件,导致系统崩溃),日常操作前务必确认路径正确。
6. cp - 复制文件/目录
用途:将文件或目录复制到指定位置,日常用于备份文件、迁移数据,高频选项-r用于复制目录。
# 复制文件到指定目录
$ cp file.txt /tmp # 将当前目录的file.txt复制到/tmp目录下
# 递归复制目录及所有内容(复制目录必须加-r)
$ cp -r dir /tmp # 将dir目录及内部所有内容,复制到/tmp目录
# 强制覆盖目标文件(无提示,避免覆盖时弹窗确认)
$ cp -f file.txt /tmp
7. mv - 移动/重命名文件/目录
用途:既能移动文件/目录到指定路径,也能实现文件/目录的重命名(当源路径和目标路径在同一目录时),功能灵活。
# 移动文件到指定目录
$ mv file.txt /tmp # 将file.txt移动到/tmp目录
# 重命名文件(同一目录下,目标路径为当前目录+新文件名)
$ mv old.txt new.txt # 将old.txt重命名为new.txt
# 移动目录
$ mv dir /tmp # 将dir目录移动到/tmp目录
8. cat/tail/head - 查看文件内容
用途:查看文件内容,三者分工不同:cat查看全量内容,tail查看尾部内容(常用於监控日志),head查看头部内容。
# cat:查看文件全部内容(适合小文件)
$ cat file.txt
# tail:查看文件尾部内容(高频用于监控日志)
$ tail -f log.txt # 实时跟踪文件更新(日志新增内容会实时显示,按Ctrl+C停止)
$ tail -n 100 log.txt # 查看文件最后100行内容
# head:查看文件头部内容
$ head -n 10 file.txt # 查看文件前10行内容
二、文件内容操作/查找命令(高频实用)
日常工作中,经常需要搜索文件内容、查找指定文件或批量修改文本,这类命令能大幅提升文本处理效率,新手重点掌握grep和find。
1. grep - 文本搜索(日志排查必备)
用途:在文件或命令输出中,搜索匹配的字符串,是日志排查、文本筛选的核心命令,高频选项需牢记。
# 基础用法:在log.txt中搜索包含“error”的行
$ grep "error" log.txt
# 忽略大小写搜索(不区分error、ERROR、Error)
$ grep -i "error" log.txt
# 递归搜索(在/code目录下,所有文件中搜索包含“TODO”的内容)
$ grep -r "TODO" /code
# 显示匹配行的行号(方便定位内容位置)
$ grep -n "error" log.txt
2. find - 文件查找(全局搜索必备)
用途:按名称、类型、大小等条件,查找指定路径下的文件,支持全局搜索,灵活度高。
# 按名称查找:全局查找后缀为.log的文件(/代表根目录,即全局)
$ find / -name "*.log"
# 按类型查找:在/tmp目录下,查找所有普通文件(f代表普通文件,d代表目录)
$ find /tmp -type f
# 按大小查找:在/data目录下,查找大于100M的文件(+表示大于,-表示小于)
$ find /data -size +100M
3. sed - 文本批量替换
用途:流编辑器,可批量替换文件中的字符串,无需打开文件,直接执行命令即可完成修改,适合批量处理文本。
# 基础用法:将file.txt中所有“old_str”替换为“new_str”(-i表示直接修改文件)
$ sed -i 's/old_str/new_str/g' file.txt
# 实操示例:将log.txt中所有“error”替换为“ERROR”
$ sed -i 's/error/ERROR/g' log.txt
三、系统信息/进程管理命令
用于查看系统资源占用、进程状态,排查系统卡顿、进程异常等问题,是运维和开发人员必备的命令组。
1. top - 实时监控进程
用途:实时显示系统资源占用情况(CPU、内存、进程),可动态查看进程运行状态,快速定位资源占用过高的进程。
# 启动实时监控(直接执行)
$ top
# 常用交互快捷键(启动top后使用)
P # 按CPU使用率排序(从高到低,快速找CPU占用高的进程)
M # 按内存使用率排序(快速找内存占用高的进程)
k # 终止指定进程(输入进程PID,按回车确认,再输入9强制终止)
q # 退出top监控界面
2. ps - 查看进程列表
用途:查看当前运行的进程快照(静态查看),区别于top的实时监控,适合快速查看特定进程是否运行。
# 查看所有进程(详细信息,高频组合)
$ ps -ef
# 过滤指定进程(查看包含“java”的进程,运维排查Java服务常用)
$ ps -ef | grep java
# 以用户为中心显示进程(更直观查看各用户的进程)
$ ps aux
3. kill - 终止进程
用途:向进程发送信号,终止指定进程,当进程异常卡死时,常用此命令强制终止,需先通过ps或top获取进程PID(进程ID)。
# 温和终止进程(发送15信号,允许进程释放资源后退出)
$ kill 12345 # 12345是进程PID,需替换为实际PID
# 强制终止进程(发送9信号,无法忽略,快速终止卡死进程,高频使用)
$ kill -9 12345
4. df/du - 查看磁盘空间
用途:df查看磁盘分区的整体占用情况,du查看单个文件/目录的大小,两者搭配,可快速排查磁盘满的问题。
# df:查看所有磁盘分区的使用情况(-h易读格式,显示K/M/G)
$ df -h
# du:查看指定目录的总大小(-s汇总,-h易读格式,高频实用)
$ du -sh /var/log # 查看/var/log目录的总大小
$ du -h /data # 查看/data目录下各子目录的大小(便于定位大文件)
5. free - 查看内存使用
用途:显示系统物理内存、交换分区(swap)的使用情况,快速判断内存是否充足。
# 以易读格式显示内存使用情况(-h必加,否则显示字节数,不直观)
$ free -h
# 示例输出解读
# total:总内存 used:已使用内存 free:空闲内存 available:可分配内存
四、权限管理命令(系统安全必备)
Linux是多用户系统,权限管理是系统安全的核心,这类命令用于修改文件/目录的权限、所有者,避免未授权访问。
1. chmod - 修改文件/目录权限
用途:修改文件/目录的读(r)、写(w)、执行(x)权限,权限分为三类:所有者(u)、所属组(g)、其他用户(o),常用数字权限和符号权限两种方式。
# 数字权限(最常用,简洁高效)
# 权限说明:r=4,w=2,x=1,三者相加得到权限值
$ chmod 755 script.sh # 所有者可读可写可执行(7=4+2+1),其他只读可执行(5=4+1)
$ chmod 644 file.txt # 所有者可读可写(6=4+2),其他只读(4)
# 符号权限(直观易懂,适合新手)
$ chmod +x script.sh # 给所有用户添加执行权限(脚本运行必备)
$ chmod u-w file.txt # 取消所有者的写权限
$ chmod g+r file.txt # 给所属组添加读权限
2. chown - 修改文件/目录所有者
用途:修改文件/目录的所属用户和所属组,常用于文件权限分配,避免权限混乱。
# 修改文件所有者和所属组(格式:用户:组)
$ chown user:group file.txt # 将file.txt的所有者改为user,所属组改为group
# 递归修改目录及内容的所有者(修改目录时必须加-r)
$ chown -R user:group dir # 递归修改dir目录及内部所有内容的所有者和所属组
五、网络操作命令(基础必备)
用于测试网络连通性、查看网络配置,日常排查网络问题、连接远程服务器时常用。
1. ping - 测试网络连通性
用途:测试与目标主机的网络连通性,判断网络是否通畅,是最基础的网络排查命令。
# 测试与百度的网络连通性(默认持续发送数据包,按Ctrl+C停止)
$ ping baidu.com
# 发送指定次数的数据包(避免持续发送,高频实用)
$ ping -c 4 baidu.com # 发送4个数据包后停止
2. ifconfig - 查看网络配置(CentOS 7及以下)
用途:查看网卡信息、IP地址、子网掩码等网络配置,CentOS 8及以上可用ip addr命令替代。
# 查看所有网卡的网络配置
$ ifconfig
# 查看指定网卡(eth0)的配置
$ ifconfig eth0
3. ip addr - 查看网络配置(CentOS 8及以上)
用途:替代ifconfig,查看网卡信息、IP地址等,是新版本Linux系统的默认网络配置查看命令。
# 查看所有网卡的网络配置(常用)
$ ip addr
# 查看指定网卡(ens33)的配置
$ ip addr show ens33
六、新手必备技巧&常见坑
1. 新手技巧
-
命令补全:输入命令前几个字符,按Tab键可自动补全,避免输入错误,大幅提升效率。
-
命令历史:按上下箭头可切换历史命令,无需重复输入,也可执行history命令查看所有历史命令。
-
帮助命令:任何命令后加 --help,可查看该命令的所有选项和用法(如ls --help),新手必备。
2. 常见坑(必避!)
-
rm -rf 慎用:尤其是root用户,切勿误输rm -rf /,会直接删除系统所有文件,导致系统崩溃。
-
路径混淆:绝对路径以/开头(如/home/user),相对路径相对于当前目录(如../test),新手容易混淆导致操作失败。
-
权限不足:执行命令时提示“Permission denied”,需加sudo(临时获取root权限),如sudo rm file.txt。
总结
本文整理的Linux命令,覆盖了文件管理、文本处理、系统监控、权限管理、网络操作5大核心场景,都是日常工作中最高频、最实用的命令。
&spm=1001.2101.3001.5002&articleId=159565421&d=1&t=3&u=ffb788cf378b4f70a467254f46ae534c)
14万+

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



