getconf LONG_BIT 查询当前平台是?位机器
先记录一下几个预定义变量:
$#:命令行中变量的个数
$*:所有变量的内容
$?:上一条指令执行后,返回的状态
$0:当前执行的进程/程序名
!$:上一个命令的最后一个参数
$$:当前进程号
find /sbin -name "test" | xargs ls -l
grep主要用于查找
sed主要用于编辑和修改
awk主要用于对内容进行分析并做一些处理(类似SQL指令)
grep用于搜索文件中对应的内容,显示内容或文件信息,主要的参数有以下几类:
-c : 只输出匹配的行
-I : 不区分大小写
-h : 查询多文件时不显示文件名
-l : 查询多文件时, 只输出包含匹配字符的文件名
-n : 显示匹配的行号及行
-v : 显示不包含匹配文本的所有行
sed在编辑上,具有重定向的功能,可以追加到内容中的任意位置,主要参数有:
基本工作方式: sed [基本方式] ‘ ’ [动作] ‘ [输入文本]
-n : 安静模式
-e : 多重编辑
-f : 首先将 sed的动作写在一个档案内, 然后通过 sed -f scriptfile 就可以直接执行 scriptfile 内的sed动作
-i : 直接编辑, 这回就是真的改变文件中的内容了, 别的都只是改变显示。
动作:
a 追加
c 取代, c 后面的字符串, 这些字符串可以取代 n1,n2之间的行
d 删除
i 插入
p 打印
awk
awk兼具了sed和grep两者的优势,在查找和修改文件上功能强大。
awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
一行一行的分析处理 awk '条件类型1{动作1}条件类型2{动作2}' filename, awk处理一行当中分成数个"字段"(区域), 默认的分隔符是空格键。
cat /etc/passwd |awk -F ':' '{print $1"\t"$7}' 显示/etc/passwd下以:分隔的第1列和7列。
awk -F: '/root/' /etc/passwd 搜索在passwd里面的包含root关键字的所有行。
awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd 显示/etc/passwd下的所有账户,
以BEGIN END为限,处理内部逻辑请求,
操作特点类似于SQL。