当前位置: 首页 > news >正文

Linux常用命令汇总

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-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 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.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]# timedatectlLocal time: 六 2023-02-18 17:16:06 CSTUniversal time: 六 2023-02-18 09:16:06 UTCRTC time: 六 2023-02-18 09:16:06Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yes
NTP synchronized: yesRTC in local TZ: noDST active: n/a

注意看,时区信息

9.8.2、修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
http://www.lryc.cn/news/11515.html

相关文章:

  • 1.TCP、UDP区别、TCP/IP七层、四层模型、应用层协议(计网)
  • 气敏电阻的原理,结构,分类及应用场景总结
  • 实验10 拓扑排序与最短路径2022
  • C/C++每日一练(20230218)
  • 【C语言】预编译
  • 音频信号处理笔记(一)
  • 【深度学习】模型评估
  • AcWing《蓝桥杯集训·每日一题》—— 3777 砖块
  • CleanMyMac X软件下载及详细功能介绍
  • pytorch零基础实现语义分割项目(一)——数据概况及预处理
  • ARM+LINUX嵌入式学习路线
  • echart在微信小程序的使用
  • 51单片机最强模块化封装(5)
  • 链表学习之判断链表是否回文
  • 【Linux06-基础IO】4.5万字的基础IO讲解
  • c++协程库理解—ucontext组件实践
  • 英语基础-状语
  • 目标检测笔记(八):自适应缩放技术Letterbox完整代码和结果展示
  • 2023年全国最新高校辅导员精选真题及答案1
  • 【Python】Python读写Excel表格
  • Python每日一练(20230218)
  • 基于SSM框架的狼途汽车门店管理系统的设计与实现
  • 视频监控流程图3
  • Linux ARM平台开发系列讲解(CAN) 2.14.3 CANFD协议介绍
  • 参考 | 给C盘 “搬家“
  • 剑指 Offer 53 - II. 0~n-1中缺失的数字
  • 分布式id
  • 创意编程py模拟题
  • uniapp中条件编译
  • 封装 YoloV5 detect.py 成 Python 库以供 python 程序使用