美文网首页
2-常用命令

2-常用命令

作者: lj72808up | 来源:发表于2019-11-25 20:30 被阅读0次

find命令

  1. 参数

    • -name: 使用正则匹配文件名
    • -exec: 对每个匹配到的文件, 执行exec后面的命令;
      • 该命令以\;结尾
      • {}用来在exec中引用文件名
    • -type: 文件类型
      • b : block (buffered) special
      • c : character (unbuffered) special
      • d : directory
      • p : named pipe (FIFO)
      • f : regular file
      • l : symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.
      • s : socket
      • D : door (Solaris)
  2. 例子

    • 某服务器IP更换时, 找到包含该IP的脚本
    # 打印每一个匹配到的文件中的行
    $ find . -name "*.data" -exec grep --with-filename "192.168.0.1" --color {} \;
        ./11.data:192.168.0.1
     # 只打印包含该ip的文件名 
    
    • 列出该目录下所有文件, 不包括文件夹
     find . -type f -exec ls {} \;
    

grep命令

  1. 参数

    • -i : 忽略大小写
    • -H, --with-filename : 打印匹配到的文件名和匹配到的行的内容
    • -n : 输出行数
    • -v : invert-match, 反选
    • -E : 正则匹配
    • -r : 递归查找
    • -l : 只输出文件名
    • -A n : 显示匹配的字符串及其前n行
    • -B n : 显示匹配的字符串及其后n行
    • -w : 匹配整个单词
    • -o : --only-matching, 仅输出匹配到的字符串, 避免显示整行内容太长没法看
    • -c : 统计出现的次数, 相当于wc -l, 当使用-v后, 返回没有匹配的个数
    • --color=auto : 匹配到的内容变色显示
  2. 案例

    • 递归查找所有匹配到内容的文件
    $ grep -rl 192.168 ./*
        ./11.data
        ./aaa2.bak.bak/cd_charge.log
        ./aaa2.bak.bak/CK.txt
        ./cd_charge.log
    
    • 忽略大小写递归查找, 并输出行号
    $ grep -inr 192.168.0.1 *
    11.data:1:192.168.0.1
    
    • 忽略大小写递归查找输出行号, 并输出其前2行/后2行
    $ grep -inr 192.168.0.1 * -A 2
    11.data:3:192.168.0.1
    11.data-4-forth
    11.data-5-fifth
    
    $ grep -inr 192.168.0.1 * -B 2
    11.data-1-first
    11.data-2-second
    11.data:3:192.168.0.1
    

rsync命令

  1. 参数

    • -v :展示详细的同步信息
    • -a :归档模式,相当于 -rlptgoD
      • -r :递归目录
      • -l :同步软连接文件
      • -p :保留权限
      • -t :将源文件的"modify time"同步到目标机器
      • -g :保持文件属组
      • -o :保持文件属主
      • -D :和--devices --specials一样,保持设备文件和特殊文件
  2. 测试远端是否存在该文件

 rsync -L --timeout=10 ${rsync_file}
  1. 同步一个远端daemon方式启动的rsync server下的文件夹
    使用对方的ip::模块名/相对路径来拷贝文件; 前提是要求远端server的/etc/rsyncd.conf配置文件中的hosts allow项, 存在该机器IP
rsync -r -v root@10.134.33.80::root/search/ted/docker/hadoop .
# root@ : 远端用户名(可省略)
# 10.134.33.80 : 远端IP
# ::root : 远端rsync server的/etc/rsyncd.conf文件中配置的模块名
# search/ted/docker/hadoop : 远端root模块下path属性的相对文件路径

sshpass命令

ssh自动登录

sshpass -p noSafeNoWork@2016 ssh -o StrictHostKeyChecking=no root@10.140.85.161

相关文章

网友评论

      本文标题:2-常用命令

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