Linux指令總結

????此篇文章內容是我很久以前在印象筆記中的一個知識總結,大概122個Linux指令。如今,寫出來就當再回顧一遍了。若有錯誤的內容,請朋友們指出。



pwd ? 顯示當前位置的路徑

? ? ? ? ? 參數:-P?????顯示真實路徑,而非鏈接路徑


mkdir 創建目錄

? ? ? ? ? 參數:-m ? ? 設置目錄權限。eg:mkdir -m 777 /apps

? ? ? ? ? ? ? ? ? ? ? -p ? ? 設定層級目錄。 eg:mkdir -p /apps/nginx

? ? ? ? ? eg:mkdir -m 777 -p /tmp/test{1,2}


ls ? 列出文件或目錄名稱

? ? ? ? ? 參數:-a ? ? 列出全部文件 包括.開頭的文件(隱藏文件)

? ? ? ? ? ? ? ? ? ? ?-A ? ? 列出全部文件 不包括.與..兩個目錄

? ? ? ? ? ? ? ? ? ? ?-d ? ? 僅列出目錄

? ? ? ? ? ? ? ? ? ?? -f ? ? ?直接列出結果 ,不排序

? ? ? ? ? ? ? ? ? ?? -F ? ? 列出全部文件,并顯示附加信息,如 * ?/ ?= ?|

? ? ? ? ? ? ? ? ? ? ?-h ? ? 顯示人類易讀的文件容量

? ? ? ? ? ? ? ? ? ? ?-l ? ? ?長格式顯示

? ? ? ? ? ? ? ? ? ? ?-t ? ? ?以時間排序

? ? ? ? ? ? ? ? ? ? ?-r ? ? ?反向輸出

? ? ? ? ? ? ? ? ? ? ?-i ? ?? 顯示inode

? ? ? ? ? ? ? ? ? ? ?-Z ? ? 查看安全性文件(selinux需開啟)

?? ??? ??? ??? ??? ??--time-style=long-iso ?格式化時間

????????eg: ? ?ls -l --time-style=long-iso

????????eg: ? ?ls -lhi?

8599744978 drwxr-xr-x? 3 stephenzhang? staff? ? 96B? 6 28 18:44 PycharmProjects

以上屏幕輸出字段的解析:

第一列:inode 索引節點編號:是文件或目錄所在磁盤中唯一標識,讀取時先讀取此索引節點。

第二列:

?? ?? ? 第1個字符:文件類型,-普通文件;d目錄;l鏈接文件;c字符文件

?? ?? ? 第2-10字符:(rwxrwxrwx)文件權限

?? ?? ? 第11個字符:. ?selinux相關,當關閉selinux后,. 即消失。

第三列:文件硬鏈接數。相當于文件的另一個入口,同一個文件的對應的硬鏈接其對應相同的inode編號。

第四列:文件的屬主(或用戶)

第五列:文件所在的用戶組(屬組)

第六列:文件大小

第七列:文件改動日期/時間

第八列:文件名稱或目錄名稱


du? ?統計文件或目錄使用容量

? ? ? ? ? 參數:-a ? ? 所有文件與目錄

? ? ? ? ? ? ? ? ? ? ? -s ? ? 只顯示總數

? ? ? ? ? ? ? ? ? ? ? -h ? ??顯示人類易讀的文檔容量


cp? ?復制文件或目錄

? ? ? ? ? 參數:-a ?? 相當于-dr --preserve=all

? ? ? ? ? ? ? ? ? ? ?-p ?? 連同文件的屬性(權限、用戶、時間)一起復制。

? ? ? ? ? ? ? ? ? ? ?-r ? ? 遞歸復制,層級目錄復制,但不復制文件的權限。

? ? ? ? ? ? ? ? ? ? ?-i ? ? ?覆蓋詢問

? ? ? ? ? ? ? ? ? ? ?-u ? ? 若復制的文件存在差異時才進行復制


rm? ?刪除文件或目錄

? ? ? ? ? 參數:-f ? ?強制刪除

? ? ? ? ? ? ? ? ? ? ?-i ? ? 刪除提示

? ? ? ? ? ? ? ? ? ? ?-r ? ?遞歸刪除


chgrp? ?改變文件所屬組

? ? ? ? ? 參數:-R ? 遞歸

? ? ? ? ? eg:chgrp -R python /tmp/test


chown? ?改變文件或目錄擁有者

? ? ? ? ? 參數:-R ? 遞歸

? ? ? ? ? eg:chown -R python.python ?/tmp/test


chmod? ?改變文件權限 ??r:4 w:2 x:1

? ? ? ? ? 參數:-R ? ? 遞歸

? ? ? ? ? ? ? ? ? ? ? ?u g o a: ? +加??-減?=設定 ? eg:u+r

? ? ? ? ? eg:chmod u=rwx,go=rx?/tmp/test/test.txt

? ? ? ? ? eg:chmod a+r?/tmp/test/test.txt

? ? ? ? ? eg:chmod 644 /tmp/test/test.txt

?? ??? ?? setuid :針對程序或二進制文件(注意.sh文件無效) eg: -rwsr--r--? ????

? ? ? ? ? 有s或S位時,普通用戶具有該文件的屬主權限并可通過屬主權限創建進程。

? ? ? ? ? eg:chmod 4644 file ?或 chmod u+s file

? ? ? ? ? setgid : 多用戶共享目錄的權限 chmod g+s /directory ?


useradd? ?創建用戶

? ? ? ? ? 參數:-M ? ? 不建立家目錄

? ? ? ? ? ? ? ? ? ? ? -s ? ?? shell

? ? ? ? ? ? ? ? ? ? ? -g ? ? ?group

? ? ? ? ? ? ? ? ? ? ? -G ? ? 補充group

? ? ? ? ? ? ? ? ? ? ? -m ? ? 建立家目錄

? ? ? ? ? ? ? ? ? ? ? -D ? ? 查看預設值

? ? ? ? ? ? ? ? ? ? ? -u ? ? ?指定uid號

? ? ? ? ? ? ? ? ? ? ? -e ? ? ?過期時間

? ? ? ? ? ? ? ?eg:useradd ?-g new1 -s /sbin/nologin -M ?mysql

? ? ? ? ? ? ? ? ? ? ? ?useradd -D -e "" ? 取消過期時間默認設定?


more? ?翻頁查看文件


less ? ? 翻頁查看文件


head? ?從文件頭部查看

? ? ? ? ? ? ?eg:head ?-10 ?test.txt


tail ? 從文件尾部查看

? ? ? ? ? 參數:-f ? ? 追蹤文本變化并顯示

? ? ? ? ? ? ?eg:tail -10 test.txt

? ? ? ? ? ? ? ? ? ? ?tail -f test.txt


umask? ?默認權限

? ?? ?????參數:-S ? ? 顯示ugo權限


lsattr? ?查詢文件或目錄隱藏屬性

? ?? ?????參數:-a:顯示隱藏文件的屬性

? ? ? ? ? ? ? ? ? ? ? ?-d:僅列出目錄本身的屬性而非目錄內的文件名

? ? ? ? ? ? ? ? ? ? ? ?-R:連同子目錄的文件一并列出


chattr? ?設定文件或目錄隱藏屬性

? ?? ?????參數:-i ? ? 禁止刪除或更改等任何操作

? ? ? ? ? ? ? ? ? ? ?-a ? ?只能添加內容


which? ?查找指定指令信息

? ?? ?????參數:-a ? ? 將所有path目錄中找到的指令列出

? ? ? ? ? ? eg:which ll


find ? 查找文件或目錄

? ? ? ? ? 參數:-name ?? 查找名字

? ? ? ? ? ? ? ? ? ? ? -type ? ? ?類型 ?f(文件) d(目錄)

? ? ? ? ? ? ? ? ? ? ? -mtime ? 修改的時間。find / -mtime +4 ?五天之前修改不包括第四天

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?find / -mtime 4 ?第四天修改

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?find / -mtime -4 四天內修改

? ? ? ? ? ? ? ? ? ? ? -perm ? ? 權限

? ? ? ? ? ? ? ? ? ? ? -size ? ? ? 文檔大小 ? ? ? find / -size +1M 大于1M文檔

? ? ? ? ? ?eg:?條件匹配查找find . \( -name "*.sh" -o -name "*.txt" \) -print

?? ??? ??? ??? ?? 匹配并執行cmd,find / -name '*.sh' -exec cat -n?{} \;


cat? ?查看文件內容

? ? ? ? ? 參數:-n ? ? 顯示行號

