1. 程式人生 > >Linux基礎指令大全

Linux基礎指令大全

本文章是本人在學習Linux過程中積累的Linux相關指令的使用方法及其原理的介紹,在這裡和大家分享一下。

一、Linux目錄操作命令[ ~ ] 代表自己的Home目錄


(1)顯示目錄檔案    ls
--------------------------------------------------------------------------------------------------------------------------
ls       顯示出當前目錄下的檔案
ls  -a   顯示出包含隱藏檔案的所有檔案
ls  -t   按照檔案最後修改時間顯示檔案
ls  -F   顯示出當前目錄下的檔案及其型別
ls  -l   顯示目錄下所有檔案的許可權、擁有者、檔案大小、修改時間及名稱
ls  -lg  同上
ls  -R   顯示出該目錄及其子目錄下的檔案
ls  -hlp 獲得更多幫助



(2)建新目錄   mkdir
--------------------------------------------------------------------------------------------------------------------------
mkdir dir1   (新建一名為dir1的目錄)


(3)刪除目錄  rmdir
--------------------------------------------------------------------------------------------------------------------------
rmdir  dir1      刪除目錄dir1,但它必須是空目錄,否則無法刪除
rm  -r  dir1     刪除目錄dir1及其下所有檔案及子目錄
rm  -rf dir1     不管是否空目錄,統統刪除,而且不給出提示,使用時要小心


(4) 改變工作目錄位置     cd
--------------------------------------------------------------------------------------------------------------------------
cd             改變目錄位置至使用者login時的working  directory
cd  dir1       改變目錄位置,至dir1目錄
cd  ~user      改變目錄位置,至使用者的working directory cd  
..             改變目錄位置,至當前目錄的上層目錄
cd  ../user    改變目錄位置,至上一級目錄下的user目錄
cd  /dir1/dir2 改變目錄位置,至絕對路徑(Full  path)
cd  -          回到進入當前目錄前的上一個目錄



(5)顯示當前所在目錄pwd
--------------------------------------------------------------------------------------------------------------------------
pwd


(6)檢視目錄大小du
--------------------------------------------------------------------------------------------------------------------------
du  dir1       顯示目錄dir1及其子目錄容量(以kb為單位)
du   -s  dir1  顯示目錄dir1的總容量



(7)顯示環境變數
--------------------------------------------------------------------------------------------------------------------------
echo $HOME    顯示家目錄
echo $PATH    顯示可執行檔案搜尋徑
env           顯示所有環境變數(可能很多,最好用"env | more","env |grep PATH"等)



(8)修改環境變數
--------------------------------------------------------------------------------------------------------------------------
export PATH=$PATH:/usr/local/bin
想知道export的具體用法,可以用shell的help命令:help export


二、系統詢問與許可權口令


(1)檢視系統中的使用者 who
--------------------------------------------------------------------------------------------------------------------------
(2)檢視username
--------------------------------------------------------------------------------------------------------------------------
     
who  am  I     檢視自己的username
(3)改變自己的username的帳號與口令   su
--------------------------------------------------------------------------------------------------------------------------
     su    username
su    username  輸入帳號
password 輸入密碼
(4)檢查使用者所在組名稱 groups
groups
--------------------------------------------------------------------------------------------------------------------------


三、I/O命令


(1)管道(pipe-line)
--------------------------------------------------------------------------------------------------------------------------
command1|command2      將command1的執行結果送到command2 作為輸入
ls  -R1|more           以分頁方式列出當前目錄檔案及子目錄名稱
cat file1|more         以分頁方式,列出file1的內容


(2)標準輸入控制
--------------------------------------------------------------------------------------------------------------------------
command-line<file      將file作為command-line的輸入


mail  -s  “mail  test”  [email protected]<file1     檔案file1當作信件的內容,subject  名稱為mail  test 送給收信人






(3)標準輸出控制
--------------------------------------------------------------------------------------------------------------------------
command>filename      將command的執行結果送至指定的filename中
ls  -l >list          將執行”ls  -l”  的結果寫入檔案list中
command>!filename 若filename檔案已存在,則強迫重寫
command>&filename     將command執行所產生的任何資訊寫入
filename
command>>filename   將command 的執行結果,附加(append)到filename


command>>&filename    將command執行所產生的任何資訊附加於filename中

四、其他常用命令


(1)命令線上幫助     man

