目錄相關: 文件屬性: stat命令: vim 查看文件內容 more命令 echo命令 特殊符號 移動命令 刪除命令 查找命令 管道命令 head,tail命令 sed sed sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲 ...
目錄相關:
創建目錄: mkdir 目錄名
遞歸創建a/b c/d: mkdir -p a/b c/d
遞歸創建test/a,b,c,d四個目錄: mkdir - p test{a,b,c,d}
遞歸創建文件夾a/b/c/d: mkdir -p a/b/c/d
查看目錄: ls 目錄名
文件屬性:
修改文件的修改時間: touch -t'時間戳' 文件名
stat命令:
顯示文件或者文件系統的狀態: stat [參數] 文件 參數列表: -L, -- dereference 跟隨鏈接 -f, -- file-system 顯示文件系統狀態而非文件狀態 -c, -- format=格式 使用指定輸出格式代替預設值,沒用一次換一次新行 -- printf=格式 類似 --format,但是會解釋反斜杠轉義符,不使用換行作輸出結尾。如果您仍希望使用換行,可以在格式中加入"\n" -t, --terse 使用簡潔格式輸出 --help 顯示此幫助信息並退出 --version 顯示版本信息並退出 顯示文件許可權:stat -c %A 文件名
vim
和vi一樣,都是文本編輯器,vim 具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計。
查看文件內容
查看文件,顯示行號: cat -n 文件名 查看文件: cat 文件名 在每一行結尾加上$符: cat -E 文件名 追加文字到文件,輸入EOF結束編輯: cat >>/tmp/corn.tet << EOF
more命令
more /etc/passwd
按下空格space是翻頁
按下b鍵是上一頁
回車鍵向下讀取內容
echo命令
echo命令用於在終端輸出字元串或變數提取後的值,格式是“echo 【字元串|$變數】” 把corn.txt里的內容替換成hello: echo "hello" > /tmp/corn.txt 取出列印PATH的值: echo $PATH
特殊符號
>> 追加重定向,把文字追加到文件的結尾 > 重定向符號,清空原來文件中的內容,然後把文字覆蓋到文件中 < 輸入重定向 << 將輸入結果輸入重定向
移動命令
把文件移動到另一個目錄下: mv 文件路徑 顯得目錄路徑
文件/文件夾改名: mv 舊名字 新名字
刪除命令
rm -i 需要刪除確認 rm -f 強制刪除 rm -r 遞歸刪除目錄和內容 rm -rf 從刪庫到跑路(謹慎)
查找命令
find 在哪裡(目錄) 什麼類型(文件類型) 叫什麼名字(文件名) 參數 -name 按照文件名查找文件 -type 查找某一類型的文件,諸如: b - 設備文件。 d - 目錄。 c - 字元設備文件。 p - 管道文件。 l - 符號鏈接文件。 f - 普通文件。 s - socket文件
管道命令
檢查python是否啟動: ps -ef | grep "python" 找到/tmp目錄下的所有txt文件: ls /tmp | grep '.txt' 檢查nginx的埠是否存活: netstat -tunlp | grep nginx grep: 語法: grep [參數] [--color=auto] [字元串] filename 參數詳解: -i : 忽略大小寫 -n : 輸出行號 -v : 反向選擇 grep "關鍵字" 文件路徑 排除要找的東西: grep -v "關鍵字" 文件路徑
head,tail命令
head顯示文件前幾行,預設前10行 tail顯示文件後幾行,預設後10行 查看前2行: head -2 文件名 查看後2行: tail -2 文件名 持續刷新顯示: tail -f 文件名 顯示文件10-30行: head -30 文件名 | tail -21
sed
sed sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩衝區中,稱為“模式空間”(pattern space),接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接著處理下一行,這樣不斷重覆,直到文件末尾。文件內容並沒有 改變,除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反覆操作;編寫轉換程式等。 命令格式 sed [options] 'command' file(s) sed [options] -f scriptfile file(s) 選項 -e<script>或--expression=<script>:以選項中的指定的script來處理輸入的文本文件; -f<script文件>或--file=<script文件>:以選項中指定的script文件來處理輸入的文本文件; -h或--help:顯示幫助; -n或--quiet或——silent:僅顯示script處理後的結果; -V或--version:顯示版本信息。 -i ∶插入, i 的後面可以接字串 sed命令 a\ 在當前行下麵插入文本。 i\ 在當前行上面插入文本。 c\ 把選定的行改為新的文本。 d 刪除,刪除選擇的行。 D 刪除模板塊的第一行。 s 替換指定字元 h 拷貝模板塊的內容到記憶體中的緩衝區。 H 追加模板塊的內容到記憶體中的緩衝區。 g 獲得記憶體緩衝區的內容,並替代當前模板塊中的文本。 G 獲得記憶體緩衝區的內容,並追加到當前模板塊文本的後面。 l 列表不能列印字元的清單。 n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。 N 追加下一個輸入行到模板塊後面併在二者間嵌入一個新行,改變當前行號碼。 p 列印模板塊的行。 P(大寫) 列印模板塊的第一行。 q 退出Sed。 b lable 分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。 r file 從file中讀行。 t label if分支,從最後一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。 T label 錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。 w file 寫並追加模板塊到file末尾。 W file 寫並追加模板塊的第一行到file末尾。 ! 表示後面的命令對所有沒有被選定的行發生作用。 = 列印當前行號碼。 # 把註釋擴展到下一個換行符以前。 sed替換標記 g 表示行內全面替換。 p 表示列印行。 w 表示把行寫入一個文件。 x 表示互換模板塊中的文本和緩衝區中的文本。 y 表示把一個字元翻譯為另外的字元(但是不用於正則表達式) \1 子串匹配標記 & 已匹配字元串標記 sed元字元集 ^ 匹配行開始,如:/^sed/匹配所有以sed開頭的行。 $ 匹配行結束,如:/sed$/匹配所有以sed結尾的行。 . 匹配一個非換行符的任意字元,如:/s.d/匹配s後接一個任意字元,最後是d。 * 匹配0個或多個字元,如:/*sed/匹配所有模板是一個或多個空格後緊跟sed的行。 [] 匹配一個指定範圍內的字元,如/[ss]ed/匹配sed和Sed。 [^] 匹配一個不在指定範圍內的字元,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一個字母開頭,緊跟ed的行。 \(..\) 匹配子串,保存匹配的字元,如s/\(love\)able/\1rs,loveable被替換成lovers。 & 保存搜索字元用來替換其他字元,如s/love/**&**/,love這成**love**。 \< 匹配單詞的開始,如:/\<love/匹配包含以love開頭的單詞的行。 \> 匹配單詞的結束,如/love\>/匹配包含以love結尾的單詞的行。 x\{m\} 重覆字元x,m次,如:/0\{5\}/匹配包含5個0的行。 x\{m,\} 重覆字元x,至少m次,如:/0\{5,\}/匹配至少有5個0的行。 x\{m,n\} 重覆字元x,至少m次,不多於n次,如:/0\{5,10\}/匹配5~10個0的行。 sed實際用例 #替換oldboy.txt中所有的oldboy變為oldboy_python #此時結果輸出到屏幕,不會寫入到文件 sed 's/oldboy/oldboy_python/' /tmp/oldboy.txt #使用選項-i,匹配每一行第一個oldboy替換為oldboy_python,並寫入文件 sed -i 's/oldboy/oldboy_python/' /tmp/oldboy.txt #使用替換標記g,同樣可以替換所有的匹配 sed -i 's/book/books/g' /tmp/oldboy.txt #刪除文件第二行 sed -i '2d' /tmp/oldboy.txt #刪除空白行 sed -i '/^$/d' /tmop/oldboy.txt #刪除文件第二行,到末尾所有行 sed '2,$d' /tmp/oldboy.txt #顯示10-30行 -p --print -n --取消預設輸出 sed -n '10,30p' /tmp/oldboy.txtsed
別名alias命令:
alias: 預設別名 alias 命令名='新的名字'
which命令:
which命令用於查找並顯示給定命令的絕對路徑,環境變數PATH中保存了查找命令時需要遍歷的目錄。
which指令會在環境變數$PATH設置的目錄里查找符合條件的文件。
也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
scp
scp是 secure copy的縮寫, scp是linux系統下基於ssh登陸進行安全的遠程文件拷貝命令。兩台機器互發文件
scp 【可選參數】 本地源文件 遠程文件標記 參數: -r :遞歸複製整個目錄 -v:詳細方式輸出 -q:不顯示傳輸進度條 -C:允許壓縮
du命令
Linux du命令用於顯示目錄或文件的大小。 du會顯示指定的目錄或文件所占用的磁碟空間。 du 【參數】【文件或目錄】 -s 顯示總計 -h 以k,M,G為單位顯示,可讀性強
top命令
top 命令用於動態地監視進程活動與系統負載等信息
第一行 (uptime) 系統時間 主機運行時間 用戶連接數(who) 系統1,5,15分鐘的平均負載 第二行:進程信息 進程總數 正在運行的進程數 睡眠的進程數 停止的進程數 僵屍進程數 第三行:cpu信息 1.5 us:用戶空間所占CPU百分比 0.9 sy:內核空間占用CPU百分比 0.0 ni:用戶進程空間內改變過優先順序的進程占用CPU百分比 97.5 id:空閑CPU百分比 0.2 wa:等待輸入輸出的CPU時間百分比 0.0 hi:硬體CPU中斷占用百分比 0.0 si:軟中斷占用百分比 0.0 st:虛擬機占用百分比 第四行:記憶體信息(與第五行的信息類似與free命令) 8053444 total:物理記憶體總量 7779224 used:已使用的記憶體總量 274220 free:空閑的記憶體總量(free+used=total) 359212 buffers:用作內核緩存的記憶體量 第五行:swap信息 8265724 total:交換分區總量 33840 used:已使用的交換分區總量 8231884 free:空閑交換區總量 4358088 cached Mem:緩衝的交換區總量,記憶體中的內容被換出到交換區,然後又被換入到記憶體,但是使用過的交換區沒有被覆蓋,交換區的這些內容已存在於記憶體中的交換區的大小,相應的記憶體再次被換出時可不必再對交換區寫入。詳細介紹
chattr命令
chattr +a test.py 加鎖,即使是rm -rf 也刪不掉,用來保護核心文件
chattr -a test.py 解鎖
lsattr命令
查看文件隱藏屬性: lsattr 文件名
wget命令
wget命令用於在終端下載網路文件 參數是 wget [參數] 下載地址 wget -r -p http://www.luffycity.com#遞歸下載路飛所有資源,保存到www.luffycity.com文件中