? ? ? ? ? ? ? ? ? ? ?-A?????


df ? 查看磁盤或目錄容量

? ? ? ? ? 參數:-h ? ? 以人類易讀的方式顯示

? ? ? ? ? ? ? ? ? ? ?-T ? ? 顯示文件系統名稱

? ? ? ? ? ? ? ? ? ? ?-i ? ? ?顯示inode


ln? ?鏈接

? ? ? ? ? 參數:-s ? ? 軟鏈接或標記鏈接。 生成新的inode文件

? ? ? ? ? 不帶s參數時,為硬鏈接。且硬鏈接產生的文件 inode 是一樣的


lsblk? ?列出所有磁盤

? ? ? ? ? 參數:-f ? ? 列出文件系統名稱

? ? ? ? ? ? ? ? ? ? ?-m ? 列出設備權限


blkid? ?查存儲設備UUID


mount ? 掛載

? ?? ?????參數:-a ? ? 掛載stab中未掛載的設備

? ? ? ? ? ? ? ? ? ? ? -l ? ? ?顯示Label列

? ? ? ? ? ? ? ? ? ? ? -t ? ? ?制定掛載類型,如xfs,ext3,ext4,iso9660,nfs

? ? ? ? ? ? ? ? ? ? ? -o ? ? 參數,async,sync:同步寫入或異步寫入。默認為async

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? atime,noatime:更改訪問時間

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ro,rw:只讀或讀寫

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? auto,noauto:允許自動掛載或不自動掛載

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? suid,nosuid:是否允許suid/sgid的檔案格式

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? exec,noexec:是否可以執行二進制檔案

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? user,nouser:一般用戶是否可以mount

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? defaults:預設值為rw,suid,dev,exec,auto,nouser,async

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? remount:重新掛載


swapon? ?設置交換空間

? ? ? ? ? 參數:-s ? ? 查詢所有交換空間


swapoff? ?取消交換空間


mkswap? ?格式化交換空間


parted ? 分區

? ? ? ? ? 參數:print ? ? 顯示所有分區。例:parted /dev/sdb print

? ? ? ? ? ? ? ? ? ? ? gpt ? ? ? 轉換mbr到gpt

? ? ? ? ? ? ? ? ? ? ? mbr ? ? ?轉換gpt到mbr


cpio ? 數據處理

? ? ? ? ? 參數:-ovcB 備份

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?????例:cpio ?-ovcB> filename|device?

? ? ? ? ? ? ? ? ? ? ?-ivcdu 還原

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 例:cpio -ivcdu

? ? ? ? ? ? ? ? ? ? ?-ivct ?? 查看

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 例:cpio -ivct

? ? ? ? ? ? ? ? ? ? ?-o ? ? 拷貝,將數據拷貝到檔案或設備中

? ? ? ? ? ? ? ? ? ? ?-B ? ? Blocks大小增加到5120bytes,默認為512bytes

? ? ? ? ? ? ? ? ? ? ?-i ? ? ?將數據從檔案或設備中拷貝到系統中

? ? ? ? ? ? ? ? ? ? ?-d ? ? 還原時,建立目錄

? ? ? ? ? ? ? ? ? ? ?-u ? ? 自動覆蓋舊檔案

? ? ? ? ? ? ? ? ? ? ?-v ? ? 顯示存儲過程


vim? ?文本編輯(vim功能十分強大,以后單獨寫關于其的文章)

? ? ? ? ? 多行復制:ma? y’a

? ? ? ? ? 顯示行號: :set nu

? ? ? ? ? 替換: :%s#內容1#內容2#g


alias ? 設置別名

? ? ? ? ? 例:alias la=‘ls -al'


set? ?查看自定義變量


unset?? 取消自定義變量


env ? 查看環境變量


read ? 讀取鍵盤輸入

? ? ? ? ? 參數:-p ? ? 輸入提示文本


declare? ?聲明變量

? ? ? ? ? 參數:-a:將變量定義為陣列array類型

? ? ? ? ? ? ? ? ? ? ? -i:將變量定義為整數類型

? ? ? ? ? ? ? ? ? ? ? -x:將變量導出為環境變量

? ? ? ? ? ? ? ? ? ? ? -r:將變量設置為readonly類型

? ? ? ? ? ? ? ? ? ? ? eg:declare -i sum=100+200


ulimit? ?限制關系(修改文件描述符)

? ? ? ? ? 參數:-H:hard。嚴格限制

? ? ? ? ? ? ? ? ? ? ? -S:soft。警告限制

? ? ? ? ? ? ? ? ? ? ? -a:列出所有限制

? ? ? ? ? ? ? ? ? ? ? -f:可建立的最大文件大小

? ? ? ? ? ? ? ? ? ? ? -t:可以是用的最大CPU時間(單位s)

? ? ? ? ? ? ? ? ? ? ? -u:單一用戶可以使用的最大程序數量


echo? ?顯示

? ? ? ? ? 參數:-e:解釋“\”跳脫符 ?(\t tab;\b 退格;\n 回車)

? ? ? ? ? ? ? ? ? ? ? -n: ?不換行

? ? ? ? ? 例:echo -e “hello\n”


type? ?查詢指令類型

? ? ? ? ? 參數:-t:類型。file:為外部指令;alias:表示別名;builtin:內建指令


cut ? 截取

? ? ? ? ? 參數:-d ? ? 分隔符 如’:'

? ? ? ? ? ? ? ? ? ? ? -f ? ? ?取第幾字段

? ? ? ? ? ? ? ? ? ? ? -c ? ? 取第幾個字符 如 取第12-15的字符

? ? ? ? ? eg:echo ${PATH}|cut -d ‘:’ -f 2


grep? ?內容過濾 善于取行

? ? ? ? ? 參數:-a ? ? 將二進制文檔以test文檔方式搜索

? ? ? ? ? ? ? ? ? ? ? -c ? ? 計算找到的字符數

? ? ? ? ? ? ? ? ? ? ? -i ? ? ?忽略大小寫

? ? ? ? ? ? ? ? ? ? ? -n ? ? 順便輸出行號

? ? ? ? ? ? ? ? ? ? ? -v ? ? 反向選擇

? ? ? ? ? ? ? ? ? ? ? -o? ? ?只顯示篩選的文字

? ? ? ? ? ? ? ? ? ? ? -E ? ? 擴展模式

????????eg:egrep '(TOM|DAN)’ 或 grep -E ‘(a|b)'


sort? ?排序

? ? ? ? ? 參數:-f ? ? 忽略大小寫的差異

? ? ? ? ? ? ? ? ? ? ?-b ?? 忽略前面的空白字符部分

? ? ? ? ? ? ? ? ? ? ?-M ? 以月份來排序

? ? ? ? ? ? ? ? ? ? ?-r ? ? 反向排序

? ? ? ? ? ? ? ? ? ? ?-u ? ? 去重,相同數據 僅列一行

? ? ? ? ? ? ? ? ? ? ?-t ? ? ?分隔符

? ? ? ? ? ? ? ? ? ? ?-n ? ? 指定按數字大小排序。默認是以ascll碼排

? ? ? ? ? ?eg:cat /etc/passwd|sort -t: -k3 -n


wc ? 統計行數

? ? ? ? ? 參數:-l ? ? 統計總行數

? ? ? ? ? ? ? ? ? ? ?-w ? 僅列出使用多少不同的字符數

? ? ? ? ? ? ? ? ? ? ?-m ? 列出使用字符的總數


uniq? ?將上下連續重復字符顯示為一行

? ? ? ? ? 參數:-i ? ? 忽略大小寫

? ? ? ? ? ? ? ? ? ? ?-c ? ? 進行統計數量

? ? ? ? ? 例:last|cut -d ' ' -f 1|sort|uniq -c

? ? ? ? ? ?統計單詞數量:

?? ??? ??? ??? ??? ??? ?egrep -o "[a-zA-Z]+" /tmp/test.1 |sort|uniq -c


awk? ?格式化輸出

區域與記錄

field域,區域,字段 ?(eg:?$1,$2…$NF)。FS 為切割區域的標識符

record記錄,默認一整行,并以換行符結束

? ? ? ? ? 參數:-F ? ? 分隔符,如”:”或“[ :]”

? ? ? ? ? ? ? ? ? ? ?NR ? 逐行記錄行號

? ? ? ? ? ? ? ? ? ? ?NF ? ?顯示每行的段數(區域數量)

? ???? ??? ??? ?? ? ?FS ? 字段分隔符,默認為空格

