ctrl + a移动到最前
ctrl + e 移动到最后
vi文件:dd删除整行
ctrl + f 向下翻页
ctrl + b 向上翻页
在文件中查询某个字符串:less 文件 然后按/ 输入字符串 按下n即可查找下一个字符串
less查看文件 空格和b上下翻页,less有翻页功能
cat可以一次性查看文件所有内容
tail -n main.log 表示查看文件最后200行日志
ln -s A B 后的结果为 B -> A
nl main.log 打印日志显示行号
head -n 20 main.log | tail -n 10 表示获取文件11到20行数据
ls -lh 可以展示文件大小
rm *背面.jpg 表示模糊删除
删除文件里的内容 echo "" > filename
删除文件夹目录下的内容:进入到文件夹下 rm -rf *
统计文件夹里文件的数量 ll | wc -l
文件切片:4是一个文件的行数 test是新文件的前缀
split -l 4 testdata.txt test
压缩:进入到文件夹里面(最后一个参数是压缩包的名字)-P表示加密码
zip -q -r -P719526 3yue.zip *
下载身份证图片:登录机器:
sz -e result.zip
cut:切出某段信息,类似awk
-d 自定义分隔符,默认为制表符
-c 以字符为单位进行分割
grep "SmsAsyncSendConsumer" main.log | cut -d ',' -f 2
-d表示以,为分隔字符 -f表示取出第几段
grep "statusCode: 160062" main.log | awk -F ',' '{print $7}'| awk -F '=' '{print $2}'| cut -c 3-4
-c 表示取出第三个和第四个字符
grep命令:
grep -B 5 SmsAsyncSendConsumer main.log 显示SmsAsyncSendConsumer及前5行
grep -A 5 SmsAsyncSendConsumer main.log 显示SmsAsyncSendConsumer及后5行
grep -C 5 SmsAsyncSendConsumer main.log 显示SmsAsyncSendConsumer及前后5行
grep "grpc-new-mode-worker-\[sendCode\]" js.log | wc -l grep中加入特殊字符后要转义
grep -n "18811412612" main.log 显示字符串出现的行号
grep -v 表示不包含匹配文本的所有行
grep -c "SmsAsyncSendConsumer" main.log 表示出现的次数
grep -i 忽略大小写
grep "xxx" main.log | tail -n 表示 获取最后几次匹配
grep forest f.txt cpf.txt #多文件查找
sed命令:表示插入
sed -i '1i15120033960' testdata.txt 在第一行前插入
sed -i '1a15120033960' testdata.txt 在第一行后插入
sed -n '3,5p' testdata.txt 展示文件第3到5行数据
sed '2,5d' main.log 删除
sed '3,$d' testdata.txt 删除第三行到最后一行
sed 's/jia/boyu/g' testdata.txt 表示替换 把jia替换成boyu
sort命令:
-r 反向排序
-t 指定分隔符
-k 指定以哪个区间排序
-n 按照数值比较排序
grep "AccessLogUtils.java:42" main.log | awk -F "[][]" '{print $15}'| sort | uniq -c | sort -n
注意:想用uniq计数 必须先sort排序 ,最后sort -n表示按照数值比较排序
磁盘与目录的容量
进入到目录里面,du -h 看当前目录文件夹占空间大小,du -sh可以看到所有文件总大小
du -h | sort 查看各个文件夹占磁盘大小
du . -h -d 1 看当前目录文件夹占空间大小
du -h | sort 查看各个文件夹占磁盘大小
df -h 查看磁盘剩余空间
mv a.txt b.txt 表示重命名 新名称为b.txt
wget命令可以下载文件
wget http://bjfk-rs5034.yz02:9494/rest/infra/id/card/external/enterpriselicense?token=wRi52ZF%2BNW%2BHTfSkvyCuFe5lYZqANoB3iYcS%2FFKXGnqzuXjldzlSte6FAov7%2BD5C
如果rm -rf 提示参数列表过长,是文件过多导致的
可以使用:
find /data/logs/8096/20200821115509/ -name "*手持.jpg" | xargs rm -rf
find /data/logs/8096/20200822120148/ -name '*' | zip 6yue.zip -@
sudo命令改变username:
sudo -iu web_server
ansible命令:
-i:后面跟文件名称
all: 表示匹配主机列表中的所有主机
-a:后面跟命令
ansible -i api all -a 'grep abc /data/logs/8601/main.log'
nslookup 10.106.69.77 可以根据ip找到机器名称
如果遇到没有编辑权限的文件 可以q!退出
没编辑权限的 需要sudo vim xxx进去
vim的时候按v可以多选,按esc可以退出全选状态
xargs能够捕获一个命令的输出,然后传递给另外一个命令。也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs命令
假如你有一个文件包含了很多你希望下载的 URL,你能够使用 xargs下载所有链接:
cat url-list.txt | xargs wget -c
假如要kill某些进程:
ps -ef | grep 8601 | grep -v grep | awk '{print $2}' | xargs kill -9
jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况
nohup命令:全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行
&:让命令在后台执行,终端退出后命令仍旧执行。
cat /proc/cpuinfo 查看cpu信息
cat /proc/cpuinfo | grep processor 查看有几个处理器
linux查看各个应用占内存的情况:top (输入大写M,对内存排序,输入大写P,对cpu排序)
查看内存剩余量:free -h(-h后输出的结果会友好很多)
rpc服务进程id:
ps -ef | grep kuaishou-sms-rpc-service
top -Hp 1195 查看某个进程的线程数量
jstack 1195可以看到某进程的所有线程状态(名称,状态,线程id等)