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

这里的技术是共享的

马哥 今日小技巧 ${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】


普通分类: 

马哥 今日小技巧 NGINX实现IF语句里的AND,OR多重判断 有大用

nginx 的配置中不支持if条件的逻辑与/逻辑或运算, 并且不支持if的嵌套语法, 我们可以用变量的方式来实现: 原理 就是用 SET 变.

set $rewriteflag 0;

if ($server_port = '80') {

    set $rewriteflag 1;

}

if ($host = 'www.aaa.com') {

    set $rewriteflag 1;

}

if ($uri ~* "^/api.*") {

    set $rewriteflag 0;

}

if ($uri ~* "^/mobile.*") {

    set $rewriteflag 0;

}

if ($uri ~* ".(js|css|html|gif|jpg|png|jpeg)$") {

    set $rewriteflag 0;

}

if ($rewriteflag = '1'){

普通分类: 

马哥 今日小技巧 Python3.8的functools中新增了叫cached_property的装饰器 有大用

Python3.8的functools中新增了叫cached_property的装饰器,看名字应该大概知道什么作用了,看以下例子:

from functors import cached_property

class A:

@cached_property

def say(self):

print(‘****’)

return ‘hello’


a = A()

a.say

以上例子只有第一次访问say属性时才会打印****


普通分类: 

马哥 今日小技巧 Python中的is和==的区别 有大用

Python中的is和==的区别,is时检查对象的标识符是否一致,也就是比较两个对象在内存中的地址是否一样,而==用来检查两个对象是否相等。例如在判断a is b时 相当于在判断id(a) == id(b),a == b 则是调用对象的__eq__方法,相当于a.__eq__(b)。

linux:

Nginx Method Limit

[xxx@xx conf]$ cat http_method_limit.conf

if ($request_method = PUT ) {

    return 403;

}


if ($request_method = TRACE ) {

    return 403;

}


if ($request_method = DELETE ) {

    return 403;

}


普通分类: 

马哥 今日小技巧 通过zip函数同时迭代多个序列,其可迭代次数取决于长度最小的序列。 有大用

通过zip函数同时迭代多个序列,其可迭代次数取决于长度最小的序列。

for a, b in zip(['a', 'b', 'c'], [1, 2, 3]):

    print(a, b)

    

输出结果:

a 1

b 2

c 3

linux:

Nginx Upload Deny

[xx@xxx conf]$ cat deny_uploads.conf

location /uploads/ {

    location ~ .*\.(php|php5)?$ {

        deny all;

    }

}


普通分类: 

马哥 今日小技巧 通过itertools.chain连续迭代多个序列,看以下例子 有大用

通过itertools.chain连续迭代多个序列,看以下例子:

from itertools import chain

a = ['a', 'b', 'c']

b = [1, 2, 3]


for x in chain(a, b):

    print(x)


输出结果:

a

b

c

1

2

3





普通分类: 

马哥 今日小技巧 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


普通分类: 

关闭一个活动应用程序窗口,可按快捷键 Alt+F4 有大用

普通分类: 

马哥 今日小技巧 redis动态加内存 有大用

./redis-cli -h 10.10.10.11 -p 6401

save                                # 保存当前快照

config get *                        # 列出所有当前配置

config get maxmemory                # 查看指定配置

config set maxmemory  15360000000   # 动态修改最大内存配置参数


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

普通分类: 

马哥 今日小技巧 Linux定时任务 有大用

crontab -e               # 编辑周期任务

分钟  小时    天  月  星期   命令或脚本

1,30  1-3/2    *   *   *      命令或脚本  >> file.log 2>&1

echo “40 7 * * 2 /root/sh”>>/var/spool/cron/root    # 直接将命令写入周期任务

crontab -l                                          # 查看自动周期性任务

crontab -r                                          # 删除自动周期性任务

cron.deny和cron.allow                               # 禁止或允许用户使用周期任务

service crond start|stop|restart                    # 启动自动周期性服务



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

普通分类: 

马哥 今日小技巧 自定义命令 有大用


自定义命令

假如你想创建完文件夹后自动进入该文件夹下面,那么可以自定义一个mkcd命令:

shell>  vi  ~/.bash_profile

mkcd() {

mkdir -p $1 && cd $1

}




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

普通分类: 

西部数码 wdcp系统mysql、php升级以及常见组件安装 有大用 有大大用

安装以下脚本时,请注意服务器内是否有安装云锁,安装前请先卸载(教程

普通分类: 

​Nginx转发添加请求头信息

普通分类: 

nginx指令add_before_body add_after_body向响应体前或后添加内容

ngx_http_addition_module在响应之前或者之后追加文本内容,比如想在站点底部追加一个js或者css,可以使用这个模块来实现,这个模块和淘宝开发的nginx footer模块有点类似,但是还是有不同.

普通分类: 

利用nginx实现web页面插入统计代码

今天,突然研发的同事说需要在公司网站页面底部添加一个流量统计的scripts,但是不打算改代码,所以希望能在代理的层面解决。这里只讨论如果是在nginx来实现,技术如何操作。但是具体是研发改代码,还是写在nginx,这个视情况而定。
这里可以使用 nginx 的 ngx_http_sub_module 模块完成。我这里是使用tengine,所以这个模块已经有了。如果没有的话,自己编译添加以下:方法如下:

查看后发现,默认安装没有开启这个模块

nginx -V

普通分类: 

header 有大用

header

(PHP 4, PHP 5, PHP 7)

普通分类: 

nginx + apache 大于超过 7.82kb 8014 bytes 的时候 会有最前面输出文件大小 和 最后面输出 0 是由于nginx版本太旧了 有大用 有大大用

原来 nginx版本是 nginx-1.0.12 太低版本 ,出现问题,,现在西部数码帮我升级成了 nginx-1.2.9 没有问题了

普通分类: 

在线进制转换 二进制四进制八进制十六进制三十二进制 2 4 8 16 32 进制 十进制 10 进制 转换 有大用

在线进制转换
支持在2~36进制之间进行任意转换,支持浮点型
普通分类: 

解决Apache下访问PHP页面403 Forbidden错误,及用php的header()函数构造403输出. header('HTTP/1.1 403 Forbidden');

普通分类: 

得到 头部信息 返回头部信息 设置头部信息 drupal_get_headers drupal_set_header drupal_get_html_head 有大用

普通分类: 

用php获取header头信息

普通分类: 

readfile 设置 header 信息 有大用 有大大用

readfile

(PHP 4, PHP 5, PHP 7)

普通分类: 

UTF-8 带签名和不带签名的区别

页面

Subscribe to 个人技术网_前端_后台_php_div_css_linux_javascript_seo RSS