欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux

马哥 今日小技巧 SSH优化思路 有大用

修改服务端文件:/etc/ssh/sshd_config

Port 52113  修改默认连接端口(为了安全)

UseDNS yes 修改为No会反向查询客户端主机名,进行验证,防止客户端欺骗

PermitRootlogin  no禁止root登录

GSSAPIAuthentication  yes 取消,打开NO解决Linux之间使用ssh连接慢的问题

PermitEmpasswordsno禁止使用空密码(默认为空)

ListenAddress192.168.1.x只运行服务器上的内网地址来进行远程连接,外网地址直接拒绝,可以用Vpn做跳板进入局域网,通过这样来访问,更加的安全


来自  http://ke.magedu.com/article/108


普通分类: 

马哥 今日小技巧 解决登录中文乱码 有大用

客户端连接工具也必须是UTF-8

临时生效:export.UTF-8

永久生效:

vim /etc/sysconfig/i18n

更改 LANG="en_US.UTF-8"


来自  http://ke.magedu.com/article/109

普通分类: 

好奇害死猫系列一 “rm -rf /” 与 “rm -rf /*”

普通分类: 

linux 查看进程所在目录

马哥 24_04 _编译安装LAMP之配置httpd以FastCGI方式与php整合 有大用

httpd

    fastcgi 的模块(要提供这个模块,才能fastcgi的方式进行通信)

    2.4以后就已经自带了,叫fcgi    (proxy_mode,proxy_fcgi)

php

    cgi

    module

    fastcgi(fpm)  (5.3.6, 5.4以后)        httpd以fastcgi的方式与fpm进行通信

            image.png

image.png

普通分类: 

库文件

普通分类: 

头文件

在C语言家族程序中,头文件被大量使用。
普通分类: 

​C语言 库文件与头文件有什么区别

普通分类: 

马哥 今日小技巧 Load Balancer后端Nginx封IP的方法 有大用



Load Balancer后端Nginx封IP的方法


set $allow true;




if ($http_x_forwarded_for ~ " ?82.245.163.1$") {


    set $allow false ;


}




if ($allow = false) {


    return 403;


}


普通分类: 

马哥 今日小技巧 网络相关基础命令 有大用

网络相关基础命令

rz   # 通过ssh上传小文件

sz   # 通过ssh下载小文件

ifconfig eth0 down                  # 禁用网卡

ifconfig eth0 up                    # 启用网卡

ifup eth0:0                         # 启用网卡

mii-tool em1                        # 查看网线是否连接

traceroute www.baidu.com            # 测试跳数

vi /etc/resolv.conf                 # 设置DNS  nameserver IP 定义DNS服务器的IP地址

nslookup www.moon.com               # 解析域名IP

dig -x www.baidu.com                # 解析域名IP

普通分类: 

马哥 今日小技巧 iptables实现端口映射 有大用

iptables实现端口映射


# 内网通过有外网IP的机器映射端口

# 内网主机添加路由

route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.20.111     # 内网需要添加默认网关,并且网关开启转发

# 网关主机

echo 1 > /proc/sys/net/ipv4/ip_forward       # 在内核里打开ip转发功能

iptables -t nat -A PREROUTING -d 外网IP  -p tcp --dport 9999 -j DNAT --to 10.10.20.55:22    # 进入

iptables -t nat -A POSTROUTING -s 10.10.20.0/24 -j SNAT --to 外网IP                 # 转发回去

iptables -t nat -nL                # 查看转发

python:

python推导式运用

# Python's list comprehensions are awesome.


普通分类: 

马哥 今日小技巧 终端提示显示 有大用

终端提示显示


echo $PS1                   # 环境变量控制提示显示

PS1='[\u@ \H \w \A \@#]\$'

PS1='[\u@\h \W]\$'

python:

python3语法注解

# Python 3.5+ supports 'type annotations' that can be

# used with tools like Mypy to write statically typed Python:


def my_add(a: int, b: int) -> int:

    return a + b

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 查看系统硬件信息 有大用

查看系统硬件信息

more /proc/meminfo                                       # 查看内存信息

dmidecode                                                # 查看全面硬件信息

dmidecode | grep "Product Name"                          # 查看服务器型号

dmidecode | grep -P -A5 "Memory\s+Device" | grep Size | grep -v Range       # 查看内存插槽

cat /proc/mdstat                                         # 查看软raid信息

cat /proc/scsi/scsi                                      # 查看Dell硬raid信息(IBM、HP需要官方检测工具)

lspci                                                    # 查看硬件信息


普通分类: 

马哥 今日小技巧 屏幕冻结 有大用

程序运行时,终端可能输出大量的日志,你想简单查看一下,又不想记录日志文件,此时可以使用ctrl+s键,冻结屏幕,使得日志不再继续输出,而如果想要恢复,可使用ctrl+q退出冻结。

普通分类: 

马哥 今日小技巧 计算程序运行时间 有大用

计算程序运行时间

有时候执行一个命令或者脚本的的时候需要知道命令执行了多久,那么可以用time  command,例如

shell>  time  backup.sh 


real0m0.014s

user0m0.001s

sys0m0.013s


python:

链式比较

如果想输出数组中介于4-7之间的元素,java是这么写的:if( b > 4 && b < 7){ },但Python更人性化。包括最后一句1 == b < 20,这和C、java也很不一样。

a = 1

print(0<a<2)

print(1==a < 20)


更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 有时候日志文件是压缩的,那么不解压查看可以用zcat或者zless 有大用

有时候日志文件是压缩的,那么不解压查看可以用zcat或者zless

shell> zcat  log2019.tar.gz 

198.167.223.52 - - [24/Apr/2019:06:40:05 +0800] "GET /acadmin.php HTTP/1.1" 404 564 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" "-"

103.39.9.213 - - [24/Apr/2019:06:47:57 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" "-"

普通分类: 

马哥 今日小技巧 查看压缩包内容 有大用

查看压缩包内容

有时候不想把压缩文件解压,而只是想看一下压缩文件里面都有什么内容,那么可以用:

shell> tar -tf  demo.tar.gz

a/

b/

c/


普通分类: 

马哥 今日小技巧 获取当前目录下占用空间最大的5个文件或目录 有大用

获取当前目录下占用空间最大的5个文件或目录

cd /

du -hsx * | sort -rh | head -5

1.1T /backup

876G /data

3.5G /usr

1.3G /var

1.3G /root

内容来自马哥社区 http://club.magedu.com/topic/5cdcfd3631bf712c432d07b6


普通分类: 

马哥 今日小技巧 通过java启动的tomcat进程获取catalina.home目录 有大用

通过java启动的tomcat进程获取catalina.home目录

1,获取tomcat进程ID

jps | grep Bootstrap

27057 Bootstrap


2,通过进程ID来获取进程信息并过滤出自己想要的信息

ps -ef | grep 27057|grep -v grep | sed -r 's/.*-Dcatalina.home=(\S+)\ .*/\1/'