--------------------------------------------------------------------------------------------------------------------------
man  ls              查詢ls這個指令的用法


(2)設定命令記錄表長度      history


--------------------------------------------------------------------------------------------------------------------------
set  history=n         定命令記錄表長度為n(可記載執行過的前面n個命令)


history                檢視命令記錄表的內容


(3)顯示說明     info


--------------------------------------------------------------------------------------------------------------------------
info   gcc             檢視gcc的說明,按上下箭頭選定選單,回車進入,"u"鍵返回上級選單.
                       
info                   不加引數則進入最上一級選單

五、檔案操作

(1)檢視檔案(可以是二進位制的)內容  
--------------------------------------------------------------------------------------------------------------------------
cat
cat file1       以連續顯示方式,檢視檔案file1的內容
cat file1|more     以分頁方式檢視檔案的內容

(2)刪除檔案  
--------------------------------------------------------------------------------------------------------------------------rm
rm  file?
rm  f*
rm  filename 

(3)複製檔案  cp


--------------------------------------------------------------------------------------------------------------------------
cp   file1  file2       將file1複製成file2
cp   file1  dir1        將file1複製到目錄dir1
cp  /tmp/file1          將file1複製到當前目錄
cp  /tmp/file1  file2   將file1 複製到當前目錄名為file2
cp  –r  dir1  dir2     (recursive  copy)複製整個目錄。

(4)移動或更改檔案、目錄名稱mv
--------------------------------------------------------------------------------------------------------------------------
mv  file1  file2       將檔案file1,更名為file2
mv  file1  dir1        將檔案file1,移到目錄dir1下
mv  dir1   dir2        將目錄dir1移動到目錄dir2下


(5)比較檔案(可以是二進位制的)或目錄的內容diff
--------------------------------------------------------------------------------------------------------------------------
diff  file1  file2        比較file1與file2的不同處
diff   -r  dir1  dir2     比較dir1與dir2的不同處


(6)檔案中字串的查詢       grep
--------------------------------------------------------------------------------------------------------------------------

grep   string  file       查詢並列出串abc所在的整行文字



(7)檔案或命令的路徑
--------------------------------------------------------------------------------------------------------------------------尋找
whereis  command  顯示命令的路徑


which    command      顯示路徑及使用者所定義的別名


whatis   command      顯示命令的功能摘要


find  search  -path  -name  filename  -print
  搜尋指定路徑下某檔案的路徑


locate filename       根據系統預先生成的檔案/目錄資料庫(/var/lib/slocate/slocate.db)查詢匹配的檔案/目錄,查詢速
                                    度很快,如果有剛進行的檔案改變而系統未到執行定時更新資料庫的時間,可以打入updatedb命令手動更
                                  新.






(8)建立檔案或目錄的連結   ln
--------------------------------------------------------------------------------------------------------------------------
ln    source  target1    建立source檔案(已存在)的硬連結,命名為target1


ln -s source  target2    建立source檔案的符號連結,命名為target2






(9)檔案屬性的設定      chmod
--------------------------------------------------------------------------------------------------------------------------
chmod  [-R]  mode  name  [-R]為遞迴處理,將指定目錄下所有檔案及子目錄一併處理
                         mode為3-8位數字,是檔案/目錄讀、寫、執行允許權的縮寫(r:read,數字代號為"4" w:write,數字代號為"2" x:execute,數字代號為"1")
chmod  755  dir1          將目錄dir1設定成任何人皆有讀取及執行的權利,但只有擁有者可作寫修改。其中7=4+2+1,5=4+1
chmod  700  file1                      將file1設為擁有者可以讀、寫和執行


chmod  o+x  file2 將file2,增加擁有者可執行的權利


chmod  g+x  file3          將file3,增加組使用者可執行的權利


chmod  o-r    file4       將file4,除去其它使用者可讀取的權利






(10)改變檔案或目錄所有權      chown
--------------------------------------------------------------------------------------------------------------------------chown  user   file1         將檔案file1改為user所有


chown  .fox   file1         將檔案file1改為fox組所有


chown  user.fox   file1     將檔案file1改為fox組的user所有


chown  -R  user  dir1       將目錄dir1及其下所有檔案和子目錄,改為user 所有






