執行級別,壓縮命令,單引號與雙引號運用

2022-01-31 13:03:11 字數 4716 閱讀 3870

linux 系統執行級別一般為 0-6,請分別寫出每個級別的含義。

0 關機

1 單使用者模式

2 多使用者模式

沒有nfs

3 完全的多使用者

命令列模式

4 沒有使用

5 圖形化介面模式

6 重啟

init 5 臨時修改

runlevel 顯示執行級別

修改檔案 /etc/inittab

希望防火牆,僅在 3 級別上開機自啟動,該如何做?

在--level後加數字指定執行級別 on 開 off 關

[root@znix ~]# chkconfig --level 3  iptables on

[root@znix ~]# chkconfig |grep ipt

iptables       0:off   1:off   2:off   3:on    4:off   5:off   6:off

[root@znix ~]# chkconfig --level 3  iptables off

[root@znix ~]# chkconfig |grep ipt

iptables        0:off   1:off   2:off   3:off   4:of

etc/目錄為 linux 系統的預設的配置檔案及服務啟動命令的目錄

a.請用 tar打包/etc 整個目錄(打包及壓縮)

b.請用 tar打包/etc 整個目錄(打包及壓縮,但需要排除/etc/services 檔案)

c.請把 a 點命令的壓縮包,解壓到/tmp 指定目錄下(最好只用 tar命令實現)

建立壓縮包的時候盡量使用相對路徑

[root@znix ~]# tar zcvf  /tmp/etc.tar.gz     /etc/

筐(壓縮包的名字)

要壓縮的檔案

[root@znix ~]# ls -lh /tmp/etc.tar.gz

-rw-r--r-- 1 root root 9.3m aug 25 09:34 /tmp/etc.tar.gz

z----

壓縮工具 gzip  通過gzip軟體進行壓縮

c----create

建立壓縮包

v----

顯示建立/解壓

的過程f----

指定壓縮包的位置和名字

檢視壓縮包的內容時可以不加z引數,系統會自動選擇。

[root@znix tmp]# tar ztf etc.tar.gz

t----

顯示或者列表

解壓不指定路徑的時候會解壓到當前路徑。

[root@znix tmp]# tar zxf etc.tar.gz

x----extract

解壓指定解壓路徑

-c (大寫c)

指定解壓路徑

[root@znix ~]# tar xf /tmp/etc.tar.gz  -c /tmp/

[root@znix ~]# ls -ld /etc/

drwxr-xr-x. 78 root root 4096 aug 25 09:42 /etc/

--exclude  後面加上等號填上要排除的檔案

[root@znix /]# tar zcf /tmp/etc-paichu.tar.gz /etc/ --exclude=etc/services

[root@znix /]# tar tf /tmp/etc-paichu.tar.gz |grep "services"

etc/init/readahead-disable-services.conf

