web项目常用的Linux命令记录

本文汇总了Linux系统中常用的命令,包括进程管理、资源监控、文件编辑、软件启动、网络端口检查、压缩解压、用户切换及Git操作等,为开发者提供便捷的查阅和学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中常使用的命令,做记录以防忘记。
有错误请留言指正,看到就会修改,不定时更新

1. 查看进程

例如:
①. ps -ef|grep tomcat
②. ps -ef|grep java
③. ps -aux|grep redis 可以查看进程状态。
④. kill -9 PID 强制杀死指定PID的进程。
具体参数含义自行搜索。

2. 查看磁盘、内存使用情况

①. 查看磁盘使用情况:df -h
②. 查看当前目录各个文件大小:du -sh *
②. 查看内存使用情况:free -h

3. vim命令

"vim 文件"可以修改文件内容。打开文件后再按 i 进取编辑模式,修改完成后按 esc 退出编辑模式。按 :wq 进行保存退出,如果不加w的话就只是退出,不会保存。

4. 查看日志

4.1 less 命令

less 是 Linux 和类 Unix 系统中的一个常用命令行文本查看器,用于浏览文本文件的内容。与其他命令(如 catmore)相比,less 有更强大的功能和更友好的用户体验。

基本命令:

less filename

在 less 中,可以使用以下快捷键:

向下翻页: 按空格键
向上翻页: 按 b 键
向下滚动一行: 按 Enter 或向下箭头
向上滚动一行: 按向上箭头
搜索关键词: 输入 / 然后输入关键词,按 Enter,使用 n 往后查找,使用 N 往前查找
跳转到最后一行:按 G 键
跳转到第一行:按 g 键
退出 less: 按 q 键

如果你还想要实时监控日志,并且可以随时跳到某一行,可以使用 tail -fless 的组合。你可以使用如下命令:

tail -f /path/to/your/logfile.log | less -R

然后使用 CTRL+C 停止实时输出,再使用 less 的翻页功能查看已输出的内容。
记得将 /path/to/your/logfile.log 替换为你实际的日志文件路径。

less 命令的特点

  1. 向前和向后浏览:可以自由地向上和向下滚动文件内容,使其在查看大文件时非常方便。

  2. 搜索功能:支持实时搜索,可以根据需要快速查找特定的文本。输入 / 跟随要搜索的字符串即可进行向前搜索,输入 ? 则进行向后搜索。

  3. 支持高亮显示:当搜索时,匹配的关键词会高亮显示,便于用户识别。

  4. 支持命令行参数:运行 less 命令时,可以通过选项调整其行为,例如:

    • -N:显示行号。
    • -S:在行太长时不自动换行,而是将其截断,并以 - 来表示省略部分。
    • -R:允许使用 ANSI 颜色代码,显示彩色输出。
  5. 可用于查看标准输入:不仅可以查看文件,还可以查看管道传递给它的输出,配合其他命令使用时非常有用。

使用场景

以下是一些适合使用 less 命令的场景:

  1. 查看大文件:如果文件内容非常庞大,使用 less 可以快速浏览,不需要一次性加载整个文件,避免使用 cat 导致输出过多。

  2. 实时分析日志:可以与其他命令结合使用,实时分析日志输出。例如,结合 tail 来跟踪日志文件:

    tail -f /path/to/logfile.log | less
    

    这里可以使用 CTRL+C 停止 tail 的动态输出,然后使用 less 进行浏览。

  3. 阅读长文本:查看长篇文档,例如配置文件、源代码、手册页等。

  4. 查找和导航:在浏览文件时,使用搜索功能可以快速定位所需的信息。

  5. 可视化效果:查看带有 ANSI 颜色的输出(如编译器的错误输出)时,使用 -R 参数使得颜色正常显示,便于阅读。

4.2 tail 命令

tail 是一个在 Linux 和类 Unix 系统中非常常用的命令行工具,用于查看文本文件的最后几行。它特别适合用于查看日志文件,因为日志文件通常会随着时间的推移而不断增长。

tail 命令的基本功能

  1. 查看文件末尾几行:默认情况下,tail 显示文件的最后 10 行。
  2. 实时监控日志文件:使用 -f 选项,可以实时跟踪文件的变化,显示新增的内容。
  3. 指定显示行数:使用 -n 选项可以指定要显示的行数。

基本语法

tail [选项] [文件]

常用选项

  1. -n:指定要显示的行数。例如:

    tail -n 20 /path/to/file.log
    

    这表示显示文件的最后 20 行。

  2. -f:实时跟踪文件,持续显示新增的内容。例如:

    tail -f /path/to/file.log
    

    这将打开文件并持续输出新增的行,常用于查看日志文件的实时更新。

  3. -F:与 -f 类似,但如果文件被重写或移动,它会尝试重新打开文件。这对于动态生成的日志文件特别有用。

  4. -c:以字节为单位显示文件的最后几字节。例如:

    tail -c 100 /path/to/file.log
    

    显示文件的最后 100 字节。

  5. –retry:与 -f 一起使用时,如果文件不存在,持续尝试打开文件。

