Linux 基础操作和命令

2018-10-04  本文已影响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转空格
上一篇下一篇

猜你喜欢

热点阅读