linux基礎知識
一.linux界面
1)gui:圖形化界面接口gnome是一個可視化的界面,對于初學者使用起來比較簡單,由c語言編寫;
2)cli:指令行界面,通過輸入指令來進行操作,熟悉後會大大增加工作效率。
二.指令
1)指令提示符:在linux終端模式中會出現類似如下字元,稱為指令提示符
[root@localhost ~]#
root:目前成功登入系統的使用者賬戶名稱;
localhost:目前主機名稱的主機名部分;
~:目前使用者操作時的工作目錄,~意思是家目錄;
#:使用者身份提示符;
#:表示超級使用者身份
$:表示普通使用者身份
2)指令的格式:
command options argument
command:本次想要執行的操作,想要發起的程序;
内部指令:也叫内建指令或内置指令;直接内建于shell的指令;
外部指令:通過安裝某些應用程式而安裝的指令;
options:修正指令的執行效果的組成部分;
短選項:
-char
-a, -b, -i, ...
某些特殊的指令還有特殊的短選項:
+char
+c, ...
當同時使用多個短選項時,可以将其合并書寫,如:
- a -b -i -c <==> -abci
長選項:
--word
--help, --all, --verbose, --list, ...
注意:當一個指令中同時有多個長選項時,不可以合并書寫;
注意:
1.有些選項,其選項本身需要參數;
2.有些特殊的指令在寫選項時,可以不寫"-";有些特殊的指令,在寫選項時,一定不能寫"-";
3.有些特殊指令的長選項,隻使用一個"-";
argument(parameters):此次執行的指令的操作目标對象;
1.有的指令無需寫參數;
2.有的指令必須寫參數;
3.有的指令必須要寫多個參數;
注意:
1.在書寫指令的時候,command、options、argument之間必須使用至少一個空白字元進行分隔;
2.有些指令在執行的時候,options和argument可以交換位置;
3.由于檔案系統的限制,導緻指令中的command、options、argument必須區分大小寫;
三.擷取指令幫助的方法
1)使用man指令
man 本身是一個指令,檢視針對于外部指令的幫助手冊,使用方法:
man 指令/工具/程式名
man共有九章内容:
1.使用者指令(所有使用者都能執行的指令)
2.系統調用
3.c庫調用
4.裝置和特殊檔案,通常在/dev
5.檔案的格式和轉換方式(配置檔案格式)
6.遊戲
7.雜項
8.系統管理類指令(普通使用者無法操作)
9.與核心相關的幫助
man中常見字段:
name:程式名稱及相關功能簡單描述;
synopsis(文法):指令使用的文法格式;
description:相關應用程式的較長的描述資訊;
options:選項的用法和選項含義的詳細說明;
前四項比較常見
author:作者;
examples;
reporting bugs:報告bug;
see also:額外參考的内容;
files:與該程式相關的其他文獻資料,如配置檔案,readme文檔等等;
man中可能出現的符号:
[]:意味此處可省略不寫,也可根據需要選擇使用;
{}:大括号中一般包含“|”,表示從所有項中選擇且隻能選擇一個使用;
<>:此處為必須書寫内容;
...:此處可以有更多内容;
注意:man指令隻能擷取外部指令的幫助資訊,内部指令擷取幫助需使用help指令,區分指令為外部指令還是内部 指令可以使用type指令。
2)whereis
獲得應用程式的二進制檔案/幫助手冊/源代碼等等的路徑
3)whatis
讀取whatis的資料庫,可以擷取被比對到的指令的手冊頁的描述資訊
4)which
顯示指令别名定義方式,二進制檔案路徑
5)info
info command,獲得線上的指令手冊
6)有很多的程式有自帶的幫助文檔,通常在/usr/share/doc/app_name-version/*
readme:程式的相關資訊
install:程式的安裝資訊
changes:程式的版本更疊的曆程相關資訊
license:許可證類型
7)搜尋引擎
8)相關站點的文檔資訊
9)程式發行官方站點
10)參考書籍
o'reiley
wrox
電子工業出版社
四.簡單的系統管理類指令
登出類:
exit
logout
crtl+d
重新開機(重新開機類):
reboot
shutdown -r -t {#|now|time}(推薦)
init 6
關閉系統:
shlt
poweroff
shutdown -h {#|now|time}(推薦)
init 0
五.linux的哲學思想
1)一切皆檔案
linux幾乎把所有的資料和資源都抽象成檔案的形式,甚至包括硬體,網絡通信裝置所使用的套接字以及管道都是如此。
檔案:一組有邊界的位于儲存設備中的流式資料
2)由衆多的功能單一的小程式組成,卻可以實作複雜任務
3)盡量避免與使用者直接互動
4)使用純文字檔案來儲存程式的配置資訊
在程式出現錯誤或者執行不暢的時候,可以使用文本編輯工具分析程式的錯誤原因,而不必依賴于二進制檔案。
六.檔案系統
1)檔案是分為兩部分來存放的:
中繼資料:描述檔案的屬性
資料:檔案的内容
2)分層編址方式:
在檔案系統中,基于檔案名引用檔案,按名進行檔案存取。
在檔案系統中,對于檔案名有一系列的規定:
1.檔案名中不能包含"/"
"/"表示根檔案系統:即為linux檔案的原初起點
"/"表示路徑分隔符
2.檔案名的長度不能超過255字元
3.在同一位置,檔案名不能重複使用
4.檔案的名稱嚴格區分大小寫
注意:是否區分大小寫決定在檔案系統而不在作業系統
3)檔案系統使用路徑的概念辨別檔案的位置,所謂路徑,就是定位一個檔案所在的位置時所必須經過的木的層級結構的集合
檔案系統中的路徑的描述方式:
絕對路徑:
一切以"/"開始查找的路徑
相對路徑:
".":目前工作目錄
"..":上一級目錄
4)家目錄:每個使用者在登入系統時預設的目前工作目錄,也是每個使用者的起始目錄
任何一個路徑都是由兩部分組成:
檔案的基名:
basename
檔案的目錄名:
dirname
七.fhs:檔案系統層級标準
bin:binary,所有使用者可以執行的普通操作指令,二進制檔案
boot:引導作業系統啟動的靜态檔案,包括:引導程式,linux核心,initramfs等
dev:device,裝置檔案所存的位置
塊裝置:block device,随機通路,指的是能夠實作資料存放的裝置
字元裝置:character device,順序通路(線性通路),指的是能夠實作資料傳輸和資料處理功能的裝置
etc:extrenal text configure,額外的文本配置檔案,存放主機中各應用程式的配置檔案
home:普通使用者的預設家目錄的根
lib,lib64:library,存放應用程式共享庫的目錄,核心的子產品;
media:可移動裝置的挂載點
mnt:臨時檔案系統的挂載點
opt:optional,可選的,以前此目錄是非常流行的第三方應用程式的安裝目錄
root:root使用者的家目錄
run:儲存一些程序的pid檔案
sbin:super binary,存放那些隻有超級使用者root才能執行的系統管理類的指令
srv:存放由系統提供的服務的資料
tmp:temporary,臨時檔案目錄,系統每30天會自動清理該目錄中的在30天以上沒有通路過的檔案
usr:usual system root,通用系統根,相當于linux系統的第二根,現在主要用于安裝第三方應用程式
usr/local:第三根,主要用于通過編譯源代碼的方式來安裝第三方應用程式
usr/src:存放第三方應用程式的源代碼
var:variable,變量,存放可變化的資料,資料庫類檔案
僞檔案系統:其中存放的是記憶體中的資料通過作業系統映射的檔案
proc:process,程序
sys:
八.檔案類型
1)根據顔色來區分檔案類型:
黑色或者白色:普通文本檔案,regular file;
綠色:可執行檔案,指令
×××:裝置檔案,包括塊裝置和字元裝置
紅色:封包件,包括軟體包、壓縮包、歸檔包等;
深藍色:目錄
青藍色:符号連結檔案,相當于windows的快捷方式
紫色:套接字檔案
棕色:管道檔案
2)根據檔案類型的标記來區分:
-:普通檔案
b:塊裝置檔案
c:字元裝置檔案
d:目錄檔案
l:符号連結檔案
p:管道檔案
s:套接字檔案
3)用file指令