?? ??? ??? ??? ?? ? ?$NF ? 顯示最后一個區域

?? ??? ??? ??? ?? ? ?RS ? ? 記錄的分隔符,可以指定每個記錄的結尾標志

?? ??? ?? ?特殊操作符號:

?? ??? ??? ??? ?? ? ~ :用于對記錄或字段的表達式進行匹配

? ? ? ? ? ? ? ? ? ? !~:用于表達與~相反的意思

? ? ? ? ? ?引用外部變量:"'"$i"'"

? ? ? ? ? ?eg:awk '$1~/^root/{print $0}' ?file

? ? ? ? ? ? ? ? ? ?gawk --posix '$1~/o{1,2}/{print $NF}' test.1

? ? ? ? ? ?eg:awk -F '[ :]' '{print $2}' new

? ? ? ? ? ? ? ? ? awk -F '[ :]' '{print NF}' new 顯示每行的段數

? ? ? ? ? ? ? ? ? awk -F '[ :]' '{print NR}' new 顯示 行號

? ? ? ? ? ? ? ? ? last -n 5|awk '{print $1 "\t lines:" NR "\t columns:" NF}'

? ? ? ? ? ? ? ? ? cat /etc/passwd | awk '{FS=":"} $3 < 10 {print $1 "\t " $3}

? ? ? ? ? ?eg:統計文件空行總和

?? ??? ??? ??? ???awk '/^$/{a=a+1}END{print a}' /etc/services

? ? ? ? ? ?eg: 統計所有環境變量的目錄中的三個字母指令的個數

?? ??? ??? ??? ???find $(echo $PATH|tr ":" " ") -type f -name "???"|awk '{a+=1}END{print a}'

?? ?? ??? ? eg:for i in `seq $(wc -l host|awk '{print $1}')`;do ssh admin@$(awk 'NR=="'"$i"'"{print $1} ' host) /sbin/ifconfig;done


setfacl ? 設置文件或文件夾訪問控制

? ? ? ? ? 參數:-m ? ? 修改文件或文件夾訪問選項

? ? ? ? ? ? ? ? ? ? ? -x ? ? ?移除文件或文件夾訪問選項

? ? ? ? ? eg:setfacl -m u:lisa:r file

? ? ? ? ? ? ? ? ?setfacl -m m::rx file

? ? ? ? ? ? ? ? ?setfacl -x g:staff file

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?u:賬號:權限

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?g:組名:權限

? ? ? ? ? ? ? ? ? ? ? ? ? ?? m:權限


getfacl? ?查看文件或文件夾訪問控制級別


tr? ?取代或替換文本中的字符

? ? ? ? ? 參數:-d ? ? 刪除文本中相應的字符

? ? ? ? ? ? ? ? ? ? ? -s ? ? 取代重復的字符

? ? ? ? ? eg:last | tr '[a-z]' '[A-Z]’ 將字母小寫變為大寫

? ? ? ? ? ? ? ? ? cat /etc/passwd | tr -d ':'


join? ?將兩個文本內容拼接到一起

? ? ? ? ? 參數:-t ? ? 分隔符,兩個進行對比如果相同則連成一行

? ? ? ? ? ? ? ? ? ? ? -i ? ? 忽略大小寫


paste ??將兩個文本內容簡單拼接 ? ? 默認以tab間隔

? ? ? ? ? 參數:-d ? ? 分隔符


sed ? 文本中字符處理

? ? ? ? ? 參數:-i ? ? ?編輯文本 ?eg:sed -i ’s/xx/**/g’ new 將new中xx替換為** ,可以把編輯的文件生成新的文件名,如:??-i.bak

? ? ? ? ? ? ? ? ? ? ?-n ? ? 取消默認輸出 ? eg:sed -n '2,5p’ new 顯示new中 2-5行內容

? ? ? ? ? ? ? ? ? ? ?-r ? ? ?采用正則表達式

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a? ?:新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?c? ?:取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

? ? ? ? ? ? ? ? ? ? ? ? ? ?????d? ?:刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i? ?:插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);

? ? ? ? ? ? ? ? ? ? ? ? ? ?????p? ?:列印,亦即將某個選擇的資料印出。通常 p 會與參數sed -n 一起運作~

? ? ? ? ? ? ? ? ? ? ? ? ? ?????s? ?:取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正則表示法

?? ??? ?? ? eg:替換文件里面內容,并生成新的文件

?? ??? ??? ??? ??? ? sed -ri.bak 's#\:# #g' /tmp/test.1?

? ? ? ? ? ? eg:后向引用

? ? ? ? ? ? ? ? ? ? ?sed -nr 's#(.*) (.*)#ping \1#gp' hosts


kill? ?殺進程 (kill -signal PID)

? ? ? ? ? -l ? ? ?顯示所有signal

? ? ? ? ? -9 ? ? 強制關閉,不推薦。原因是無法進行程序的善后,如,臨時文件、socket鏈接

? ? ? ? ? -15 ? 正常請求關閉進程

? ? ? ? ? -2 ? ? 中斷程序

信號量:

SignalDescriptionSignal number on Linux x86

SIGABRTProcess aborted6

SIGALRMSignal raised by?alarm14

SIGBUSBus error: "access to undefined portion of memory object"7

SIGCHLDChild process terminated, stopped (or continued*)17

SIGCONTContinue if stopped18

SIGFPEFloating point exception: "erroneous arithmetic operation"8

SIGHUPHangup1

SIGILLIllegal instruction4

SIGINTInterrupt2

SIGKILLKill (terminate immediately)9

SIGPIPEWrite to pipe with no one reading13

SIGQUITQuit and dump core3

SIGSEGVSegmentation violation11

SIGSTOPStop executing temporarily19

SIGTERMTermination (request to terminate)15

SIGTSTPTerminal stop signal20

SIGTTINBackground process attempting to read from tty ("in")21

SIGTTOUBackground process attempting to write to tty ("out")22

SIGUSR1User-defined 110

SIGUSR2User-defined 212

SIGPOLLPollable event29

SIGPROFProfiling timer expired27

SIGSYSBad?syscall31

SIGTRAPTrace/breakpoint?trap5

SIGURGUrgent data available on socket23

SIGVTALRMSignal raised by timer counting virtual time: "virtual timer expired"26

SIGXCPUCPU time limit exceeded24

SIGXFSZFile size limit exceeded25


printf? ?格式化輸出

? ? ? ? ? 參數:

? ? ? ? ? ? ? ?關于格式方面的幾個特殊格式:

? ? ? ? ? ?????? \a? ? 警告聲音輸出

? ? ? ? ? ? ?????\b ? ?退格鍵(backspace)

? ? ? ? ? ?????? \f ? ? 清楚屏幕 (form feed)

? ? ? ? ? ?????? \n ? ?輸出新的一行

? ? ? ? ? ? ? ? ?\r? ? 亦即Enter按鍵

? ? ? ? ? ? ? ? ?\t? ? 水平的[tab]按鍵

? ? ? ? ? ? ? ? ?\v? ? 垂直的[tab]按鍵

? ? ? ? ? ? ? ? ?\xNN? NN 為兩位數的數字,可以轉換數字成為字符。

? ? ? ?關于C語言內,常見的變量格式

? ? ? ?%ns? ?那個n是數字, s 代表 string ,亦即多少個字元;

? ? ? ?%ni? ?那個n是數字, i 代表 integer ,亦即多少整數位數;

? ? ? ?%N.nf 那個n與N都是數字,f 代表floating (浮點),如果有小數位數,

? ? ? ? 假設我共要十位數,但小數點有兩位,即為%10.2f


test? ?檢查文件類型與匹配

? ? ? ? ? 參數:-n ? ? 字符串非零

? ? ? ? ? ? ? ? ? ? ?-z ? ? 字符串為零

? ? ? ? ? ? ? ? ? ? ?-b ? ? 文件存在且是塊類型

? ? ? ? ? ? ? ? ? ? ?-c ? ? 文件存在且為字符類型

? ? ? ? ? ? ? ? ? ? ?-d ? ? 文件存在切位文件夾類型

? ? ? ? ? ? ? ? ? ? ?-e ? ? 文件存在

? ? ? ? ? ? ? ? ? ? ?-f ? ? ?文件存在且是規范文件

? ? ? ? ? ? ? ? ? ? ?-g ? ? 文件存在且設置有組ID

? ? ? ? ? ? ? ? ? ? ?-r ? ? ?文件存在且可讀

? ? ? ? ? ? ? ? ? ? ?-w ?? 文件存在且為可寫

