linux命令总结

非22端口配置免密

方法一:
cd /root/.ssh
 
ssh-copy-id -i -p 22000 192.168.30.143
方法二
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22000 192.168.20.11
方法三
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22000 root@192.168.20.11"
登录ftp:sftp -oPort=22000 admin@192.168.1.1    #带端口登录
 

时间同步

命令:
ntpdate ntp.ntsc.ac.cn #同步域名
ntpdate  192.168.1.100 #同步IP
补充:在服务器可以上网的情况下,自动同步系统时间 ntpdate ntp.ntsc.ac.cn 中国国家授时中心 NTP服务器地址是“ntp.ntsc.ac.cn”

mv

mv同时移动多个文件,在文件名结尾处加-t
mv epel_tsinghua.repo tsinghua.repo -t network/
查找文件内容 -r 递归查询
grep -r "www.hqq.net" *
 
grep
匹配IP地址: grep -oE  "([0-9]{1,3}\.){3}[0-9]{1,3}"    |sort |uniq -c
 
sed
sed -i 's:目录1:目录2'  filename
sed -i '/匹配/s:目录1:目录2'  filename
sed 替换目录:sed -i '/SSHD=/s:/usr/sbin/sshd:/usr/local/openssh/sbin/sshd:g' /tmp/sshd.init
 
--批量修改查询结果,如下把www.bsxf.gov.cn 替换成 bs.gxxf.gov.cn
sed -i  's/www.bsxf.gov.cn/bs.gxxf.gov.cn/g' `find . -type f | xargs grep -l 'www.bsxf.gov.cn' `
 
ping网关: ifconfig | grep -w inet | awk 'NR==2 {print $2}' |sed  's/132/1/g'| xargs -i ping {}   
 
获取MD5值 md5sum openssh-8.6p1.tar.gz
获取sha1,sha256 值:
sha1sum openssh-8.6p1.tar.gz
sha256sum openssh-8.6p1.tar.gz
 
 
iptables 给某个IP添加黑名单:
iptables -t filter -A INPUT -s 118.31.55.30/32 -m tcp -p tcp --dport 80 -j DROP
 
查看是否被DDOS攻击, 结果如果有SYN_RECV说明被攻击了
netstat -an|awk '/^tcp/ {print $NF}'|sort -n |uniq -c
netstat -tnlpa | awk '{print $6}'|sort -n |uniq -c
 
linux 主机名设置
1.临时设置,重启后失效:hostname  keepalived02
hostname  xxx
2.永远设置,重启后生效:hostnamectl set-hostname keepalived02
hostnamectl
1
2
3
4
5
6
7
8
9
10
11
[root@node6 ~]# hostnamectl
   Static hostname: node6
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d79f4aeb9a7d42b19653fa2e7d94e90f
           Boot ID: 9af1fa4c81d94b4b8538e256a501de3a
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-957.el7.x86_64
      Architecture: x86-64
[root@node6 ~]# hostnamectl --help
hostnamectl [OPTIONS...] COMMAND ...
  
Query or change system hostname.
  
  -h --help              Show this help
     --version           Show package version
     --no-ask-password   Do not prompt for password
  -H --host=[USER@]HOST  Operate on remote host
  -M --machine=CONTAINER Operate on local container
     --transient         Only set transient hostname
     --static            Only set static hostname
     --pretty            Only set pretty hostname
  
Commands:
  status                 Show current hostname settings
  set-hostname NAME      Set system hostname
  set-icon-name NAME     Set icon name for host
  set-chassis NAME       Set chassis type for host
  set-deployment NAME    Set deployment environment for host
  set-location NAME      Set location for host 
 
duf命令
 
 
 

 
正确的方式是到/etc/profile里(或用户的.profile或.bashrc文件),直接export TZ变量为要更改的时区(时区的名字可以用tzselect向导来确定)
 
/etc/localtime文件
默认情况下情况下,TZ属性是空,这时候是靠/etc/localtime文件来确定的时区。而此文件通常又是一个到/usr/share/zoneinfo/下各种时区文件的软连接。通过修改/etc/localtime指向的软连接,进而修改系统的时区。比如下面的方法,将localtime文件设置为了北京时间:
 
[root@shuai01 ~]# date -R
Tue, 17 Jan 2017 13:57:06 +0000
[root@shuai01 ~]# export  TZ='Asia/Shanghai'
[root@shuai01 ~]# date -R
Tue, 17 Jan 2017 19:57:18 +0600
 
 
locate 是另外一个根据文件名来搜索文件的命令。区别于 find 命令,locate 命令无需指定路径,直接搜索即可。
要使用locate命令必须先生成目录
 
 
yum仓库
 
