Linux

查看操作系统信息

1
2
3
4
5
6
7
8
uname -a
cat /proc/version
cat /etc/issue
lsb_release -a

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l #物理cpu个数 (wc -l 计数)
cat /proc/cpuinfo |grep "processor"|wc -l #逻辑cpu个数
sysctl -a 查询系统参数

centos crontab操作

1
2
3
4
5
6
7
8
9
10
11

cat /ect/crontab
crontab -e
* * * * * date >> /home/date1.txt  测试例子
crontab -l 查看crontab任务列表
crontab -r 终止
tail -f /var/log/cron.log 查看执行日志
/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload

sed 命令操作

1
2
# 替换字符串
sed 's/king/wise2c/g' sed.txt # 将sed.txt文件中的king字眼替换为wise2c

vi/vim 常用命令

1
2
3
4
5
6
7
8
9
10

x 删除当前光标所在处的字符
u 撤销,恢复到上一次操作
e / enter 下一行
h 一行向前移动
dd 删除当前行
/test 查找(test), n 继续查找test

yy 复制一行
p 在游标后面粘贴

查看磁盘问题

1
2
3
4
5
6
7
df -h     查看磁盘使用状态       
df -a -lh 查看全部磁盘使用情况
ls -lh 查看文件大小
du -a 列出所有文件
fdisk -l 列出磁盘信息
du -sh * 查看目录下全部文件的大小
du -d 1 -h / 查看当前目录文件的大小深度:1

yum 命令

1
2
3
4
yum update  xx
yum install xx
yum search xx
yum remove xx

Linux分屏工具tmux

1
2
ctrl+b 松开  % 面板分屏
ctrl+b o 切换

查看内存问题

1
free -h 查看内存大小

web开发命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

curl -I http://www.baidu.com
tar -xf xxx.tar
tar -xzf xxx.tar.gz 解压
top 监控
touch 创建文件
mkdir 创建目录
rm -rf 删除
cp -r xxx/xx/ .
mv xxx/xx yyy/yy 移动
cat xxx.sh 显示
wc -l 统计数量
ss -nltu 查询端口
ss -nltu | grep -e 'tcp' -e 'udp' | awk '{print $5}' | sed 's/.*://' |sort -n |uniq 查询tcp udp 端口
netstat -nltu 查询端口
netstat -nltp |grep TIME_WAIT 查询time_wait的连接
alias name='command line' #设置别名
# 清理内存的cache
echo 1 > /proc/sys/vm/drop_caches

解决linux 大量TIME_WAIT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
netstat  -anp | grep TIME_WAIT | wc -l 统计数量

#解决方案
vi /etc/sysctl.conf

#加入以下参数
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

#执行
/sbin/sysctl -p

# 动态修改linux 内核参数
sysctl net.ipv4.tcp_fin_timeout=30
sysctl -a 查看全部内核参数变量

查询命令

1
2
3
sort test.txt  #排序
awk '{print $1, $2}' #提取
grep #管道筛选

etcd 命令

1
2
3
4
5
docker ps |grep etcd
export ETCDCTL_API=3
etcdctl --endpoints=http://192.168.0.2:2379 get/set key value
etcdctl --endpoints=http://192.168.0.2:2379 --prefix --keys-only=true get /ingress 查询前缀为ingress的keys
etcdctl --endpoints=http://192.168.0.2:2379 member list 查看成员和状态

logratote(日志轮转)

1
2
3
4
5
当产生大量日志,思路就是:
1: 拆分历史日志
2: 设置过期时间清理历史日志
3: 重新写入新日志
在linux 中可通过logratote实现

清理docker image

1
2
3
docker image   prune     #清理残余和临时文件
docker rmi image-id #删除镜像
docker rmi -f $(docker images -q) #强制删除全部image