0、个人工具下载

  1. 远程工具MobaXterm

https://www.nerubian.cn/soft/MobaXterm_Portable_v11.0.rar

  1. 文本编辑工具NotePad++中文版.7.5.6.7z

https://www.nerubian.cn/soft/NotePad++.7.5.6.7z

  1. WinRAR_x64_SC.exe

https://www.nerubian.cn/soft/WinRAR_x64_SC.exe

  1. WinRAR破解工具rarreg.key【RAR安装完后放到安装目录中即可】

https://www.nerubian.cn/soft/rarreg.key

1、yum 组安装(安装包集合)

yum -y groupinstall Development tools

#epel源
wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

yum provides *bin/nc

2、vim中,windows格式转换为unix格式

  • 底行模式
    • set ff=unix

3、vim:用vim修改文件编码为utf-8

  • set fileencoding=utf-8

3、sed 插入命令

  • (行下)插入一行

正则匹配:

sed -i '/^test/a\this is a test line' file

行数匹配:

sed -i '2a\this is a test line' test.conf
  • (行上)插入一行

正则匹配:

sed -i '/^test/i\this is a test line' file

行数匹配:

sed -i '5i\this is a test line' test.conf

4、sed 替换

正则匹配:替换文本中的字符串:

sed -i '/^book/s/book/books/' file
sed -i "/^Hostname=/s/=.*/=`hostname`/" file
ansible test0 -m shell -a 'sed -i "/^Hostname=/s/=.*/=`hostname`/" /etc/zabbix/zabbix_agentd.conf

sed -i "s/$var1/$var2/g" file
sed -i "s/^ExecStart\=\/usr\/bin\/dockerd.*/ExecStart\=\/usr\/bin\/dockerd/g" /usr/lib/systemd/system/docker.service

sed -i '/^sapms/s/sapmsP53/sapmsB26/' /etc/services
sapmsB26        3600/tcp                # guangdonglingguan

5、sed 删除

删除空白行:
sed '/^$/d' file

删除文件的第2行:
sed '2d' file

删除文件的第2行到末尾所有行:
sed '2,$d' file

删除文件最后一行:
sed '$d' file

删除文件中所有开头是test的行:
sed '/^test/'d file

5、添加环境变量

#添加环境变量
echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile

6、Linux终端快捷键

Shift+Ctrl+T:		新建标签页
Shift+Ctrl+W:		关闭标签页
Ctrl+PageUp:		前一标签页
Ctrl+PageDown:		后一标签页
Shift+Ctrl+PageUp:	标签页左移
Shift+Ctrl+PageDown:标签页右移
Alt+1:				切换到标签页1
Alt+2:				切换到标签页2
Alt+3:				切换到标签页3
Shift+Ctrl+N:		新建窗口
Shift+Ctrl+Q:		关闭终端
			终端中的复制/粘贴:
Shift+Ctrl+C:		复制
Shift+Ctrl+V:		粘贴
			终端改变大小:
F11:				全屏
Ctrl+plus:			放大
Ctrl+minus:			减小
Ctrl+0:				原始大小

7、非交互式改密码

echo 123|passwd --stdin username

8,查看 Centos 7 的 MAC 地址

 cat /sys/class/net/网卡名/address

9、更改EL7系统启动模式

#更改成命令行模式
systemctl set-default multi-user.target

#更改成图像界面
systemctl set-default graphical.target

10、EL7改主机名

el6
sed -i '/^HOSTNAME=/s/=.*/=新名字/' /etc/sysconfig/network
el7
hostnamectl set-hostname 新名字

11、EL7查看开机启动列表

chkconfig --list

12、yum安装指定文件内写的软件

# 安装依赖 RPM 包
yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt)

# cat /opt/jumpserver/requirements/rpm_requirements.txt
libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel sshpass openldap-devel mariadb-devel mysql-devel libffi-devel openssh-clients telnet openldap-clients

13、linux 进入单用户模式修改root密码

https://blog.csdn.net/ugly_need_read/article/details/80665046

14、免密登录

单个

#生成密钥
ssh-keygen
 生成之后会在用户的根目录生成一个 “.ssh”的文件夹,包含以下几个文件
  authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
  id_rsa : 生成的私钥文件
  id_rsa.pub : 生成的公钥文件
  know_hosts : 已知的主机公钥清单
    ssh公钥生效需满足至少下面两个条件:
     1) .ssh目录的权限必须是700
     2) .ssh/authorized_keys文件权限必须是600
     
#配置免密登录
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135 

#指定密钥文件登录
ssh -i ~/.ssh/liyddsshkey developer@192.168.1.237 -p 23

批量免密登录脚本

user_name 替换为在服务器上的用户名,循环IP末尾字节,执行批量免密

for i in `seq 40 49`;do
    ssh-copy-id -i ~/.ssh/id_rsa.pub user_name@192.168.1.$i
done

把ip写进/etc/hosts

for i in `seq 1 10`;do
    ssh-copy-id -i ~/.ssh/id_rsa.pub pi$i
done

15、使用.sql文件建数据库

mysql -uroot -p123456 < /home/gsmc/sqltool/smkenter.sql

16、系统桌面添加用于关机和重启的快捷方式图标