? ? ? ? ? ? ? ? ? ? ?-x ? ? 文件存在且為可執行

? ? ? ? ? ? ? ? ? ? ?-s ? ? 文件存在且文件大于0

? ? ? ? ? ? ? ? ? ? ?-S ? ? 文件存在且為socket類型


date? ?時間

? ? ? ? ? 參數:-d (或--date) ? ? ?顯示日期 如:date -d yesterday +%d ;date --date(1 day ago)+%Y%m%d

?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?? ? date +F -d?“+2day” ;date +F %H:%M ?-d?“+2min” ?

? ? ? ? ? ? ? ? ? ? ?-s ? ? 設置時間 ? ? ? ? date -s 14:36:00;date -s 2012-08-02;date -s "2012-05-18 04:53:00"

? ? ? ? ? ? ? ? ? ? ? +%F ? ?年月日長格式

? ? ? ? ? ? ? ? ? ? ? +%y-%m-%d ? ?年月日短格式

? ? ? ? ? ? ? ? ? ? ? +%H:%M:%S? ? ?時分秒

? ? ? ? ? ? ? ? ? ? ? +%w ? ? ? ? ? ? ? ? 星期 ? ? 0 - 6 ?(周日-周六)

? ? ? ? ? eg:for n in `seq 30`;do date -s "2017/03/$n";touch access_www_`(date +%F)`.log;done


chage ? ?密碼失效是通過此命令來管理的。

  參數:

  -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。

  -M 密碼保持有效的最大天數。

  -W 用戶密碼到期前,提前收到警告信息的天數。

  -E 帳號到期的日期。過了這天,此帳號將不可用。

  -d 上一次更改的日期

  -I 停滯時期。如果一個密碼已過期這些天,那么此帳號將不可用。

  -l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。

??????例:chage?-d 0 用戶登錄時需要重新修改密碼


sh ? 執行script

? ? ? ? ? 參數:-n ? ? 不執行script,僅查詢語法的問題

? ? ? ? ? ? ? ? ? ? ?-v ? ? 執行script前,先將script內容輸出屏幕

? ? ? ? ? ? ? ? ? ? ?-x ? ? 將使用到的script內容顯示到屏幕上


usermod? ?修改用戶屬性

? ? ? ? ? ?參數:

? ? ? ?????-c? :說明,即 /etc/passwd 第五字段的說明。

? ? ?????? -d? :設置家目錄,即修改 /etc/passwd 的第六字段。

? ? ?????? -g? :設置組,修改 /etc/passwd 的第四字段。


xfs_quota ? ?配額

? ? ? ? ? ? ?xfs_quota -x -c ? ? “指令” 掛載點 ??

? ? ? ? ? ? ? 參數:-x:專家模式,后續才能加-c的指令參數

? ? ? ? ? ? ? ? ? ? ? ? ? -c:后續加的就是指令

? ? ? ? ? ? ? 指令:

? ? ? ? ? ? ? ? ? ? ? ? ?print:單純的列出目前主機內的檔案系統參數等參數

? ? ? ? ? ? ? ? ? ? ? ? ?df:與原本的df一樣的功能,可以加上-b -i -h等

? ? ? ? ? ? ? ? ? ? ? ? ?report:列出目前的quota項目,有-ugr(user/group/project)及-bi等

? ? ? ? ? ? ? ? ? ? ? ? ?state:說明目前支持quota的檔案系統的資料,有沒有啟動等相關信息

? ? ? ? ? ? ? ? ? ? ? ?? limit?:實際限制的項目,可以針對 user/group 來限制,限制的項目有

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bsoft/bhard?:?block?的?soft/hard?限制值,可以加單位

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? isoft/ihard?:?inode?的?soft/hard?限制值

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? name :?就是用戶/群組的名稱

? ? ? ? ? ? ? ? ? ? ? ?? timer?:用來設定 grace?time?的項目,也是可以針對 user/group?以及?block/inode 設定

? ? ? ? ? ? ? ?eg: ? xfs_quota -x -c "df -h" /home

? ? ? ? ? ? ? ? ? ? ? ? ? xfs_quota -x -c "state"

? ? ? ? ? ? ? ? ? ? ? ? ? xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota1" /home


mdadm ? 軟RAID管理

? ? ? ? ? ? ? ?參數:--create:為建立RAID的選項;

? ? ? ? ? ? ? ? ? ? ? ? ? --auto=yes:決定建立后面接的軟RAID設備,如 /dev/md0, /dev/md1

? ? ? ? ? ? ? ? ? ?? ?????--chunk=Nk:決定這個設備的 chunk 大小,也可以當成 stripe 大小,一般是64K或 512K。

? ? ? ? ? ? ? ? ? ?? ?????--raid-devices=N:使用幾個分區(partition) 作為RAID的設備

? ? ? ? ? ? ? ? ? ?? ?????--spare-devices=N:使用幾個分區作為備用 (spare) 設備

? ? ? ? ? ? ? ? ? ?? ?????--level=[015] :設定這組RAID的等級。支持很多,不過建議只要用 0, 1, 5 即可

? ? ? ? ? ? ? ? ? ?? ?????--detail:后面所接的那個RAID設備的詳細資訊

? ? ? ? ? ? ? 專用選項:

????????????????????????-l 級別

????????????????????????-n 設備個數

????????????????????????-a {yes|no} 自動為其創建設備文件

????????????????????????-c 指定數據塊大小(chunk)

????????????????????????-x 指定空閑盤(熱備磁盤)個數,空閑盤(熱備磁盤)能在工作盤損壞后自動頂替

????????????????????????-D 查看raid細節

????????????eg:

????????????????????創建raid0:

????????????????????????????mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}

????????????????????創建raid1:

????????????????????????????mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sdb{5,6}


lvm? ?邏輯卷管理器(XFS / EXT4)

PV/VG/LV

? ? ? ? 查詢(scan)pvscanvgscanlvscanlsblk, blkid

? ? ? ? 創建(create)pvcreatevgcreatelvcreatemkfs.xfsmkfs.ext4

? ? ? ? 顯示(display)pvdisplayvgdisplaylvdisplaydf, mount

? ? ? ? 增加(extend) vgextendlvextend (lvresize)xfs_growfsresize2fs

? ? ? ? 減少(reduce) vgreducelvreduce (lvresize) ,不支持resize2fs

????????刪除(remove)pvremovevgremovelvremoveumount, 重新格式化

????????調整尺寸大小(resize)  lvresizexfs_growfsresize2fs

? ? ? ? 更改屬性(attribute)pvchangevgchangelvchange/etc/fstab, remount


at? ?一次工作計劃 ?(at [-mldv] TIME)

? ? ? ? ? ?參數:-m:當at的工作完成后,即使沒有輸出信息,也email通知使用者該工作已完成

? ? ? ? ? ? ? ? ? ? ? -l:at -l相當于atq,列出目前系統上面的所有該使用者的at計劃

? ? ? ? ? ? ? ? ? ? ? -d:at -d相當于atrm,可以取消一個在at計劃中的工作

? ? ? ? ? ? ? ? ? ? ? -v:可以使用較明顯的時間格式列出at計劃中的工作列表

? ? ? ? ? ? ? ? ? ? ? -c:可以列出后面接的該項工作的實際指令內容

? ? ? ? ? ? ? ? ? ? ? TIME:時間格式,這里可以定義“什么時候要進行at工作計劃”的時間,格式有:HH:MM(例如:05:00)

? ? ? ? ? ? ? ? ? ? ? 或?04:00 2015-07-30

? ? ? ? ? ? ? ? ? ? ? 或?04pm July 30

? ? ? ? ? ? ? ? ? ? ? 或now + 5 minutes、04pm + 3 days

????????eg:

????????????????at now + 5 minutes? <==單位要加 s !

????????????????at> /bin/mail -s "testing at job" root < /root/.bashrc


atq? ? 查詢有哪些工作計劃


atrm? ? 刪除工作計劃 ?如:atrm 3


cron? ? 循環工作計劃(crontab [-u username] [-l|-e|-r])

?? ??? ?? ? /var/spool/cron/$username ?<<配置文件

? ? ? ? ? ?參數:-u:只有root才能進行這種計劃,即幫助其他使用者建立或刪除crontab工作計劃?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ex:crontab -u new -l ? ?,crontab -u new -e

? ? ? ? ? ? ? ? ? ? ? -e:編輯模式

? ? ? ? ? ? ? ? ? ? ? -l:查詢crontab中的計劃

