Linux指令行的組成結構

Linux系統指令操作文法格式
指令 | 空格 | 參數 | 【檔案或路徑】需要處理的内容 | |
rm | -rf | /tmp/* | ||
ls | -la | /home |
stat指令
顯示檔案或檔案系統的狀态。
#用法 stat [參數] 檔案
參數清單:
-L, --dereference 跟随連結
-f, --file-system 顯示檔案系統狀态而非檔案狀态
-c --format=格式 使用指定輸出格式代替預設值,每用一次指定格式換一新行
--printf=格式 類似 --format,但是會解釋反斜杠轉義符,不使用換行作
輸出結尾。如果您仍希望使用換行,可以在格式中
加入"\n"
-t, --terse 使用簡潔格式輸出
--help 顯示此幫助資訊并退出
--version 顯示版本資訊并退出
格式化輸出參數:
%a 八進制權限
%A 用可讀性較好的方式輸出權限
#執行個體1
[root@master tmp]# stat 1.txt
File: '1.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 17348002 Links: 1
(權限)Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
(最近通路)Access: 2018-07-10 15:30:00.000000000 +0800
(最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800
(最近改動)Change: 2018-11-07 15:38:36.400989868 +0800
Birth: -
#執行個體2,顯示檔案權限
[root@master tmp]# stat -c %a 1.txt
644
[root@master tmp]# stat -c %A 1.txt
-rw-r--r--
vim
#方法,指令
vi
vim
使用vi打開oldboy.py,預設是指令模式,需要輸入a/i進入編輯模式,然後輸入文本"Life is short,i use python"
按下esc鍵,回到指令模式
輸入 :wq! 強制儲存退出
w write 寫入
q quit 退出
! 強制
或者 :x 儲存退出
------
:q 不儲存退出
:q! 不儲存強制退出
cat檢視檔案内容
#檢視檔案,顯示行号
cat -n xxx.py
#貓,檢視檔案
cat xxx.py
#在每一行的結尾加上$符
[root@master tmp]# cat -E 1.txt
#追加文字到檔案
cat >>/tmp/1.txt << EOF
唧唧複唧唧
木蘭當戶織
EOF
more指令檢視内容較多的文本
more /etc/passwd
按下空格space是翻頁
按下b鍵是上一頁
Enter鍵向下讀取内容
Linux快捷鍵
1.tab鍵 用于自動補全指令/檔案名/目錄名
2.ctrl + l 清理終端顯示
3.clear/cls 清理終端顯示
4.ctrl + c 終止目前操作
echo指令
echo $PATH #取出列印PATH的值
特殊符号
輸入/輸出 重定向符号
1.>> 追加重定向,把文字追加到檔案的結尾
2.> 重定向符号,清空原檔案所有内容,然後把文字覆寫到檔案末尾
3.< 輸入重定向
4.<< 将輸入結果輸入重定向
echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
cat >>/tmp/oldboy.txt << EOF
------------------------------------
我想把指令執行的結果資訊,寫入到檔案中
ip addr > /tmp/network.txt #标準輸出重定向 把指令執行結果資訊,放入到檔案中
3.通配符
ls -l /etc/us*
複制(拷貝)指令
複制 > copy > cp
#移動xxx.py到/tmp目錄下
cp xxx.py /tmp/
#移動xxx.py順便改名為chaoge.py
cp xxx.py /tmp/chaoge.py
Linux下面很多指令,一般沒有辦法直接處理檔案夾,是以需要加上(參數)
cp -r 遞歸,複制目錄以及目錄的子孫後代
cp -p 複制檔案,同時保持檔案屬性不變 可以用stat
cp -a 相當于-pdr
#遞歸複制test檔案夾,為test2
cp -r test test2
cp是個好指令,操作檔案前,先備份
cp main.py main.py.bak
移動指令
移動(搬家)指令 > move > mv
cd /home
#把dzw從沙河這破地方,搬到朝陽去
mv /home/shahe/dzw /tmp/chaoyang
檔案/檔案夾改名
mv dzw.log ddd.log
删除指令
删除 > remove > rm
參數 -i 需要删除确認
-f 強制删除
-r 遞歸删除目錄和内容
cd /tmp
rm oldboy.py
#預設有提示删除,需要輸入y
rm -f oldboy.py #不需要提示,強制删除
#rm預設無法删除目錄,需要跟上參數-r
rm -rf /tmp/oldboy/
查找指令
#Linux裡如何找到需要的檔案 例如 dzw.py
find 在哪裡(目錄) 什麼類型(檔案類型) 叫什麼名字(檔案名)
參數
-name 按照檔案名查找檔案
-type 查找某一類型的檔案,諸如:
b - 塊裝置檔案。
d - 目錄。
c - 字元裝置檔案。
p - 管道檔案。
l - 符号連結檔案。
f - 普通檔案。
s - socket檔案
find /tmp/ -type f -name "dzw.py"
#找出/tmp所有以 .txt 結尾的檔案
find /tmp/ -type f -name "*.txt"
#找到/etc下所有名字以host開頭的檔案
find /etc -name 'host*'
#找到/opt上一個名為settings.py
find /opt -name 'settings.py'
grep
(global search regular expression(RE) and print out the line,全面搜尋正規表達式并把行列印出來)是一種強大的文本搜尋工具,它能使用正規表達式搜尋文本,并把比對的行列印出來。
文法:
grep [參數] [--color=auto] [字元串] filename
參數詳解:
-i : 忽略大小寫
-n : 輸出行号
-v : 反向選擇
--color = auto : 給關鍵詞部分添加顔色
grep "我要找什麼" /tmp/oldboy.txt
#排除 -v,排除我要找的東西
grep -v "我要找什麼 /tmp/oldboy.txt
示例:
cat /etc/passwd |grep '^root' --color=auto -n
管道指令
Linux提供的管道符“|”講兩條指令隔開,管道符左邊指令的輸出會作為管道符右邊指令的輸入
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
chattr -a test.py
lsattr指令
檢視檔案隐藏屬性
lsattr test.py
linux時間同步
linux的date指令可以顯示目前時間或者設定系統時間
檢視目前時間
格式化輸出
-d --date=string 顯示指定的時間,而不是目前時間
以年-月-日顯示目前時間
date +"%Y-%m-%d"
以年-月-日 時分秒 顯示目前時間
date +"%Y-%m-%d %T"
在Linux下系統時間和硬體時間不會自動同步,在Linux運作過程中,系統時間和硬體時間以異步的方式運作,互不幹擾。
硬體時間的運作,是靠Bios電池來運作,而系統時間是用CPU tick來維持的。
在系統開機時候,會從Bios中擷取硬體時間,設定為系統時間
硬體始終的檢視
[root@oldboy_python ~ 10:19:04]#hwclock
2018年08月27日 星期一 10時23分03秒 -0.528004 秒
同步系統時間和硬體時間,可以用hwclock指令
//以系統時間為基準,修改硬體時間
[root@oldboy_python ~ 10:29:07]#hwclock -w
//以硬體時間為基準,修改系統時間
[root@oldboy_python ~ 10:29:21]#hwclock -s