linux命令




scp

  • scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

  • 使用
    本地复制到远程
    在这里插入图片描述
    其实从本地复制到本地也可以 (会改变owner之类的文件属性),不想修改的话就用-p

远程复制到本地
在这里插入图片描述


sshfs

远程文件/目录挂载到本地
在这里插入图片描述

  • 集群的搭建常用命令

file ls -lh wc

file 查看文件的格式
ls -lh 查看文件信息
wc word count


paste

reference

  • -s (serial
  • -d (delimiters
  • - - - 一行三个数据

grep

  • grep 目标字符串 文件
  • -l
  • -c
  • -i ignore大小写
  • -o 只输出匹配的部分
  • -v --revert-match 显示不包含匹配文本的所有行

screen

后来被我用tmux取代了…

  • screen -S <session_name>
  • screen -X -S <session_name> quit
  • screen -D -r <session_name> 踢掉该session上的用户然后登陆

tcpdump

基本参数

* nn 能显示数字就显示数字
    > 单个n(第一个n)指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;
    > 第二个n使得端口从应用名称转换成端口号后显示 
* v 详细 vv更详细 vvv更相信( 一般一个v即可)
  • 过滤条件用 and
    • 协议直接写
tcpdump -nn -v  src 192.185.1.85 and tcp and port 80

tcp 和 port 条件中间的and 可加可不加

* i 网卡参数最好加上
* s size  默认是68  0表示有多大抓多大
* w 保存到什么文件中去
![9eb5bb3c7d05f6df2dd93a898f4621e0.png](en-resource://database/564:0)@w=300
* r 读什么文件
* A ascii码  X十进制
* c 在收到指定的包的数目后,tcpdump就会停止;
tcpdump -n -r http.cap -l | awk '{print $3}' | sort -u

sort剔除重复项
-l是修改成行缓冲 ( 默认是全缓冲 全部输出到缓冲后才flush )

高级筛选

这个讲得很详细

proto [ expr : size]
  • proto就是protocol的意思
  • expr用来指定数据报字节单位的偏移量
    • 该偏移量相对于指定的协议层
    • 默认的起始位置是0
  • size表示从偏移量的位置开始提取多少个字节
    • 可以为1,2,4
    • 默认为1

nc

这个还挺全的

nc -nv ip port 

* [ ] curl

??到底有啥用 和wget区别

find

find 目的地址及其子命令 -name “名字”

  • 双引号可加可不加
  • 名字可以使用通配符
  • -maxdepth 一般得放在别的参数前面 不然会有警告

参数

* -type f 找文件  d 找目录
* find . -name “名字”  # 当前命令
* -mtime +30 30天之前  -1  一天以内
* -size +10k  # 注意这里的k不能是大写 但是M得是大写的
* -perm  permission
* -maxdepth 1

xargs 和 exec

  • 常常和xargs以及exec合起来一起用
find . -name "*.txt" | xargs -I file rm -rf file
find . -maxdepth 1 -name "*.txt" -exec cp '{}' /tmp \;
  • 连着使用格式不太一样且exec的作用范围更广( 比如xargs就不能承接cp命令 )
  • xargs 的I 参数哟关于指定前面的传过来的参数的替代名,所以我们也常常能看到xargs -I {} rm -rf {} 的用法
  • exec在处理一些名字比较特殊的文件的时候,最好把 {} 写成 ‘{}’

exec的末尾的; (前面的\表示转义)表示一个参数一个参数地处理,如果是+的话,就是集合在一起处理。
也可以在最后使用加号(+) ,可以参考这个

  • 优缺点比较
    在这里插入图片描述

    我觉得上面说的应该是文件名里面没有带空格,而不是文件没有带空格

grep

grep -n "rest$" /home/bash.log
  • n参数会输出该匹配字段在查找文件的第几行
  • 查找的内容支通配
  • 可以直接这样查找而不必
    cat file | grep “xx” 这么麻烦了
* -E 扩展的正则表达式 grep -E 等同于egrep
* --color 表示将匹配到的染上色显示
* -v 反选

find ,xargs , grep三者的结合使用

  • background
    当前文件下有很多数据,我想要把原本的数据全部移进oldData文件夹 ( which原本就包含了一些旧数据 ),以提供新的空间收纳新的数据。

  • 命令

find . -max-depth=1 |egrep -v ".|oldData" |xargs -I {} mv {} ./oldData 
1. 指定find的深度为1
2. 使用egrep ,因为后面用到了正则表达式 | 
3. 正则里面要包含一个 .  因为find . 命令默认会出现一个 . 文件夹代表当前目录
4. xargs的-I 参数就不说了

awk

基本参数

用来统计文本的

awk '{print $NF}' test.txt
awk '{print $1}' test.txt
    # 取出第一列和最后一列然后中间用冒号分隔
awk -F: '{print $1":"$NF}' test.txt   
  • $NF表示最后以列
  • 双引号表示添加的意思
  • F参数是间隔符 ( 默认是空格 怎么下面也有带F参数但似乎没用的情况啊…
  • 单引号里面带双引号

高级命令

# 满足筛选条件的输出
cat xxx.txt | awk -F: '$3>=1000 {print $1 $7}'
# 输出直接是一个值
ip_add = ${ ifconfig | grep "bcast" | awk '{print $2}' }
> 192.168.1.15

# 打印的时候带上表头
awk -F: ‘BEGIN {print "NAME \t SHELL"} $3>1000 { print $1 "\t" $7 }

BEGIN和END里面的只会在最开始和最后执行一次 ( 小写也可以 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值