vim文件间复制
- 使用+y10j向下复制10行到系统剪切板,使用p粘贴
vim分屏
- sp/vsp filename 水平/垂直分屏
- ctrl + w + h/j/k/l 选择窗口
- open/close filename 开发/关闭文件
- Ex 进入目录浏览模式
ln命令
- ln [opt] source destination 硬链接
- ln -s source destination 软链接
tar命令
- 压缩 tar -cvf obj.tar dirname [another_dirname]
- 解压 tar -xvf *.tar
- 压缩格式: z--.tar.gz j--.tar.bz/bz2 Z--tar.Z
top命令
- top -P PID -d time_interval 查看指定进程信息
- top 查看所有进程信息
cp命令
- cp -r dir/. dest_dir 复制文件夹
scp命令
- 上传 scp -r local_file remote_username@remote_ip:remote_folder
- 下载 scp -r remote_username@remote_ip:remote_file local_folder
curl命令
- GET: curl -X GET url
- POST:
- curl -X POST -d "key1=value1&key2=value2" url (form_data)
- curl -X POST -d '{"key1": value1, "key2": value2}' url (json_data)
- curl -X POST -H "Content-type:application/json" url (header)
- curl -X POST -F "file=@filepath" url (upload file)
traceroute命令
- traceroute {params} {host} 查看路由
grep命令
- grep "regular expression" file # 文件内搜索
- grep "regular expression" -r dirpath # 递归搜索
- grep "a" file | grep "b" # and用法
- egrep "a|b" file # or用法
- grep -v "a" # not用法
- grep -A num "a" file # 匹配并输出关键字后n行
- grep -B num "a" file # 匹配并输出关键字前n行
- grep -C num "a" file # 匹配关键前后n行
screen命令
- 新建会话
- screen
- screen -s command
- screen -S session_name
- c-a c 创建子会话
- 列出所有的会话
- screen -ls
- screen -wipe 列出所有会话,已deaded的会话会被删除
- c-a w
- 切换会话
- c-a n
- c-a p
- c-a 0...9
- 中断会话
- screen -d [sesson_id]
- c-a d
- 回复会话
- screen -r session_id
- screen -x 恢复之前离线的会话
- 退出会话
- exit
- c-a k
crontab参数
- *(min) *(hour) *(day) *(month) *(week)
- crontab -l 列出所有的定时任务
- crontab -e 编辑定时任务文件
logrotate 日志分割
- /etc/logrotate.conf是主配置文件会包含/etc/logrotate.d目录下所有文件
- 在/etc/logrotate.d 目录下新增日志分割配置文件
- 测试 logrotate -d -v /etc/logrotate.d/file
- example
/etc/logrotate.d/nginx {
copytruncate # 备份并清空原日志文件
daily # 转存周期
rotate 7 # 日志删除前转存的次数
szie=10M # 文件大小达到10M时切割,优先级高于daily
missingok # 忽略错误
notifempty # 日志为空不分割
dateex # 使用日期作为命名格式
dateformat -%Y%m%d.%s # 日期格式化参数
sharedscripts #运行postrotate脚本
postrotate
if [ -f /usr/local/nginx/nginx.pid ]; then
kill -USR! `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}
linux后台运行程序
- [nohup] xx.sh [>nohup.log 2>&1] &
- setsid command
linux磁盘空间查询
- df -h 查看磁盘空间使用情况
- du --max-depth=1 -h 查看当前文件夹下的磁盘使用情况
- du -sh * | sort -nr 按照文件大小列出当前目录下所有文件的磁盘使用情况
linux系统信息查询
- 查看内核/操作系统/cpu信息 uname -a; lsb_release -a; cat /proc/version
- 查看操作系统版本 head -n 1 /etc/issue
- 查看cpu信息 cat /proc/cupinfo
- 查看cpu核数
- 物理内核:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
- 逻辑内核:cat /proc/cpuinfo| grep "processor"| wc -l
- 查看主机名 hostname
- 查看存储信息 cat /proc/meminfo
- 查看系统负载 cat /proc/loadavg
删除空文件
- find . -type f -size 0C | xargs rm -rf 删除空文件
- find -type d -empty | xargs rm -rf {} 删除空文件夹
auditd监控文件变化
- yum insatll audit
- vim /etc/audit/audit.rules
- -w filepath -p rwxa # 添加监控规则
- service auditd restart # 重启监控
- ausearch -f filename # 查看监控日志
Cent OS Pyhton升级
- cd /usr/local;wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
- tar -zxvf Python-2.7.12.tgz
- 创建安装目录 mkdir /usr/local/python2.7.12
- 安装编译依赖 yum install openssl openssl-devel zlib-devel gcc -y
- cd ./Python-2.7.12;vim ./Modules/Setup.dist
- 找到#zlib zlibmodule.c -I
(exec_prefix)/lib -lz, 去掉#
- ./configure --prefix=/usr/local/python2.7.12 --with-zlib
- make && make install
- mv /usr/bin/python /usr/bin/python2.6.5
- ln -s /usr/local/python2.7.12/bin/python2.7 /usr/bin/python ; env python
- vim /usr/bin/yum 将首行#!/usr/bin/python 改为 #!/usr/bin/python2.6.5
- cd /usr/local/python2.7.12/lib;
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate - python get-pip.py
- mv /usr/bin/pip /usr/bin/pip.bak
- ln -s /usr/local/python2.7.12/bin/pip2.7 /usr/bin/pip ; pip -V
GLIBC升级
- ll /lib64/libc.so.6 查看当前glibc版本; cd /usr/local 进入安装目录
- wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
- wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
- tar -xvf glibc-2.15.tar.gz
- tar -xvf glibc-ports-2.15.tar.gz
- mv glibc-ports-2.15 glibc-2.15/ports
- mkdir glibc-build-2.15
- cd glibc-build-2.15
- ../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
- make&make install
DNS缓存清除
- sudo /etc/init.d/dnsmsq restart
- sudo service network restart
centos7 yum安装
- rpm -aq|grep yum|xargs rpm -e --nodeps 卸载
- 下载并安装rpm包
- 更新repo文件
- 修改依赖 vim /usr/bin/yum ; vi /usr/libexec/urlgrabber-ext-down (#!/usr/bin python >> #!/usr/bin/python2.7.5)
>>>wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
>>>wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
>>>wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
>>>wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
>>>rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm
>>>rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
>>>rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
>>>cd /etc/yum.repos.d
>>>wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
>>>rm -rf CentOS-Base.repo
>>>mv CentOS7-Base-163.repo CentOS7-Base.repo
python-couchbae 安装
#centos 6.2
>>>sudo wget -O/etc/yum.repos.d/couchbase.repo \
http://packages.couchbase.com/rpm/couchbase-centos62-i686.repo
>>>sudo wget -O/etc/yum.repos.d/couchbase.repo \
http://packages.couchbase.com/rpm/couchbase-centos62-x86_64.repo
>>>sudo yum check-update
>>>sudo yum install -y libcouchbase2-libevent libcouchbase-devel
>>>pip install couchbase==2.3.0
网友评论