Linux常用命令集合

autossh 反向代理写法

ssh -CfN -o TCPKeepAlive=yes -o ServerAliveInterval=10 -o ServerAliveCountMax=3 -L 0.0.0.0:8022:10.0.111.54:27017 oth-gov-nginx

查看服务器CPU信息

CPU型号

dmidecode |grep -A 8 "System Information"

CPU核心个数

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)

#!/bin/bash
dir=$(date --date= +%y%V)
mkdir -p /tmp/test/${dir}

ssh远程执行本地脚本

在spare01服务器上执行本地的sed.sh脚本

ssh spare01 bash -s < sed.sh

Ubuntu解决公钥错误

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B5B116B72D0F61F0
# 或
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 76F1A20FF987672F

查看当前用户公钥在git.xuhandsome.org上的状态

ssh -T git@git.xuhandsome.org

查看磁盘读写状态

iotop -oP

查看系统负载

htop

查看网络负载

iftop

查看文件过滤注释跟空行

cat /etc/zabbix/zabbix_agentd.conf|grep -v "#"|grep -v '^$'

alias设置带参数别名

alias rm='test() { echo Hello World;}; test'

phpvbox设置控制台远程访问

VBoxManage modifyvm proxmox34 --vrdeaddress 0.0.0.0

rsync 常用传输命令

