linux指令的大概總結
# command [-options] parameter1 parameter2...
指令 選項 參數1 參數2
[]表示可執行或者可以忽略 ,使用時帶-
指令太長的時候,可以使用反斜杠(\)來轉義[enter]符号,使指令延續到下一行。
注意:反斜杠後立刻接特殊字元,才能轉義
------簡單指令的操作:
#date:顯示日期和事件
date 系統時間
clock 硬體時間 hwclock 硬體時間
#cal:顯示月曆
#cal [[month]year]
#bc:電腦
------最重要的熱鍵[tab],[ctrl]-c,[ctrl]-d
[tab]接在一串指令的第一個指令的後面,則為“指令補全”;
[tab]接在一串指令的第二個指令以後時,則為“檔案補齊”。
[ctrl]-c:按着[ctrl]不放然後按下c,中斷目前程式執行的指令;
[ctrl]-d:相當于輸入exit.
-------man指令與info指令
#man
分的章節:
1:使用者指令
2:系統調用
3:庫調用
4:特殊檔案(裝置檔案)
5:檔案格式(配置檔案的文法)
6:遊戲
7:雜項(miscelllaneous)
8:管理指令
man 指令出來的意思詳解。
NAME:指令的名稱及功能簡要說明
SYNOPSIS: 用法說明,包括可用的選項。
DESCRIPTION:指令功能的詳盡說明,可能包括每一個選項的意義。
OPTIONS:說明每一個選項的意義
FILES: 此指令相關的配置檔案
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外參照
<>必須給出的 []可省略的 ...可以出現多次 |多選1 {}分組
解釋太多要翻屏:
向後翻一屏:SPACE
前 :b
後 行:enter
前 :k
查找
/KEYWORD:向後
n:下一個
N:前一個
?KEYWORD:向前
q:退出
#info
線上文檔:
info command 也就是解釋指令的曆史。如發生過神馬大BUG之類的。
#nano
文本編輯器
-------------------------------------檔案權限與目錄配置-----------------------------------------
linux檔案屬性:
比如 #ls -all 出來的檔案屬性(單一取一個)
drwxr-x--- 4 root root 4096 sep 8 14:06 .
[1] [2] [3] [4] [5] [6] [7]
[權限] [連接配接][所有者][使用者組][檔案容量][修改日期][檔案名]
[1] :
其中第一行:
d :表示目錄
- :表示檔案
l :表示連接配接檔案 linkfile
b :表示裝置檔案裡面的可提供存儲的接口裝置。--塊裝置
c :表示裝置檔案裡面的串行端口裝置,例如鍵盤滑鼠(一次性讀取裝置)
其中後9行 rwx
r:可讀read
w:可寫write
x:可執行execute
其中後9行三個為一組,
第一組表示:檔案所有者的權限
第二組表示:檔案所屬使用者組的權限
第三組表示:其他非本使用者的權限
改變檔案的屬性與權限:
#chgrp #chown #chmod
#chgrp:改變檔案的使用者組
#chgrp [-R] GRPNAME DIRNAME/FILENAME -R為遞歸的意思,既下層目錄and檔案同時改變
-R:修改目錄及其内部檔案的屬組
--reference=/path/to/somefile file,... 改為跟哪個檔案一樣
#chown:改變檔案的所有者
#chgrp [-R] 賬号名稱:組名 檔案或目錄(同chgrp)
-R:修改目錄及其内部檔案的屬組
--reference=/path/to/somefile file,... 改為跟哪個檔案一樣
#cp
#cp 源檔案 目标檔案 (同樣也複制其屬性與權限)
#chmod:改變檔案的權限
#chmod [-R] MODE DIRNAME/FILENAME,...
#chmod u(own),g(group),o(others),a(all) +(加入) -(除去) =(相同)
例子:#chmod u=rwx,go=rx .bashrc
數字類型改變檔案的權限:
r:4 w:2 x:1
------------------------------------linux檔案及目錄管理--------------------------------------------
相對路徑與絕對路徑:了解即可。
目錄的相關操作
.代表此層目錄
..代表上一層目錄
- 代表前一個工作目錄
~ 代表“目前使用者身份”所在的主檔案夾
~account 代表account 這個使用者的主檔案夾(account是個賬号名稱)
#cd 切換目錄
#pwd 顯示目前目錄
-P:顯示連接配接路徑
#mkdir 建立一個新的目錄
-p:建立比如/x/y/z,沒有y,直接先建立y然後z
-v: verbose 詳細資訊
#rmdir 删除一個空的目錄
删除的隻是空目錄
删除檔案 :rm
-f
-r
rm -rf / 切記此删除全部。!!
#ls :檢視目錄與檔案
-h:做機關轉換,作為ls裡面位元組大小的改動 如可以寫作 ls -l -h
-a:顯示以.開頭的隐藏檔案。
.表示當期目錄 ..表示目前目錄的上級目錄
-A:顯示所有隐藏檔案但是不包括.和..
-d:顯示目錄自身屬性
-i:顯示檔案的代碼 比如 5645***檔案 index node,inode
-r:逆序顯示
-R:遞歸(recursive)顯示
-l:列出長資料串,包含檔案的屬性與權限等資料
複制,删除,移動:cp、rm、mv
#cp:
-i 是否複制(小紅帽特加的)
-f 強制
-L 複制的是檔案不是路徑
-P複制的是路徑 -d同樣也是保持連接配接自己
-R -r遞歸複制
-a備份
#rm:
-r 遞歸
#mv:
-i 是否複制(小紅帽特加的)
-f 強制
-t (mv -t 目标 元)
-------------檔案内容查閱
#cat
-A:相當于-vET的整合參數,可列出一些特殊字元,而不是空白而已;
-b:列出行号,僅針對非空白行做行号顯示,空白行不标行号;
-E:将結尾的斷行字元$顯示出來;
-n:列印出行号,聯通空白行也會有行号,與-b不同;
-T:将[tab]按鍵以^I顯示出來
-v:列出一些看不出來的特殊字元
#tac(反向列示)
------------資料選取
#head(取出前邊幾行)(預設顯示前10行)
-n:後面接數字,代表顯示幾行的意思
#tail(取出後面幾行)
--------------修改檔案時間或建立新檔案:touch
#touch 修改檔案的時間戳。不存在檔案的時候添加檔案
三個時間戳----3個。
-c 僅修改檔案的時間,沒有檔案的時候不建立空檔案
-a 修改通路時間 如 touch -a a 第二個a為檔案
-m 修改修改時間
-t 指定的 如 touch -m -t 201577***
-d:後面可以接欲修改的日期而不用目前的日期,也可以使用 --date="日期或時間";
----------------檔案預設權限umask
#umask
-----------------檢視檔案的類型:file
#file
file ~/.bashrc
---------------目錄的容量檢視#du
#du:
-a:列出所有的檔案與目錄的容量,因為預設僅統計目錄下面的檔案容量而已;
-h:以人們教易讀的容量格式(G/M)顯示;
-s:列出總量而已,而不列出每個個别 的目錄占用容量;
-S:不包括子目錄下的總計,與-s有點差别;
-k:以KB列出容量顯示;
-m:以MB列出容量顯示。
---------------------------------------bash----------------------------------------------
bash shell 的内置指令:type
#type:不加任何參數的時候,type會顯示出name是外部指令還是内置指令
-t:當加入-t參數時,type會将name以下面這些字眼顯示出它的意義:
file:表示為外部指令;
alias:表示該指令為指令别名所設定的名稱;
builtin:表示該指令為bash内置的指令功能。
-p:如果後面接的name為外部指令時,才會顯示完整檔案名;
-a:會由PATH變量定義的路徑中,将所有含name的指令都列出來,包含alias
變量的顯示:echo
變量的讀取:read
#read
-p:後面可以接提示符
-t:後面可以接等待的秒數,不會一直等使用者;
so......#read atext
this is a text. <==此時光标會等待你輸入。
#echo atext
this is a text.
so.......#read “Please keyin your name:” -t 30 named
指令别名設定:alias
#alias cls='clear'
------------指令曆史history
#history
-n:數字,是要列出最常使用的n條指令行的意思。
-c:是将目前shell中所有的history内容全部消除
-a:将目前新增的history指令新增如histfiles中,若沒有加histfiles,則預設寫入~/.bash_history
-r:将histfiles的内容讀到目前這個shell的history記憶中
-w:将目前的history記憶内容寫入history中。
指令曆史的使用技巧:
!n:執行指令曆史中的第n條指令;
!-n:執行指令曆史中的倒數第n條指令;
!!:執行上一條指令;
!string(字元串):執行指令曆史中的最近一個以指定字元串開頭的指令
!$:引用前一個指令的最後一個參數;
ESC(鍵盤上的) . :同上
Alt+.
--------------管道指令pipe
pipe表示為“|”
管道:前一個指令輸出,作為後一個指令的輸入
指令1|指令2|指令3|指令4|
選取指令:cut ,grep
#cut
-d:後面接分割字元,與-f一起使用; -d ‘ ’
-f:依據-d的分割字元将一段資訊分割成數段,-f表示選取第幾段的意思
-c:以字元character的機關取出固定字元區間
#grep:
Global Research 根據模式,搜尋文本,并将符合模式的文本行顯示出來。
Pattern:文本字元和正規表達式的元字元組合而成比對條件
grep
-i :忽略大小寫
--color
-v :顯示沒有被模式比對到的行
-o :隻顯示被模式比對的字元串
排序指令:sort,wc,uniq
文本排序 sort
#sort:預設排序為升序
-n:數值排序 #sort -n 檔案 不用-n按照acill碼排序
-r:降序排序
-t:字段分隔符,指定
-k:指定以哪個字段為關鍵字進行排序。
-u:排序後相同内容隻顯示一個
-f:排序時忽略字元大小寫
#uniq 相鄰的重複才顯示
-c:顯示檔案中行重複的次數
-d:隻顯示重複的行
文本統計:
#wc (word count)
-l:行數
-w:單詞數
-c -m:位元組數
-L最長的一行包含多少個字元
雙向重定義tee
字元處理指令:tr 轉換或删除字元
#tr 'ab' 'AB'
-d:删除出現在字元集中的所有字元
#grep:
*:任意長度的任意字元
?:任意單個字元
[]:以内
[^]:以外
正規表達式:REGular EXPression ,REGEXP
元字元:
. :任意單個字元
[]:比對指定範圍内的任意單個字元
[^]:比對指定範圍外的任意單個字元
字元集合[:digit:],[:lower:],.......
比對次數(貪婪模式):
* :比對其前面的字元任意次
.* :任意長度的任意字元
\?:比對其前面的字元1次或0次
\{m,n\}:比對其前面的字元至少m次,至多n次
位置錨定:
^ :錨定行首,此字元後邊的任意内容必須出現在行首
$:錨定行尾,此字元前邊的任意内容必須出現在行尾
^$:空白行
\<或\b :錨定詞首,其後面的任意字元必須作為單詞的首部出現
\>或\b :錨定詞尾,其前邊的任意字元必須作為單詞的尾部出現
分組:
\(\)
\(ab\)* ab可以出現0次或任意次
後向引用
\1:引用第一個左括号以及與之對應的右括号所包括的所有内容
\2:
\3:
本文轉自 陳延宗 51CTO部落格,原文連結:http://blog.51cto.com/407711169/1144137,如需轉載請自行聯系原作者