? ? ? ? ? ? ? ? ? ? ? -r:移除所有的crontab的工作內容

????????????eg:crontab -e

????????????????????0 ?12? *? *? * mail -s "at 12:00" dmtsai < /home/dmtsai/.bashrc


ps ? ?報告進程狀態

? ? ? ? ? 查看每個進程(標準語法):ps -e ? ?ps -ef

? ? ? ? ? 查看每個進程(BSD語法):ps ax ? ps aux

USER:該process是那個用戶創建的?

PID :process的id。

%CPU:process占用的CPU資源的百分比;

%MEM:process 占用的內存的百分比;

VSZ :process 占用的虛擬內存 (Kbytes)

RSS :process 占用的固定內存大小(Kbytes)

TTY :process 是運行在哪個虛擬終端。另外,tty1-tty6 是本機上面的登錄,若為pts/0等,則表示通過網絡連接主機

STAT:process?目前的狀況

START:process 建立時間

TIME : process 實際運行時間

COMMAND:顯示process 發起的實際指令


nice ? ?新執行的指令即給新的nice值 (nice [-n 數字] command)

? ? ? ? ? 參數:-n:后面接一個整數,范圍-20~19

? ? ? ? ? eg:nice -n -5 vim


renice ? ?已有的進程的nice重新調整 (renice [number] PID)

? ? ? ? ? eg:renice -5 14836


jobs? ? 后臺進程狀態

? ? ? ? ? ?參數:-l:除了列出job number與指令之外,同時顯示PID

? ? ? ? ? ? ? ? ? ? ? -r:僅列出后臺運行的工作

? ? ? ? ? ? ? ? ? ? ? -s:僅列出后臺中監聽的工作

ctrl z ? ? 將前臺工作扔到后臺

fg ? ? ? ? ?將后臺工作扔到前臺

eg: ? ? fg ?%1

bg ? ? ? ? ?讓工作在后臺的狀態變為運行中

eg: ? ? bg %2


nohup ? 離線進程管理

? ? ? ?nohup ?“指令與參數” ? ? ? ?在終端機前臺中工作

? ? ? ?nohup??“指令與參數” & ? ? 在終端機后臺中工作


top? ? 動態進程狀態

? ? ? ? ? 參數:-d? :后面可以接秒,預設是 5 秒

? ? ? ? ? ? ? ? ? ? ?-b? :以批次的方式執行 top

? ? ? ? ? ? ? ? ?????通常會搭配數據流重定向將批次的結果輸出成為檔案。

? ? ? ? ? ? ? ? ? ? ?-n? :與-b 搭配,意義是,需要進行幾次 top 的輸出結果。

? ? ? ? ? ? ? ? ? ? ?-p? :指定某些個PID 來進行觀察檢測而已。

? ? ? ? ? ? ?? ?????在 top執行過程當中可以使用的按鍵指令:

? ? ? ? ? ? ? ? ??????? ? :顯示在 top 當中可以輸入的按鍵指令;

? ? ? ? ? ? ? ? ??????? P :以 CPU 的使用資源排序顯示;

? ? ? ? ? ? ? ? ??????? M :以 Memory 的使用字元排序顯示;

? ? ? ? ? ? ? ? ??????? N :以 PID 來排序

? ? ? ? ? ? ? ? ?? ?????T :由該 Process 使用的 CPU 時間積累(TIME+) 排序。

? ? ? ? ? ? ? ? ??????? k :給予某個 PID 一個信號 ?(signal)

? ? ? ? ? ? ? ? ? ? ? ? r :給予某個 PID 重新制訂一個nice 值。?????

? ? ? ? ? ? ? ? ?? ?????q :離開 top 軟件的按鍵。


pstree? ? 進程相關性查看

? ? ? ? ? ? ? ?參數:

? ? ? ? ? ? ? ? ? ? ? ? ? -p? :顯示每個 process 的 PID;

? ? ? ? ? ? ? ? ? ? ? ? ? -u? :顯示每個 process 的所屬用戶名


free? ? 查看內存使用情況

? ? ? ? ? 參數:-b? :直接輸入 free 時,顯示的單位是 Kbytes,可以使用 b(bytes), m(Mbytes)

? ? ????????????????????????? k(Kbytes), 及 g(Gbytes) 來顯示單位。也可以直接讓系統自己指定單位 (-h)

? ? ? ? ? ? ? ? ? ?? -t? :在輸出的最終結果,顯示實體內存與 swap 的總量。

? ? ? ? ? ? ? ? ? ? ?-s? :可以讓系統每幾秒輸出一次


uptime? ? 顯示系統啟動時間與工作負載(1,5,15分鐘的平均負載)


netstat? ? 跟蹤網絡或socket文件

? ? ? ? ? ? ? ?參數:-a? :將目前系統上所有的連接、監聽、Socket 資料都列出來

? ? ? ? ? ? ? ? ? ? ? ? ? -t? :列出 tcp 網絡封包的資料

? ? ? ? ? ? ? ? ? ? ? ? ? -u? :列出 udp 網絡封包的資料

? ? ? ? ? ? ? ? ? ?? ?????-n? :不以程序的服務名稱,以端口號 (port number) 來顯示;

? ? ? ? ? ? ? ? ? ?? ?????-l? :列出目前正在網絡監聽 (listen) 的服務;

? ? ? ? ? ? ? ? ? ?? ?????-p? :列出該網絡服務的程序 PID

Proto :網絡的封包協議,主要分為 TCP 與 UDP 封包;

Recv-Q:非由使用者程式連接到此 socket 的復制的總 bytes 數;

Send-Q:非由遠程主機傳送過來的 acknowledged 總 bytes 數;

Local Address :本地端的 IP:port 情況

Foreign Address:遠程主機的 IP:port 情況

State :鏈接狀態,主要有建立(ESTABLISED)及監聽(LISTEN);


dmesg? ? 分析核心產生的信息


vmstat ? ?檢測系統資源變化

? ? ? ? ? 參數:-a? :使用 inactive/active(是否活躍) 取代 buffer/cache 的內存輸出信息;

? ? ? ? ? ? ? ? ? ? ?-f? :開機到目前為止,系統復制 (fork) 的程序數;

? ? ? ? ? ? ? ? ? ? ?-s? :將一些事件 (開機至目前為止) 導致的內存變化情況列表說明;

? ? ? ? ? ? ? ? ?????-S? :后面可以接單位,讓顯示的信息有單位。例如 K/M 取代 bytes 的容量;

? ? ? ? ? ? ? ? ?????-d? :列出磁盤的讀寫總量統計表

? ? ? ? ? ? ? ? ?????-p? :后面列出分割槽,可顯示該分割槽的讀寫總量統計表

程序欄(procs) 的項目分別為:

r :等待運作中的程序數量;b:不可被喚醒的程序數量。這兩個項目越多,代表系統越忙碌 (因為系統太忙,所以很多程序就無法被執行或一直在等待而無法被喚醒的原因)

內存欄 (memory) 項目分別為:

swpd:虛擬內存被使用的容量; free:未被使用的內存容量; buff:用于緩沖內存; cache:用于緩存。 這部份與free是相同的。

內存交行空間 (swap) 的項目分別為:

si:由磁盤中將程序取出的量; so:由于內存不足而將沒用到的程序寫入到磁盤的swap的空間。 如果 si/so 的數值太大,表示內存的數據常常得在磁盤與主內存之間傳輸

磁盤讀寫 (io) 的項目分別為:

bi:由磁盤讀寫 的區塊數量; bo:寫入到磁盤去的區塊數量。如果這部份的值越高,代表系統的 I/O 非常忙碌

系統 (system) 的項目分別為:

in:每秒被終端的程序次數; cs:每秒進行的事件切換次數;這兩個數值越大,代表系通與周邊設備的溝通非常頻繁,這些周邊設備包括磁盤、網卡、時鐘等。

CPU的項目分別為 :

us:非核心層的 CPU 使用狀態; sy:核心層所使用的 CPU狀態; id:限制的狀態; wa:等待 I/O 所消耗的 CPU 狀態;st:被虛擬機 (virtual machine) 所使用的CPU使用狀態 (2.6.11 以后才支持)


lsof? ?列出被程序所開啟的文檔名,與fuser相反,是通過文件或設備的程序找到相應的檔案或設備

? ? ? ? ? ? ? ?參數:

? ? ? ? ? ? ? ? ? ? ?????-U? :僅列出 Unix like 系統的 socket 檔案類型

? ? ? ? ? ? ? ? ? ? ? ?? -u? :后面接username,列出該使用者相關程序所開啟的文件

