基本命令
- 查看目录
[root@izbp1311i2pe1xiq3x174lz home]# ll
# 按时间升序排序,最近的在最下面一行
[root@izbp1311i2pe1xiq3x174lz home]# ll -rt
# 比如在用vim编写文件时,由于没有退出保存,导致下一次编辑时被锁住,可以用此命令找到.xxxx.swp文件,删除此文件即可重新编辑
[root@izbp1311i2pe1xiq3x174lz home]# ll -a #显示所有文件
- 查看磁盘使用情况
df -h
- 查看当前目录下的所有目录的使用情况
#参数 --max-depth=1代表目录深度
du -h --max-depth=1
- 找出当前目录下及子目录下的大于800M的文件
find . -type f -size +800M -print
- 删除包含子目录的所有文件
#-f强制删除,-r递归删除(目录及子目录);
rm -rf xxx
- 创建文件夹
mkdir folder
- 复制文件
cp abc.log /dir/
- 移动或者重命名文件
#把abc.log移到 /dir目录下
mv abc.log /dir
#把abc.log移到 /dir目录下
mv abc.log def.log #把abc.log重命名为def.log
- 显示文件行数
#显示abc.log中有多少行
wc -l abc.log
- comm按行来比较两个排序文件
#如果两个文件顺序不一样,请用sort命令排序后覆盖原文件再排序
vim a.txt
111
222
333
vim b.txt
333
444
555
comm -1 a.txt b.txt #除去文件a中的唯一行
333
444
555
comm -2 a.txt b.txt #除去b中的唯一行
111
222
333
comm -12 a.txt b.txt #取交集
333
comm -3 a.txt b.txt #除去a b两个文件中相同的行,输出不同的行
111
222
444
555
网络方面
- 查看端口连接数
# 查看redis连接数
netstat -nat|grep -i "6379"|wc -l
# 查看redis连接数
lsof -i:6379
wget和curl
GET请求
- 使用curl
curl http://www.baidu.com # 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
curl -i http://www.baidu.com # 显示全部信息
curl -l http://www.baidu.com # 只显示头部信息
curl -v http://www.baidu.com # 显示get请求全过程解析
- 使用wget命令
wget http://www.baidu.com
post请求
- 使用curl命令
curl -d "param1=value1& param2=value2" http://www.baidu.com #通过-d参数,把访问参数放在里面
- 使用wget命令
wget --post-data "user=foo& password=bar" http://www.baidu.com #--post-data参数来实现
直接发送格式化请求
curl -H "Content-type: application/json" -X POST -d '{"srcRef":"1002"}' http://fsc-inner.99bill.com/acs/deposit/1002
AWK常用语法
- 语法
awk options 'program' file
options - 常用的options有-F, -f, -v等
program - awk的主要部分,主要逻辑的体现。
file - 处理的文件,可以写在后面,也可以以管道形式传递
- 分割文本
# 按逗号分割,打印每一行的第一个单词。
echo 'a,b,c,d' | awk -F ',' '{print $1}' //输出 a
echo 'a,b,c,d' | awk '{split($1, a, ","); print a[1]}' //输出 a
# 按‘cd:’分割,打印打印每一行的第1和第二个单词
echo 'abcd:e' | awk -F 'cd:' '{print $1, $2}' //输出 ab e
echo 'abcd:ecd:' | awk '{split($1, a, "cd:"); print a[1], a[2]}' //输出 ab e
- 指定.awk脚本
# 只能写 program,且脚本里不能有单引号
vim test.awk
{print $1, $2, $3}
echo 'a,b,cd' | awk -F ',' -f test.awk
#输出
a b cd
- 初始化变量
# 把a 赋值给var,如果 与$1相等,则输出 yes
echo 'a,b,cd' | awk -v var='a' -F ',' '{if($1 == var) {print "yes, they are same"} else {print "no, they are diffrent"}}'
#输出
yes, they are same
- BEGIN用法
# BEGIN在数据处理之前运行,一般用来初始化变量或者指定分割符
# END结束前面的语句
# 统计当前目录下文件总大小,默认用空格分割
ll | awk 'BEGIN{sum=0} {sum+=$5} END {print sum/1024}'
- 替换字符
#把逗号换成冒号
echo 'a,b,cd,e' | awk 'gsub(",", ":", $1);'
#输出
a:b:cd:e
- 格式化输出
# %-10s 表示以字符串形式输出,占10个字符
echo 'a:bc:de' | awk 'BEGIN{FS=":"} {printf "%-10s %-10s %-10s \n", $1,$2,$3}'
# 输出
a bc de
网友评论