(11)改變檔案或目錄的組擁有權   chgrp
--------------------------------------------------------------------------------------------------------------------------
chgrp  vlsi  file1           將檔案file1改為vlsi組所有
chgrp  -R  image  dir1              將目錄dir1及其下所有檔案和子目錄,改為image群組






(12)改變檔案或目錄的最後修改時間     touch
--------------------------------------------------------------------------------------------------------------------------
touch   name






六、文字編輯器Vi




(1)Vi簡介
 
--------------------------------------------------------------------------------------------------------------------------
vi是在Linux 上被廣泛使用的中英文編輯軟體。vi是visual ditor的縮寫,是UNIX提供給使用者的一個視窗化編輯環境。






(2)Vi的工作模式


--------------------------------------------------------------------------------------------------------------------------
    顯示器出現vi的編輯視窗,同時vi會將檔案複製一份至緩衝區(buffer)。vi先對緩衝區的檔案進行編輯,保留在磁
盤中的檔案則不變。編輯完成後,使用者可決定是否要取代原來舊有的檔案。
    
    Vi提供兩種工作模式:即輸入模式和控制模式(Insert Mode and Control Mode).使用者進入Vi後即處於命令模式下面
當需要進行修改時,則需要進入輸入模式。






(3)命令模式
--------------------------------------------------------------------------------------------------------------------------
 
輸入模式下,按ESC可切換到命令模式。命令模式下,可選用下列指令離開


:q!     離開vi,並放棄剛在緩衝區內編輯的內容


:wq     將緩衝區內的資料寫入磁碟中,並離開vi


:ZZ     同wq


:x      同wq


:w      將緩衝區內的資料寫入磁碟中,但並不離開vi


:q      離開vi,若檔案被修改過,則要被要求確認是否放棄修改的內容,此指令可與:w配合使用






(4)命令模式下游標的移動
H   
--------------------------------------------------------------------------------------------------------------------------  左移個字元
J  
下移一個字元
K          
上移一個字元
L          
右移一個字元
0          
移至該行的首
$          
移至該行的末
^          
移至該行的第一個字元處
H          
移至視窗的第一列
M          
移至視窗中間那一列
L          
移至視窗的最後一列
G   移至該檔案的最後一列
W, W       
下一個單詞 (W 忽略標點)
B, B  
上一個單詞 (B 忽略標點)
+          
移至下一列的第一個字元處
-          
移至上一列的第一個字元處
(移至該句首
)          
移至該句末
{移至該段首
}          
移至該段末
NG         
移至該檔案的第n列
N+         
至游標所在位置之後第n列
n-         
移至游標所在位置之前第n列






(5)輸入模式
a
--------------------------------------------------------------------------------------------------------------------------(append)  在游標之後加入資料
A  在該行之末加入資料
i
(insert)  在游標之前加入資料
I  在該行之首加入資料
o
(open)    新增一行於該行之下,供輸入資料用
O  
新增一行於該行之上,供輸入資料用
Dd         
刪除當前游標所在行
X          
刪除當前游標字元
X          
刪除當前游標之前字元

撤消
·         
重做
F          
查詢
s          
替換,例如:將檔案中的所有"FOX"換成"duck",用":%s/FOX/duck/g"
ESC        
離開輸入模式






七、GNU C編譯器




--------------------------------------------------------------------------------------------------------------------------
(1)GNU簡介
     
LINUX上可用的C編譯器是GNU  C編譯器,它建立在自由軟體基金會程式設計許可證的基礎上,因此可以自由釋出。
LINUX 上的GNU  C編譯器(GCC)是一個全功能的ANCI  C相容編譯器,而一般UNIX(如SCO  UNIX)用的編譯器是CC

下面介紹GCC和一些GCC編譯器最常用的選項。






(2)GCC編譯命令
gcc 
--------------------------------------------------------------------------------------------------------------------------
[options][filenames]


gcc  -p-g  test.c           將除錯資訊寫入可執行檔案中(.out)
gcc  -pg  test.c只建立profile資訊,而不將除錯資訊寫入可執行檔案


gcc  –o  count  count.c    指定檔名替代預設的a.out可執行檔案的檔名






(3)執行可執行檔案
./a.out
./count




--------------------------------------------------------------------------------------------------------------------------


八、GDB除錯工具






(1)GDB簡介
     