示例

  1. 查看文件的最后 10 行(默认)

    tail /var/log/syslog
    
  2. 查看文件的最后 50 行

    tail -n 50 /var/log/syslog
    
  3. 实时查看日志文件

    tail -f /var/log/syslog
    
  4. 实时查看文件,重新打开文件

    tail -F /var/log/syslog
    
  5. 查看文件的最后 100 字节

    tail -c 100 /path/to/file.log
    

使用场景

  • 日志文件监控tail -f 是监控日志文件的经典用法,特别是在开发、运维和调试中,使用 tail 能够实时查看错误、警告和状态信息。

  • 调试或分析程序输出:可以用来查看程序的输出文件,尤其是当输出较大时,只需关注最后生成的部分。

  • 系统监控:在查看系统日志文件(如 /var/log/messages/var/log/syslog)时,经常使用 tail 来获取最新的系统事件和错误信息。

总结

tail 是一个简单但强大的工具,适合于查看文本文件的最后几行,尤其是在处理日志文件时。结合不同的选项,tail 能够满足多种使用需求,是运维、开发和系统管理员的常用工具之一。

5. linux查看cpu和操作系统

查看cpu信息:

cpu信息记录在/proc/cpuinfo中。也可以直接使用lscpu查看。

#查看cpu信息
lscpu

Architecture:          x86_64                      架构
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                40                          逻辑CPU数
On-line CPU(s) list:   4-9
Off-line CPU(s) list:  0-3,10-39
Thread(s) per core:    0                           每个核心的线程
Core(s) per socket:    10                          每个物理CPU中的核心数
Socket(s):             2                           物理CPU数
NUMA node(s):          1
Vendor ID:             GenuineIntel                CPU厂商ID
CPU family:            6                           CPU系列
Model:                 85
Model name:            Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz              型号
Stepping:              7
CPU MHz:               2700.106
BogoMIPS:              4406.77
Virtualization:        VT-x                        CPU支持的虚拟化技术
L1d cache:             32K                         一级缓存(这具体表示表示CPU的L1数据缓存)
L1i cache:             32K                         一级缓存(具体为L1指令缓存)
L2 cache:              1024K                       二级缓存
L3 cache:              14080K
NUMA node0 CPU(s):     0-39
  • 物理CPU数
    物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。可以看到当前机器拥有2颗物理CPU
[work@tjtx etc]$ cat /proc/cpuinfo | grep 'physical id' | sort | uniq
physical id     : 0
physical id     : 1
  • 每个物理CPU的核心数
    我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下可以通过cores来确认主机的物理CPU的核心数。可以看到每颗CPU拥有10个逻辑核心
[work@tjtx etc]$ cat /proc/cpuinfo | grep 'cpu cores' | uniq
cpu cores       : 10
  • 逻辑CPU个数
    逻辑CPU跟超线程技术有联系,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;
    如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍。
    在Linux下可以通过 processors 的数目来确认逻辑CPU的数量。当前机器拥有40个CPU线程
[work@tjtx etc]$ cat /proc/cpuinfo | grep 'processor' | wc -l
40

综上所述:这台机器有2颗物理CPU,每个物理CPU有10个核心,系统一共拥有40个逻辑CPU。显然开启了超线程。

超线程介绍链接:linux 超线程及其原理,以及如何查看是否开启了超线程

查看操作系统版本:
#查看操作系统版本
cat /proc/version

Linux version 4.18.20-2.el7.wuba.lp.x86_64 (sys@58.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)) #1 SMP Mon Dec 23 17:24:31 CST 2019

6. linux中redis的使用

此处假设redis已经安装编译完成。如何安装自行百度。(其实就是把redis的tar.gz包下载下来然后解压,再进入目录中使用make命令编译即可)。这里不讲redis的其他启动操作和集群配置,只列出基本的启动服务、关闭服务命令,想了解具体配置请查看收藏夹。
①. 开启redis服务: 进入src目录后执行 ./redis-server ../redis.conf。redis.conf是配置文件。
②. 连接redis客户端:在src目录下执行 ./redis-cli -h 127.0.0.1 -p 6379
③. 关闭redis服务:在src目录下执行 ./redis-cli -h 127.0.0.1 -p 6379 shutdown 或者直接杀死redis-server的进程。
④. 其他常用redis命令,登录客户端之后可执行以下操作:

select 1      //redis默认有16个数据库,使用select选择一个然后进行后续操作。
dbsize        //查看当前数据库键的个数。
keys pattern  //查看匹配模式的所有key
flushdb       //清空当前数据库的所有键值。
flushall      //晴空所有数据库中的键值
info          //查看redis信息。
info memory   //查看redis内存方面的信息。
cluster info  //查看redis集群信息。
cluster slots //查看redis集群槽的信息。
cluster nodes //查看redis集群节点信息。
type key      //查看key的类型