yum命令
yum repolist all          # 查看是否启用
yum makecache        #  生成缓存
yum list  nginx*         # 列出包名,带@ 说明已经安装了
yum provides  htop   # 查找htop命令需要安装哪个包
yum history        #查看历史记录,然后根据Id可以用undo撤销指定的yum操作
yum update               #[RPM包] 更新包
yum check-update    #检查可更新的包 
 
自动补全,安装后重启生效:yum install bash-completion   
 
包组:yum grouplist
安装图形界面:yum groupinstall "Graphical Administration Tools" "GNOME Desktop" -y
 
无外网环境部署本地仓库,先安装yum-utils 、createrepo 两个工具
yum install yum-utils createrepo -y
2021年11月下载的本地yum源数量
2022年7月2日在清华源查看到最新的数量
总结:base包数据不变 10072个  ,epel包有更新13468 -> 13757
 
yum安装只下载
yum install --downloadonly --downloaddir=/root/vim  vim
把rpm包放到没有网络的主机安装即可。
 
复制代码
 
国内源下载
http://mirrors.163.com/
https://developer.aliyun.com/mirror/
https://mirrors.tuna.tsinghua.edu.cn/
http://mirrors.sohu.com/
 
--下载网易仓库
wget -c http://mirrors.163.com/.help/CentOS7-Base-163.repo
 
http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
 
其他版本下载:https://vault.centos.org/
https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
 
查看未安装软件需要下载安装什么包名:
yum provides httpd   #查看需要安装包名
yum search httpd       #搜索同名的包
复制代码

 

ab压力测试工具
ab工具,并发测试
 ab -c  1024 -n 1000  https://www.baidu.com/indx.html
      -c 并发数  #只能是10次。。。
      -n 请求次数
 
 
查看文件或目录大小命令:du
du -sh *                           #查看当前目录所有文件大小
du-sh  /data                    #查看data目录大小
du -sh /data   | sort  -n    #查看大小并排序
 
rpm命令:
复制代码
#安装包,如果依赖包没装,则会提示检测依赖失败:
rpm -ivh tomcat-7.0.76-2.el7.noarch.rpm
# 忽略依赖,强制安装:
rpm -ivh --nodeps  tomcat-7.0.76-2.el7.noarch.rpm
# 卸载包:
rpm -e nginx
# 查询当前系统所有已安装的包:
rpm  -qa
# 统计系统所有已安装的包:
rpm -qa | wc -l
# 查询某个包是否有安装:
rpm -q nginx|httpd
# 查询已安装包的版本信息:
rpm -qi nginx
# 查询已经安装的包的所有文件路径:
rpm -ql nginx
# 查询已安装的包的配置文件路径:
rpm -qc nginx
# 查询已安装的包文档路径:
rpm -qd  nginx
# 根据指定的文件(一般指的是命令),反向查找软件包:
rpm -qf `which netstat`
# 查看软件包在安装过程中执行脚本:
rpm -q --scripts httpd
# 查询一个未安装的包的文件分布路径:
rpm -qpl tomcat-7.0.76-2.el7.noarch.rpm
复制代码
nc命令:开启一个UDP端口,可以接收日志
命令格式: nc -ul   端口号
服务端IP192.168.1.1
nc  -ul  60000
客户端:snmp或syslog日志输出指向 192.168.1.1  60000 即可
 
nmap命令: nmap  -sU  192.168.1.1  -p 161

 

 

Nmap参数说明:
-sU 表示使用UDP端口探测
IP:指定目的IP
-p  表示端口号
Nmap返回状态说明:

 

 

