Linux基本命令介紹
1.man 顯示命令的詳細資訊 clear清屏命令
cd- -help mkdir- - help檢視命令的幫助資訊
2.date / cal / whowhoami檢視日期、日曆、登入的使用者、當前登入使用者 非圖形介面切換使用
3.ifconfig檢視網路連線
4.pwd命令 “print working directory”(列印當前工作目錄)
cd
1.功能說明:進入(開啟)目錄,相當於WINDOWS系統中的開啟資料夾
2.常見用法:
a) #cd/usr/include改變任意一目錄為當前目錄。
b) #cdTest當前目錄下一目錄. (Test是一個已經存在的目錄)
c) #cd 轉至登陸時的工作目錄,即使用者目錄.
d) #cd.. 回到上一層目錄。
e) #cd../.. (返回上兩級目錄,相當於cd..兩次)
3.特別用法:
a)cd~ 進入當前使用者目錄
b)cd~/Test 進入當前使用者的Test目錄
c)cd-回到剛才的工作目錄,相當於WINDOWS中的ALT+Tab
4.關於使用者目錄
在Linux系統中,使用者登入時會首先進入使用者目錄,就像WINDOWS系統登入後會首先進入桌面一樣(桌面實際上是系統盤下的一個目錄.)
例如:登入系統時都會預設進入/home/aoran目錄.
5.關於特殊目錄
. 表示當前目錄,例如: ./test.sh執行當前目錄下的test.sh指令碼
.. 表示上一級目錄,例如:cd..回到上一級目錄 ls ..顯示上級目錄下的檔案資訊
ls [-l] [-t] [-a] [-s] [-r] [-F] [file..]
1.功能說明:用於檢視目錄下的檔案資訊,顯示檔案或目錄
Linux是一種檔案系統,系統中的任何元素包括檔案,目錄,連結,甚至硬體裝置都會做為檔案來處理.
2.引數說明:
-a列出所有的檔案。包括隱藏檔案。
-l用長格式顯示匹配項(檔案或目錄),許可權,所有者,大小和最後修改日期。
-t以最近修改時間/日期順序列出(最新的在首位)
-s
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } {SourceFile TargetFile |SourceFile ... TargetDirectory |SourceDirectory ... TargetDirectory }
1.功能說明:拷貝檔案到另一個檔案 , 將檔案拷到一個目錄下.拷貝目錄到另一個目錄
2.引數說明:
-f 強制拷貝(AIX中,如果檔案寫操作沒有開啟,則首先清除目標檔案)
-h 複製符號連結
-i 帶命令提示的拷貝,提示將被告覆蓋的檔案
-p 屬性拷貝,除了拷貝檔案以外,還會拷貝檔案的屬性資訊
-r 級連拷貝,拷貝目錄下所有檔案和子目錄到目標目錄下
-R 複製特殊裝置檔案
3.常見用法:
a)在當前目錄將test 作拷貝。
# cp test test.bak
b)將當前目錄的test檔案拷貝到/home/aoran/Test目錄
# cp test /home/aoran/Test
c)拷貝Test下的所有檔案到Test1目錄下
# cp /home/aoran/Test/* /home/aoran/Test1
d)級連拷貝.拷貝Test下所有檔案和子目錄到Test1目錄下,如果Test1目錄不存在則建立,如果存在則覆蓋
# cp -r /home/aoran/Test /home/aoran/Test1
e)將當前目錄下的hello hello1 檔案拷貝到Test目錄下.
# cp hello hello1 /home/aoran/Test
f)將使用者目錄下的programs目錄下所有以.c結尾的檔案拷貝到當前目錄
# cp ~/programs/*.c .
g)屬性拷貝,除了拷貝檔案以外,還會拷貝檔案的屬性資訊。這種拷貝方式可以把一個檔案的許可權,使用者資訊,時間屬性完全拷貝。
# cp -p test test.bak
mv
1.功能說明:移動或重新命名檔案和目錄
2.命令格式:mv [-i]源 目標檔案(或目錄)
3.應用舉例:
a)將檔案test更名為mytest,相當於重新命名
$mv test mytest
b)將檔案test移動到目錄Test下
$mv test Test
c)將檔案mv /home/aoran/Test/test移動到目錄aoran下
$mv /home/aoran/Test/test aoran
d)將目錄dir1更名為dir2
$mv dir1 dir2
注意: mv命令在這裡有二意性.當目錄dir2不存在時,可以將目錄dir1更名為dir2 ;如果在當前路徑下已經存在一個目錄名為dir2 ,那麼使用mv dir1 dir2 時,將會把目錄dir1整個移動到dir2目錄下.
rm
1.功能說明:刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除
2.引數說明:
-i 帶命令提示的刪除,提示將被刪除的檔案
-r 同時刪除該目錄下的所有目錄層
3.應用舉例:
a)刪除Test1目錄以及目錄中的所有檔案
$rm–r Test1
b)帶提示刪除test檔案
$rm –i test
cat [file_name]
1.功能說明:將一個文字檔案的內容顯示在螢幕上,檔案內空不分屏,全部顯示.主要用於檢視較小的檔案.
cat passd > a.txt (將一個檔案的內容不顯示在螢幕上而輸出到另外一處的檔案中;)
cat /etc/passwd | grep root 多配合awk/grep和管道使用等。
作用:顯示passwd檔案中內容中使用者名稱為root的行。)
通過重定向 合併檔案
cat test1>test2 test1的內容覆蓋到test2上
cat test1 test2 >test3
more命令:一次顯示一個文字檔案的內容一螢幕
more (一個或多個)檔名
空格鍵 一次滾動手冊一頁
回車鍵 一次滾動手冊一行
b 移到上屏 f 移到下一屏
q 退出返回外殼提示
more password.txt
tail命令:
tail [-n] filename
用法一:檢視指定行數
tail -20 hello.txt
用法二:預設檢視檔案最後10行
tail helo.txt;
tail從檔案尾部開始閱讀檔案,主要用於檢視log類實時生成的檔案。如果需要從頭閱讀,或者只檢視檔案的前面幾行,可以使用head命令。
head命令:
head [-n] filename
顧名思義,檢視檔案的先頭部分,或者說是從頭閱讀檔案。
如:head -20 hello.txt檢視檔案的前20行。
tail命令:
tail [-n] filename
用法一:檢視指定行數
tail -20 hello.txt
用法二:預設檢視檔案最後10行
tail helo.txt;
tail從檔案尾部開始閱讀檔案,主要用於檢視log類實時生成的檔案。如果需要從頭閱讀,或者只檢視檔案的前面幾行,可以使用head命令。
head命令:
head [-n] filename
顧名思義,檢視檔案的先頭部分,或者說是從頭閱讀檔案。
如:head -20 hello.txt檢視檔案的前20行。
tar
1.功能說明:可以為檔案和目錄建立檔案。利用tar,使用者可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。
2.語法:tar[主選項+輔選項] 檔案或者目錄
3.引數說明:
c建立新的檔案檔案。如果使用者想備份一個目錄或是一些檔案,就要選擇這個選項。
r把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經作好備份檔案,又發現還有一個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。
t列出檔案檔案的內容,檢視已經備份了哪些檔案。
u更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後
x從檔案檔案中釋放檔案。
z用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。
3.常見用法
a)把/home目錄下包括它的子目錄全部做備份檔案,備份檔名為usr.tar。
$ tar cvf usr.tar /home
b)把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔名為usr.tar.gz。
$ tar czvf usr.tar.gz /home
c)把usr.tar.gz這個備份檔案還原並解壓縮。
$ tar xzvf usr.tar.gz
d)檢視usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
要將檔案備份到一個特定的裝置,只需把裝置名作為備份檔名。
ps命令:顯示當前使用者在系統中啟動的程序。
-u:列出由這個使用者啟動的所有程序。
ps:跟當前終端有關的程序;
常用
ps -aux
ps -auxf | grep inetd
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 790 0.0 0.1 1872 576 tty4 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty4
root 794 0.0 0.1 1872 580 tty5 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty5
root 807 0.0 0.1 1872 576 tty2 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty2
root 809 0.0 0.1 1872 580 tty3 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty3
root 812 0.0 0.1 1872 576 tty6 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty6
root 1311 0.0 0.1 1872 580 tty1 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty1
root 2500 1.6 5.3 36524 27236 tty8 Ss+ 18:33 0:39 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-Jf
root 3861 0.0 0.3 5372 2028 pts/0 Ss 18:36 0:00 bash
root 4125 0.0 0.2 4708 1200 pts/0 R+ 19:14 0:00 ps u
USER使用者
UID 使用者ID(User ID)
PID 程序ID(Process ID)
PPID 父程序的程序ID(Parent Process id)
SID 會話ID(Session id)
%CPU 程序的cpu佔用率
%MEM 程序的記憶體佔用率
VSZ 程序所使用的虛存的大小(Virtual Size)
RSS 程序使用的駐留集大小或者是實際記憶體的大小,Kbytes位元組。
TTY 與程序關聯的終端(tty)
STAT 程序的狀態:程序狀態使用字元表示的(STAT的狀態碼)
top命令:
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員。
顯示內容分為兩塊: 統計資訊區 程序資訊區
具體可以檢視註釋
kill命令:結束你無法正常方式退出的不想要的命令處理
當需要中斷一個前臺程序的時候,通常是使用< Ctrl+c >組合鍵 man ls;
但是對於一個後臺程序就必須使用kill命令
一般用法先通過ps命令取得程序id
kill 12932
有時候可能會遇到這樣的情況,某個程序已經掛死或閒置,使用kill命令卻殺不掉。這時候就必須傳送訊號9,強行關閉此程序
kill -9 id
find命令:尋找基於指定標準的檔案,然後對匹配的檔案執行一個命令
find path expression [action]
指定路徑 查詢條件 執行的動作
‘-name’按檔名來查詢
‘-mtime’按檔案最後一次修改時間來查詢
‘-user’:按檔案的擁有者查詢
‘-size’:按檔案的大小查詢
‘-perm’按照檔案的許可權查詢
‘-type’按型別查詢
‘-atime’按最後一次訪問時間查詢
例如,我們想要查詢一個檔名是hello的檔案,可以使用如下命令:
find /home/aoran -name hello
可以使用萬用字元
find / home/aoran-name‘he*'
使用混合查詢方式查詢檔案
如:find /home/aoran -mtime -3 -size -1000-name‘he*' -user aoran
(在目錄下查詢大小小於1000k,最後修改時間是3天內的,檔案擁有者是aoran的檔名前2位是he的檔案。)
grep命令:尋找一個包含有一個特定的文字字串的檔案,並把所有包含該部分的行列印到螢幕上
grep [選項]字串 檔名
經常使用的引數:
-i 當搜尋時忽略字串的大小寫
-v 尋找所有不匹配字串的行(反向查詢)
經常與管道連用如:
ls -l | grep –i test
顯示目錄下有test字母的檔案
grep aoran passwd
在檔案passwd中查詢有aoran的行
grep –v aoran passwd
grep經常配合正則表示式使用
echo
Linux的echo命令,在shell程式設計中極為常用,類似printf
功能說明:顯示文字。
語 法:echo [-ne][字串]
參 數:-n不要在最後自動換行 ;字串能加引號,也能不加引號。用echo命令輸出加引號的字串時,將字串原樣輸出;用echo命令輸出不加引號的字串時,將字串中的各個單詞作為字串輸出,各字串之間用一個空格分割。
普通字串可以在echo後直接輸入字串,但這樣當要輸出某些字元如\時會有問題(這種寫法的時候/是被當作繼行符處理過濾掉的,要輸出一個\必須打\\)所以一般最好用'string'或"string"的格式,這樣即使是\也可以輸出,方便直觀。
[email protected]:~$ echo hello world
hello world
[email protected]:~$ echo hello\ world
hello world
[email protected]:~$ echo hello\\ world
hello\ world
[email protected]:~$ echo 'hello\\ world'
hello\\ world
2)echo的轉義顯示:加上-e引數
輸出多行
[email protected]:~$ echo -e 'hello\nworld'
hello
world
Vi是linux的功能很強大,但是對於用貫了windows編輯器的人,這個用起來很費勁。
VI文字編輯器:
Vi的鍵盤使用圖:大家按提示操作,會開啟一個頁面,然後儲存就可以。
vi的三種模式:
1.呼叫vi
vi檔名 開啟或新建一個檔案
vi 開啟一個新的以後命名的檔案
view檔名 以只讀方式開啟一個檔案
2.位置
向上 k
向下 j
向左 h
向右 l
0回到行首
/$回到行尾
注:均指控制游標
3.輸入
i 在游標當前位置插入
a 在游標所在位置後插入
l 在行頭插入
A 在行尾插入
o 在游標所在行下插入一空行
O 在游標所在行上插入一空行
<Esc> 退出插入狀態
4.刪除文字
x 刪除一個字元
dw 刪除當前詞
3dw 刪除三個詞
dd 刪除當前行
5dd 刪除五行
:5,10d
5.撤消和更改文字
r 替換一個字元
cw 替換一個單詞
cc 替換一行
C 替換從游標至行尾
J 把當前行和下一行連起來
u 廢除剛才的編輯操作(即undo)
~ 改變大小寫
6.複製和貼上文字
yy 拷貝行(或Y)
yw 拷貝詞
p 當前行下貼上
P 當前行上貼上
7.儲存和退出檔案
:w 存檔
:w 新檔案存成新檔案
:wq 存檔退出vi(或ZZ,或:x)
:q! 強行退出不存
後續可以根據需要分享sed awk、正則表示式 、檔案系統、shell入門等