7. linux中mysql的使用

①. 启动mysql服务: 执行service mysqld start
②. 关闭mysql服务: 执行service mysqld stop
③. 启动mysql服务: 执行service mysqld restart
④. 查看mysql服务状态:执行service mysqld status
④. 登录mysql客户端:执行mysql -u root -p后再输入密码即可登录。登录客户端后可执行以下操作:

show databases;   //查看所有数据库。
use 数据库名称;     //使用指定的数据库。
show tables;      //查看当前数据库所有的表。
DESCRIBE 表名;     //查询表结构
quit              //退出客户端。

8. linux中mongodb的使用

①. 启动mongo服务(以配置文件的方式启动):在mongodb的bin目录下执行 ./mongod -f 配置文件的位置 就可以启动mongo服务。
②. 启动mongo服务(以数据存储文件的方式启动):./mongod -dbpath 数据文件的位置
③. 登录mongoshell进行操作:在bin目录下执行 ./mongo --port 27017 -u admin -p 111111 --authenticationDatabase admin 就能以admin的身份登录shell进行操作。
④. 根据ID进行查询:db.collection.find({"_id" : ObjectId("xxxxxxxxxxxx")}) 就可以查询出指定_id的文档,如果想要删除只需要把find换成remove即可。

9. 查看端口使用情况

netstat -anp|grep 端口号
例如:
①. netstat -anp|grep 8080。
②. netstat -anp|grep 6379。
在这里插入图片描述
主要看监控状态为LISTEN表示已经被占用,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了。

ps:windows查看端口占用和杀死进程命令如下:
①.netstat -aon|findstr 8080
②.tasklist | findstr "15404"
③.taskkill -pid pid /f

ps:mac本查看端口占用和杀死进程命令:
①.查看端口占用:lsof -i:8080
②.杀死进程:kill pid"

10. linux启动jar包程序

linux运行jar包命令如下:

方式一:
java -jar xxx.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

方式二:
java -jar xxx.jar &
&代表在后台运行。
特点:当前ssh窗口不会锁定,但是当关闭该窗口时,程序中止运行。

方式三:
nohup java -jar xxx.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

方式四:
nohup java -jar xxx.jar >log.txt &
解释下 >log.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

11. linux压缩命令

  1. 解压.zip文件:unzip 文件名。加上-o参数会进行覆盖解压。
  2. 压缩.zip文件:zip -r 压缩后的文件名.zip 文件名(可以为多个)
  3. 解压.tar.gz文件:tar -xzvf 文件名
    其余用法:
1、 --strip-components用法
格式:tar --strip-components = NUMBER
在提取时从文件名中删除NUMBER个前导组件,如下:

tar xf  xxx.tar.gz  -C  /usr/src/001
/usr/src/001/xxxxx/src/opp/lll.txt

tar xf  xxx.tar.gz   -strip-components=1   -C  /usr/src/001
 /usr/src/001/src/opp/lll.txt

2、 不解压直接查看tar.gz压缩包里的内容
tar -tvf xxx.tar.gz
  1. 压缩.tar.gz文件:tar -czvf 压缩后的文件名.tar.gz 将要压缩的文件(可以是多个)
  2. 打包.tar文件:tar是打包,不是压缩。tar -cvf 打包后的文件名.tar 将要打包的文件(可以为多个)
  3. 解包.tar文件:tar -xvf 解包的文件名.tar
  4. 压缩.rar文件:rar a 目录文件名.rar 目录文件名
  5. 解包.rar文件:unrar x 目录文件名.rar
  6. 压缩.gz文件:gzip 文件名
  7. 解包.gz文件:gzip -d 文件名.gz
  8. 压缩.bz2文件:bzip2 -z 文件名
  9. 解包.bz2文件:bzip2 -d 文件名.bz2
  10. 解压.jar包:jar xf jar包名
    还可以把jar包后缀改成.zip然后使用unzip命令解压。
  11. 压缩.jar包:jar cvf jar包名 ./将当前目录下文件打成jar包。
jar命令参数说明
-c创建一个jar包
-t显示jar中的内容列表
-x解压jar包
-u添加文件到jar包中
-f指定jar包的文件名
-v输出详细报告
-m指定MANIFEST.MF文件
-0生成jar包时不压缩内容
-M不生成清单文件MANIFEST.MF
-i为指定的jar文件创建索引文件
-C可在相应的目录下执行命令

12. 切换到root用户与ssh命令

①. 切换到root用户:sudo -s
②. ssh使用:ssh 用户名@机器名或ip地址

13. Git常用命令

  1. 显示当前Git配置:git config --list
  2. 设置提交代码时的用户信息:
    git config [--global] user.name "[name]"
    git config [--global] user.email "[email address]"
  3. 更新远程分支列表:git remote update origin --prune
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值