? ? ? ? ? ? ? ? ? ? ?????+d? :后面接目錄,亦即找出某個目錄底下已經被開啟的文件

已知端口查服務:

例:lsof? -i:80


pidof? ?找出某個正在執行的進程PID

? ? ? ? ? 參數:-s:僅列出一個PID而不是列出所有PID

? ? ? ? ? ? ? ? ? ? ? -x:同時列出該程序名稱可能的PPID那個程序的PID

例:pidof systemd


selinux ? ?安全上下文

getsebool [-a] [規則的名稱] ? ?查詢各個規則的布爾值

? ? ? ? ? ? 參數:-a:列出目前系統上的所有selinux規則的布爾值(on|off)

setsebool ? ? 修改selinux規則的布爾值

? ? ? ? ? ? ? ?參數:-P:直接將設定值寫入配置文檔,該設定資料未來會生效


depmod? ? 自動建立內核模塊的依賴關系

? ? ? ? ? ? ? ?參數:-A:不加參數時,depmod會主動分析當前內核模塊,并重新寫入/lib/modules/$(uname -r)/modules.dep當中。若加入-A參數,則depmod會去搜索比modules.dep內還新的模塊,若找到新模塊,才會更新。

? ? ? ? ? ? ? ? ? ? ? ? ? -n:不寫入modules.dep,而是將結果輸出到屏幕。

? ? ? ? ? ? ? ? ? ? ? ? ? -e:顯示出當前已經加載的不可執行的模塊名稱。

? ? ? ? ? ? ? ?例:#cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net

? ? ? ? ? ? ? ? ? ? ? #depmod


lsmod ? ?查詢所有內核加載的模塊


modinfo? ?模塊名稱或文件名

? ? ? ? ? ? ? ?參數:-a:僅列出所有者名稱

? ? ? ? ? ? ? ? ? ? ? ? ? -d:僅列出該modules的說明

? ? ? ? ? ? ? ? ? ? ? ? ? -l:僅列出授權(license)

? ? ? ? ? ? ? ? ? ? ? ? ? -n:僅列出該模塊的詳細路徑


insmod? ? 加載內核模塊

? ? ? ? ? ? ? ? [/fullpath/module_name] [parameters]

? ? ? ? ? ? ? ?例:insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko

? ? ? ? ? ? ? ? ? ? ? lsmod |grep cifs


rmmod? ? 刪除內核模塊

? ? ? ? ? ? ? ? [-fw] module_name

? ? ? ? ? ? ? ?參數:-f:強制將該模塊刪除,不論是否在使用

? ? ? ? ? ? ? ? ? ? ? ? ? -w:若該模塊正被使用,則rmmod會等待該模塊使用完畢后,才移除。


modprobe? ?[-lcfr] module_name ? ? 智能加載內核模塊

? ? ? ? ? ? ? ? 參數:-c :列出目前系統所有的模塊

? ? ? ? ? ? ? ? ? ? ? ? ? ?-l:列出當前在/lib/modules/`uname -r`/kernel當中的所有模塊完整的文件名

? ? ? ? ? ? ? ? ? ? ? ? ? ?-f:強制加載該模塊

? ? ? ? ? ? ? ? ? ? ? ? ? ?-r:移除模塊


dmidecode? ?查看硬件配置情況

? ? ? ? ? ? ? ? ?參數:-t:類型type

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1:詳細系統信息,包括主板型號與硬件信息

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4:cpu相關信息

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?9:系統相關插槽信息,pci、pci-e

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?17:每個內存插槽信息與內存信息


lspci? ? 查看PCI設備信息

? ? ? ? ? ? ? ? 參數:-v:顯示更多的PCI設備的信息

? ? ? ? ? ? ? ? ? ? ? ? ? ?-vv:更詳細的信息

? ? ? ? ? ? ? ? ? ? ? ? ? ?-n:直接觀察PCI的ID,沒有廠商名稱


iostat ? ? [-c|-d] [-k|-m] [-t] [間隔秒數] [偵測次數] ? ? ? ? ?查看CPU與周邊設備I/O狀態

? ? ? ? ? ? ? ? ?參數:-c:僅顯示CPU狀態

? ? ? ? ? ? ? ? ? ? ? ? ? ? -d:僅顯示存儲設備狀態

? ? ? ? ? ? ? ? ? ? ? ? ? ? -k:預設顯示為block

? ? ? ? ? ? ? ? ? ? ? ? ? ? -m:顯示以MB單位的結果

? ? ? ? ? ? ? ? ? ? ? ? ? ? -t:顯示日期

#tps? ? ? ?:平均每秒的傳輸次數!

#kB_read/s :開機到現在平均讀取的單位;

#kB_wrtn/s :開機到現在平均寫入的單位;

#kB_read? ?:開機到現在,總共讀出來的單位;

#kB_wrtn? ?:開機到現在,總共寫入的單位;


dd? ? 轉換與復制文件

? ? ? ? ? ? ? ? ? 例:dd if=/dev/sda ?of=/dev/sdb ? ? ?將sda復制到sdb


cpio ? ?文件復制與歸檔

? ? ? ? ? ? ? ? ? 例:find / -print|cpio -covB > /dev/st0? ? ?備份到磁帶

? ? ? ? ? ? ? ? ? ? ? ? ?cpio -iduv < /dev/st0? ? ?從磁帶還原


xfsdump? ? 備份

? ? ? ? ? ? ? ? ? ?例:xfsdump -l 0 -L 'full' -M 'full' -f /backupdata/home.dump /home ? ? 將/home中的數據 完整備份到/backupdata/home.dump中

? ? ? ? ? ? ? ? ? ? ? ? ? xfsdump -l 1 -L 'full-1' -M 'full-1' -f /backupdata/home.dump1 /home ?將/home中的數據進行一次增量備份到/backupdata/home.dump1中


rsync? ? 遠程文件復制

? ? ? ? ? ?? 參數:

-v, --verbose 詳細模式輸出?

-q, --quiet 精簡輸出模式?

-c, --checksum 打開校驗開關,強制對文件傳輸進行校驗?

-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD?

-r, --recursive 對子目錄以遞歸模式處理?

-R, --relative 使用相對路徑信息?

-b, --backup 創建備份,也就是對于目的已經存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。?

--backup-dir 將備份文件(如~filename)存放在在目錄下。?

-suffix=SUFFIX 定義備份文件前綴?

-u, --update 僅僅進行更新,也就是跳過所有已經存在于DST,并且文件時間晚于要備份的文件。(不覆蓋更新的文件)?

-l, --links 保留軟鏈結?

-L, --copy-links 想對待常規文件一樣處理軟鏈結?

--copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結?

--safe-links 忽略指向SRC路徑目錄樹以外的鏈結?

-H, --hard-links 保留硬鏈結?

-p, --perms 保持文件權限?

-o, --owner 保持文件屬主信息?

-g, --group 保持文件屬組信息?

-D, --devices 保持設備文件信息?

-t, --times 保持文件時間信息?

-S, --sparse 對稀疏文件進行特殊處理以節省DST的空間?

-n, --dry-run現實哪些文件將被傳輸?

-W, --whole-file 拷貝文件,不進行增量檢測?

-x, --one-file-system 不要跨越文件系統邊界?

-B, --block-size=SIZE 檢驗算法使用的塊尺寸,默認是700字節?

-e, --rsh=COMMAND 指定使用rsh、ssh方式進行數據同步?

--rsync-path=PATH 指定遠程服務器上的rsync命令所在路徑信息?

-C, --cvs-exclude 使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸的文件?

--existing 僅僅更新那些已經存在于DST的文件,而不備份那些新創建的文件?

--delete 刪除那些DST中SRC沒有的文件?

--delete-excluded 同樣刪除接收端那些被該選項指定排除的文件?

--delete-after 傳輸結束以后再刪除?

--ignore-errors 及時出現IO錯誤也進行刪除?

--max-delete=NUM 最多刪除NUM個文件?

--partial 保留那些因故沒有完全傳輸的文件,以是加快隨后的再次傳輸?

--force 強制刪除目錄,即使不為空?

--numeric-ids 不將數字的用戶和組ID匹配為用戶名和組名?

--timeout=TIME IP超時時間,單位為秒?

-I, --ignore-times 不跳過那些有同樣的時間和長度的文件?

--size-only 當決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間?

--modify-window=NUM 決定文件是否時間相同時使用的時間戳窗口,默認為0?

-T --temp-dir=DIR 在DIR中創建臨時文件?

