Skip to content

Latest commit

 

History

History
368 lines (284 loc) · 9.63 KB

日常杂项.md

File metadata and controls

368 lines (284 loc) · 9.63 KB

Linux

系统

测试

  • SysBench CPU压测
  • iperf3 带宽性能测量
  • iozone 文件系统IO测试 云主机大PK

查看系统

cat /etc/lsb-release # ubuntu发行版
cat /etc/debian_version # debian发行版
cat /proc/version
uname -a  #内核

df -h  # 系统硬盘使用情况
du -hd 1 . | sort -n # 各文件夹占硬盘情况

设置时区

timedatectl set-timezone Asia/Shanghai

编辑

VIM

中文乱码
vim /etc/vim/vimrc
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
实用操作
i → Insert 模式,按 ESC 回到 Normal 模式.
x → 删当前光标所在的一个字符。
:wq → 存盘 + 退出 (:w 存盘, :q 退出)   (陈皓注::w 后可以跟文件名)
dd → 删除当前行,并把删除的行存到剪贴板里
p → 粘贴剪贴板
:n → :5跳到第五行
ctrl+v → 开始块操作,hjkl或方向键选取块,
	按 i 或 A 插入 输了字符后 按 ESC 为每行生效
	按 = 可自动缩进
ctrl+p | ctrl+n → 自动补齐

:set number 显示行号
批量

一、control+V进入VISUAL BLOCK模式,按j或k选中多行
二、按shift+i(大写I),输入注释符(#或//),按一下或者两下Esc,完成注释。 二、按x或者d删除注释。

sed

sed -i 's#需要替换的文字#替换后的文字#g' config.js
sed -i 's/需要替换的文字/替换后的文字/g' config.js # 同上

sed -i "/匹配文字/ a换行后需要添加的文字" config.js

安全

登录日志/var/log/auth.log
尽量屏蔽密码登录,使用秘钥登录。安全性好,auth.log文件清晰

nmap

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)

nmap baidu.com

# scripts 还包括非常多的脚本,其中就有暴力破解mysql
ls -al /usr/share/nmap/scripts/mysql*
nmap -p3306 --script=mysql-brute.nse 192.168.1.100

~$ sudo nmap -O -Pn X.X.X.X

