java后端用到的linux系统常用命令(持续更新......)
一,U盘相关的操作
1.查看U盘列表命令 ls /dev
ls /dev
2.【推荐用法】查看所有盘信息命令 lsblk,可以判断是否是U盘(RM为1的)
[root]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdd 8:48 1 7.5G 0 disk
sda 8:0 0 119.2G 0 disk
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 118G 0 part
│ ├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
│ ├─centos-home 253:2 0 60.3G 0 lvm /home
│ └─centos-root 253:0 0 50G 0 lvm /
└─sda1 8:1 0 200M 0 part /boot/efi
NAME :盘符的名字,会省略/dev等前导目录
MAJ:MIN:主要/次要装置代码
RM :是否为可卸除装置(removable device);1是可卸载,如光盘、U盘等等,0是不可卸载
SIZE :容量大小
RO :标识是否为只读;1是只读,0是可读写
TYPE :是磁盘(disk)、分区槽(partition)或(part)、逻辑卷管理(lvm)、RAID 设备(raid)、回环设备(loop)、加密设备(crypto)、存储设备(sr)、设备映射(dm)、还是只读存储器(rom)等输出
MOUNTPOINT:挂载点
该命令还可以跟很多参数,达到不同的显示,这个去网上查吧,因为其他参数我用不到
3.有盘符名称了,如何区分是不是U盘的命令
cat /sys/block/盘符名称/removable
输出结果和含义跟第1项的RM一样,1或者0 ; 1是U盘,0不是U盘
4.查看U盘挂载点信息的命令:df命令(disk free),我一般使用带参数的(可以直观显示容量):df -h
[root]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 395M 3.5G 11% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 3.3G 47G 7% /
/dev/sda2 1014M 131M 884M 13% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 61G 1.2G 60G 2% /home
/dev/sdb 7.5G 546M 7.0G 8% /mnt
tmpfs 786M 0 786M 0% /run/user/0
含/mnt目录的,说明有U盘挂载点,umount /mnt之后,发现/mnt没有了
[root]# umount /mnt
[root]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 403M 3.5G 11% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 3.3G 47G 7% /
/dev/sda2 1014M 131M 884M 13% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 61G 1.2G 60G 2% /home
tmpfs 786M 0 786M 0% /run/user/0
5.组合套餐:查找盘符名称,判断是否属于U盘,判断磁盘是HDD还是SSD
5.1 查找盘符名称
[root]# cat /proc/partitions|grep "^[^a-zA-Z].*[^0-9]$"|awk '{print $4}'
sda
sdb
5.2 判断是否属于U盘
[root]# cat /sys/block/sdb/removable
1
5.3 判断磁盘是HDD还是SSD
判断是否可翻转(rotational)即可:1是可以翻转,就是HDD;0是不可翻转,就是SSD
[root]# cat /sys/block/sda/queue/rotational
0
6.挂载和取消挂载U盘
6.1 挂载U盘
[root]# mount /dev/sdb /mnt
6.2 挂载之后,就可以操作U盘里的东西了
[root]# ls /mnt
System Volume Information
并且,df -h 是可以看到这个挂载点的
[root]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 405M 3.5G 11% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 3.3G 47G 7% /
/dev/sda2 1014M 131M 884M 13% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 61G 1.2G 60G 2% /home
tmpfs 786M 0 786M 0% /run/user/0
/dev/sdb 7.5G 133M 7.4G 2% /mnt
6.3 取消挂载
[root]# umount /mnt
通过df -h 查看是否取消成功
[root]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 405M 3.5G 11% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 3.0G 48G 6% /
/dev/sda2 1014M 131M 884M 13% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 61G 1.2G 60G 2% /home
tmpfs 786M 0 786M 0% /run/user/0
二,进程操作
1.查看java程序进程
[root]# ps -ef |grep java
[root]# ps aux |grep java
#ps a 显示现行终端机下的所有程序,包括其他用户的程序。
#ps u 以用户为主的格式来显示程序状况。
#ps x 显示所有程序,不以终端机来区分。
2.杀死进程
[root]# kill -9 13294
3.查看端口,比如查看5672端口(rabbitMQ的):lsof -i:5672
[root]# lsof -i:5672
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 7423 root 68u IPv6 586307218 0t0 TCP *:amqp (LISTEN)
[root@VM-16-16-centos sbin]#
三,跟踪日志
3.1 指定文件的
[root]# tail -f /你的目录/log.txt
3.2 带通配符的
[root]# tail -f /你的目录/log*
3.3 带通配符+带1个条件过滤的
[root]# tail -f /你的目录/log* | grep "过滤条件1"
3.4 带通配符+带多个条件过滤的
[root]# tail -f /你的目录/log* | grep -E "过滤条件1|过滤条件2"
四,linux基础命令和配置
4.1 基础命令
序号 | 命令 | 描述 |
---|---|---|
1 | pwd | print working directory :输出当前工作目录,光标所有位置的目录(绝对路径) |
2 | cd | change directory :’切换目录 ‘.’表示当前目当 ‘…’上一级目录(父目录) |
3 | ls | List : 列表目录中的内容。默认显示当前目录下的文件列表 |
4 | clear | 清空屏幕 |
5 | touch | 创建空白文件 |
6 | cat | 查看文件的全部内容,一次性显示文件中所有内容 |
7 | more | 多屏显示文件内容,显示后,使用空格显示下一屏,回车显示下一行,q退出分屏显示, ctrl+c 退出命令 |
8 | head | 显示文件的前多少行,默认显示前10行 , head –number filename 显示文件中的前多少行 |
9 | tail | 显示文件末尾多少行,默认显示末尾10行 ,tail –number filename |
10 | mkdir | make directory 创建目录 |
11 | cp | copy : 复制命令 |
12 | rm | remove :删除 |
13 | mv | Move 移动或重命名,相当于剪切和重命名 |
14 | vi或vim | 启动Linux中的文本编辑器,vim是vi增强命令,不代表所有的Linux都支持 编辑模式 (编辑文件内容) a 追加方式进行编辑模式 i 插入方式进行编辑模式 o 在光标所在位置之下,新增一行 在光标所在位置之上,新增一行 命令模式 (控制文件的状态) dd 删除指定行,默认1行 :w write保存 :q quit退出vi编辑器 :wq 保存并退出 :q! 强制退出不保存 :set nu 显示行号 /keywords 搜索 G 光标跳转到文件尾 gg光标跳转到文件头 |
15 | reboot | 用来重启Linux系统和Windows系统中的restart一样,但是重启必须是root用户才有权限 |
16 | halt | 用来关闭正在运行Linux操作系统 (关机) |
4.2 设置时区
查看当前时间 date命令
[root]# date
Sun Dec 17 23:19:39 CST 2023
设置系统时期和时间 date -s ‘yyyyMMdd hh:mm:ss’
[root]# date -s '20231217 23:00:00'
4.3 压缩 解压
压缩: tar -czf ****.tar.gz 目录或者文件名
解压: tar -zxvf ****.tar.gz
-x表示解压,-v表示显示详细信息,-f表示指定要解压的文件,z表示使用gzip进行解压,j表示使用bzip2进行解压
压缩zip文件: zip -r ****.zip 目录
将指定目录下的所有文件和文件夹全部压缩成****.zip文件,-r表示递归压缩子目录下所有文件
解压zip文件到当前目录: unzip ***.zip
解压zip文件到指定目录: unzip ***.zip -d 目录
只看zip文件: unzip -l ***.zip
4.4 通过xshell下载文件
sz 文件名
4.5 删除文件或者文件夹
[root]# rm -f 文件名
[root]# rm -rf 目录
4.6 查看文件夹大小
du -sh 文件夹路径
4.7 当删除一个大文件之后,磁盘空间大小没有变化的原因
在Linux系统中,当您删除一个文件时,文件实际上只是从文件系统中的目录索引中被移除了,但磁盘空间并没有立即释放。这是因为文件系统为了性能和效率的考虑,将删除的文件标记为可重用空间,而不是立即清理磁盘空间。
要释放删除文件所占用的磁盘空间,可以尝试以下方法:
- 检查是否有其他进程仍在使用该文件。如果是,请确保这些进程已经关闭,以便释放文件句柄。
- 在删除文件后,可以尝试重启系统。这将使文件系统重新加载,并释放被删除文件占用的空间。
- 如果您想立即释放空间,可以使用
fstrim
命令。它可以用来从文件系统中释放未使用的块。使用命令sudo fstrim -v /
可以对整个系统进行TRIM操作,释放未使用的空间。
4.8 查看系统内核:uname -rs
[root@VM-16-16-centos ~]# uname -rs
Linux 3.10.0-1160.88.1.el7.x86_64
4.9 查看某个进程id的位置:ls -l /proc/进程id/cwd
五,查看cpu使用率 、内存使用率和磁盘读写情况
5.1 磁盘读写情况
命令 | 说明 |
---|---|
iostat -d -x 1 | iostat命令是sysstat包中提供的一个工具, -d表示仅显示硬盘相关的信息,-x表示以扩展的格式显示信息,1表示每秒钟更新一次信息 |
iotop | iotop命令可以实时监控系统中的IO操作,包括磁盘读写、网络传输等 |
dstat -d 1 | dstat是一个全能的系统性能监控工具,-d表示仅显示磁盘相关的信息,1表示每秒钟更新一次信息 |
vmstat -d 1 | vmstat命令可以查看系统的虚拟内存情况,包括内存的使用情况、进程的状态、系统的IO等方面的信息 |
5.2 磁盘使用情况
df -h
5.3 cpu使用率 、内存使用率
top
六,mysql操作
6.1 连接数据库
mysql -u用户名 -p密码 -h地址 -P端口
6.2 使用数据库
use 库名;
6.3 导出表
mysqldump -u用户名 -p密码 库名 表名 > 自定义名称.sql
6.4 导入表
mysql -u用户名 -p密码 库名 < 文件名称.sql
6.5 展示数据库
show databases;
6.6 展示表
show tables;
七,系统编码
7.1 查看当前系统的语言环境
locale
7.2 查看系统支持的所有语言
locale -a
八,TCP相关
8.1 看tcp的连接的个数
ss -tn state established | wc -l
[root@VM-16-16-centos ~]# ss -tn state established | wc -l
99
8.2 看某个进程打开的文件描述符
lsof -p 进程id
[root@VM-16-16-centos ~]# lsof -p 19988
[root@VM-16-16-centos ~]#
8.3 连接某个tcp服务
nc ip 端口
[ddd ~]$ nc 192.168.71.128 20800
8.4 查询服务进程号对应的连接数量
lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more
[ding@localhost ~]$ lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
74196 71933
5670 9307
3180 9651
1914 9654
1860 9808
1812 9364
1605 9580
1590 9737
1316 9677
1288 9370
1064 9617
876 9597
640 9498
628 9400
588 9536
8.5 查询某进程号连接数
netstat -lnaop|grep 71933|wc -l
[dsss ~]$ netstat -lnaop|grep 71933|wc -l
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
4064
8.5 查询某端口连接的情况
netstat -ntu | grep 20800
[dsss ~]$ netstat -ntu | grep 20800
九,防火墙相关
9.1 查看防火墙状态:systemctl status firewalld
9.2 :暂时关闭防火墙:systemctl stop firewalld
9.3 永久关闭防火墙:systemctl disable firewalld
9.4 启动防火墙:systemctl enable firewalld
十,抓包
1.抓UDP
tcpdump -i eno1 udp port 端口号 -A| grep 关键字