removing leading `/' from member names

把壓縮包中的檔案最前面的斜線刪除

壓縮包裡的內容

絕對路徑》相對路徑

原因:解壓的時候會按照壓縮包內的路徑進行解壓,從根目錄打包會覆蓋其他檔案

系統解決辦法:

出於安全的考慮,把絕對路徑前面的'/'去掉,變成相對路徑

先進入根目錄再進行壓縮。

[root@znix /]# tar zcf /tmp/etc.tar.gz etc/

一條命令,進入根目錄並且壓縮。

[root@znix ~]# cd / && tar zcf /tmp/data.tar.gz etc/

&& 表示前面的執行好了,再執行後面的

[root@znix ~]# cd / && tar zcf /tmp/etcbak.tar.gz etc/

[root@znix /]# ll /tmp/etcbak.tar.gz

-rw-r--r-- 1 root root 9733401 aug 25 10:54 /tmp/etcbak.tar.gz

建立環境

[root@znix /]# mkdir /clsn ; echo "i am clsn,myqq is 31333741">/clsn/clsn.txt

[root@znix clsn]# cat clsn.txt

i am clsn,myqq is 31333741

現在需要從檔案中過濾出「clsn」和「31333741」字串,請給出命令。

先用sed命令將前面的部分替換為空,經過管道,sed在將後面的部分替換為空。

[root@znix clsn]# sed 's#i am ##g' clsn.txt |sed 's#,myqq is##g'

clsn 31333741

sed將逗號換為空格,awk以空格為分隔符,print輸出列的內容,$3表示第三列,$nf 表示最後一列

[root@znix clsn]# sed 's#,# #g' clsn.txt |awk ''

clsn 31333741

使用-f指定分隔符,這裡指定為逗號和空格,print 需要在

{}中才可以使用

。-f 指定分隔符,表示每一列的結束標記

[root@znix clsn]# awk -f "[, ]" '' clsn.txt

clsn 31333741

先用sed將逗號替換為空格,然後再用cut 切割。

-d 表示用什麼切割,這裡指定為空格,-f3,6表示第三和六列。

[root@znix clsn]# sed 's#,# #g' clsn.txt|cut -d ' ' -f3,6

clsn 31333741

awk在''

裡面寫雙引號裡面寫什麼就顯示什麼

[root@znix clsn]# awk -f "[ ,]"  '' clsn.txt

clsn,31333741

檢視/etc/services檔案內容有多少行

[root@znix clsn]# wc -l /etc/services

10774 /etc/services

-l 顯示檔案有多少行

ps命令,檢視正在執行的程序,

-ef

顯示系統中正在執行的程序

[root@znix ~]# ps -ef

[root@znix ~]# ps -ef|grep "/sshd"

root       1450      1  0 aug24 ?        00:00:00 /usr/sbin/sshd

root       4965   4846  0 12:32 pts/0    00:00:00 grep /sshd

使用wc命令檢視行數

數字大於2時表示程式執行。

[root@znix ~]# ps -ef|grep "/sshd"|wc -l

過濾出/etc/services  檔案包含 3306或 1521 兩資料庫埠的行的內容。

[root@znix ~]# grep -e "3306|1521" /etc/services

mysql           3306/tcp                        # mysql

mysql           3306/udp                        # mysql

ncube-lm        1521/tcp                # ncube license manager

ncube-lm        1521/udp                # ncube license manager

"|" 表示或者,必須加在引號中。屬於正規表示式。

egrep時grep的高階版,與grep -e 相同。

[root@znix ~]# egrep "3306|1521" /etc/services

mysql           3306/tcp                        # mysql

mysql           3306/udp                        # mysql

ncube-lm        1521/tcp                # ncube license manager

ncube-lm        1521/udp                # ncube license manager

所見即所得,

單引號裡的內容會原封不動的顯示出來

[root@znix ~]# echo '$lang $(hostname)'

$lang $(hostname)

會解析裡面的特殊符號

[root@znix ~]# echo "$lang $(hostname)"

en_us.utf-8 znix

單引號,雙引號,無引號

單引號 所見即所得 雙引號 1 把雙引號的所有內容都輸出出來 2 如果中命令 要反引下 變數 特殊轉義符等,會先把變數 命令 特殊轉義符解析出結果再輸出最終內容。無引號 與雙引號基本相同,連續數字不用加任何引號 建議 指令碼中普通字串盡量雙引號,單純數字可以不用加引號 a 192 a 192 a b...

Golang 單引號 雙引號與反引號

單引號在 golang 表示乙個字元,使用乙個特殊型別 rune 表示字元型。rune 為 int32 的別名,它完全等價於 int32,習慣上用它來區別字元值和整數值。rune 表示字元的 unicode 碼值。package main import fmt func main 編譯執行輸出 c ...

單引號和雙引號

char p1 1 char p2 1 1 的ascii碼值為49 0和49位址處為作業系統使用,故訪問這些位址如printf s,s,s p1,p2,p3 會產生段錯誤。printf n n的ascii碼值為10,同理,段錯誤。a 表示字元常量,在記憶體中佔1個位元組,a 1表示 a 的ascii...