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
刪除當前游標之前字元
U
撤消
·
重做
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