--------------------------------------------------------------------------------------------------------------------------
LINUX包含了一個叫gdb的GNU除錯程式。gdb是一個用來除錯C和C++程式的強有力偵錯程式。它使你能在程式執行時觀察
程式的內部結構和記憶體的使用情況。它具有以下一些功能:
   ·監視程式中變數的值;
   ·設定斷點以使程式在指定的程式碼行上停止執行;
   ·一行行的執行程式碼。






(2)GDB指令
--------------------------------------------------------------------------------------------------------------------------
file    裝入欲除錯的可執行檔案


kill    終止正在除錯的程式


list    列出產生執行檔案的原始碼部分


next    執行一行原始碼但不進入函式內部


step    執行一行原始碼並進入函式內部


run     執行當前被除錯的程式


quit    終止gdb


watch   監視一個變數的值而不管它何時被改變


break   在程式碼裡設定斷點,使程式執行到這裡時被掛起


make    不退出gdb就可以重新產生可執行檔案


shell   不離開gdb就執行UNIX shell 命令






九、Linux多執行緒






(1)Linux下程序的結構 
 
--------------------------------------------------------------------------------------------------------------------------      Linux下的程序結構由程式碼段、資料段和堆疊段組成。


    程式碼段存放程序的程式碼資料,當有多個程序共同執行一個程式時,多個程序指向同一程式碼段。


    資料段是存放程序的全域性變數,常數和動態資料分配的資料空間,比如molloc()等申請記憶體空間的函式。
    堆疊段存放的是子程式的返回值以及程式的區域性變數。






(2)建立程序函式 fork()函式


--------------------------------------------------------------------------------------------------------------------------
    當一個程序呼叫fork()函式之後,系統就會重新分配資料段和堆疊段,而程式碼段則與當前程序相同。這樣就使得父
程序和子程序不共享任何資料,只是共享相同的程式碼資料。
    如果多個程序之間需要共享資料,則需要使用shmget,shmat.shmdt等函式來操作。
    對於父程序,fork()函式返回子程序的程序號。
    對於子程序,fork()函式返回0。


 


(3)啟動當前新程序 exec()函式
--------------------------------------------------------------------------------------------------------------------------
     當呼叫exec()函式的時候,系統就將當前程序的程式碼段替換為新的程式碼段,併為當前的程式碼段分配新的資料段和堆疊段
。唯一相同的就是當前的程序號,也就是說,同一個程序,但是運行了不同的程式。本身程序死亡,新程序執行。






(4)啟動額外新程序 exec()和fork()函式共同使用

--------------------------------------------------------------------------------------------------------------------------

相關推薦

Linux基礎指令大全

本文章是本人在學習Linux過程中積累的Linux相關指令的使用方法及其原理的介紹,在這裡和大家分享一下。 一、Linux目錄操作命令[ ~ ] 代表自己的Home目錄 (1)顯示目錄檔案    ls -----------------------------------

熟練linux基礎命令大全

who 內存信息 conf 自己的 linux版本 輸出 創建 sed block date 顯示時間who 查看登陸系統的用戶who am i 查看自己的信息echo 輸出顯示到屏幕cat 顯示文件內容ls 列出文件清單cp 復制wc -l 行數 -c 字節數 -w 單

Linux基礎命令大全

img linux LV term 基礎 mark linux基礎命令 RM fill Linux基礎命令大全

Linux常用指令大全

最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令來控制,當然,這也是很多人喜歡linux的原因,比較短小但卻功能強大。我將我瞭解到的命令列舉一下,僅供大家參考: 系統資訊  arch 顯示機器的處理器架構(1) 

Linux基礎指令

ls(list):列出當前目錄下的所有資料夾/檔案的名稱 黑色表示檔案,藍色表示資料夾,綠色表示擁有所有許可權 ls 路徑 :制定路徑下的檔案和資料夾的名稱,路徑可以分為相對路徑和絕對路徑,絕對路徑/,相對路徑./和../ ls -l /home ls -la /home ls -lh home

Linux基礎指令-黑馬筆記

目錄結構:Bin 全程binary,含義是二進位制。檔案都是可執行的。 Dev:該目錄中主要存放的是外接裝置,例如U盤,行動硬碟,光碟。在其中的外接裝置是不能直接被使用的,需要掛載(類似於Windows下的分配碟符)。 Etc:該目錄主要是儲存一些配置檔案。 Home:類似於User,除了R

