經常使用命令使用

經常使用命令實踐mysql

[root@b ~]# cat c.txt
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4sql

[root@b ~]# cat c.txt |sed 's/^/& /'    &做用是代替前面須要替換舊的內容,這裏指^。而^有指代以某某開頭。
 1.1.1.1
 2.2.2.2
 3.3.3.3
 4.4.4.4bash

 

[root@b ~]# cat c.txt |sed 'N;s/\n/ /'|sed 'N;s/\n/ /'     N指每次讀取2行,而後將換行符替換爲空格dom

1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4排序

 

tr -d "\n"    tr命令的做用——刪除換行符,合併多行it

[root@b ~]# cat c.txt  | tr -d "\n                默認刪除換行符後,全部字段連在一塊兒sed

1.1.1.12.2.2.23.3.3.34.4.4.4打包

 

[root@b ~]# cat c.txt |sed 's/^/& /' | tr -d "\n"          利用sed替換命令在每一個字段行首添加空格符select

 1.1.1.1  2.2.2.2  3.3.3.3  4.4.4.4sort

 

sed和tr命令對比:

[root@b ~]# cat c.txt |sed 's/^/& /' | tr -d "\n" | xargs echo
1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4          #開頭無空格
[root@b ~]# cat c.txt |sed 'N;s/\n/ /'|sed 'N;s/\n/ /'
1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4          #開頭無空格
[root@b ~]# echo " 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4"
1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4          #開頭有空格
[root@b ~]# echo " 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4" | xargs echo
1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4          #開頭無空格

 

 

 

sort排序命令使用

[root@b ~]# sort -nr -t ":" -k 3 /etc/passwd | head            -n表示以數值型進行排序,-t指定分隔符爲冒號,-r表示反向排序,-k指定排序的字段範圍,這裏是按第三個3字段排序

 

abc:x:1002:1003::/home/abc:/bin/bash
feng:x:1001:1002::/home/feng:/bin/bash
no:x:1000:1001:no:/home/no:/bin/bash
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
polkitd:x:998:997:User for polkitd:/:/sbin/nologin
saslauth:x:997:76:Saslauthd user:/run/saslauthd:/sbin/nologin
unbound:x:996:996:Unbound DNS resolver:/etc/unbound:/sbin/nologin
geoclue:x:995:994:User for geoclue:/var/lib/geoclue:/sbin/nologin
mysql:x:994:1000::/home/mysql:/sbin/nologin

 

 

[root@b ~]# find . -maxdepth 1 -name  "*.sh"        #find查找當前目錄下一級目錄的全部符合條件的文件,-maxdepth 參數用於指定find查找目錄的層級深度,默認find查找當前目錄及目錄下全部子目錄內符合條件的文件。
./a.sh

 

[root@b ~]# tar czf a.tar.gz a.sh             #tar打包文件,屢次打包用同一個打包名稱時,後面打包內容會覆蓋前面打包內容。須要注意!
[root@b ~]# tar czf a.tar.gz c.txt
[root@b ~]# tar czf a.tar.gz a.sh.bak
[root@b ~]# tar -tf a.tar.gz
a.sh.bak

 

 

[root@b ~]# i=1                  #$((i++)) 與$i區別,須要注意。i++等價於i=$i+1的意思。
[root@b ~]# echo $((i++))
1
[root@b ~]# echo $i
2
[root@b ~]# echo $((i++))
2
[root@b ~]# echo $i
3
[root@b ~]# echo $((i++))
3
[root@b ~]# echo $i
4

 

 

while read 用法,表示逐行去讀取某個文件

[root@b ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@b ~]# while read line;do echo $line;done </etc/hosts          # </etc/hosts表明read文件內容的來源  
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

 

select選擇菜單,PS3爲固定語句格式。

[root@b linshi]# cat b.sh
#!/bin/bash

PS3="what system do you like?"

select i in CentOS Ubuntu Redhat

do
echo "you like system is:" $i

done[root@b linshi]# sh b.sh1) CentOS2) Ubuntu3) Redhatwhat system do you like?1you like system is: CentOSwhat system do you like?2you like system is: Ubuntuwhat system do you like?3you like system is: Redhatwhat system do you like?^C

相關文章
相關標籤/搜索