linux常用命令以及gcc、gdb、vim的安裝和配置
1. linux是一個類unix作業系統 vmware--虛擬出一個硬體環境用於安裝一個作業系統 虛擬機器--在vmware中的這個虛擬的這個硬體環境/安裝的這個作業系統 xshell功能:遠端連線到虛擬機器/伺服器上堆虛擬機器/伺服器驚醒遠端操作 xshell winscp 用於自己主機和伺服器/虛擬機器之間的檔案傳輸
xshell:連線問題
1.檢視網路連線中有沒有VMware的虛擬網絡卡 如果沒有:關閉虛擬機器-》編輯-》虛擬網路編輯器-》更改設定-》恢復預設設定 2.有虛擬網絡卡,但沒有ip地址 1.開啟網路 2.檢視服務中VM的所有服務是否完全開啟
學習命令:
ls : 目錄下的內容 -l 列出詳細內容 -d 顯示目錄本身而不顯示內容
pwd: 檢視路徑
cd : 改變路徑 cd 回家 cd ~ 當前使用者的家目錄 cd - 當前目錄的前一個目錄 . 代表此目錄 ..代表當前目錄的上一級目錄
linux的分割槽:交換分割槽, 檔案系統分割槽
/:根目錄,檔案系統中最上層的資料夾,linux 的目錄結構是樹狀的結構最上層的目錄是根目錄和磁碟的檔案分割槽無關
掛載:將分割槽a掛載到根目錄下,根目錄的磁碟空間就是分割槽a
命令使用結構: 命令名稱 【操作選項】 【操作原物件】 【操作目標物件】
linux是一個多使用者,多工的作業系統,同時可以登入多個使用者
ls : 檢視目錄下的內容 -a 檢視隱藏檔案(以.開頭的檔案) -l 檢視檔案的詳細資訊(linux 下一切皆檔案) -lt 對目錄下的檔案進行按時間排序 -ltr按時間逆序
pwd :檢視當前所在路徑(這個表示出來的當前所在路徑是一個絕對路徑)
絕對路徑:以根目錄為起始查詢路徑的一個路徑
相對路徑:以當前路徑為起始查詢的一個路徑
/home/zhang 絕對路徑 從/開始 ../zhang 相對路徑 從當前路徑開始 .
touch : 建立檔案,如果檔案存在則更新時間 -r :以一個檔案的時間為標準重新整理另一個檔案的時間 -t: 用指定的時間來重新整理檔案的時間
rm :刪除檔案 -r :可以刪除目錄(目錄可以非空)也可以刪除檔案 -f : 忽略所有的提示資訊,強制刪除(刪除檔案時,不會提示是否確定刪除) -a :僅僅重新整理檔案的最後一次訪問的時間 -m: 僅僅重新整理檔案最後一次修改的時間 mkdir :建立目錄 - p (用於多層級目錄建立)如果父目錄不存在,遞迴建立(mkdir abc/bcd/def)如果沒有abc 的話,就建立
rmdir : 刪除空目錄 -p 遞迴刪除,如果刪abc時,abc非空,就遞迴刪除abc裡面的空目錄(rmdir abc/bcd/def)
rm -r 刪除非空目錄
cat 檢視檔案的內容(將檔案的內容都列印到終端上) -n 顯示行號
tac 逆序列印檔案的內容
more : 分頁顯示檔案的內容(空格翻頁,回車向下翻行,q退出,b是向上翻頁)
file : 檢視檔案的文字資訊
less : 按頁顯示內容 f 向下翻頁 b 向下翻頁 回車 上下 按行移動 /要查詢的內容 向下尋找匹配 ?要查詢的內容 向上尋找匹配 q 退出
head : 顯示檔案的前幾行,預設是前10行 head -n 地址 (指定顯示檔案的前n行內容)
tail : 顯示檔案的末尾n行內容(預設是後10行) tail -n 地址 (指定顯示檔案末尾的後n行) tail -f 地址 動態重新整理檔案的末尾內容(用來檢視檔案的最新的日誌動態)
su :切換使用者(exit退出當前使用者)
複製檔案 cp 預設拷貝一個檔案,-r 可以拷貝目錄,也可以拷貝檔案 -f 強制拷貝 cp [要拷貝的檔案] [往哪裡拷貝] 如果要拷貝的內容已經存在,那麼要拷貝的檔案直接覆蓋原來的檔案
mv : 將一個檔案或目錄移動到指定的位置, -f 忽略提示資訊
zip 壓縮: zip 檔案 (unzip 檔案 解壓zip檔案)
gzip 壓縮 :gzip 檔案 (壓縮之後原檔案自動刪除)(gunip 檔案 解壓gz檔案)
bzip2 壓縮 : bzip 檔案 (bunzip2 檔案 解壓縮bzip2檔案)
tar 打包 -czvf /-cjvf打包的同時壓縮為gz格式 (-c 為打包 -z 在打包或解包的同時以gzip的格式壓縮或解壓縮 -v顯示詳細的打包/解包的檔案資訊 -f 指定包的名字 -j 打包或解包的同時以bzip2的格式壓縮或解壓縮) -xzvf/ -xjvf 解包
linux 下檔案不以後綴名來區分,只是為了讓使用者容易分辨檔案的型別
檔案查詢
find 從指定目錄下查詢檔案
find ./ -name "檔名"(按名稱查詢檔案) find ./ -type -d (按檔案型別查詢檔案) f 普通檔案 d 目錄型檔案 find ./ -size +100k(按檔案的大小來找檔案(+代表大於)(-代表小於)(c 代表位元組)(b代表的是塊(預設是512位元組))(k 代表1024個位元組)) find ./ -cmin -n (-cmin/-amin/-mmin按分鐘來查詢)(-atime/-ctime/-mtime按天查詢)(-/+n小於或大於n分鐘/天的檔案)
字串匹配 grep grep "內容" 地址 (在指定位置找包含有“內容“的行) grep -v "內容" 地址 (匹配不包含”內容“的行) grep -i "內容" 地址 (忽略”內容“中大小寫的匹配) grep -iR "內容" ./ (在當前目錄下遞迴匹配目錄下的檔案) grep -i "內容" ./* (只在當前目錄下的檔案裡找,而不在當前目錄下的目錄下找) grep -R "內容" ./* (對當前的目錄下的檔案進行遞迴匹配, 如果當前檔案是一個目錄型檔案,那麼就進入這個字目錄中繼續匹配)
其他命令
cal :檢視命令 -j :顯示當前是這個年的幾月幾日 -y :顯示全年的 -3:顯示相鄰的三個月 date : 顯示年月日時分秒 +%s:時間戳 date +'%Y-%m%d' : 以年月日來列印 uname :檢視系統的版本資訊 -a:檢視該系統的詳細資訊 halt : 關機 reboot :重啟 shutdown -h now : 立即關機
shell命令
1.linux下的命令大部分都是一個個的可執行程式; 2.起始捕捉我們命令的這個東西也是一個程式 3.shell是作業系統的外殼程式,用於解釋使用者的輸入命令,所以shell和bash的關係 許可權: rwx rwx rwx :第一組是檔案所有者的許可權,第二組是檔案屬於那個組(組內成員)的許可權,第三組是使用者的許可權. 檔案的許可權:r代表使用者的可讀許可權,w表示使用者的可寫許可權,x代表使用者的可執行許可權,-代表沒有許可權
檔案和目錄的許可權是不一樣的
對於目錄的許可權:r : 代表是否可瀏覽; w :代表是否可以建立和刪除檔案 x :是否可以進入目錄;
所以進入目錄的話需要的x也就是使用者的可執行許可權,如果要對目錄進行增刪操作,需要的時w也就是使用者的寫許可權
umask : 顯示當前的許可權掩碼
檔案的滿許可權777減去掩碼得到最終的檔案許可權 但是shell說檔案建立的時候預設不允許可執行 標準的許可權是(許可權 (預設是777)& (~umask));
chomd : 修改檔案的許可權
u 所屬使用者 g 所屬組 o 其他 a 所有的使用者 修改時直接加或減(chmod u+x qe.txt) 也可以chmod 許可權(以8進位制0777); chown :修改檔案所屬使用者 chgrp: 修改檔案所屬組
需求:一個專案組有好幾個使用者 目錄 所有使用者都可以在目錄中建立檔案,可以刪除檔案,但不可以刪除別人的檔案 (許可權位)粘滯位-------首先粘滯位是針對目錄設定的(chmod +t 目錄名) 再設定了粘滯位的目錄中可以建立檔案,也可以刪除檔案,但不可以刪除別人的檔案 >重定義向:將原本寫入到終端檔案的資料寫入到指定的檔案中 清除願所有的內容 >>標準輸出重定義向 追加到原有的內容之後
du檢視目錄大小,df檢視磁碟使用情況。
du:
功能是逐級進入指定目錄的每一個子目錄並顯示該目錄佔用檔案系統資料塊的情況,如果沒有指定目錄,則對當前的目錄進行統計。
du的命令各個選項含義如下:
a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間
s:只顯示各檔案大小的總合
b:大小用bytes來表示
x:跳過在不同檔案系統上的目錄不予統計
df:
df則是基於檔案系統總體來計算,通過檔案系統中未分配空間來確定系統中已經分配空間的大小。df命令可以獲取硬碟佔用了多少空間,還剩下多少空間,它也可以顯示所有檔案系統對i節點和磁碟塊的使用情況。
df命令各個選擇的含義如下:
a:顯示全部的檔案系統和各分割區的磁碟使用情形
i:顯示i -nodes的使用量k:大小用k來表示 (預設值)
t:顯示某一個檔案系統的所有分割區磁碟使用量
x:顯示不是某一個檔案系統的所有分割區磁碟使用量
T:顯示每個分割區所屬的檔案系統名稱
top命令:
top命令可以實時動態地檢視系統的整體執行情況,是一個綜合了多方資訊監測系統性能和執行資訊的實用工具。通過top命令所提供的互動式介面,用熱鍵可以管理。
-b:以批處理模式操作;
-c:顯示完整的治命令;
-d:螢幕重新整理間隔時間;
-I:忽略失效過程;
-s:保密模式;
-S:累積模式;
-i<時間>:設定間隔時間;
-u<使用者名稱>:指定使用者名稱;
-p<程序號>:指定程序;
-n<次數>:迴圈顯示的次數。
free命令:
free 命令顯示系統使用和空閒的記憶體情況,包括實體記憶體、互動區記憶體(swap)和核心緩衝區記憶體。共享記憶體將被忽略
-b 以Byte為單位顯示記憶體使用情況。
-k 以KB為單位顯示記憶體使用情況。
-m 以MB為單位顯示記憶體使用情況。
-g 以GB為單位顯示記憶體使用情況。
-o 不顯示緩衝區調節列。
-s<間隔秒數> 持續觀察記憶體使用狀況。
-t 顯示記憶體總和列。
-V 顯示版本資訊。
pstack命令:
pstack命令可顯示每個程序的棧跟蹤。 pstack 命令必須由相應程序的屬主或 root 執行。 可以使用 pstack 來確定程序掛起的位置。 此命令允許使用的唯一選項是要檢查的程序的 PID。
su命令:
su命令用於變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。
-c<指令>或--command=<指令>:執行完指定的指令後,即恢復原來的身份;
-f或——fast:適用於csh與tsch,使shell不用去讀取啟動檔案;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變數;
-m,-p或--preserve-environment:變更身份時,不要變更環境變數; -s<shell>或--shell=<shell>:指定要執行的shell;
--help:顯示幫助;
--version;顯示版本資訊。
sudo命令:
sudo命令用來以其他身份來執行命令,預設的身份為root。在/etc/sudoers
中設定了可執行sudo指令的使用者。若其未經授權的使用者企圖使用sudo,則會發出警告的郵件給管理員。使用者使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。
-b:在後臺執行指令;
-h:顯示幫助;
-H:將HOME環境變數設為新身份的HOME環境變數;
-k:結束密碼的有效期限,也就是下次再執行sudo時便需要輸入密碼;
-l:列出目前使用者可執行與無法執行的指令;
-p:改變詢問密碼的提示符號;
-s<shell>:執行指定的shell;
-u<使用者>:以指定的使用者作為新的身份。若不加上此引數,則預設以root作為新的身份;
-v:延長密碼有效期限5分鐘;
-V :顯示版本資訊。
adduser命令:
seradd和adduser相同,但是addgroup是不存在的命令,所以建議使用useradd
password命令:
1.作用 passwd命令原來修改賬戶的登陸密碼,使用許可權是所有使用者。 2.格式 passwd [選項] 賬戶名稱 3.主要引數 -l:鎖定已經命名的賬戶名稱,只有具備超級使用者許可權的使用者方可使用。 -u:解開賬戶鎖定狀態,只有具備超級使用者許可權的使用者方可使用。 -x, --maximum=DAYS:最大密碼使用時間(天),只有具備超級使用者許可權的使用者方可使用。 -n, --minimum=DAYS:最小密碼使用時間(天),只有具備超級使用者許可權的使用者方可使用。 -d:刪除使用者的密碼, 只有具備超級使用者許可權的使用者方可使用。 -S:檢查指定使用者的密碼認證種類, 只有具備超級使用者許可權的使用者方可使用。
如何安裝gcc、gdb、vim:
Centos中使用yum來配置gcc和g++,若要安裝gcc,則在命令列中輸入:yum -y install gcc,按回車鍵就能夠進行gcc的安裝,若要安裝g++,則需要在命令列中輸入:yum -y install gcc-c++,就能夠進行g++的安裝。