美文网首页
linux常用命令记录

linux常用命令记录

作者: 小胡子哥灬 | 来源:发表于2020-06-10 11:50 被阅读0次

基本命令

  • 查看目录
[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

相关文章

网友评论

      本文标题:linux常用命令记录

      本文链接:https://www.haomeiwen.com/subject/rxjytktx.html