rsync -avpP --log-file=/var/log/rsync-shnotary.log --exclude=README.md --exclude=logs /data/web1.www.sh-notary.gov.cn/* /data/web2.www.sh-notary.gov.cn/
-avpP 前台显示缩略输出
–log-file= 保留输出日志
–exclude= 排除文件或文件夹

批量更新theme项目

for i in `cat 22.list`;do echo $i;ssh $i "ls -ld /data/web1.$i.justice.org.cn/apps/theme/*";ssh $i "mkdir /tmp/theme-bak";ssh $i "mv /data/web1.$i.justice.org.cn/apps/theme/* /tmp/theme-bak/";ssh $i "cd /data/web1.$i.justice.org.cn/apps/theme;pwd;unzip -q /tmp/theme-distribution-monarch.war";done

Telnet 退出

使用ctrl+],然后quit。

telnet 0.0.0.0 8022
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

Linux释放内存

sync && echo 3 > /proc/sys/vm/drop_caches

恢复elastic状态

cat << EOF >> restore.json
{
    "commands" : [
        {
          "allocate_stale_primary" : {
              "index" : "justice-mediation-sh", "shard" : 0, "node" : "mXpgPza",
        "accept_data_loss":true
          }
        }
    ]
}
EOF

curl -vX POST 0.0.0.0:9200/_cluster/reroute -d @restore.json

linux制作启动盘

$ dd if=~/Downloads/CentOS-7-x86_64-DVD-1511.iso of=/dev/disk2 bs=4

bs 表示写入块大小,可以设置为2m,但不要太大。


ubuntu安装编译套件

gcc, g++, make

apt-get install build-essential

重启服务器

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

tmux中开启鼠标滚动

tmux a
ctrl+b
:set -g mouse on

rsync 精准传输指定目录

仅传输每个虚拟机id下的appdata目录到s3的/data/move目录下去

pwd
/var/lib/vz/private
for i in `ls`;do rsync -avpP --include "appdata" --exclude "$i/*" $i s3:/data/move/;done
ssh s3
ls -l /data/move/5117/appdata

apt获取可安装版本

apt-cache madison docker-ce
 docker-ce | 5:19.03.2~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.9~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.3~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.2~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.1~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.0~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.03.1~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages

apt-get install docker-ce=5:18.09.9~3-0~ubuntu-bionic

wget下载github的releases

wget --no-check-certificate --content-disposition https://github.com/be5invis/Sarasa-Gothic/releases/download/v0.12.5/sarasa-gothic-ttf-0.12.5.7z

创建lvs的时候使用所有剩余空间

lvcreate --name data -l 100%FREE vg_data

linux设置主机名,同时配置hostname文件及hosts文件

hostnamectl --static set-hostname <HostName>

history历史命令开启上翻

cat <<EOF >>/etc/profile.d/bash_history.sh
if [ -t 1 ];then
    # standard output is a tty
    # do interactive initialization
    bind '"\x1b\x5b\x41":history-search-backward'
    bind '"\x1b\x5b\x42":history-search-forward'
fi
EOF

MacOS中tar打包避免带有备份文件(”._”开头的文件)

COPYFILE_DISABLE=1 tar czf taimei-local-deploy-2.0.x86_64.tar.gz taimei-local-deploy

python快速启动ftp服务下载文件

python -m pyftpdlib -p 21

linux下高压缩率压缩文件

# 先打成tar包
tar cvf filename.tar file
# 再用xz压缩
xz -z filename.tar
# 解压
xz -d filename.tar.xz

dd生产大文件,可以测试监控告警

dd if=/dev/zero of=test bs=1M count=60000
# 在当前目录生成一个60G的test文件

不重启动态扩容EXT4分区类型硬盘(非LVM)

[root@registry ~]# lsblk
NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   8G  0 disk
└─sda1              8:1    0   8G  0 part /
sdb                 8:16   0  50G  0 disk
└─sdb1              8:17   0  50G  0 part
  └─vgdata-lvdata 253:0    0  50G  0 lvm  /data
sdc                 8:32   0   5G  0 disk
└─sdc1              8:33   0   5G  0 part /taimei
sr0                11:0    1   4M  0 rom

[root@registry ~]# echo hello,sdc1 > /taimei/test.txt

[root@registry ~]# cat /taimei/test.txt
hello,sdc1

# 现在在pve上对sdc硬盘进行扩容5G的操作,扩容后磁盘大小为10G


#现在开始扩容
[root@registry ~]# umount /taimei/
[root@registry ~]# fdisk /dev/sdc1 # 见下图,先删除现有分区1,新建分区1要和之前的分区1各项参数一模一样,(扩容之前也是全部默认的参数,所以这里也是一路回车)
[root@registry ~]# partprobe /dev/sdc
[root@registry ~]# e2fsck -f /dev/sdc1
[root@registry ~]# resize2fs /dev/sdc1
[root@registry ~]# lsblk
NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   8G  0 disk
└─sda1              8:1    0   8G  0 part /
sdb                 8:16   0  50G  0 disk
└─sdb1              8:17   0  50G  0 part
  └─vgdata-lvdata 253:0    0  50G  0 lvm  /data
sdc                 8:32   0  10G  0 disk
└─sdc1              8:33   0  10G  0 part
sr0                11:0    1   4M  0 rom
[root@registry ~]# mount /dev/sdc1 /taimei/
[root@registry ~]# cat /taimei/test.txt
hello,sdc1



yum下载软件及依赖rmp包

yum install --downloadonly --downloaddir ./ bind-utils

HDFS数据迁移

从141开发环境迁移dolphinscheduler目录到10.10.0.4测试环境的hdfs中

./bin/hadoop distcp hdfs://192.168.96.141:8020/dolphinscheduler hdfs://10.10.0.4:8020/

Python3简易http服务

python3 -m http.server --bind 0.0.0.0 9527

tcpdump滚动抓包

tcpdump -i any -n -w /tmp/tcpdump.pcap -C 200 -W 5
-n    指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;
-i      指定网卡
-w      指定保存为wireshark数据文件pcap
-W xx(文件个数)
-C 250(大小限制单位M)

使用mergecap将tcpdump滚动抓的包合并

mergecap -w tcpdump.pcap tcpdump.pcap0 tcpdump.pcap1 tcpdump.pcap2 tcpdump.pcap3

mtr网络链路追踪

mtr -c 50 -r www.baidu.com

统计Linux系统中TCP连接情况

netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'


转载请注明来源, 欢迎对文章中的引用来源进行考证, 欢迎指出任何有错误或不够清晰的表达, 可以邮件至 chinaops666@gmail.com
相册