美文网首页
Linux 基础操作和命令

Linux 基础操作和命令

作者: 一杉风雨 | 来源:发表于2018-10-04 15:44 被阅读0次

    定时任务

    # 语法
    <min> <hour> <day_in_month> <month> <day_in_week> <command>
    
    # 例
    0 */5 * * * command         每5个小时
    30 8 * * * command          每天8:30  
    0 0 1,15 * * command        每月1号15号 
    15 * * * * command          每小时的第15分
    

    路由

    # 语法
    ## 显示路由信息
    route -ne     
    ## 增加/删除默认路由
    route <add|del> default gw <gw>     
    ## 增加/删除路由
    route <add|del> <-net|-host> <ip> netmask <netmask> [gw <gw>|dev <dev>|reject] 
    
    # 例
    route add default gw 192.168.1.11
    route add -net 114.144.144.0 netmask 255.255.255.0 gw 192.168.1.11
    route add -net 114.144.144.0 netmask 255.255.255.0 dev eth0
    route add -net 114.144.144.0 netmask 255.255.255.0 reject
    route -A inet6 add 2000::/3 gw 3ffe:ffff:0:f101::1 dev eth0
    
    # Linux打开转发
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Linux打开SNAT
    iptables -t nat -I POSTROUTING [-s sourceIp] [-d destationIp] [-o interface] <-j MASQUERADE | -j SNAT >
    iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE    # <--例
    

    系统

    1. 查看进程启动时间点
    ps -p <pid> -o lstart
    
    1. Echo
    echo -n "...."        # 输出不换行
    echo -e "...."        # 处理特殊字符, 如\a发出警告声
    
    1. 后台任务
    # 置于后台
    command &      # 将任务放入后台并执行
    control + z    # 将当前任务放入后台并暂停
    
    # 查看后台
    jobs -l        # 查看后台任务
    jobs -r -l     # 查看后台正在运行的任务
    jobs -s -l     # 查看后台正在暂停的任务
    
    # 信号处理
    fg %<jobNumber>    # 将一个后台任务置于前台执行,%可省略
    bg %<jobNumber>    # 将一个后台任务置于后台执行,%可省略
    kill -<signale> %<jobNumber>  # 对一个后台任务发送信号
    
    1. 档案属性
    umask       # 查看默认档案权限掩码
    umask -S    # 查看默认档案
    
    lsattr      # 查看隐藏属性
    chattr      # 修改隐藏属性
    
    chattr <+|-> <attr> <file>    # <--例
    a    档案只能增加数据,不能被删除和修改数据。(仅root用户可设定)
    i    档案只能被读取,不可被删除,改名,设定链接和写入数据。(仅root用户可设定)
    S    当修改档案时,该变更会同步写入磁盘,正常则为异步写入磁盘。
    c    自动压缩档案,读取时自动解压,存储时自动压缩。
    d    当dump程序执行时,避免被dump备份。
    A    当存取档案时,访问时间(atime)将不会修改,可避免I/O较慢的机器过度存取磁盘。
    

    字符处理

    1. sed: 常用于按行处理数据
    sed -n '2,5p' <file>            # 打印二到五行
    sed -i '2d' <file>              # 删除第二行
    sed -i '2,5d' <file>            # 删除第二到第五行
    sed -i '2,$d' <file>            # 删除第二到末行
    sed -i '2 i\\value' <file>      # 第二行前插入一行value
    sed -i '2 a\\value' <file>      # 第二行后插入一行value
    sed -i '2,5 c\\value' <file>    # 第二到五行替换为value
    sed -i 's/oldValue/newValue/g' <file>   # 替换oldValue为newValue
    sed -i 's/#.*$//g' <file>       # 删除#开头的行
    sed -i '/^$/d' <file>           # 删除空白行
    
    1. awk: 常用于对一行数据分段处理
    # 语法 commands为shell脚本
    awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
    
    # 内置变量
    NF     # 字段数
    NR     # 当前行数
    FS     # 当前分隔符
    
    # 例
    echo 'f1, f2, f3\n f4, f5, f6' | aws -F',' '{print $1}'
    echo 'f1, f2, f3\n f4, f5, f6' | awk -F',' '{print NR, FS, NF, $1, $NF}'
    
    1. cut: 切分一行数据
    cut -d 'e' -f 1, 2  # 按e为分隔符切分,取出第1,2字段
    
    1. 其它
    sort    # 排序
    uniq    # 去重
    col     # Tab转空格
    

    相关文章

      网友评论

          本文标题:Linux 基础操作和命令

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