BASH

read [-pt] variable
-p:提示
-t:等待输入的时间

declare:宣告变量的类型 

declare [-aixr] variable
-a:表示variable为数组类型

-i:表示variable为整数数字

-x:和export作用一样

-r:将变量设置为readonly类型

new_var=${old_var-content}:如果old_var存在且有值,那么将old_val的值赋给new_val,否则,将content的值赋给new_var

new_var=${old_var:-content}:如果old_var的值未设置或者是空字符串.那么将content赋给new_var

1>:标准输出 2>:错误输出(覆盖)
1>>:标准输出 2>>:错误输出(追加) 
find / -name "sima" 1>right_file 2>error_file
find / -name "sima" >file 2>&1:错误和正确的输出到file文件中,但是分开的.

/dev/null:指向该地址的都会被删掉.find / -name "sima" 2> /dev/null  :只显示正确的输出

<:将某个文件内容导入到某个地方:cat > hh < /etc/passwd 
<< :由屏幕输入的时候,设置一个标志结束符:cat >hh <<"end": 当输入end时,表示输入结束


cmd1 || cmd2 :若cmd1正确执行($?=0),则不执行cmd2,否则执行cmd2

cmd1 && cmd2 :若cmd1正确执行($?=0),则执行cmd2,否则不执行cmd2

ls /simadaxia 2> /dev/null && echo "exist" || echo "not exist" : 若存在,输出exist,否则输出not exist

CUT:

cut -d: -f1,2 :-d表示以:来进行分割,-f表示取出分割后的第几个元素(分割后从1开始).-f也可以是一个区间(-f1,3)
cat /etc/hosts | cut -c 13-22  表示输出第13到22个字符之间的所有字符
GREP

grep [-acvin] --color=auto '搜寻的字符串' filename
-a :将 binary 档案以 text 档案癿方式搜寻数据 
-c :计算找到字符串的次数 
-i :忽略大小写
-n :输出所在行的行号 
-v :反向选择,显示不满足条件的那一行! 
--color=auto :将找到的关键字显示颜色

SORT:

sort [-fbnrutk] file|stdin
-f:忽略大小写
-b:忽略最前面的空格部分
-n:以数字来进行排序
-r:反向排序
-u:uniq(相同数据只出现一次)
-t:分隔符(默认以tab进行分割)
-k:以某个区间进行排序(-k1,2) cat /etc/passwd | sort -t':' -n -k3

UNIQ 

uniq [-ic] :  -i : 忽略大小写  -c: 进行统计.

last | cut -d' ' -f1 | sort -i | uniq -c  : 统计登录的人以及次数.


TEE:双向重导向:既可以导入一个文件,也可以输出到屏幕
tee [-a] : 以追加的方式...   find / -name "sima" 2> /dev/null | tee result  : 查找到的结果既可以输出到屏幕,也可以输出到result文件中.


tr:可以删除也可以进行替换  

tr [-ds] str  : 既可以将str删除掉,也可以替换掉.  tr [a-z] [A-Z] 转换为大写的.

-d : 删除str 字符

-s : 取代掉重复的元素


SED:

sed -[nefri] actions  : sed 是以[行]为最小单位进行处理
选项参数:
-n  :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的資料一般都會被列出到螢幕上。
      但如果加上 -n 参数,則只有经过 sed 特殊处理的那一行(或者动作)才会被列出來。
-e  :直接在指令列模式上進行 sed 的动作编辑;
-f  :直接将 sed 的动作写在一個档案內, -f filename 则可以执行 filename 內的 sed 动作;
-r  :sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i  :直接修改讀取的檔案內容,而不是由螢幕輸出。

動作說明:  [n1[,n2]]function
n1, n2 :不見得會存在,一般代表『選擇進行動作的行數』,舉例來說,如果我的動作
         是需要在 10 到 20 行之間進行的,則『 10,20[動作行為] 』

function 有底下這些咚咚:
a   :新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c   :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d   :刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i   :插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p   :列印,亦即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起運作~
s   :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!
      例如 1,20s/old/new/g 就是啦!

cat -b test.txt | sed '1a hehe\
> haha'  :表示在第一行的下一行添加新的字符,\表示换行,即添加了两行内容
cat -b test.txt | sed '2,$c simadaxia' : 表示将第2行到最后一行替换为对应的字符串

cat -b test.txt | sed '2d'  :表示删除第2行

cat test.txt | sed '/^#.*$//g' | grep '/^$/d' : 表示将# 开头的删除,注意此时删除空行不能显示行号.


AWK

awk '條件類型1{動作1} 條件類型2{動作2} ...' filename
有几个内置的变量: FS 表示进行切分的字符,默认为空格或是tab

$0 :表示整行的信息

NF:每一行所拥有的列数

NR:当前处理的是第几行.

cat /etc/passwd | awk 'BEGIN{FS=":"} $3 < 5 {print $1 "\t" $3}'
   相当于条件成立才会去处理{}中的内容,BEGIN 表示一开始就要执行的内容
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值