磁盘空间不足
1 | df命令查看当前计算器磁盘空闲情况 |
git push 报错 fatal: HttpRequestException encountered.
1 | Github 禁用了TLS v1.0 and v1.1,必须更新Windows的git凭证管理器 |
pip install 失败
1 |
|
awk
1 | $ echo 'this is a test' | awk '{print $0}' |
批量删除 .DS_Store 文件
find /home/path -name ".DS_Store" -type f -delete
查看硬盘及内存空间
1 |
|
统计文件或目录的个数
1 | # 统计文件夹下文件的个数 |
查看CPU和内存占用
1 | # CPU占用最多的前10个进程: |
curl
1 | 强制指定本地端口 |
连接你服务器 top10 用户端的 IP 地址
1 | netstat -nat | awk '{print $5}' | awk -F ':' '{print $1}' | sort | uniq -c | sort -rn | head -n 10 |
最常用的10个命令
1 | cat .bash_history | sort | uniq -c | sort -rn | head -n 10 (or cat .zhistory | sort | uniq -c | sort -rn | head -n 10 |
alias
1 | alias nis="npm install --save " |
wget
1 | wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.ta |
防火墙
1 | sudo firewall-cmd --zone=public --add-port=60001/udp --permanent |
显示 Path 环境变量
1 | $ echo $PATH | tr : \\n |
判断字符串包含
1 | if [[ $tar =~ tar.gz ]];then echo "包含";fi |
快速修改后缀名字
1 | ll |
数值排序
1 | sort -t ":" -k 3 -n /etc/passwd |
清理httpd服务日志超过3天的内容
1 | 0 5 * * * /usr/bin/find /var/log/httpd/ -type f -mtime +3 -exec rm -rf {} \; |
awk获取json
1 | {"name": "michael", "sex": "male", "pkg_url": "www.github.com", "number": "888"} |
cpu
1 | 查看 CPU 的型号 |
查看系统负载
1 | $ uptime\ |
秘钥登录
1 | ssh-keygen -t rsa -C 'youxiang@aliyun.com' |
生成二维码
1 | 第一种方法: qrencode |
es Kibana
1 |
|
随机数生成
1 | (1) echo $(($RANDOM)) 通过系统环境变量 |
Elasticsearch 在 docker 和 CentOS 下的安装教程
1 | sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.1 |
wget 命令提示 “use ‘–no-check-certificate
1 | php -r "print_r(openssl_get_cert_locations());" |
docker
1 | 如果我们想在一台电脑上搭建各种开发环境:lnmp 环境,java 环境,nodejs,redis 集群,python 开发环境。显然,这些多的开发环境,如果集中在一台机器上构建,会让系统显得复杂,可能还会出现各种版本或依赖之间的不兼容。如果能将这些开发环境都独立开来,各个环境互相独立隔离,但又能互相通讯交互,相当于每个环境都是一个容器,这些容器可以独立提供服务,也能通信交互。 |
xargs 命令
1 | echo命令就不接受管道传参。 |
禁用 eval 函数
1 | 在 /etc/bashrc 里加入 |
find 模拟 tree
1 | $ find . -print | sed -e ``'s;[^/]*/;|____;g;s;____|; |;g' |
Shell 命令组合
1 | 统计独立 IP 数量 awk '{print $1}' access.log | sort -n | uniq | wc -l |
Crontab 定时任务执行时的环境变量问题
1 | 不是在 root 用户下安装的 scrapy,是在 crawl 用户下,然后一开始没注意,应该是用 root 用户配置的定时任务,导致定时任务找不到 scrapy,这个可以理解。但是当我在 crawl 用户下,重新配置了爬虫,发现还是报同样的错误。 |
终端技巧大集合
1 | # ‘{}’ 可用于匹配多个模式的文件名 |
网络知识之 IP 与子网掩码
1 | IP 地址是一种在 Internet 上的给主机编址的方式,也称为网际协议地址。IP 地址是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。常见的 IP 地址,分为 IPv4 与 IPv6 两大类。主要介绍的是 IPv4 这一类。 IP 地址是一个 32 位的二进制数,但为了方便记忆,通常被分割为 4 个 "8 位二进制数",并且用 "点分十进制" 表示为 a.b.c.d 的形式,其中 a,b,c,d 都是 0~255 之间的十进制整数。 |
ssh免密登录漏洞
1 | [root@localhost ~]# ll .ssh/ |
crontab 指定用户
1 | 直接在 /etc/crontab 中编辑定时任务即可,加上用户名 |
> >>
1 | > 表示覆盖追加 |
内网穿透
1 | https://serveo.net/ |
ab 压力测试
1 | ab -n 2000 -c 1000 http://www.xxx.com/index.php |
https 证书注册工具
1 | apt-get install certbot python-certbot-nginx |
linux卡顿怎么排查
1 | ps -ef | grep php | awk '{print $2}' | xargs kill -9 |
docker
1 |
|
cURL error 28: Resolving timed out after 5515 milliseconds
1 | $ cat /etc/resolv.conf |
内存消耗最大的进程
1 | [root@VM_0_11_centos html]# ps aux --sort -rss | head |
Nginx 负载均衡
1 | 语法: upstream name { ... } |
Nginx 配置常用参数
1 | # 配置用户或者组,默认为nobody nobody。 |
反向代理后如何获取真实客户端 IP
1 | location /api { |
docker 入门
1 | Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 |
忽略文件
1 | 已经推送 push 过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除 Git 远程库中相应文件,后面的 Xml/config.xml 是要忽略的文件的路径,执行命令: |
crontab %截断
1 | 0 0 * * * cd /home/vg/odp/log && mv *`date -d "-10 day" "+%Y%m%d"`* archives |
查出访问量TOP10的IP
1 | 日志文件access.log格式如下: |
phpmyadmin 管理多台 MySQL
1 | 复制 phpMyAdmin 根目录下的 config.sample.inc.php 文件,重命名为 config.inc.php; |
pull request流程
1 | 在 GitHub 上把本项目 fork 到自己的仓库,如 <your-username>/php-developer-prepares,然后 clone 到本地,并设置用户信息。 |
SSH 也通过 SS 代理
1 | 配置您的 ~/.ssh/config 文件,增加以下的内容即可: |
Github 关键字进行搜索
1 | in:name Laravel |
Bash 单命令行解释
1 | 清空文件 > file |
列出目录下所有被 git 忽略的文件
find . -type f | git check-ignore –stdin
SSH 闲置时间过长而断开
1 | // 修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(单位为分钟)修改你想要的值, |
安装 swoole laravelS
1 |
|
error src refspec matches more than one
1 | git push origin test |
ssh 连接 实现免密码登陆
1 | 1.主配置文件于/etc/ssh/sshd_config |
CentOS 部署 Laravel 应用
1 | $ yum install nginx |
Docker Contos 搭建 PHP 环境
1 | docker pull nginx // 拉取官方镜像 |
git 笔记
1 | git clone 命令默认的只会建立master分支 // 特别提醒 |
Shell-变量高级用法
1 | echo ${PATH/bin/BIN} // 单个替换 |
删除文件占用空间
1 | 在清理过服务器上一个高达 100 多 G 的文件后,使用 df -h 查看存储空间仍然 100%。使用 du -h -x --max-depth=1 进行查看与 df -h 的结果不一致 |