以下是Linux常用指令速查表按用途分类方便随用随查目录 Linux常用指令速查表一、文件目录操作最常用二、查看文件内容三、系统信息查看四、软件包管理五、服务管理systemctl六、网络相关七、权限管理八、进程管理九、Tomcat专用十、MySQL/MariaDB专用 Linux重定向、管道符、通配符一、重定向二、管道符 |三、组合使用常用场景四、常用的几个组合五、 逻辑与六、通配符五、常用的实战场景 系统级别 vs 用户级别环境变量一、三个级别的对比表二、具体配置文件详解1. /etc/profile系统级别最常用2. ~/.bashrc用户级别最常用3. ~/.bash_profile用户级别登录时执行4. /etc/environment系统级别不推荐四、优先级五、查看当前环境变量六、实战场景场景一给所有用户配Java环境系统级别场景二给自己配一个快捷命令用户级别场景三临时测试临时生效八、容易搞混的几个点常用的状态检测命令查看报错信息的命令一、文件目录操作最常用命令说明例子ll查看当前目录下有哪些文件ll或ls -l详细列表cd 目录名进入某个目录cd /usr/localcd ..返回上一层目录cd ..cd ~回到根目录homecd ~pwd显示当前在哪个目录pwdmkdir 目录名创建一个新目录mkdir tomcatrm 文件名删除文件rm test.txtrm -rf 目录名强制删除目录慎用rm -rf tomcat/cp 源文件 目标复制文件cp a.txt b.txtmv 源 目标移动或重命名文件mv a.txt b.txtfind / -name 文件名在全盘搜索文件find / -name tomcat二、查看文件内容命令说明例子cat 文件名显示文件全部内容cat /etc/profiletail -n 文件名显示文件末尾几行tail -20 /var/log/messagestail -f 文件名实时查看日志CtrlC退出tail -f /var/log/mysqld.logmore 文件名分页查看文件空格翻页more /etc/profilevi 文件名编辑文件vi /etc/profile三、系统信息查看命令说明例子pwd当前目录路径直接输入whoami当前登录用户直接输入hostname主机名直接输入uname -a系统内核版本直接输入cat /etc/centos-release系统版本直接输入df -h查看磁盘剩余空间直接输入free -m查看内存使用情况直接输入四、软件包管理命令说明例子yum install -y 包名安装软件yum install -y mariadbyum remove 包名卸载软件yum remove mariadbyum repolist查看已添加的软件源直接输入yum search 包名搜索软件包yum search mysqlyum update -y更新所有软件直接输入rpm -ivh 包名.rpm安装本地rpm包rpm -ivh mysql.rpm五、服务管理systemctl命令说明例子systemctl start 服务名启动服务systemctl start mysqldsystemctl stop 服务名停止服务systemctl stop mysqldsystemctl restart 服务名重启服务systemctl restart mysqldsystemctl status 服务名查看服务状态systemctl status mysqldsystemctl enable 服务名开机自动启动systemctl enable mysqldsystemctl disable 服务名取消开机启动systemctl disable mysqld六、网络相关命令说明例子ip addr查看IP地址直接输入ping IP或域名测试网络通不通ping 114.114.114.114curl 网址访问网页curl https://www.baidu.comwget 网址下载文件wget https://xxx.com/file.tar.gz七、权限管理命令说明例子sudo 命令以管理员身份执行sudo yum installsu - root切换到root用户直接输入然后输密码chmod 权限 文件修改文件权限chmod x startup.sh加执行权限chown 用户 文件修改文件所属用户chown root test.txt八、进程管理命令说明例子ps -ef | grep 关键词查看进程ps -ef | grep tomcatkill 进程号结束进程kill 12345kill -9 进程号强制结束进程kill -9 12345top查看系统资源占用按q退出直接输入netstat -tlnp查看端口占用直接输入九、Tomcat专用命令说明/usr/local/tomcat/tomcat9/bin/startup.sh启动Tomcat/usr/local/tomcat/tomcat9/bin/shutdown.sh关闭Tomcattail -f /usr/local/tomcat/tomcat9/logs/catalina.out实时查看Tomcat日志ps -ef | grep tomcat查看Tomcat是否在运行十、MySQL/MariaDB专用命令说明mysql -u root -p登录数据库systemctl status mariadb查看数据库状态systemctl start mariadb启动数据库systemctl stop mariadb停止数据库mysqladmin -u root password 新密码修改root密码 Linux重定向、管道符、通配符一、重定向简单说就是把本来显示在屏幕上的内容改道送到别的地方去比如存到文件里。符号说明例子覆盖写入文件文件原来的内容会被清掉echo hello a.txt→ 把hello写到a.txt里覆盖原内容追加写入文件在文件末尾添加不影响原来的内容echo world a.txt→ 在a.txt末尾加上world2只把错误信息写入文件命令 2 error.log→ 只把报错信息存到error.log21把错误信息和正常信息都写到同一个文件命令 all.log 21→ 所有信息都存到all.log二、管道符|管道符就是把左边命令的输出直接送给右边命令当输入。像水管一样把水从一个地方接到另一个地方。用法说明例子命令A | 命令B把A的结果传给B处理ls | grep tomcat→ 列出所有文件只挑出带tomcat的命令A | 命令B | 命令C多个管道连用ps -ef | grep java | grep tomcat→ 查看进程挑出带java的再挑出带tomcat的三、组合使用常用场景场景命令把命令结果保存到文件命令 文件.txt把命令结果追加到文件命令 文件.txt查看日志并筛选关键字cat 日志文件 | grep 错误关键词实时查看日志并筛选tail -f 日志文件 | grep 错误关键词查看进程并筛选ps -ef | grep tomcat把筛选结果保存到文件ps -ef | grep tomcat tomcat进程.txt找文件并保存结果find / -name *.log 所有日志文件.txt 21四、常用的几个组合# 1. 查看Tomcat进程管道筛选 ps -ef | grep tomcat # 2. 查看MySQL日志里有没有错误管道筛选 cat /var/log/mysqld.log | grep ERROR # 3. 实时看Tomcat日志只显示带ERROR的行 tail -f /usr/local/tomcat/tomcat9/logs/catalina.out | grep ERROR # 4. 把当前目录下所有文件名保存到清单里 ls -l 文件清单.txt # 5. 查找所有tomcat相关的文件结果存起来 find / -name *tomcat* tomcat文件列表.txt 21 # 6. 查看端口占用看哪个程序占用了哪个端口 netstat -tlnp | grep 8080五、逻辑与符号说明例子前一条命令成功了才执行后一条cd /usr/local/tomcat ls→ 如果进了目录才列出文件;不管前一条成不成功都执行后一条cd /xxx ; ls→ 即使进不去/xxx也会执行ls可能列出当前目录六、通配符符号名字作用奶奶式大白话*星号代表任意长度的任意字符不管中间多长都能代表?问号代表一个任意字符只占一个位置代表一个字母[ ]方括号代表括号中指定的一个字符只从括号里选一个五、常用的实战场景# 1. 查看所有以 .log 结尾的文件 ls *.log # 2. 删除所有以 .tmp 结尾的临时文件别乱用 rm *.tmp # 3. 查看所有以 file 开头、后面跟一个数字的日志 ls file[0-9].log # 4. 复制所有 .conf 配置文件到备份目录 cp *.conf /backup/ # 5. 移动所有以 .tar 开头的压缩包 mv *.tar* /usr/local/tomcat/ # 6. 批量重命名把 .txt 全部改成 .bak rename .txt .bak *.txt # 注意有些系统没rename命令 # 或者用循环这个奶奶了解一下就行 for i in *.txt; do mv $i ${i%.txt}.bak; done # 7. 查看所有包含 error 的 .log 文件 grep ERROR *.log # 8. 删除文件名是三个字符的文件比如 abc.txt但 abcd.txt 不会删 rm ???.txt 系统级别 vs 用户级别环境变量一、三个级别的对比表级别配置文件生效范围什么时候生效优先级系统级别/etc/profile所有用户系统启动时低被用户级别覆盖系统级别/etc/environment所有用户系统启动时高最优先不推荐用用户级别~/.bashrc当前用户每次打开终端高覆盖系统级别用户级别~/.bash_profile当前用户登录时执行一次高覆盖系统级别临时生效直接在命令行执行export当前终端窗口立即生效最高关闭终端就失效二、具体配置文件详解1./etc/profile系统级别最常用作用所有用户登录时都会执行什么时候用Java环境变量、Tomcat环境变量等所有用户都需要的配置# 编辑系统级环境变量 sudo vi /etc/profile # 在文件末尾添加比如 export JAVA_HOME/usr/lib/jvm/java-17-openjdk export CATALINA_HOME/usr/local/tomcat/tomcat9 export PATH$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin # 保存后生效 source /etc/profile2.~/.bashrc用户级别最常用作用当前用户每次打开终端时都会执行什么时候用只给自己用的别名、PATH设置比如alias llls -l波浪号~代表当前用户的家目录root用户是/root普通用户是/home/用户名# 编辑用户级环境变量 vi ~/.bashrc # 在文件末尾添加比如 export MY_NAME奶奶专用 alias llls -l # 保存后生效 source ~/.bashrc3.~/.bash_profile用户级别登录时执行作用当前用户登录时执行一次比.bashrc早什么时候用和.bashrc差不多但它只在登录时执行一次而.bashrc每次打开终端都执行注意很多系统里.bash_profile会直接调用.bashrc所以一般只配.bashrc就够了4./etc/environment系统级别不推荐作用所有用户都生效但不支持变量引用比如不能用$JAVA_HOME不推荐原因配置限制多容易出问题咱一般不用它四、优先级临时 export ~/.bashrc /etc/profile也就是说如果您在~/.bashrc里设置了JAVA_HOME/usr/java8系统/etc/profile里设置了JAVA_HOME/usr/java17那最终生效的是/usr/java8用户级别覆盖了系统级别五、查看当前环境变量# 查看所有环境变量 env # 查看某个具体的变量 echo $JAVA_HOME echo $CATALINA_HOME echo $PATH # 查看变量是从哪个文件配置的用which查命令来源 which java六、实战场景场景一给所有用户配Java环境系统级别sudo vi /etc/profile # 末尾添加 export JAVA_HOME/usr/lib/jvm/java-17-openjdk export PATH$PATH:$JAVA_HOME/bin # 保存后 source /etc/profile场景二给自己配一个快捷命令用户级别vi ~/.bashrc # 末尾添加 alias starttomcat/usr/local/tomcat/tomcat9/bin/startup.sh alias stoptomcat/usr/local/tomcat/tomcat9/bin/shutdown.sh # 保存后 source ~/.bashrc以后想启动Tomcat直接敲starttomcat就行不用打那么长一串了场景三临时测试临时生效# 只在当前窗口临时设置 export TEST临时变量 echo $TEST # 显示临时变量 # 关掉这个终端窗口再开TEST就没了八、容易搞混的几个点问题答案改了/etc/profile后马上生效吗不生效要执行source /etc/profile或重新登录改了~/.bashrc后马上生效吗不生效要执行source ~/.bashrc或重新打开终端为什么我改了~/.bashrc但用ssh远程登录没生效因为ssh登录执行的是~/.bash_profile它可能没有加载.bashrc需要手动加一行source和.有什么区别没区别source /etc/profile和. /etc/profile是一回事常用的状态检测命令主要就记住下面这四个平时看系统、看服务、看网络、看日志基本都够用了。系统卡了用top硬盘满了用df内存不够用free服务挂了用systemctl status。检测对象命令说明使用场景看系统状态top任务管理器看CPU、内存谁占得最多按q键可以退出感觉电脑卡了看看哪个程序在捣乱看磁盘空间df -h看Use%列如果数字到90%以上就说明磁盘快满了装软件报错说“磁盘空间不足”时看内存状态free -h看available那一列如果剩余内存太少系统可能就会变慢启动Tomcat报内存错误时看服务状态(最常用systemctl status 服务名看某个服务如MySQL/Tomcat是否正常运行连不上数据库、网页打不开时看端口监听netstat -tlnp看哪个程序占用了哪个端口比如8080端口被占用Tomcat起不来时查看报错信息的命令有时候服务起不来就看这两条命令找原因# 看系统日志的最后20行快速定位错误 tail -20 /var/log/messages # 实时查看MySQL的报错日志有错误会立刻蹦出来 tail -f /var/log/mariadb/mariadb.log # 如果这个文件不存在试试 /var/log/mysqld.log如发现错误请指正感谢