linux基礎指令以及Linux環境下的重要目錄

        學習Linux就像學習英語一樣,熟練掌握Linux指令,就像學習英語單詞一樣。只有學習好英語單詞,才有可能會寫出英語文章,會做英語翻譯。那麼同樣,只有掌握了Linux的基礎指令,才能在Linux環境下進行網路程式設計,才能很好的熟悉新環境Lin

新手福音:linux基礎命令大全

末尾 完整 fin .sh test 文件信息 ln -s list 網絡設備 不同於我們常用的Windows,linux是通過各種指令代碼來操作的,雖然我們能很輕松的從網上搜到linux的操作指令,不過對於我們新手來說,很多都是不常用的,而且看不懂,下面總結一下一些新手們

linux常用指令大全(持續更新中)

iptables linux 防火 ins enable name iptable tab str 查看電腦配置命令 查看內核/操作系統/CPU信息:uname -a 查看CPU信息:cat /proc/cpuinfo 查看內存使用:free -m 查看防火墻:su

Linux基礎程式設計(二) 常用指令大全

系統資訊 指令 用途 arch 顯示機器的處理器架構,相當於uname -m uname -a 列印當前系統所有相關資訊 dmidecode -q 顯示硬體系統部件 hdparm -i /dev/hda 羅列一個磁碟的架構特性

Linux基礎(03)、常用基礎指令和操作

編輯模式 開發 .so 虛擬 64位 use roo 分頁 刪除文件   目錄   一、什麽是Linux 二、常用基礎指令   2.1、vi編輯   2.2、Linux文件類型   2.3、常用指令:增、刪、改、查、其他 三、Linux的目錄和權限   3.1、目錄   3

Linux基礎實用指令

Linux基礎實用指令 1、切換執行級別 ①、執行級別 ②、單次切換(在操作過程中需要暫時切換執行級別的情況) ③、切換預設執行級別 2、ifconfi

Linux 基礎命令(收藏大全

linux系統檔案結構 / 根目錄 /bin 存放必要的命令 /boot 存放核心以及啟動所需的檔案 /dev 存放裝置檔案 /etc 存放系統配置檔案 /home 普通使用者的宿主目錄,使用者資料存放在其主目錄中lib 存放必要 的執行庫 /mnt 存放臨時的對映檔

Linux指令大全(轉載)

原地址:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 系統資訊  arch 顯示機器的處理器架構(1)  uname -m 顯示機器的處理器架構(2)  uname -r 顯示正在使用的核心版本 

linux 相關知識點分解與基礎命令大全

2. 一些基礎命令解讀 2.1 ls  【功能說明:】列出當前目錄  --list directory 【語法格式:】ls  【選項引數:】 引數 引數說明    其他說明

Linux從入門安裝到基本指令大全

自從開始了Linux虛擬機器安裝的開始,感覺沒有以前學習那麼累了,終於有時間再重新開始寫部落格了,話不多說,讓我們開始吧 一.Linux入門安裝 1.在安裝的時候第一步要準備好兩個軟體     1)VMware 用來安裝iso虛擬機器映象檔案     2)Li

Linux基礎知識——Linux常用命令大全

一、檢視 ls 作用:列出目錄內容格式:ls [選項] [目錄名] 注意:命令格式[]中的內容為非必選項 ls命令選項 -a 列出目錄下的所有檔案,包含.開頭的隱藏檔案-l 列出檔案的詳細資訊-i 檢視檔案的iNode號(iNode會指向檔案塊所在的位置)-h 以容易讀取的方式顯示檔案大小-d 僅列出目

linux常用命令大全linux常見命令(指令)介紹

ls          顯示檔案或目錄      -l           列出檔案詳細資訊l(list)      -a          列出當前目錄下所有檔案及目錄,包括隱藏的a(all) mkdir         建立目錄      -p           建立目錄,若無父目錄,則建立p(pare

linux常用命令大全linux基礎命令入門到精通+例項講解+持續更新+命令備忘錄+面試複習)

本文特點 授之以漁:瞭解命令學習方法、用途:不再死記硬背,拒絕漫無目的; 準確無誤:所有命令執行通過(環境為centos7),

Linux基礎優化之SElinux和iptables項

linux基礎優化版權聲明: ########################################################################### 本文的所有內容均來自作者劉春凱的學習總結,未經本人許可,禁止私自轉發及使用。 QQ:1151887353 E-mail:[ema