Linux常用命令汇总

服务器 0

1、tcpdump抓包

tcpdump这个命令是用来抓包的,默认情况下这个命令是没有的,需要安装一下:

yum install -y tcpdump

使用这个命令的时候最好是加上你网卡的名称,不然可能使用不了:

tcpdump -nn -i {网卡名称}

  • 网卡名称可使用ifconfig查看

1.1、指定端口

tcpdump -nn -i {网卡名称} port {port}

1.2、过滤端口

tcpdump -nn -i {网卡名称} not port {port}

1.3、指定ip

tcpdump -nn -i {网卡名称} host {ip}

1.4、指定ip过滤指定端口

tcpdump -nn -i {网卡名称} not port {port} and host {ip}

1.5、指定抓取数据包的数量

加上-c选项可以指定抓取数据包的数量,例如指定只抓取20个数据包:

tcpdump -nn -i {网卡名称} -c 20 not port {port} and host {ip}

1.6、输出到文件

tcpdump -nn -i {网卡名称} host {ip} -w /home/xxx.cap

2、防火墙

2.1、查看防火墙状态

systemctl status firewalld

2.2、启停

# 启动systemctl start firewalld# 停止systemctl stop firewalld# 重启systemctl restart firewalld

2.3、开放端口

2.3.1、常用命令

# 查看所有已开放的临时端口(默认为空)firewall-cmd --list-ports# 查看所有永久开放的端口(默认为空)firewall-cmd --list-ports --permanent# 添加临时开放端口(例如:比如我修改ssh远程连接端口是223,则需要开放这个端口)firewall-cmd --add-port=223/tcp# 添加永久开放的端口(例如:223端口)firewall-cmd --add-port=223/tcp --permanent# 关闭临时端口firewall-cmd --remove-port=80/tcp# 关闭永久端口、删除firewall-cmd --remove-port=80/tcp --permanent# 配置结束后需要输入重载命令并重启防火墙以生效配置firewall-cmd --reloadsystemctl restart firewalld

2.3.2、通过firewall-cmd 开放端口

# 作用域是public,开放tcp协议的80端口,一直有效firewall-cmd --zone=public --add-port=80/tcp --permanent# 作用域是public,批量开放tcp协议的80-90端口,一直有效firewall-cmd --zone=public --add-port=2000-6000/tcp --permanent# 作用域是public,批量开放tcp协议的80、90端口,一直有效firewall-cmd --zone=public --add-port=80/tcp  --add-port=90/tcp --permanent# 开放的服务是http协议,一直有效firewall-cmd --zone=public --add-service=http --permanent# 重新载入,更新防火墙规则,这样才生效。通过systemctl restart firewall 也可以达到firewall-cmd --reload# 查看tcp协议的80端口是否生效firewall-cmd --zone=public --query-port=80/tcp# 删除firewall-cmd --zone=public --remove-port=80/tcp --permanentfirewall-cmd --list-servicesfirewall-cmd --get-servicesfirewall-cmd --add-service=<service>firewall-cmd --delete-service=<service>在每次修改端口和服务后/etc/firewalld/zones/public.xml文件就会被修改,所以也可以在文件中之间修改,然后重新加载使用命令实际也是在修改文件,需要重新加载才能生效。

3、用户组合用户修改

chown [选项] [所有者]:[组] 文件

例:

chown root:root *

4、配置nameserver

无网络时,注意核实

vim /etc/resolv.conf

# Generated by NetworkManagernameserver 192.168.0.5

5、磁盘空间

# a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度du -ah --max-depth=1# 查看当前目录总共占的容量。而不单独列出各子项占用的容量du -sh

5.1、du常用的选项:

指令参数释义
-h以人类可读的方式显示
-a显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c显示几个目录或文件占用的磁盘空间大小,并统计它们的总和
–apparent-size显示目录或文件自身的大小
-l统计硬链接占用磁盘空间的大小
-L统计符号链接所指向的文件占用的磁盘空间大小

6、安装字体库

6.1、查看中文字体

fc-list :lang=zh

6.2、增加字体文件

把Windows下的C:Windows/Fonts/ 下的 .ttf后缀字体或者自己下载的.ttf后缀字体放到Linux系统下的/usr/share/fonts/下面。

cd /usr/share/fonts/

在这里插入图片描述

6.3、刷新缓存

sudo fc-cache

重启Linux系统,(目前操作未重启也会生效)

7、定时任务crontab

crontab命令设置定时任务执行的时间规则,系统自动周期性执行命令。

这里我们就可以自定义脚本,然后设置定时执行脚本,达到我们想要在服务器定时执行的目标。

7.1、检查安装

检查当前任务列表,同时查看是否安装了crontab

crontab -l

在这里插入图片描述
如果提示未安装,就需要自行安装(crontabs)

yum install crontabs

查询已安装

yum list crontabs

服务启动/关闭和查看,使用crond关键词

systemctl status crondsystemctl start crondsystemctl stop crondsystemctl reload crond

7.2、crontab常用命令:

crontab -l

7.3、查看当前任务列表

crontab -e

编辑任务列表,添加删除新任务。执行命令后会打开文件,vim操作编辑保存文件,文件中每一行代表一条任务。

