Linux常用命令汇总

本文介绍了如何使用tcpdump进行网络抓包,包括指定端口、过滤、数量限制和输出到文件等操作。接着讲解了firewalld的防火墙状态查看、端口开放与关闭的方法。还提到了用户权限管理、DNS配置、磁盘空间检查和字体库安装。此外,文章讨论了crontab设置定时任务的规则,并阐述了服务自启动的配置,包括Tomcat和jar包的开机启动设置。
摘要由CSDN通过智能技术生成

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 --reload

systemctl 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 --permanent

firewall-cmd --list-services
firewall-cmd --get-services
firewall-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 NetworkManager
nameserver 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 crond

systemctl start crond

systemctl stop crond

systemctl 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.pid
Environment="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-reload
sudo systemctl start xxx
sudo systemctl enable xxx

8.2、jar包自启动

8.2.1、添加开机启动文件

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

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

8.2.2、xxx.service文件内容

[Unit]
# 服务名称
Description=xxx
After=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.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=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.gov
ntpdate time.windows.com

9.7、自动定时校正时间

# 设定crontab计划任务自动校时:

# 使用命令crontab -e
crontab -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: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

注意看,时区信息

9.8.2、修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值