linux 常用命令
2016-03-21 19:32
495 查看
SCREEN
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
screen -S yourname -> 新建一个叫yourname的session
screen -ls(或者screen -list) -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
grep
-i 忽略大小写
-H 显示文件名
-h 不显示文件名
-n 显示行号
-B num 显示匹配行的前num行
-A num 显示匹配行的后num行
-C num 显示匹配行的前后num行
sort
-u 去除重复行
-r 倒序
-o file 结果输出到重定向(管道重定向有坑)
-n 数字序排序
-t char 指定分隔符
-k n 选定排序的列
uniq
-c 统计
-d 重复的行
-u 只出现一次行
join
-t char 分隔符
-a n 显示文件1的行之外,也显示没有相同列的行
-v n 与-a相同,只显示没有相同列的行
-o 指定输出格式
-n m 连接/输出 指定文件指定列
-e 'xx' 用于补齐指定输出时的空位
awk
-F char 分隔符
$0 当前行
$1~$n 当前行的第n个字段
FS 输入字段分隔符 默认空格或tab
NF 当前行的字段个数
NR 当前处理的行数
FNR 当前行在文件中的行号
RS 输入行的分隔符,默认为换行符
OFS 输出字段的分隔符,默认为空格
ORS 输出行的分隔符,默认为换行符
BEGIN 处理行之前的程序段
END 处理行之后的程序段
cat a b | sort | uniq # 并集
cat a b | sort | uniq -d # 交集
cat a b | sort | uniq -u # 对称差集 (A-B) U (B-A)
cat a b b | sort | uniq -u # 差集 A-B
cat access.log | grep 'index.php?r=products/'| awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
cat access.log | awk -F'|' '{if($4==400){print $3}}' | sort | uniq -c | sort -nr | head -n 10
cat access.log | awk -F'|' 'BEGIN{total=0} {if($4==200) total+=$5} END{print total/1000/1000/1000 "GB"}'
join -e 'null' -o 1.1 -o 1.2 -o 2.1 -a 1 -1 1 -2 2 sw1.txt sw2.txt
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
screen -S yourname -> 新建一个叫yourname的session
screen -ls(或者screen -list) -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
grep
-i 忽略大小写
-H 显示文件名
-h 不显示文件名
-n 显示行号
-B num 显示匹配行的前num行
-A num 显示匹配行的后num行
-C num 显示匹配行的前后num行
sort
-u 去除重复行
-r 倒序
-o file 结果输出到重定向(管道重定向有坑)
-n 数字序排序
-t char 指定分隔符
-k n 选定排序的列
uniq
-c 统计
-d 重复的行
-u 只出现一次行
join
-t char 分隔符
-a n 显示文件1的行之外,也显示没有相同列的行
-v n 与-a相同,只显示没有相同列的行
-o 指定输出格式
-n m 连接/输出 指定文件指定列
-e 'xx' 用于补齐指定输出时的空位
awk
-F char 分隔符
$0 当前行
$1~$n 当前行的第n个字段
FS 输入字段分隔符 默认空格或tab
NF 当前行的字段个数
NR 当前处理的行数
FNR 当前行在文件中的行号
RS 输入行的分隔符,默认为换行符
OFS 输出字段的分隔符,默认为空格
ORS 输出行的分隔符,默认为换行符
BEGIN 处理行之前的程序段
END 处理行之后的程序段
cat a b | sort | uniq # 并集
cat a b | sort | uniq -d # 交集
cat a b | sort | uniq -u # 对称差集 (A-B) U (B-A)
cat a b b | sort | uniq -u # 差集 A-B
cat access.log | grep 'index.php?r=products/'| awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
cat access.log | awk -F'|' '{if($4==400){print $3}}' | sort | uniq -c | sort -nr | head -n 10
cat access.log | awk -F'|' 'BEGIN{total=0} {if($4==200) total+=$5} END{print total/1000/1000/1000 "GB"}'
join -e 'null' -o 1.1 -o 1.2 -o 2.1 -a 1 -1 1 -2 2 sw1.txt sw2.txt
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