zip解压工具
zip/unzip 压缩工具:支持目录压缩 zip 源文件.zip  源文件
zip test.zip test     
zip test.zip test1 test2             # 把test1,test2 一起压缩到test.zip 中
解压缩: unzip test.zip
压缩目录: zip test.zip /tmp/test/*       #指定目录下的所有文件 
 
tar 工具
压缩打包: tar -czf  xxx.tar.gz    xxx      # tar  -czf   包名    被打包目录
解压缩:tar  xf   xxx.tar.gz              # tar   xf   包名
 
 
路由表查看:
route -n 
说明:默认路径0.0.0.0  到 x.x.2.254  ,如果145段想访问143段,则需要手动添加一条路径
添加路由命令:
添加网段
route  add -net 192.168.145.0/24 gw 192.168.143.1
-net :指定源IP网段  
/24 :  也可以写成 netmask  255.255.255.0
gw : 下一跳地址,一般写网关地址
添加单个IP
route add -host 192.168.152.253  gw 192.168.143.1 
 
 
#网关为0.0.0.0 ,网络不通
route add -host 192.168.1.1 dev  eth0   
删除路由
route del -net 192.168.0.0/24 gw 192.168.0.1
add 增加路由
del 删除路由
-net 设置到某个网段的路由
-host 设置到某台主机的路由
gw 出口网关 IP地址
dev 出口网关 物理设备名
 
增加默认路由 route add default gw 192.168.0.1
 
添加永久路由(重启网卡路由还在)
cd /etc/sysconfig/network-scripts/     #进入网卡目录
vim route-eth0                                    #添加一个文件
192.168.1.0/24  via 172.16.1.254  dev  eth0
    # 192.168.1.0/24  :访问不了的网段
    # via        : 指定下一跳 ,如果不写via x.x.x.x  默认是0.0.0.0
    # dev  : 指定从哪个网卡出去
systemctl restart network   #重启网卡验证
route -n                #查看路径是否还在
 
注意: 添加到/etc/rc.loacl 下重启系统后路由表还在。
 
开启 IP 转发:
# echo "1" >/proc/sys/net/ipv4/ip_forward (临时)
# vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久开启)
 
lsof命令
列出所有由某个PID对应的进程打开的文件: lsof -p 进程号
 
找到使用某个端口的进程:lsof -i:22000
 
列出所有网络连接:lsof -i 
列出所有TCP网络连接:lsof -i tcp     
列出所有UDP网络连接:lsof -i udp
 
列出所有IPv4或IPv6: lsof -i 4     或  lsof -i 6
 
jobs  查看后台进程(ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停)
fg %n 让后台运行的进程n到前台来
bg %n 让进程n到后台去
 
--命令用法
如果一个文件前面来- ,按常规的命令是操作不了的
方法一:在命令后面加 --  就可以了。
 
 
方法二(推荐): 有-前面加 ./
 
 
只显示指定网卡
ip a show  ens33
 
 
系统版本查看(含其它发行版本)
一、使用命令:cat /proc/version 查看
linux版本号:Linux version 5.4.0-99-generic (buildd@lgw01-amd64-007)
GCC版本号:gcc version 9.3.0
Ubuntu版本号:ubuntu1~20.04
 
 
二、 使用命令:uname -a 查看
 
显示linux 的内核版本和系统是多少位的:X86_64代表系统是64位的
 
三、 使用命令:lsb_release -a 查看
 
Distributor ID:  Ubuntu       类别是Ubuntu
Description:Ubuntu  20.04.3 LTS  LTS是Long Term Support:长时间支持版本,支持周期长达三年至五年
Release   20.04             发行日期或者发行版本号
Codename: focal                 ubuntu的代号名称
 
硬链接
创建命令: ln   源  目标
ln sshd_config sshd1
效果:源和目标内容一样,修改其中一个,另一个也会变化。
删除:删除任意一个,另外一个文件还能正常使用。
怎么区分:查看Inode值,这个值是一样的
优点:节省Inode空间,如复制一个文件,可以直接使用硬链接做实时备份。
缺点:不能链接目录,只能链接文件,不能跨分区。
 
 
软链接
创建命令: ln   -s   源  目标
效果:相当于快捷方式,Inode值也不同
删除:删除源文件,目标文件失效。
优点:可以跨分区,不占硬盘空间。
 
强制踢人命令
pkill  -kill -t    pts/0
linux系统root用户可强制踢人其它登录用户,首先可用w命令查看登录用户信息,显示信息如下:
      [root@Wang ~]# w
     10:01:23 up 1:23, 3 users, load average: 0.71, 0.58, 0.57
     USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
     root     tty2     -                09:59    1:53   0.01s 0.01s -bash
     root     pts/0    :0.0             10:01    0.00s 0.03s 0.00s w
     wangbo   pts/2    192.168.0.196    09:42   18:50   0.01s 0.01s -bash
 
 
文件切割命令:split
按行切割:split -l 20 143.log   143_log_
-l  20  #指定切割行数
143.log  #被切的文件
143_log_   #切后另存的文件前缀

按大小切割:split -d -b 4k 143.log  143log_
-d  使用数字而不是字母作为切割后的小文件的后缀;
-b  每个分割文件的大小,单位k , m  , g
143.log  被切的文件
143log_   切后另存的文件前缀
 
文件合并:cat 143log_0* >  hb.log
 
 
使用sort像excel一样排序某一列
升序  sort -n -k 5
-n    #升序
-k 5   # 指定第5列
降序 sort -nr -k 5
-nr    # 降序
-k 5   #  指定第5列
 
 
 
 
 

 
 
 
 
posted @   此生逍遥py  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示