/usr/local/tomcat


# 为什么要用sed而不是awk呢? 

# 因为tomcat进程中的命令段的长度不是固定的.用awk无法确切的获取到

# 假如说某台主机为了调试或是怎样.需要开启JMX的端口,这个时候tomcat进程的命令段就会多出一些信息


# 上面1 、 2中的命令合为1条如下

ps -ef | grep `jps | grep Bootstrap| awk '{print $1}'`|grep -v grep | sed -r 's/.*-Dcatalina.home=(\S+)\ .*/\1/'


普通分类: 

马哥 今日小技巧 使用md5sum 命令对文件进行校验是否改变 有大用

使用md5sum 命令对文件进行校验是否改变

cd ~/

# 对anaconda-ks.cfg文件计算md5值

md5sum anaconda-ks.cfg

# 计算文件md5值并输出重定向某个文件. 下面有用到

md5sum anaconda-ks.cfg > test.md5

# 批量计算文件的md5值

md5sum install* > test1.md5



# 对比文件是否改变

touch test3 

md5sum test3 > test3.md5

# 对test3文件进行修改

echo 123 >> test3

# 使用md5sum进行校验

md5sum -c test3.md5 

test3: FAILED

md5sum: WARNING: 1 of 1 computed checksum did NOT match


普通分类: 

马哥 今日小技巧 logstash处理日志,通过判断内外网的访问来源并存储至不同的index中 有大用

logstash处理日志,通过判断内外网的访问来源并存储至不同的index中

logstash 配置文件如下参考


input{


}

filter {



}