--compare-dest=DIR 同樣比較DIR中的文件來決定是否需要備份?

-P 等同于 --partial?

--progress 顯示備份過程?

-z, --compress 對備份的文件在傳輸時進行壓縮處理?

--exclude=PATTERN 指定排除不需要傳輸的文件模式?

--include=PATTERN 指定不排除而需要傳輸的文件模式?

--exclude-from=FILE 排除FILE中指定模式的文件?

--include-from=FILE 不排除FILE指定模式匹配的文件?

--version 打印版本信息?

--address 綁定到特定的地址?

--config=FILE 指定其他的配置文件,不使用默認的rsyncd.conf文件?

--port=PORT 指定其他的rsync服務端口?

--blocking-io 對遠程shell使用阻塞IO?

-stats 給出某些文件的傳輸狀態?

--progress 在傳輸時現實傳輸過程?

--log-format=formAT 指定日志文件格式?

--password-file=FILE 從FILE中得到密碼?

--bwlimit=KBPS 限制I/O帶寬,KBytes per second?

-h, --help 顯示幫助信息?

? ? ? ? ? ? ?本地:? rsync [OPTION...] SRC... [DEST]

? ? ? ? ? ? ? ? ? ? 例:rsync -av /home /backupdata/

? ? ? ? ? ?? 遠程

? ? ? ? ? ? ? ? ? ? ?? Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]

? ? ? ? ? ? ? ? ? ? ?? Push: rsync [OPTION...] SRC... [USER@]HOST:DEST?

例:1)拷貝本地文件。當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。如:rsync -a /data /backup?

  2)使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。如:rsync -avz *.c foo:src?

  3)使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。如:rsync -avz foo:src/bar /data?

  4)從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。如:rsync -av root@172.16.78.192::www /databack?

  5)從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。如:rsync -av /databack root@172.16.78.192::www?

  6)列遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即可。如:rsync -v rsync://172.16.78.192/www


file? ? 查看文件類型


gcc? ? 編譯

? ? ? ? ? 參數:-c ? ? 產生object對象文件,不加參數生成*.out二進制文件。

? ? ? ? ? ? ? ? ? ? ?-O ? ? 產生最佳化參數

? ? ? ? ? ? ? ? ? ? ?-Wall ? ? 產生編譯細節信息

? ? ? ? ? ? ? ? ? ? ?-o ? ? ?將所有對象文件(*.o)連接輸出一個編譯文件

? ? ? ? ? ? ? ? ? ? ?-l ? ? ??加入某個函數庫

? ? ? ? ? ? ? ? ? ? ?-m ? ? libm.so 函數庫連接

? ? ? ? ? ? ? ? ? ? ?-L ? ? 后面接函數庫路徑

? ? ? ? ? ? ? ? ? ? ?-I ? ? 后面接include文檔路徑

? ? ? ? ? ? ? ? ? ? 例:?gcc -O -c thanks.c thanks_2.c

? ? ? ? ? ? ? ? ? ? ? ? ? ??gcc -o thanks thanks.o thanks_2.o

? ? ? ? ? ? ? ? ? ? ? ? ? ? gcc sin.c -lm -L/lib -L/lib64

? ? ? ? ? ? ? ? ? ? ? ? ? ??gcc sin.c -lm -I/usr/include


ldconfig ? ?把動態函數庫加載到內存中緩存起來

? ? ? ? ? ? ? ?參數:-p ? ? 顯示所有已加載的動態函數庫

? ? ? ? ? ? ? ?例:#vim /etc/ld.so.conf

? ? ? ? ? ? ? ? ? ? ? /usr/lib64/mysql ? ? ? ? ?<==添加新的庫

? ? ? ? ? ? ? ? ? ? ? #ldconfig

? ? ? ? ? ? ? ? ? ? ? #ldconfig -p


ldd? ? 解析程序的動態函數庫

? ? ? ? ? ? ? ?參數:-v ? ? 列出所有內容信息

? ? ? ? ? ? ? ? ? ? ? ? ? -d ? ? 重新將信息中有丟失的link點列出來

? ? ? ? ? ? ? ? ? ? ? ? ? -r ? ? 將ELF有關的錯誤列出來

? ? ? ? ? ? ? ?例:ldd /usr/bin/passwd


md5sum? ? 驗證軟件的正確性

? ? ? ? ? ? ? ?參數:-b ? ? 使用二進制的讀取方式,預設為windows/dos檔案形態的讀取方式

? ? ? ? ? ? ? ? ? ? ? ? ? -c ? ? 檢驗檔案指紋

? ? ? ? ? ? ? ? ? ? ? ? ? -t ? ? 以文字形式來讀取檔案指紋

? ? ? ? ? ? ? ?例:md5sum ntp-**.tar.gz

? ? ? ? ? ? ? ?例:#ls /etc/{passwd,shadow,group} > important.file

? ? ? ? ? ? ? ? ? ? ? #find /usr/sbin /usr/bin -perm /6000 >> important.file

? ? ? ? ? ? ? ? ? ? ? #vim md5.checkfile.sh

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??#!/bin/bash

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??for filename in $(cat important.file)

? ? ? ? ? ? ? ? ? ? ? ?? ?????do

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?????md5sum $filename >> finger1.file

? ? ? ? ? ? ? ? ? ? ? ?? ?????done

? ? ? ? ? ? ? ? ? ? ? ?#sh md5.checkfile.sh

? ? ? ? ? ? ? ? ? ? ? ?#chattr +i finger1.file


rpm? ? 軟件包管理器

? ? ? ? ? ?????參數:-i ? ? install

? ? ? ? ? ? ? ? ? ? ? ? ? -v ? ?查看更多安裝細節

? ? ? ? ? ? ? ? ? ? ? ? ? -h ?? 顯示安裝進度

? ? ? ? ? ? ? ? ? ? ? ? ? -e ? ? 刪除

? ? ? ? ? ? ? ? ? ? ? ? ? --nodeps ? ? 忽略軟件的依賴性強行安裝

? ? ? ? ? ? ? ? ? ? ? ? ? --replacefiles ? ? 覆蓋原來的已安裝的軟件

? ? ? ? ? ? ? ? ? ? ? ? ? --force ? ? ? ? ?覆蓋安裝

? ? ? ? ? ? ? ? ? ? ? ? ? --prefix ? ? ? ? 指定新的安裝路徑

? ? ? ? ? ? ? ? ? ? ? ? ? --noscripts ? ? 不想讓軟件在安裝過程中自動執行某些系統指令

? ? ? ? ? ? ? ? ? ? ? ? ? -Uvh ? ? ? ? ? ? ? 更新軟件

? ? ? ? ? ? ? ? ? ? ? ? ? -Fvh ? ? ? ? ? ? ? 修復與升級

? ? ? ? ? ? ? ? ? ? ? ? ? -q ? ? 查詢

? ? ? ? ? ? ? ? ? ? ? ? ? -qa ? ? 列出所有已安裝的軟件

? ? ? ? ? ? ? ? ? ? ? ? ? -qi ? ? 列出該軟件的詳細信息

? ? ? ? ? ? ? ? ? ? ? ? ? -ql ? ? 列出該軟件所有的檔案與目錄所在的完成文檔名

? ? ? ? ? ? ? ? ? ? ? ? ? -qc ? ? 列出該軟件的所有參數檔案名稱(/etc/下的)

? ? ? ? ? ? ? ? ? ? ? ? ? -qd ? ? 列出該軟件所有說明檔案

? ? ? ? ? ? ? ? ? ? ? ? ? -V ? ? 驗證該軟件是否被更改過,如果有被列出

? ? ? ? ? ? ? ? ? ? ? ? ? --rebuilddb ? ? 重建信息庫(由于刪除、安裝更新時產生/var/lib/rpm/內的文件破壞)

? ? ? ? ? ? ? ? ? ? ? ? ? provides ? ? 列出該指令所有的軟件


yum ? ?安裝管理

? ? ? ? ? ? ? ?選項 -y ? ? 自動跳過yes確認

? ? ? ? ? ? ? ?參數:install ? ? 安裝

? ? ? ? ? ? ? ? ? ? ? ? ? remove ? ? 刪除

? ? ? ? ? ? ? ? ? ? ? ? ?list ? ? ? ? ? ? ?列出當前yum所管理的軟件名稱

? ? ? ? ? ? ? ? ? ? ? ? ?search ? ? 搜索某個軟件名稱或描述

? ? ? ? ? ? ? ? ? ? ? ? ?info ? ? ? ? ?列出yum所有軟件名稱