cp /home/gsmc/soft/*.desktop $HOME/Desktop
chmod +x $HOME/Desktop/*.desktop

17、CPU占用异常排查方法

  1. 定位异常进程PID

    shell> top
    
  2. 根据PID定位业务进程路径

    语法:pwdx [pid]
    
    shell > pwdx 682
    

18、非交互式添加定时任务

echo "* * * * * hostname >> /tmp/tmp.txt" >> /var/spool/cron/root
./etc/init.d/cron restart

19、 利用crontab -l 加 crontab file 两个命令实现自动添加

crontab -l > conf && echo "* * * * * hostname >> /tmp/tmp.txt" >> conf && crontab conf && rm -f conf
./etc/init.d/cron restart
由于crontab file会覆盖原有定时任务,所以使用 crontab -l 先导出原有任务到临时文件 “conf” 再追加新定时任务

优点:不限用户,任何有crontab权限的用户都能执行

root用户快速添加方法
echo "xxx" >> /var/spool/cron/root

20、 Xshell安装rz与sz命令

服务器安装rz与sz命令:

yum install lrzsz

从服务端发送文件到客户端:
sz 文件名
从客户端上传文件到服务端:
rz 文件名

在弹出的框中选择上传文件下载文件的路径即可。

sz:将选定的文件发送到本地机器
rz:弹出一个文件选择窗口,从本地选择文件上传到服务器

21、 测端口

telnet mq1.server.yun.sinopec.com 8080
wget  mq1.server.yun.sinopec.com 8080
ssh -v -p 8080 root@59.207.252.236
	-v 显示连接debug信息
	-p port 指定端口


[linux使用nmap查看端口]

<https://blog.csdn.net/zflovecf/article/details/79267769>



[linux使用nmap端口扫描工具扫描网段内开放的端口]

<https://blog.51cto.com/liuqun/1982726>
nmap -Pn -sS 192.168.1.1-10 -p80,873,22 

22、磁盘IO状况查看

iostat -d -x -k 1 10

23、查看CPU状态

iostat -c 1 

24、快速杀死进程

ps -ef|grep apache|grep -v grep |awk '{print $2}' |xargs  kill -9

25、du命令

du -sh ./* 查看当前目录下大小,不包含下级目录
du -sh /* 总大小

26、mysqldump导出,不含drop

关键:--skip-add-drop-table

mysqldump -h127.0.0.1 -P3306 -uroot -p --skip-add-drop-table --databases pay_db --tables Branch > /tmp/Branch02.sql

27、rsync

  1. 本机同步

类似cp

注意:
1. 本地数据同步的时候,源目录后面的“/”会影响同步的结果
	 # rsync -av /dir1/ /dir3		//只同步目录下面的文件到指定的路径
	 # rsync -av /dir1 /dir2		//将当前目录dir1和目录下的所有文件一起同步

2. -R:不管加不加"/",都会将源数据的绝对路径一起同步
	# rsync -avR /dir1/ /dir2/
3. --delete:删除目标目录里多余的文件
	# rsync -avR --delete /dir1/ /dir2/

  1. 远程同步
类似scp
rsync远程同步依赖网络,依赖sshd服务

pull(拉): rsync -av user@host:/path   local/path
# rsync -av root@10.1.1.1:/etc/hosts /dir1/
# rsync -av root@10.1.1.1:/backup /dir1
push(推): rsync -av local/path user@host:/path
# rsync -av /dir1/aa1 code@10.1.1.1:/home/code

思考:

28、grep同时匹配多个关键字或任意关键字

与操作

grep同时匹配多个关键字,同时匹配str1、str2和str3

grep 'str1' filename | grep 'str2' | grep 'str3'

或操作 grep匹配任意关键字

grep -E 'str1|str2|str3' filename

egrep实现

egrep 'str1|str2|str3' filename

awk实现

awk '/str1|str2/str3/' filename

其他操作

grep -i pattern filename #不区分大小写地搜索。默认情况区分大小写。
grep -l pattern filename #只列出匹配的文件名。
grep -L pattern filename #列出不匹配的文件名。
grep -w pattern filename #只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’)。

29、时间设置

date -s "2022-06-17 14:30:00"

hwclock -w
hwclock -s

30、打包压缩(排除指定文件)

tar -czvf file.tar.gz /home/gsmc/* --exclude=*.log --exclude=*.zip 

tar -czvf zjzx.tar * --exclude=*.log --exclude=*.zip --exclude=backup --exclude=logs --exclude=wh --exclude=center-20201216

31、MQ改密码

# 查看用户
rabbitmqctl list_users
# 修改用户名对应密码
rabbitmqctl change_password Username 'Newpassword'

32、ssh改端口

更改端口号是通过修改SSH的配置文件实现的,登录ssh后,输入:

vim /etc/ssh/sshd_config
向下找到#Port 22这段

进入vi插入模式,进行编辑

删除掉Port 22前面的#,然后下一行输入新的端口号如:Port 10000(这个你自己定,最大不能超过65535)

编辑好,先按ESC键,再输入 :wq  保存退出.

接着重新启动ssh,代码如下:

/etc/init.d/sshd restart
3安全组

4防火墙端口
————————————————
版权声明:本文为CSDN博主「weixin_37799190」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37799190/article/details/120286596

33、从指定的dns服务器进行查询

https://blog.csdn.net/qq_41982020/article/details/121231166

dig @192.168.0.2 www.baidu.com # 表示从192.168.0.2这个IP服务器对www.baidu.com进行A记录查询

34、查询文件的时间

stat filename命令来查看文件

会显示有三个时间

Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间

Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。

Change Time:简写为ctime,表示文件的状态时间,当文件的状态权限被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。

35、持续执行命令,并显示其执行结果

watch "whoami"

主要参数:

-n 或--interval  watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
-d 或--differences  用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
-t 或-no-title  会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
-h 或--help 查看帮助文档

二、数据库

1、展示所有表

show tables;

2、查看建表语句

show create table sm_vouch;

3、排序查询