output {

 if "10.0.0" in [remote_addr] or "192.168.1" in [remote_addr]{

  elasticsearch {

          hosts => "10.0.0.2"

          index => "logstash-nginx-lan-%{+YYYY.MM.dd}"

         }

     }

 else{

  elasticsearch {

          hosts => "10.0.0.2"

    index => "logstash-nginx-wan-%{+YYYY.MM.dd}"

  }

     }

}

普通分类: 

马哥 今日小技巧 ${STR,,}, 把STR中的所有大写字母转换为小写输出(不改变值) 有大用

${STR,,}, 把STR中的所有大写字母转换为小写输出(不改变值)

[root@junun ~]# str1=ABCDE

[root@junun ~]# echo ${str1,,}

abcde

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 ${STR^^}, 把STR中的所有小写字母转换为大写输出(不改变值) 有大用

${STR^^}, 把STR中的所有小写字母转换为大写输出(不改变值)

[root@junun ~]# str=abcde

[root@junun ~]# echo ${str^^}

ABCDE

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 完全放行forward链 有大用

完全放行forward链

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -j ACCEPT

firewall-cmd --reload

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 sed 执行系统命令。查找当前目录以及子目录中以 ".sh",并改为以".shell"结尾。 有大用

sed 执行系统命令。查找当前目录以及子目录中以 ".sh",并改为以".shell"结尾。

find ./a -type f  -regex ".*\.sh$" | sed -r -n 's#(.*\.)sh$#mv & \1shell#e'

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 劫持危险命令 crontab -r 有大用

劫持危险命令 crontab -r


cat > /usr/bin/safecron <<-'EOF'

#!/bin/bash

# remove -r function from crontab

# PATH


if [[ "$*" =~ "-r" ]] ; then

        echo "SB! Dangerous..."

        echo "Exit..."

        exit 2

else

        /usr/bin/crontab $*

        exit 0

fi

EOF


chmod +x /usr/bin/safecron

grep "crontab='/usr/bin/safecron'" /etc/bashrc || echo "alias crontab='/usr/bin/safecron'" >> /etc/bashrc

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】

普通分类: 

马哥 今日小技巧 每隔两周,在周6的22点30分执行一次mysql完全备份,注意%在crontab下要转义 有大用

每隔两周,在周6的22点30分执行一次mysql完全备份,注意%在crontab下要转义

30 22 * * 6 [ $(/usr/bin/expr $(/bin/date +\%W) % 2) -eq 1 ] && /usr/local/bin/backup_shell/mysql_fullback.sh

更多历史小技巧,技术交流,岗位内推访问【马哥社区 club.magedu.com】


普通分类: 

马哥 今日小技巧 docker运行的镜像无法上网解决办法 有大用


docker运行的镜像无法上网解决办法

无法上网一般是iptables的问题,是启动docker后iptables -F 的结果.

解决方法,shutdown -r now 即可解决/ 

python:

意外的逗号


>>> def f(x, y,):

...     print(x, y)

...

>>> def g(x=4, y=5,):

...     print(x, y)

...

>>> def h(x, **kwargs,):

  File "<stdin>", line 1

    def h(x, **kwargs,):

                     ^

SyntaxError: invalid syntax

>>> def h(*args,):

  File "<stdin>", line 1

    def h(*args,):

                ^

普通分类: 

马哥 今日小技巧 使用rsync同步远程服务器上的文件时限制流量 有大用

使用rsync同步远程服务器上的文件时限制流量

/usr/bin/rsync -avrtH --bwlimit=2048 rsync://rsync.mirrors.ustc.edu.cn/centos/ 

/data/soft_repos/CentOS/

# --bwlimit=2048  限制同步时的流量 为20Mbps

python:


not key

x = True

y = False

Output:


>>> not x == y

True

>>> x == not y

  File "<input>", line 1

    x == not y

           ^

SyntaxError: invalid syntax

双击查看原图 说明:

运算符的优先级会影响表达式的求值顺序, 而在 Python 中 == 运算符的优先级要高于 not 运算符.

普通分类: 

马哥 今日小技巧 快速查找你需要的命令 有大用

我们都知道man可以查看命令的帮助手册,但是如果我们想要某个功能却不知道使用哪个命令呢?

可以用man -k  command  搜索要执行的命令:

[root@manager ~]# man -k rsync

rsync (1)            - a fast, versatile, remote (and local) file-copying tool

rsyncd.conf (5)      - configuration file for rsync in daemon mode

wcursyncup (3x)      - create curses windows


普通分类: 

页面

Subscribe to RSS - linux