? ? ? ? ? ? ? ? ? ? ? ? ?update ? ? 軟件升級

? ? ? ? ? ? ? ? ? ? ? ? ?repolist ?all ? ? 目前使用的軟件庫

? ? ? ? ? ? ? ? ? ? ? ? ?clean all ? ? 將所有軟件庫信息刪除

? ? ? ? ? ? ? ? ? ? ? ? ?makecache ? ? 創建軟件庫信息

? ? ? ? ? ? ? ? ? ? ? ? ?grouplist ? ? 列出所有可用的軟件組

? ? ? ? ? ? ? ? ? ? ? ? ?groupinstall ? ? 安裝軟件組

? ? ? ? ? ? ? ? ? ? ? ? ?groupremove ? ? 刪除軟件組


iptables ? 防火墻

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -L ? ? 列出所有規則

iptables -D ? ? 刪除一條規則


rpmbuild? ? ? 對srpm進行編譯與打包或安裝(*.src.rpm)

? ? ? ? ? ? ? ? 參數:--rebuild 對srpm包進行編譯與打包,最后產生rpm包

? ? ? ? ? ? ? ? ? ? ? ? ? ?--recompile ?直接編譯、打包、并安裝

? ? ? ? ? ? ? ? ? ? ? ? ? ?--showrc ? 查看默認配置

? ? ? ? ? ? ? ? ? ? ? ? ?編譯后的rpm軟件包會被防止到/root/rpmbuild/RPMS/中 ? ? ? ??

根據spec文件產生rpm、srpm包

例:

rpmbuild -ba ntp.spec ? ? ? ? ?<==編譯并同時產生rpm與srpm包?

rpmbuild -bb ntp.spec ? ? ? ? ?<==僅編譯成rpm包

? ? ? ? ? ? ? ? ? ? ? ? ?#yum install rpmdevtools ? ??

? ? ? ? ? ? ? ? ? ? ? ?? #rpmdev-setuptree ? ? ? ? ? ?? ?????建立rpmbuild目錄

? ? ? ? ? ? ? ? ? ? ? ? ?#rpmdev-newspec


diff ? ? 比較兩個文件或目錄里文件的區別

? ? ? ? ? ? ? ?參數:

-a或--text  diff預設只會逐行比較文本文件。

-b或--ignore-space-change  不檢查空格字符的不同。

-B或--ignore-blank-lines  不檢查空白行。

-c  顯示全部內文,并標出不同之處。

-C或--context  與執行"-c-"指令相同。

-d或--minimal  使用不同的演算法,以較小的單位來做比較。

-D或ifdef  此參數的輸出格式可用于前置處理器巨集。

-e或--ed  此參數的輸出格式可用于ed的script文件。

-f或-forward-ed  輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處。

-H或--speed-large-files  比較大文件時,可加快速度。

-l或--ignore-matching-lines  若兩個文件在某幾行有所不同,而這幾行同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異。

-i或--ignore-case  不檢查大小寫的不同。

-l或--paginate  將結果交由pr程序來分頁。

-n或--rcs  將比較結果以RCS的格式來顯示。

-N或--new-file  在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:Only in目錄:文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。

-p  若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱。

-P或--unidirectional-new-file  與-N類似,但只有當第二個目錄包含了一個第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較。

-q或--brief  僅顯示有無差異,不顯示詳細的信息。

-r或--recursive  比較子目錄中的文件。

-s或--report-identical-files  若沒有發現任何差異,仍然顯示信息。

-S或--starting-file  在比較目錄時,從指定的文件開始比較。

-t或--expand-tabs  在輸出時,將tab字符展開。

-T或--initial-tab  在每行前面加上tab字符以便對齊。

-u,-U或--unified=  以合并的方式來顯示文件內容的不同。

-v或--version  顯示版本信息。

-w或--ignore-all-space  忽略全部的空格字符。

-W或--width  在使用-y參數時,指定欄寬。

-x或--exclude  不比較選項中所指定的文件或目錄。

-X或--exclude-from  您可以將文件或目錄類型存成文本文件,然后在=中指定此文本文件。

-y或--side-by-side  以并列的方式顯示文件的異同之處。

--help  顯示幫助。

--left-column  在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容。

--suppress-common-lines  在使用-y參數時,僅顯示不同之處。

? ? ? ? ? 例:diff -uNr nginx1/ nginx2/ ? >nginx.patch ? ? <==生成補丁


wget?網絡工具

? ? ? ? 參數 -O 指定路徑與名稱

? ? ? ? 例:wget -O /etc/yum.repos.d/CentOS-Base.repo?http://mirrors.aliyun.com/repo/Centos-6.repo


tree? 列出樹狀結構

? ? ? ? 參數 -L ?顯示層級

? ? ? ? ? ? ? ? -d ?顯示目錄

? ? ? ? 例:tree ?-Ld ?1 ? /


tar? ?歸檔

? ? ? ? 參數:

? ? ? ? ? ? ? ?-c:創建 ?create

? ? ? ? ? ? ? ?-v:顯示 verbose

? ? ? ? ? ? ? ?-z:壓縮 gunzip ? gz格式

? ? ? ? ? ? ? ?-f:文件

? ? ? ? ? ? ? ?-x:解壓

? ? ? ? ? ? ? ?-C:指定位置解壓

? ? ? ? ? ? ? ?-t: list 列出

? ? ? ? ? ? ? ?--exclude :排除 --exclude=file

? ? ? ? ? ? ? ?-X:排除列表文件 ? ex: tar -zcvfX ?file.tar.gz ?file ?/tmp/*

? ? ? ? ? ? ? ?-j:壓縮 bz格式


seq ? 顯示序列數

?? ??? ?? ?參數:

?? ??? ??? ?? ? -s :間隔符號

?? ??? ??? ?? ? -w :顯示0

?? ??? ?? ? eg:

? ? ? ? ? ? ? ? ?seq ?100

? ? ? ? ? ? ? ? ?seq ? 1 ?2 ?100

? ? ? ? ? ? ? ? ?seq -s ';' 100


dumpe2fs ? 查看文件系統信息 支持ext2、ext3、ext4文件系統

? ? ? ?exg:dumpe2fs??/dev/sda1|grep -i "Inode size"


stat ? 查看文件或文件夾的狀態信息

Access: 訪問時間,find -atime

Modify: 修改時間,內容發生變化 ?find -mtime

Change: 變化時間,包含Modify,權限、屬主、用戶組 find -ctime


w? ? 查看誰登錄,做了什么


lastlog ? 查看所有創建用戶登錄信息

?? ??? ?? ? /var/log/lastlog


su? ? 切換用戶

? ? ? ? ?- 切換用戶環境變量

? ? ? ? ?-c ? 后面接?‘命令’ 。以某用戶身份執行命令

? ? ? ? ?ex:su - new -c ‘/tmp/new.sh’?

? ? ? ? ? ? ? ? ?su - new -c?“pwd”

? ? ? ? ? /var/db/sudo/ ?存放用戶時間戳信息


sudo? ?其他用戶執行

?? ??? ??-l ?查詢該用戶下權限信息

? ? ? ? ?-c ?檢查sudoer語法問題

?? ?? ? ? vi?/etc/sudoers == visudo


dig ? ?DNS解析指令

? ??dig @114.114.114.114 www.baidu.com +trace ? 以114.114.114.114 來跟蹤解析www.baidu.com過程


ip ? ?ip地址設置

? ? 查看ip信息:ip addr

? ? 添加輔助ip地址(虛擬ip):ip addr add 192.168.0.12/24 ?dev eth1:1 up


partprobe ? 通知內核分區表變化

?? ??做完分區后(例如用fdisk工具),需要告訴內核你做的分區調整,不然需要重啟系統。

?? ??? ??? ?? ?ex:?partprobe ?/dev/sdb


tcpdump? ? 抓包

?? ?? tcpdump -n icmp -i eth0

? ? ? eg:針對22端口抓3個包

?? ??? ?? ? tcpdump port 22 -Stn -c 3


cp ? 拷貝

?? ??? ?? ? eg: ?備份文件 ??cp ?/data/file{,.bak}


expr? ?表達式求值


scp ? 安全遠程拷貝

參數 ? ?-P ?端口號

? ? ? ? ? ? -r ? 遞歸目錄(可以拷貝目錄)

?? ??? ?? ? -p ?保持屬性

? ? ? ? ? ? -l ? ?限速

????????eg: ?scp -P 22 -rp ?/tmp ?root@$IP:/tmp

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容