Starting Nmap 7.60 ( https://nmap.org ) at 2019-12-01 21:46 CST
Nmap scan report for X.X.X.X
Host is up (0.0035s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
3389/tcp closed ms-wbt-server
8081/tcp open   blackice-icecap
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.10 - 4.8

优秀文章

目录扫描工具

dirmapwebdirscan、DirBuster、Dirsearch、cansina

暴力破解

hydra,Bruter,Medusa,hashcat

OpenSSL

  • .key格式:私有的密钥
  • .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写
  • .crt格式:证书文件,certificate的缩写
  • .srl格式:签发证书的序列号记录文件,Serial的缩写
  • .crl格式:证书吊销列表,Certificate Revocation List的缩写
  • .pem格式:用于导出,导入证书(.crt)时候的证书的格式,有证书开头,结尾的格式

生成RSA秘钥对

openssl genrsa -out private.pem 1024   #RSA 1024 ,RSA2 2048
openssl rsa -in private.pem -pubout -out public.pem
# 私钥转pksc8格式
openssl pkcs8 -topk8 -inform PEM -in private.pem -outform PEM -nocrypt > rsa_private_key_pkcs8.pem

生成mac地址

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'

Git

Github Tips

  • Clone 太慢超时

    使用cnpmjs.org CND

git clone https://github.com/ifuture-pro/developer-notes
#替换成,体验非一般的感觉
git clone https://github.saobby.my.eu.org.cnpmjs.org/ifuture-pro/developer-notes

基础

echo "# Hello World" >> README.md
git init
git add README.md
git commit -m "first commit"
git commit -m "提交多行备注 title
>
> commit description"
git remote add origin https://github.com/<USERNAME>/<REPO-NAME>.git
git push -u origin master

# TOKEN 暴力(force)提交
git push https://actions:${GITHUB_TOKEN}@github.com/<USERNAME>/<REPOSITORY>.git HEAD:<BRANCH> --force

git remote -v # 查看远程版本信息

git checkout --theirs filename.java  # 保留远端的
git checkout --ours filename.java # 保留本地的
# 提交所有文件但排除某些文件的方案
git add .
git reset -- manifest.json # Unstaged changes 撤出缓冲器。
# 删除远端文件/夹
git rm -r -n --cached  */src/\*      //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
git rm -r --cached  */src/\*      //最终执行命令.
git commit -m "移除src目录下所有文件的版本控制"    //提交
git push origin master   //提交到远程服务器

查看所有分支(包括远程)

git branch -a

删除分支

#删除本地分支
git branch -d [branchname]
#删除远程分支
git push origin --delete [branchname]

新建分支

#新建分支并切换到指定分支
git checkout -b 本地分支名 origin/远程分支名

#新建本地远程分支,并关联
git branch 本地分支名
git push origin 本地分支名:远程分支名

tags

# 查看tag,创建tag
git tag
git tag v0.0.1
git push origin v0.0.1

#删除tag
git tag -d v0.0.1
git push origin :refs/tags/v0.0.1

子项目

添加子项目

git submodule add https://github.com/ethereum/evmc.git evmc
#git会在项目下生成.gitmodule
cat .gitmodule

[submodule "evmc"]
	path = evmc
	url = https://github.com/ethereum/evmc.git

下载子项目

git clone --recursive giturl

# 如果已经 clone 到本地
cd repository
git submodule init
git submodule update

# 更新所有子项目
git submodule foreach git pull

保存密码

git config --global credential.helper store

https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line 建议使用token作为密码

或使用带 token url https://$GITHUB_ACTOR:$GH_TOKEN@github.com/owner/repo.git

或使用 ssh

Github

Github DMCA数字千年版权法

其他

codereview git stats

Docker

基础安装

# 卸载
sudo apt-get remove docker docker-engine docker.io containerd runc

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

sudo systemctl enable docker
sudo systemctl start docker

# 建立docker组
sudo groupadd docker
# 将当前用户加入docker组
sudo usermod -aG docker $USER

阿里DOCKER镜像加速

sudo mkdir -p /etc/docker

# "https://registry.docker-cn.com"
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://slot7tfp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里云私有Docker Registry

docker login --username=mobilenumber registry.cn-hangzhou.aliyuncs.com     //password:123123
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/[namespaces阿里云中创建]/[镜像名]:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/[namespaces阿里云中创建]/[镜像名]:[镜像版本号]
docker build -t zzz/docker-mysql .

# 设置存储大小--storage-opt size=200G 需要overlay2引擎 https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-storage-driver
docker run -ti --name mysql_test -e MYSQL_ROOT_PASSWORD=123456 -p3306:3306 -idt zzz/docker-mysql:latest

docker logs -f mysql_test

docker exec -it mysql_test /bin/bash

mysql -uroot -p123456

# 上传下载文件
docker cp /root/test.txt ${CONTAINER_ID}:/root/
docker cp ${CONTAINER_ID}:/root/test.txt /root/

# 获得host权限
# --privileged=true 使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。可以看到很多host上的设备,并且可以执行mount。
# Enter into Docker VM in mac
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
ls -lah /var/lib/docker/volumes/

常用目录位置

  • 系统自启动

    • MAC ~/Library/LaunchAgents
      • /Library/StartupItems
      • /System/Library/StartupItems
  • Lantern

    • MAC ~/Library/Application\ Support/Lantern/settings.yaml
  • Docker

    • Ubuntu: /var/lib/docker/
    • Fedora: /var/lib/docker/
    • Debian: /var/lib/docker/
    • Windows: C:\ProgramData\DockerDesktop
    • MacOS: ~/Library/Containers/com.docker.docker/Data/vms/0/
  • Xcode

    • xcarchive: ~/Library/Developer/Xcode/Archives