1.文本文件添加行序号:set number
2.输出文本的3-5行:sed -n '3,5p' xxx.txt
3.查找文本中有多少个hello: grep -o hello xxx.txt
4.查找进程:ps -ef | grep java
netstat -anp | grep java
5.定时任务:crontab -e
0-59 0-23 1-31 1-12 0-6 command
分 时 日 月 周 命令
"*"代表数字 "/"代表每 "-"代表从一个数到另一个数 ","分开几个离散的数字
eg:30 5 6 8 * ls 每年的六月八号的5:30执行ls命令
crontab -l 显示目录
crontab -r 删除当前的crontab
crontab -e 编辑
6.执行权限 u g o a
chmod +x test.sh
./test.sh
chmod -R +x test.sh (-R递归授权)
7.创建一个名为A的用户,作为B用户组的成员
useradd -g B A
8.将Lisi更该为LS
usermod -l LS Lisi
9.锁定账户
usermod -L lisi
解锁账户
usermod -U Lisi
10.删除账户
uesrdel -r 账户名(-r 连目录一起删除)
11.为A设置密码
passwd A
passwd -l A(锁定密码)
passwd -U A (解锁)
passwd -S A (查看密码状态)
12.创建用户组
groupadd -r 用户组名称(-r 创建系统用户组)
13.更改用户组名称
groupmod -n 新用户组名 旧用户组名
14.重设用户组的Gid
groupmod -g 新的Gid 用户组名称
15.删除用户组
groupdel 用户组
16.将用户添加到指定的组
gpasswd -a 账号 用户组名称
17.日期命令
date 或者 cal
%T 时间
%H 小时
%M 分钟
%S 秒
%m 月
%d 天
%y 两位年份
%Y 四位年份
%w 周几
%W 本年度第几周
18.计算器 bc
eg:echo "scale=3;30/8" | bc 结果为3.750
19.改变文件所属组:chgrp
eg:chgrp users install.log
20.改变文件用有者:chown
eg:chown users install.log
21.查看版本信息
uname
lsb_release -a
cat /etc/redhat_release
rpm -qcentos-release
cat/etc/issue
22.建立目录:mkdir
mkdir -p test1/test2/test3 (递归建立目录)
mkdir -m 711 test2 (建立目录权限)
23.删除目录:rmdir
rmdir -p test1/test2/test3
24.复制:cp
移动:mv
25.查看前几行:head
查看后几行:tail
26.查看文件类型:
file 文件
27.压缩文件
压缩:tar -zcvf xxx.tar
解压:tar -zxvf xxx.tar
28.修改日期和时间
eg:date -s "2018-09-09 04:53:00"
29.vim编辑
ctrl + D 下一页
ctrl + U 上一页
shift + G 行尾
gg 行首
/ 或 ? 查找 n向下找 N向上找
30.后台任务:
jobs
fg:前台
bg:后台
31.查看别名
alias
32.显示磁盘空间使用情况
df -h
df -m
df -k
df -h
33.计算目录占用磁盘空间
du
du -sh
du -sk*
34.查看内存使用情况
free
free -k
free -m
35.查看网络信息
netstat -lnp 监听端口情况
netstat -anp 所有端口情况
36.MySQL数据库备份
mysqldump -u 用户名 -p 密码 db1 >/home/data/db1.sql
37.查找目录logs下一周以前的文件
find logs -type f -mtime +7
查找/etc目录下文件名以.cnf结尾的文件
find /etc -type f -name *.cnf
find / -type f (普通文件)
d (目录)
b (块设备文件)
c (字符设备文件)
38.定义日志再shell脚本中exec命令后的所有操作输出到1.txt中
exec& > /tmp/mysql_bak.log
39.grep
过滤所有包含数字的行
grep '[0-9]' 1.txt
过滤以英文字母开头的行
grep '^[a-z A-Z]' 1.txt
去除所有的空行
grep -v '^$' 1.txt
40.seq打印序列
seq 1 2 10 1代表开始,2代表步长,3代表结束
41.mkpasswd 生成一个9位的随机字符,包含大小写字母,数字以及特殊符号
eg: mkpasswd -l 12 生成12位
-l 多少位
-d 数字
-C 大写字母
-c 小写字母
-s 特殊符号
eg:mkpasswd -l 12 -d 3 -s 0 -c 2
42.设置的命令生效
/etc/rc.d/init.d/netword restart
43 rpm -ivh 安装包
44.查看命令是否执行完成:$?
echo $?
0-表示完成
非0表示未执行完成
45.查看mysql主从状态
mysql -u root -p 密码 -e "show slave status\G"
46.查看关联文件
lsof -c 文件名
47.查看文件路径
whereis 文件名
48.连接两个字符
eg: a="hello" b="world" c=${a}{b}
49.获取输入
read -p "请输入:"
50.替换
:s/p1/p2/g 将当前行中所有的p1使用p2替换
:n1,n2 s/p1/p2/g 将第n1至n2行中所有p1使用p2替换
:g/p1/s //p2/g 将文件中所有的p1使用p2替换
60.文件打开操作
vim +n filename 打开文件将光标置于n行首
vim +/pattern filename 打开文件将光标置于第一个pattern处
vim filename1 filename2 打开多个文件
61.排序(从大到小)
sort -rnk 4 第四列排序
-r 降序
-u 去除重复行
62.Windows在Linux中文件转换
dos2unix filename
63.发送邮箱
mail -s "标题" xxx@qq.com
>输入文本
ctrl + d 发送
60.添加路径
eg:PATH=$PATH:/ROOT
61.查看header信息
curl -I www.baidu.com
62.查看IP开放了哪些端口
nmap -O IP地址
63.pwdx 找到业务进程路径
eg:pwdx pid
64.根据进程ID,查找它的日志目录
eg:lsof -p pid | grep log
65.查看端口占用情况
lsof -i:端口号
66.查找路径下某些文件包含某些内容
eg: grep "ccc" -r /home/mao
67.脚本调试:sh -nvx xxx.sh
-n:不运行脚本,仅查询语法问题
-v:将脚本内容输出到屏幕上
-x:将使用的script内容显示再屏幕上
set -e 遇到执行非0时退出脚本
set -x 打印执行过程
68.永久显示行号
vim ~/.vimrc文件下添加set nu 保存
69.查看系统多少位:getconf LONG_BIT
70.查看tcp/udp连接
lsof -i tcp
71.将日志输出到控制台
./xxx.sh |tee xxx.log
72.进程打开的所有描述信息
cd /proc/pid/fd|ls -l
73.每隔一段时间执行命令
watch -n 2 cat xxx.log
74.列出删除占用的文件
lsof | grep deleted
75.恢复打开被删除的文件
rm xxx.log
lsof|grep xxx.log
ls -l /proc/pid/fd
cat /proc/pid/fd/5 > xxx.log
76.查看socket连接数
ulimit -a 其中open file 是最大连接数
77.AIX
查看内存:svmon -G
CPU:topas
磁盘:df -g
查看版本:oslevel
78.垃圾回收查看
jstat -gc pid 次数
eg:jstat -gc 12583 5000(毫秒)
79.查看输出较高的磁盘读写程序
iotop -os
80.根据进程查找线程
①ps -ef|grep java
pstree -p pid
②top -HP pid
③ps hH p pid
81.windows压测机查看Time_Wait等待数
netstat -ano > D:/port.txt
82.清屏:ctrl + L
输入命令:行首:CTRL + a
行尾:CTRL + e
83.plsql乱码
select userenv('language') from dual
添加环境变量:变量名:NLS_LANG
变量值:SQL查询到的编码值
84.top的使用
数组: 1:查看CPU核的情况
c:具体进程的路径
N:pid大小排序
P:CPU大小排序
M:内存大小排序
85.排查java程序CPU过高问题
一.top 查找线程
二.ps -mp pid -o THREAD,tid,time
三.将线程的tid转换成16进制
pritf "%x\n" tid
四.jstack -pid | grep 转换后的16进制的值
五.jstack pid 查看详细点的信息
86.sar的使用
cpu:sar -u 或者 sar -q
内存:sar -B -r -W
磁盘:sar -b -u -d
查看凌晨1点到3点的CPU:sar -s 01:00:00 -e 03:00:00
87.上传与下载
上传:rz
下载:sz
88.再secureCRT中按alt + p
①get 文件绝对路径
lpwd查看文件下载到本地的路径
② put 本地文件绝对路径
89.查看多少台机器连接到此程序端口
netstat -nat | grep 端口 -c
90.显示文件详细信息:stat 文件名
91.磁盘分为:blocks 和 inode
查看inode:df -i
92.查看防火墙设置:iptables -L
93.查看dns:cat /etc/resolv.conf
94.查看DNS信息命令:nslookup IP
95.xshell查看图型见面编辑器:gedit 文件名
96.文件加解锁
加锁:chattr +i 文件
解锁:chattr -i 文件
查看是否加锁:lsattr 文件
97.查看文件夹是否别的服务/进程调用
lsof +D 文件夹
98.显示文件的十六进制
xxd 文件
eg:xxd qbt.txt
99.查看线程椎栈的大小
ulimit -s
100.查看进程句柄
ulimit -n
101.查看硬件型号:dmidecode|more
102.查看硬盘和分区分布
lsblk
103.查看文件时间排序
ls -t *20200126*
显示具体时间:ls --full-time 文件
104.显示进制:hexdump
-C 十六进制和ascll码
-b 八进制
-c 单字节显示
-d 双字节十进制
-o 双字节八进制
-x 双字节十六进制
105.查看文件,输出行号:nl
包括空白行:nl -ba 文件
106.文件加密:vim -x 文件名
107.可视化比较工具:vimdiff
eg:vimdiff 1.txt 2.txt
108.查看软连接的源文件
readlink py
109.查看硬件支持多大扩展内存
dmidecode -t memory | grep -i max
110.判别操作系统运行平台
dmidecode | grep -i Product
111.实时显示系统资源占用情况dstat
-c cpu
-d 磁盘
-g 显示page
-m 内存
-n 网络
-p 显示进程
-r 显示io请求
-s 显示swqped
-tcp
-socket
-top-cpu 显示占用CPU进程
-top-io 显示占用磁盘进程
112.内存计算
可用内存:free + buffers + cached
已用内存:used - buffers - cached
判断系统内存是否充足:swap used 大于0
(优先级-20到+20,越小,优先级越高,PR或NI)
113.进程绑定CPU
taskset -cp 1,2,3 PID
taskset -c 1,2,3 /etc/sh(启动程序)
114.指定优先级:nice
eg:nice -n 10 ./sh >shout &
115.修改Windows的TCP连接数
运行-patch.exe-输入c-要设置的TCP数-enter-输入y
116.复制目录结构:
find /home -type d -exec mkdir -p demo /\{\}\
将/home目录结构复制到当前目录的demo中
117.根据名称找进程ID
pgrep hello
pidof hello
118.查看压缩日志文件:zcat 或 zless
eg:zcat test.gz
zless test.gz
119.屏幕冻结:CTRL + s
解屏:CTRL + q
120.磁盘分区:pvdisplay
121.展示所有模块:lsmod
122.查找PCI设置:lspci
123.查看进程内存:cat /proc/pid/statm
124.md5sum
eg:md5sum 1.txt 2.txt (比较是否相同)
md5sum 1.txt 查看文件MD5值
125.查看显卡型号:lshw -c video
126.查看全局安装了什么东西:npm list -g--depth=0
127.查看信号:kill -l
128.设置用户密码有效期:chage
eg:chage -M 20 用户名
查看密码过期时间
chage -l 用户名
129.telnet使用
telnet IP 端口
130.查看系统支持的所有命令
compgen -c
131.修改主机名
hostnamectl set-hostname 新主机名
132.显示文件或命令别名:type
eg:type ls
133.rpm包解决依赖关系:--fore--nodeps
eg:rpm -ivh xxx.rpm --fore--nodeps
134.查看CPU速度
lscpu | grep -i mhz
额定功率
lscpu |grep -i bogo
135.查看网关和路由
nststat -r 或者 ip route | column -t
136.查看进程运行在哪颗CPU上:ps -eFH
其中PSR位运行在的那颗CPU