格式:时间规则 + 执行命令

定时任务规则
时间格式参数有5位,分表表示:

分钟0-59,小时0-23,日1-31,月1-12,星期0-6

除了数字,还有一些特殊字符格式:

  • * 表示所在位置的每个整数,比如第一位使用*,表示每分钟执行一次

  • , 同一个位置用逗号隔开多个数字,表示设置多个时间执行,比如分钟1,30表示1分钟和30分钟的时候都会执行

  • - 表示范围,范围内的每个数值都会执行,如分钟1-10,表示从第一分钟到10分钟,每分钟都执行一次

  • / 表示频率,如分设置1-30/3,表示1到30之间,每3分钟执行一次,也可以配合设置,/5表示每5分钟执行一次。

举例:

每天凌晨三点执行:0 3 * * *每周三凌晨3点半执行:30 3 * * 3

8、服务自启动

8.1、Tomcat设置开机自启动

8.1.2、添加开机启动文件

sudo vi /etc/systemd/system/xxx.service

文件内容

[Unit]# 服务名称Description=xxx# 前置服务After=network.target[Service]Type=forking# JDK路径Environment="JAVA_HOME=/usr/lib/jvm/default-java"Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"# Tomcat路径Environment="CATALINA_BASE=/opt/tomcat"# Tomcat路径Environment="CATALINA_HOME=/opt/tomcat"# Tomcat路径/temp/tomcat.pidEnvironment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"# Tomcat路径启动脚本ExecStart=/opt/tomcat/bin/startup.sh# Tomcat路径停止脚本ExecStop=/opt/tomcat/bin/shutdown.sh[Install]# 该服务后安装WantedBy=multi-user.target

8.1.3、设置开机自启动

sudo systemctl daemon-reloadsudo systemctl start xxxsudo systemctl enable xxx

8.2、jar包自启动

8.2.1、添加开机启动文件

在 /etc/systemd/system 目录下创建 xxx.service文件

cd /etc/systemd/systemvim  xxx.service# xxx即为服务名称

8.2.2、xxx.service文件内容

[Unit]# 服务名称Description=xxxAfter=syslog.target network.target[Service]# 文件路径WorkingDirectory=/opt/Dtech/Web# jdk路径   以及启动jar文件ExecStart= /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar /opt/Dtech/Web/xxx.jarSuccessExitStatus=143TimeoutStopSec=10Restart=on-failureRestartSec=5[Install]WantedBy=multi-user.target

8.2.3、设置开机自启动

# 重新载入sudo systemctl daemon-reload# 启动服务sudo systemctl start xxx# 设置自启动sudo systemctl enable xxx

8.3、服务自启动相关命令

8.3.1、查看开机自启服务列表

systemctl list-unit-files|grep enabled

8.3.2、查看指定服务是否开机自启

systemctl is-enabled 服务名

8.3.3、开启/停止服务开机自启

# 开启开机自启systemctl enable 服务名# 停止开机自启systemctl disable 服务名

9、时间设置

9.1、查看和修改系统时间

# 查看系统时间date# 修改系统时间date -s "20180604 22:46:55"

9.2、查看和修改硬件时钟

# 查看硬件时钟hwclock  --show# 修改硬件时钟hwclock --set --date="20180604 22:46:55"

9.3、用系统时间同步硬件时钟

hwclock --systohc# 或者clock --systohc# 即将硬件时间改为和系统时间一样

9.4、用硬件时钟同步系统时间

hwclock --hctosys# 或者clock --hctosys# hc代表硬件时间,sys代表系统时间,即将系统时间改为和硬件时钟一样

注意:必须使用root用户来修改时间才行。

9.5、修改时区

# 修改时区export TZ='Asia/Shanghai'# 使时区生效source ~/.bashrc

9.6、让Linux同步Internet网络上的时间

修改的是系统时间

ntpdate time.nist.govntpdate time.windows.com

9.7、自动定时校正时间

# 设定crontab计划任务自动校时:# 使用命令crontab -ecrontab -e#在里面写入下行命令# 每天3:30自动进行网络校时,并同时更新BIOS的时间30 3 * * * root /usr/sbin/ntpdate -u 210.72.145.44;hwclock -w# 每隔一个小时同步一下internet时间,并同时更新BIOS的时间* */1 * * * root ntpdatetime.nuri.net;hwclock -w# 每隔2分钟执行,将输出日志到/var.log/ntpdate.log */2 * * * * /usr/sbin/ntpdate 192.168.109.101 >> /var/log/ntpdate.log# 重启服务 service crond restart

9.8、时间修改补充

9.8.1、查看详细时间信息

timedatectl

我的结果

[root@localhost opt]# timedatectl      Local time: 六 2023-02-18 17:16:06 CST  Universal time: 六 2023-02-18 09:16:06 UTC        RTC time: 六 2023-02-18 09:16:06       Time zone: Asia/Shanghai (CST, +0800)     NTP enabled: yesNTP synchronized: yes RTC in local TZ: no      DST active: n/a

注意看,时区信息

9.8.2、修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

也许您对下面的内容还感兴趣: