Linux中常用的一些命令总结

目录

1.查看系统版本信息

2.获取前一天的时间

3.tar打包压缩后删除源文件

4.查看服务pid 

5.转储和查看TCP状态信息

6.给命令其别名

7.客户端免密传输文件到服务器

1.创建公钥

2.服务器配置

3.免密传输测试

8.通过端口号查询进程号

1. 使用lsof命令

2. 使用netstat命令

9.crontab定时任务

1.查看定时任务

2.编写定时任务

10. 磁盘挂载

1.格式化磁盘

2.新建挂载目录

3.将目录挂载到挂载点

11.执行字符串命令

12.修改主机名

12.1 临时生效

12.2 永久生效

12.2.1 hostnamectl

12.2.2 界面修改 nmtui

12.2.3 修改/etc/hostname配置文件

13.修改客户端连接时长

13.1 编辑/etc/ssh/sshd_config文件设置心跳,保持连接。


1.查看系统版本信息

lsb_release -a

2.获取前一天的时间

前一天的日期
date -d "1 day ago" +"%y%m%d"

前一个月的日期
date -d "1 month ago" +"%y%m%d"

类似的还有
date -d "-1 day ago 1 month ago" +"%y%m%d"
date -d "1 day ago -1 year ago 1 month ago" +"%y%m%d"
DAYDEL=`date -d "1 month ago" +%m%d`   //一个月前的日期

3.tar打包压缩后删除源文件

tar -zcvf  filename.tar.gz  source  --remove-files

4.查看服务pid 

pgrep -l nginx

参数说明:

-l : 会显示命令和pid,如果不加这个参数就只会显示这个命令的pid

5.转储和查看TCP状态信息

ss -nutl

6.给命令其别名

vim ~/.bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -lh --color=auto'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

编辑完成之后保存 source ~/.bashrc

原文参考:Linux 命令别名,让alias永久生效 - jack_Meng - 博客园

7.客户端免密传输文件到服务器

1.创建公钥

 ssh-keygen.exe -t rsa -P "password"

2.服务器配置

进入到当前用户下.ssh目录

# 进入当前用户的.ssh目录
cd ~/.ssh

# 追加客户端公钥到authorized_keys
cat id_rsa.pub >>authorized_keys

将id_rsa.pub上传到目标服务器,然后追加到authorized_keys文件中,如果没有authorized_keys文件就创建一个

3.免密传输测试

scp target_file user@ip:/dir

现在向服务器传输文件就不再需要密码了

 原文参考:linux SCP免密传输文件_try2find的专栏-CSDN博客_scp 免密

8.通过端口号查询进程号

netstat -nlp|grep 9527

1. 使用lsof命令

# 不加换行符
lsof -i:9527 | grep "TCP" | head -n1 | awk '{printf("%d"), $2}'
# 加一个换行符
lsof -i:9527 | grep "TCP" | head -n1 | awk '{printf("%d/n"), $2}'

2. 使用netstat命令

# 不加换行符
netstat -ap | grep 9527 | head -n1 | awk '{printf("%d/n"), $7}' | awk -F/ '{printf("%d"), $1}'
@ 加换行符
netstat -ap | grep 9527 | head -n1 | awk '{printf("%d/n"), $7}' | awk -F/ '{printf("%d/n"), $1}'

这样可以方便的写一个服务重启的脚本

restart.sh

port=`netstat -nlp | grep 9527 | head -n1 | awk '{printf("%d/n"), $7}' | awk -F/ '{printf("%d"), $1}'`

kill -9 ${port}

sh start.sh

start.sh

mv catalina.log catalina.log.bak

nohup java -jar delivery-0.0.1-SNAPSHOT.jar >catalina.log 2>&1 &

9.crontab定时任务

1.查看定时任务

crontab -l

2.编写定时任务

crontab -e

每天2点定时打包日志 

0 2 * * *   nohup sh /data/scripts/ed_pro_log.sh /data/springboot-service/logs >> tar_springboot_log.log 2>&1 &

打包日志脚本

log_path=$1

curr_time=`date -d "1 day ago"  +"%F"`;

today_path="${log_path}/${curr_time}";

tar -zcvf ${today_path}/${curr_time}.tar.gz ${today_path}/${curr_time}*.log  --remove-files;

手动批量处理日志文件

log_path=$1

echo "start tar logs,log pash is ${log_path}";

td_time=`date +"%F"`;

ls -h  ${log_path}/*.log|while read line;do temp=${line%-*}; echo ${temp##*/};done|uniq|grep -v ${td_time}|while read td_day;do tar -zcvf ${log_path}/${td_day}.tar.gz ${log_path}/${td_day}*.log --remove-files;done

原文参考:linux cron 定时任务_mengzuchao的专栏-CSDN博客_cron定时任务

10. 磁盘挂载

由于主机受到了网络攻击,所以重装了系统,相应的需要挂载磁盘

1.格式化磁盘

我不需要分区所以直接格式化后挂载

格式化命令如下

mkfs -t ext4 /dev/vdb

 

2.新建挂载目录

mkdir /data

3.将目录挂载到挂载点

mount /dev/vdb  /data/

官网文档:初始化Linux数据盘(fdisk)_云硬盘 EVS_快速入门_步骤4:初始化数据盘_华为云

11.执行字符串命令

在编写shell脚本时候通常需要打印日志,包括整条命令的日志

所以需要将命令变成字符串打印然后再执行

# 将命令赋值给变量
scmd="nohup java -jar ${1} > ${log_file}  2>&1 &"
# 输出需要执行的命令
echo "${scmd}"
# 执行命令
${scmd}

12.修改主机名

12.1 临时生效

         hostname xxx  修改完成后,只是临时生效,重启服务器后恢复原名。

12.2 永久生效

12.2.1 hostnamectl

        Centos 7有名为 hostnamectl 的服务,可以通过hostnamectl set-hostname xxx 修改主机名。该命令修改后立即生效。/etc/hostname文件中也发生改变。

12.2.2 界面修改 nmtui

        可以通过界面修改 nmtui 修改主机名 修改后也是立即生效。

12.2.3 修改/etc/hostname配置文件

        该方式需要重启或者通过systemctl restart systemd-hostnamed.service重启服务生效。

原文链接:https://blog.csdn.net/m0_37642477/article/details/105444468

13.修改客户端连接时长

13.1 编辑/etc/ssh/sshd_config文件设置心跳,保持连接。

  1. 编辑/etc/ssh/sshd_config,添加配置项:
    ClientAliveInterval 600      
    ClientAliveCountMax 10

    ClientAliveInterval 600 表示每600秒发送一次请求, 从而保持连接。

    ClientAliveCountMax 10 表示服务器发出请求后客户端没有响应的次数达到10次,就自动断开连接。

    则无响应的SSH客户端将在大约600x10=6000秒后断开连接

ClientAliveInterval设置超时间隔(以秒为单位),在此间隔之后,如果尚未从客户端接收到任何数据,则sshd将通过加密的通道发送消息以请求客户端的响应。默认值为0,表示这些消息将不会发送到客户端。此选项仅适用于协议版本2。

ClientAliveCountMax设置客户端活动消息的数量,该消息可以在sshd接收不到来自客户端的任何消息的情况下发送。如果在发送客户端活动消息时达到此阈值,则sshd将断开客户端连接,从而终止会话。

客户端活动消息的使用与TCPKeepAlive有很大不同。客户端活动消息是通过加密通道发送的,因此不会被欺骗。由TCPKeepAlive启用的TCP keepalive选项是可欺骗的。

  1. 执行以下命令,重启sshd服务,使配置生效。
CentOS6操作系统
# service sshd restart

CentOS7/EulerOS操作系统
# systemctl restart sshd

使用Mobaxterm连接设置

原文参考:怎样长时间保持SSH会话连接不断开?_弹性云服务器 ECS_故障排除_SSH连接_华为云 

【MobaXterm】设置保持SSH连接 - hitrjj - 博客园

14.查看磁盘大小

du --max-depth=1 -h  /data/

原文参考: linux查看磁盘使用情况命令_程序员阿俊的博客-CSDN博客_linux查看磁盘使用情况

15.查看网络延迟

执行以下命令,查看数据包延迟情况

curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<加速域名>"

 其中:

  • time_connect:连接时间,从开始到建立TCP连接完成所用的时间,单位为秒。
  • time_starttransfer:开始传输时间。在客户端发出请求后,到后端服务器响应第一个字节所用的时间,单位为秒。
  • time_total:连接总时间。客户端发出请求后,到后端服务器响应会话所用的时间,单位为秒。

原文参考:如何通过全球加速加速访问指定域名的后端服务_全球加速-阿里云帮助中心

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值