Linux 常用命令
-
Linux下有兩種用戶:超級用戶(root)、普通用戶。
a)超級用戶:可以再linux系統下做任何事情,不受限制。
b)普通用戶:在linux下做有限的事情。
超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。
命令:su [用戶名]
功能:切換用戶。
例如,要從root用戶切換到普通用戶user,則使用su user
。
要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時系統會提示輸入root用戶的口令。 -
添加用戶。
命令:useradd 用戶名
功能:添加一個普通用戶。
例如,要想添加一個普通用戶user1 , 則可以使用
useradd user1
。
使用該命令後,系統會在 目錄“/home”下建立一個名爲 user1 的目錄。加 -m纔會創建目錄 -
設置密碼
命令:passwd 用戶名
功能:設置或修改用戶名的密碼。
例如,我們要給剛纔創建的user1用戶設置一個密碼123456,則使用 passwd user1,然後系統會提示你輸入新密碼。 -
查看文件或目錄
命令:ls [選項] [目錄或文件]
功能:對於目錄,該命令列出該目錄下的所有子目錄與文件。對於文件,將列出文件名以及其他信息。Linux文件系統不是根據後綴名來執行文件的,而是根據此文件是否有可執行權限。
常用的選項有:
-a
顯示指定目錄下所有子目錄與文件。例如 列出“/root/home”目錄下的所有子目錄及文件,則使用
ls –a /root/home 。
-l
列出指定目錄下所有目錄及文件的詳細信息。例如 列出“/root/home”目錄下的所有子目錄及文件,則使用
ls –l /root/home
。每行列出的詳細信息依次是:
文件類型與權限 連接數 文件所有者 文件所屬組 文件大小 最近修改時間 文件名字。
使用ls –l 命令顯示的信息中 ,開頭是由10個字母構成的字符串,其中第一個字符表示文件類型,它可以是下列類型之一:
-
:普通文件
d
: 目錄
l
:符號鏈接
b
:塊設備文件
c
:字符設備文件
p
:命名管道
s
:socket文件
後面的9個字符表示文件的訪問權限,分爲3組,每組3位。
第一組表示文件創建者的權限,第二組表示同組用戶的權限,第三組表示其他用戶的權限。每一組的三個字符分別表示對文件的讀、寫、執行權限。
各權限如下:r(讀)、w(寫)、x(執行)、(沒有設置權限)。
每一組可以用一個數字表示,例如 r_x : 5 , rw:6
R__:4,那麼這三組就可以用3個數字表示,例如rwxr_xr_x:755 , rw_r__r__:644。
ls輸出內容是有顏色的,比如:目錄是藍色,壓縮文件是紅色的顯示,如果沒有顏色,可以加上參數–color=never 表示輸出沒有彩色,而–color=auto 表示自動,–color=always表示始終有顏色。
如果需要更加詳細的參數描述,可以通過如下方式獲得ls的幫助:man ls。 -
改變工作目錄。
命令:cd 目錄名
功能:改變工作目錄。將當前工作目錄改變到指定的目錄下,例如要切換當前目錄到“/home/user/0718”目錄,則使用
cd /home/user/0718。
常用的切換目錄命令:
cd ..
到父目錄
cd /
到根目錄
cd ~
到用戶主目錄下~ 與直接執行cd 效果一樣
cd –
到上一次目錄 -
顯示當前工作目錄。
命令 :pwd
功能 : 顯示用戶當前所在的目錄。例如當我們使用命令
cd /home/user/0718
時,再使用命令 pwd 則命令行會顯示
/home/user/0718
。 -
創建目錄
命令:mkdir [選項] dirname
功能:在當前目錄下創建一個名爲 “dirname”的目錄。例如要在當前目錄下創建一個名爲“07181”的目錄,則使用命令
mkdir 07181。系統就會在當前目錄下,創建一個07181的目錄,此時可以使用 ls –l 查看。 -
刪除目錄
命令:rmdir [選項] dirname
功能:在當前工作目錄下刪除目錄名爲“dirname”的子目錄。此時該子目錄必須是個空目錄。我們剛纔創建了一個空目錄07181,如果我們想把它刪掉,則使用 rmdir 07181 。此時再使用ls –l 列舉一下,這時發現07181 已經被刪掉了。如果使用該命令刪除一個非空的目錄,則刪除失敗。 -
拷貝文件或目錄
命令:cp [選項] 源文件或目錄 目標文件或目錄
功能:把指定的源文件複製到目標文件或把多個源文件複製到目標目錄中。
常用參數:
-f
若目標目錄中存在與源文件同名的文件,則直接覆蓋,不提示。例如將當前目錄下的main.c文件拷貝到“/home/user/0718”下,並且若存在同名的則進行覆蓋,使用:
cp –f ./main.c /home/user/0718
。
如果在拷貝的同時將源文件重命名,例如將當前目錄下的main.c文件拷貝到“/home/user/0718”目錄下並命名爲main1.c,則使用:
cp –f ./main.c /home/user/0718/main1.c
。
-i
和-f
相反,當目標文件中存在於源文件同名的文件,copy時系統會提示是否進行覆蓋。例如上例,若在拷貝過程中,目標文件中存在與源文件同名的文件,需要提示是否覆蓋,則只需要將上例中的-f
改爲–I
即可。例如
cp –i ./main.c /home/user/0718
。
cp –i ./main.c /home/user/0718/main1.c
。
-r
如果要拷貝的是一個目錄,此時將同時拷貝該目錄下的子目錄和文件。此時目標文件必須爲一個目錄。例如,將”/home/user/0718”目錄下的所有文件及目錄拷貝到“/home/user1”目錄下,則使用
cp –r /home/user/0718 /home/user1
。(重點) -
移動文件或目錄。
命令:mv [選項] 源文件或目錄 目標文件或目錄
功能:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名爲給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
參數:
-i
如果在移動的過程中存在重名的,則進行提示是否覆蓋。
-f
若果在移動的過程中存在重名的,則直接進行覆蓋,不會給出提示。
例如 要將 “/home/user/0718”下的main.c 文件重命名爲main.cpp,則使用
mv /home/user/0718/main.c /home/user/0718/main.cpp
。
要將“/home/user/0718”下的所有內容移動到 “/home/user/0719”,則使用
mv –f /home/user/0718 /home/user/0719
。 -
刪除文件或目錄
命令:rm [選項] 文件或目錄
功能:在linux中創建文件很容易,系統中隨時會有文件變得過時且毫無用處。用戶可以用rm命令將其刪除。該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。如果刪除時沒有-r選項則不會殺出目錄。
參數:
-f
刪除過程中不會給出提示。
-i
刪除過程中會給出交互式提示。
-r
如果刪除的是一個目錄,則將該目錄下的目錄及子目錄均刪除掉。
例如要刪除 “/home/user/0718”目錄下的main.cc main.exe
則使用,
rm -f /home/user/0718/main.cc /home/user/0718/main.exe
若果要刪除“/home/user/0718”這個目錄,則使用
rm –rf /home/user/0718
。 -
查看文件內容
命令:cat [選項] [文件]
功能: 查看目標文件的內容
參數:
-b
對非空輸出行編號
-E
在每行結束處顯示$
-n
對輸出的所有行編號
-s
不輸出多行空行。
例如 要查看當前目錄下的main.cc 的內容
則使用,cat main.cc
。
標準的輸入輸出與重定向:
文件描述符是一個整數,它代表一個打開的文件,標準的三個描述符號:
標準輸入:一般指鍵盤,描述符爲:0
標準輸出:一般指屏幕輸出,描述符爲:1
錯誤輸出:也是屏幕,描述符爲:2
重定向符號:
<
重定向輸入 、>
重定向輸出 、>>
添加輸出 、2>
錯誤重定向 、&>
錯誤和信息重定向
cat >file1<file2
./main text1.txt >text5.txt 2>&1
cat常常與重定向一起使用。其中>
表示創建,>>
表示追加,<<
表示以什麼結束
如果cat的命令行中沒有參數,它就會從標準輸入中讀取數據,並將其送到標準輸出。
linux中創建空文件的四種方式:
方式1:echo > a.txt
(好像會有一個字節)
方式2:touch b.txt
方式3:cat > c.txt
按ctrl+c組合鍵退出;或Ctrl+d
方式4:vi d.txt
進入之後:wq退出。 -
顯示文件內容的前幾行
命令:head –n
行數值 文件名
功能:顯示目標文件的前幾行。
例如 要顯示 當前目錄下main.cc 的前10行,則使用
head –n 10 main.cc
。 -
顯示文件的後幾行
命令:tail –n 行數值 文件名
。
功能:顯示目標文件的最後幾行。
例如 要顯示“/home/user/0718/”目錄下的main.cc 文件的最後10行。則使用tail –n 10 /home/user/0718/main.cc
。 -
管道與命令替換
管道:是重定向的一種,就像一個導管一樣,將一個程序或命令的輸出作爲另一個程序或命令的輸入。eg: #ls –l /etc | wc –w
命令替換:和重定向有點相似,但區別在於命令替換是將一個命令的輸出作爲另一個命令的參數。常用的格式爲 : command1command2
或command1 $(command2)
舉例:
首先列出當前的所有信息,並重定向到aa文件中:
#ls | cat > aa 或ls > aa
然後,通過命令替換,列出aa文件中所有的文件信息
#ls –l `cat aa\` 或者用 ls –l $(cat aa)
-
文件或目錄的創建掩碼
umask指文件(0666)或目錄(0777)創建時在全部權限中要去掉的一些權限,普通用戶缺省時umask的值爲002,超級用戶爲022。
002表示創建目錄時所有者的權限不去掉, 所屬組權限不去掉,其他組權限寫屬性去掉
創建一文件以後,普通用戶缺省的權限爲664 超級用戶: 644
創建一目錄以後,普通用戶缺省的權限爲775 超級用戶: 755
可以通過umask查看默認的缺省的掩碼值。通過umask 001修改掩碼值。 -
改變目錄或文件的權限
功能:chmod
命令是非常重要的,用於改變文件或目錄的訪問權限。用戶用它控制文件或目錄的訪問權限。
語法:該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
說明:我們利用ls –l
長格式列出文件或目錄的基本信息如下:
文件類型與權限 鏈接數 文件所有者 文件屬組 文件大小 最近修改的時間 名字
對於權限,有第一組表示文件所有者的權限,第二組表示同組用戶的權限,第三組表示其他用戶的權限。每一組的三個字符分別表示對文件的讀、寫和執行權限。可以通過chmod來修改權限。
-
文字設定法
chmod [who][+|-|=][mode] 文件名
//修改指定文件名中who的權限增加/去除/賦值爲mode
參數:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示“用戶(user)”,即文件或目錄的所有者。
g 表示“同組(group)用戶”,即與文件所有者有相同組ID的所有用戶。
o 表示“其他(others)用戶”。
a 表示“所有(all)用戶”。它是系統默認值。即chmod +x 1.c表示所有人都有可執行的權限。 -
操作符號可以是:
+
添加某個權限。
-
取消某個權限。
=
賦予給定權限並取消其他所有權限(如果有的話)。
設置mode所表示的權限可用下述字母的任意組合(當組合的時候,who不能少):
r 可讀
w 可寫
x 可執行 -
文件名:以空格分開的要改變權限的文件列表,支持通配符。
在一個命令行中可給出多個權限方式,其間用逗號隔開。例如:chmod g+r,o+r example使同組和其他用戶對文件example 有讀權限。 -
數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限,然後將其相加。所以數字屬性的格式應爲3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的所有者有"讀/寫"二種權限,需要把4(可讀)+2(可寫)=6(讀/寫).
數字設定法的一般形式爲:chmod [mode] 文件名
例子:
(1)文字設定法:
例1:$ chmod a+x sort
即設定文件sort的屬性爲:
文件所有者(u) 增加執行權限
與文件所有者同組用戶(g) 增加執行權限
其他用戶(o) 增加執行權限
例2:$ chmod ug+w,o-x text
即設定文件text的屬性爲:
文件所有者(u) 增加寫權限
與文件所有者同組用戶(g) 增加寫權限
其他用戶(o) 刪除執行權限
例3:$ chmod a–x mm.txt
$ chmod –x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執行權限刪除,它設定的對象爲所有使用者。
(2)數字設定法:
例1:$ chmod 644 mm.txt
$ ls –l
即設定文件mm.txt的屬性爲:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件所有者(u)inin 擁有讀、寫權限
與文件所有者同組人用戶(g) 擁有讀權限
其他人(o) 擁有讀權限
例2:$ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即設定wchtxt這個文件的屬性爲:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何權限
-
文件查找
命令:find 起始目錄 查找條件 操作
功能:在指定目錄結構中搜索問價,並執行指定的操作。
該命令的查找條件可以是一個邏輯運算符not、and、or組成的複合條件。
(1)and:邏輯與,在命令中用-a表示,表示只有當所給的條件都滿足時,查找條件才滿足。例如在 “/home/user”目錄下查找名爲0718 類型是一個目錄的文件。則使用
find /home/user –name 0718 –a -type d
(2)or:邏輯或,在命令中用-o表示,表示只要所給的條有一個滿足,查找條件就滿足。例如在“/home/user”目錄下查找名字爲main.cc 或名字爲 main.c的文件。則使用
find /home/user -name main.cc -o -name main.c。
(3)not:邏輯非,在命令中用!表示查找不滿足所給條件的文件。例如在“/home/user“下查找名字不是main.c的文件,則使用
find /home/user ! –name main.cc 。
常用的查找條件有:
(1)根據名稱和文件屬性查找。
-name
’字串’ 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[ ]。
-gid n
查找屬於ID號爲n的用戶組的所有文件。
-uid n
查找屬於ID號爲n的用戶的所有文件。
-group
’字串’ 查找屬於用戶組名爲所給字串的所有的文件。
-user
’字串’ 查找屬於用戶名爲所給字串的所有的文件。
-empty
查找大小爲0的目錄或文件。
-perm
權限 查找具有指定權限的文件和目錄,權限的表示可以如711,644。
-size n[bckw]
查找指定文件大小的文件,n後面的字符表示單位,缺省爲b,代表512字節的塊。
-type x
查找類型爲x的文件,x爲下列字符之一:
b 塊設備文件
c 字符設備文件
d 目錄文件
p 命名管道(FIFO)
f 普通文件
l 符號鏈接文件(symbolic links)
s socket文件
(2)根據時間查找
- amin n
查找n分鐘以前被訪問過的所有文件。(+表示n分鐘之前,-或者不寫表示n分鐘之內)
- cmin n
查找n分鐘以前文件狀態被修改過的所有文件。
- mmin n
查找n分鐘以前文件內容被修改過的所有文件。
- atime n
查找n天以前被訪問過的所有文件。
- ctime n
查找n天以前文件狀態被修改過的所有文件。
- mtime n
查找n天以前文件內容被修改過的所有文件。
(3)可執行的操作。
\- exec 命令名稱 {}
:對符合條件的文件執行所給的Linux 命令,而不詢問用戶是否需要執行該命令。{}表示命令的參數即爲所找到的文件;命令的末尾必須以\;
結束。
例如,在“/home/user“目錄下查找名爲main.c文件並顯示這些文件的詳細信息,則使用
find /home/user –name main.c -exec ls –l {} \;
- ok
命令名稱 { } :對符合條件的文件執行所給的Linux 命令,與exec不同的是,它會詢問用戶是否需要執行該命令。 -
搜索文件內容grep
命令:grep [選項][查找模式][文件名1,文件名2,…]
功能:grep過濾器查找指定字符模式的文件,並顯示含有此模式的所有行。被尋找的模式稱爲正則表達式。
常用的一些正則表達式
^
:以什麼開頭 ,例如 ls –l | grep ^d
顯示當前目錄下的所有子目錄的詳細信息。
$
:以什麼結尾 。例如ls –l | grep c$
顯示當前目錄下以c結尾的文件。
常用的參數:
-E
每個模式作爲一個擴展的正則表達式對待。等價於 egrep,使用最新的正則表達式
-
F 每個模式作爲固定的字符串對待
-c
只顯示匹配行的數量。
-i
比較式不區分大小寫。
-n
在輸出前加上匹配串所在的行號。 -
文檔管理
命令:tar [主選項+輔選項] 目標文檔 源文件或目錄
功能:tar可以爲文件和目錄創建檔案。利用tar,用戶可以爲某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案, 現在,用戶可以在任何設備上創建檔案,如軟盤。
利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成爲一個文件以便於網絡傳輸是非常有用的。
常用參數:
c:創建新的檔案文件。
r: 要把存檔的文件追加到檔案文件的末尾。
tar rf .tar test
x:從檔案文件中釋放文件。
f:使用檔案文件或設備。
v:在歸檔過程中顯示處理的文件。
z:用gzip來壓縮/解壓縮文件,後綴名爲.gz,加上該選項後可以將檔案文件進行壓縮。
例如,把“/home/user/0718”下的所有後綴爲.c 的歸檔到source.tar,則使用 tar cvf source.tar /home/user/0718/.c
若果在歸檔的過程中還要進行壓縮,則使用
tar czvf source.tar.gz /home/user/0718/*.c。
如果要將歸檔的文件source.tar釋放掉,則使用
Tar xvf source.tar
若果將歸檔後的壓縮文件釋放掉,則使用
Tar xzvf source.tar.gz。 -
文件壓縮解壓
命令:gzip/bzip2 [選項]壓縮或解壓縮的文件名
功能:gzip用來將文件壓縮成後綴爲.gz的壓縮文件,或者將後綴爲.gz的文件進行解壓。Bzip2用來將文件壓縮成後綴名爲.bz2的壓縮文件,或者將後綴爲.bz2的壓縮文件解壓。
常用參數:
-d: 將壓縮文件進行解壓。
-v: 在壓縮或解壓過程中顯示解壓或壓縮的文件。
例如,將main.c 進行壓縮,則使用
Gzip/bzip2 –v main.c。
則就會將main.c 壓縮成 main.c.gz 或者 main.c.bz2 。
如果將剛纔的壓縮文件解壓,則使用
Gzip –dv main.c.gz,或者 bzip2 –dv main.c.bz2。 -
scp 遠程copy文件命令
scp filename username@ip:path
filename:文件名稱
username:copy到的目標主機的用戶名
ip:目標主機IP
path:目標主機路徑
scp file3 [email protected]:~/
從本機copy到其他機器
scp [email protected]:~/file3 .
從其他機器copy到本機 -
ubuntu設置固定IP
首先點擊右上角的《上下箭頭》,點Edit Connections,點edit,點擊ipv4 setting