1. 程式人生 > >linux網路伺服器學習總結

linux網路伺服器學習總結

留給以後的自己和有需要的朋友

主要內容如下:


一為什麼學linux

  1. 商業伺服器j基本都是linux
  2. 時下最熱門的大資料機器學期首選linux
  3. 整個網際網路地基是linux撐起來
  4. 開源軟體首先支援linux
  5. 嵌入式開發

二學習目的

  1.  掌握linux伺服器運維能力
  2. 可獨立部署linux伺服器
  3. 系統梳理相關知識

三基本概念

  1. 一切皆檔案的理解:Linux 與其他類 UNIX 系統一樣並不區分檔案與目錄:目錄是記錄了其他檔名的檔案。使用命令 mkdir 建立目錄時,若期望建立的目錄的名稱與現有的檔名(或目錄名)重複,則會建立失敗。
  2. Linux 將裝置當做檔案進行處理,下面程式碼.展示瞭如何開啟裝置檔案 /dev/input/event5 並讀取檔案內容。檔案 event5 表示一種輸入裝置,其可能是滑鼠或鍵盤等。檢視檔案 /proc/bus/input/devices 可知 event5 對應裝置的型別。裝置檔案 /dev/input/event5 使用 read() 以字元流的方式被讀取。結構體 input_event 被定義在核心標頭檔案 linux/input.h 中。

    程式碼  開啟並讀取裝置檔案
    1234567int fd; struct input_event ie; fd = open("/dev/input/event5", O_RDONLY); read(fd, &ie, sizeof(struct input_event)); printf("type = %d  code = %d  value = %d\n", ie.type, ie.code, ie.value); close(fd);

四基本命令和操作

  1. 輸入命令和目錄時Tab鍵補全,支援雙擊
  2. ifconfig:顯示或配置網絡卡,yum install net-tools
  3. 127.0.0.1的理解。一臺電腦可以理解為有三塊網絡卡,一塊網絡卡叫做 loopback(這是一塊虛擬網絡卡)用來測試本機的TCP/IP協議棧,發往這段A類地址資料包不會出網絡卡,網路裝置不會對其做路由
    ;另外一塊網絡卡叫做 ethernet (這是你的有線網絡卡);第三塊網絡卡叫做 wlan(這是你的無線網絡卡)。其中
    127.0.0.1/8整個都是環回地址,用來測試本機的TCP/IP協議棧,發往這段A類地址資料包不會出網絡卡,網路裝置不會對其做路由,環回地址是主機用於向自身傳送通訊的一個特殊地址。可以這麼說:同一臺主機上的兩項服務若使用環回地址而非分配的主機地址,就可以繞開TCP/IP協議棧的下層。(也就是說:不用再通過什麼鏈路層,物理層,乙太網傳出去了,而是可以直接在自己的網路層,運輸層進行處理了)。網路號為127的地址根本就不是一個網路地址(因為產生的IP資料報就不會到達外部網路介面中,是不離開主機的包)。
    當作業系統初始化本機的TCP/IP協議棧時,設定協議棧本身的IP地址為127.0.0.1(保留地址),並注入路由表。當IP層接收到目的地址為127.0.0.1(準確的說是:網路號為127的IP)的資料包時,不呼叫網絡卡驅動進行二次封裝,而是立即轉發到本機IP層進行處理,由於不涉及底層操作。因此,ping 127.0.0.1一般作為測試本機TCP/IP協議棧正常與否的判斷之一。所以說:127.0.0.1是保留地址之一,只是被經常的使用,來檢驗本機TCP/IP協議棧而已
  4. service xxx start 後面是一個指令碼,啟動對應的程式
  5. systemctl命令是系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到一起
  6. 任務舊指令新指令
    使某服務自動啟動chkconfig --level 3 httpd onsystemctl enable httpd.service
    使某服務不自動啟動chkconfig --level 3 httpd offsystemctl disable httpd.service
    檢查服務狀態service httpd statussystemctl status httpd.service (服務詳細資訊) systemctl is-active httpd.service (僅顯示是否 Active)
    顯示所有已啟動的服務chkconfig --listsystemctl list-units --type=service
    啟動某服務service httpd startsystemctl start httpd.service
    停止某服務service httpd stopsystemctl stop httpd.service
    重啟某服務service httpd restartsystemctl restart httpd.service

  7. vim 安裝 yum install vim 
  8. wget安裝 yum install wget
  9. 安裝163的源
    • 備份原有的源。mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    • 下載對應版本repo檔案, 放入/etc/yum.repos.d/
    • yum clean all  yum makecache。yum 會把下載的軟體包和header儲存在cache中,而不自動刪除。如果覺得佔用磁碟空間,可以使用yum clean指令進行清除,更精確 的用法是yum clean headers清除header,yum clean packages清除下載的rpm包,yum clean all一全部清除。
  10. ps -ef|grep XX ps:檢視所有程序 -ef:顯示程序環境變數和全格式
  11. 查詢服務是否暗轉 yum list
  12. 建立檔案:touch 檔名
  13. 建立目錄:mkdir
  14. 刪除檔案:rm -e 直接把欲刪除的目錄的硬連線資料刪除成0,刪除該目錄;
    -f:強制刪除檔案或目錄;
    -i:刪除已有檔案或目錄之前先詢問使用者;
    -r或-R:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理;
    --preserve-root:不對根目錄進行遞迴操作;
    -v:顯示指令的詳細執行過程。
  15. 刪除目錄:rmdir 只能刪除非空目錄
  16. netstat -anpl:檢視網路狀態
  17. sudo:使用者提權
  18. ll+目錄:檢視目錄許可權結果為  drwxrrwxrwx. 2 組名 使用者名稱 時間
  19. chown:改變一個目錄的訪問許可權 chown  -R  組名:使用者名稱  目錄
  20. 檢視本地安裝了哪些程式:rpm -qa
  21. 啟動一個服務:systemctl start postfix.service
    關閉一個服務:systemctl stop postfix.service
    重啟一個服務:systemctl restart postfix.service
    顯示一個服務的狀態:systemctl status postfix.service
    在開機時啟用一個服務:systemctl enable postfix.service
    在開機時禁用一個服務:systemctl disable postfix.service
    檢視服務是否開機啟動:systemctl is-enabled postfix.service
    檢視已啟動的服務列表:systemctl list-unit-files|grep enabled
    檢視啟動失敗的服務列表:systemctl --failed

五linux中軟體安裝方式

一、原始碼形式

1.      絕大多數開源軟體都是直接以原碼形式釋出的

2.      原始碼一般會被打成.tar.gz的歸檔壓縮檔案

3.      原始碼需要編譯成為二進位制形式之後才能夠執行使用

4.      原始碼基本編譯流程:

1).configure 檢查編譯環境,這裡可以通過--prefix等命令配置安裝路徑(好像)

2)make對原始碼進行編譯;

3)make insall 將生成的可執行檔案安裝到當前計算機中

二、RPM

1.原始碼形式的特點:操作複雜、編譯時間長、極易出現問題、依賴關係複雜

2.為了方便,RPM(redhat package manager)

3.RPM通過將程式碼基於特定平臺系統編譯為可執行檔案,並儲存依賴關係,來簡化開源軟體的安裝管理。針對不同的系統設定不同的包

4.常用命令規範:linuxcast-1.2.0-30.el6.1686.rpm 包名-版本號-適用平臺-32/64-rpm

5.使用rpm –i software.rpm(安裝)

rpm -e software.rpm(解除安裝)

rpm –U software.rpm(升級形式安裝);

rpm –ivh http://www.linuxcast.net/software.rpm(支援通過http\ftp協議形式安裝)

-v 顯示詳細資訊;-h顯示進度條

查詢功能:rpm –qa 列出全部已經安裝的.rpm軟體  rpm –qa |grep ***

三:YUM

1.      rpm軟體包形式的管理雖然方便,但是需要手工解決軟體包的依賴關係。很多時候安裝一個軟體安裝一個軟體需要安裝1個或者多個其他軟體,手動解決時,很複雜,yum解決這些問題。Yum是rpm的前端程式,主要目的是設計用來自動解決rpm的依賴關係,其特點:

1)  自動解決依賴關係;2)可以對rpm進行分組,基於組進行安裝操作;3)引入倉庫概念,支援多個倉庫;4)配置簡單

2.      yum倉庫用來存放所有的現有的.rpm包,當使用yum安裝一個rpm包時,需要依賴關係,會自動在倉庫中查詢依賴軟體並安裝。倉庫可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、統一的網路倉庫。

3.      倉庫的配置檔案/etc/yum.repos.d目錄下

4.      使用:1)yum install 安裝;

2)yum remove解除安裝;

3)yum update 升級制定軟體

5.      安裝的時候,會下載軟體包.Rpm在安裝,所以用國內倉庫

改變映象源1)訪問地址http://mirrors.163.com/;2)點centos使用幫助;3)按步驟來

6.      查詢軟體:可以使用yumsearch **

綜上,yum 比rpm先進,但原始碼包比較全。

六 SSH

  1. secure shell安全外殼協議,建立在應用層上的協議,幾乎支援所有unix平臺
  2. 服務端安裝ssh服務 yum install openssh-server   yum install openssh-client(在服務端安裝中也會安裝)
  3. 開啟服務 service sshd start
  4. 開機自啟動

七系統使用者

  1. adduser:在home下自動建立目錄,沒有設定密碼,需要使用passwd命令修改密碼
  2. useradd:在ubuntu下不同(不推薦使用)
  3. userdel:刪除使用者,但是資料夾還在。userdel -r XXX 刪除使用者和資料夾。或者繼續用rm -rf刪除資料夾。
  4. passwd:  passwd 使用者名稱 設定密碼
  5. 問題: 在linux下新增使用者時,出現錯誤:Creating mailbox file: 檔案已存在?
      怎麼解決:
          原來linux下新增使用者後,會在系統裡自動加一個郵箱(系統郵箱),路徑是:/var/spool/mail/使用者名稱.
         可以直接用命令#rm -rf /var/spool/mail/使用者名稱
       這樣就可以再次新增同一名字的使用者.
  6. 切換使用者:su
  7. 修改對檔案的訪問許可權:chmod 許可權 檔案,777代表最讀寫刪除許可權421.

八防火牆

  1. 作用
  2. 埠:http埠 80;ssh埠 22; https埠 443
  3. 安裝:yum install firewalld
  4. 啟動:service firewalld start
  5. 檢查狀態:service firewalled status
  6. service firewalld stop/disable
  7. firewalld-cmd 安裝防火牆之後預設提供了一這個命令, firewalld-cmd --help
  8. firewalld-cmd --list-zone   --list-all-zones  --list-zone=public 預設區域是public
  9. 查詢服務 firewalld-cmd --query-service=ssh  查詢是否開啟了ssh服務
  10. firewalld-cmd --remove-service=ssh 移出服務
  11. firewalld-cmd  --add-service=ssh 新增服務
  12. firewalld-cmd  --list-services 
  13. firewalld-cmd  --add-port 增加一個埠
  14. firewalld-cmd  --remove-port=22/tcp 關閉埠

九 提權操作

十檔案上傳下載

  1. wget:wget url
  2. curl:curl-O url 
  3. 區別:在高階用途上的curl由於可自定義各種請求引數所以長於模擬web請求,用於測試網頁互動(瀏覽器);wget由於支援ftp和Recursive所以長於下載,用於下載檔案
  4. scp下載:     scp  檔名  使用者@ip:伺服器目錄        然後輸入密碼
  5. scp上傳:     scp  使用者@ip:檔名   伺服器目錄       然後輸入密碼
  6. xshell上傳下載:伺服器安裝yum install lrzlz; rz直接選擇本地檔案上傳; sz將伺服器檔案下載
  7. winscp:windows下的伺服器檔案管理工具。


十一虛擬機器安裝linux

  1. 下載linux  centos7
  2. 安裝過程,選擇英文,設定預設root賬號密碼為123456

十二 目錄結構簡介

【常見目錄說明】

目錄

/bin

存放二進位制可執行檔案(ls,cat,mkdir)常用命令一般都在這裡。

/etc

存放系統管理和配置檔案

/home

存放所有使用者檔案的根目錄,是使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~user表示

/usr

用於存放系統應用程式,比較重要的目錄/usr/local 本地系統管理員軟體安裝目錄(安裝系統級的應用)。這是最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄。

/usr/x11r6 存放x window的目錄

/usr/bin 眾多的應用程式  

/usr/sbin 超級使用者的一些管理程式  

/usr/doc linux文件  

/usr/include linux下開發和編譯應用程式所需要的標頭檔案  

/usr/lib 常用的動態連結庫和軟體包的配置檔案  

/usr/man 幫助文件  

/usr/src 原始碼,linux核心的原始碼就放在/usr/src/linux裡  

/usr/local/bin 本地增加的命令  

/usr/local/lib 本地增加的庫

/opt

額外安裝的可選應用程式包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裡。

/proc

虛擬檔案系統目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊。

/root

超級使用者(系統管理員)的主目錄(特權階級^o^

/sbin

存放二進位制可執行檔案,只有root才能訪問。這裡存放的是系統管理員使用的系統級別的管理命令和程式。如ifconfig等。

/dev

用於存放裝置檔案。

/mnt

系統管理員安裝臨時檔案系統的安裝點,系統提供這個目錄是讓使用者臨時掛載其他的檔案系統。

/boot

存放用於系統引導時使用的各種檔案

/lib

存放跟檔案系統中的程式執行所需要的共享庫及核心模組。共享庫又叫動態連結共享庫,作用類似windows裡的.dll檔案,存放了根檔案系統程式執行所需的共享檔案。

/tmp

用於存放各種臨時檔案,是公用的臨時檔案儲存點。

/var

用於存放執行時需要改變資料的檔案,也是某些大檔案的溢位區,比方說各種服務的日誌檔案(系統啟動日誌等。)等。

/lost+found

這個目錄平時是空的,系統非正常關機而留下“無家可歸”的檔案(windows下叫什麼.chk)就在這裡

Linux目錄和Windows目錄有著很大的不同,Linux目錄類似一個樹,最頂層是其根目錄,如下圖:



/bin 二進位制可執行命令

/dev 裝置特殊檔案
/etc 系統管理和配置檔案
/etc/rc.d 啟動的配置檔案和指令碼
/home 使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~user表示
/lib 標準程式設計庫,又叫動態連結共享庫,作用類似windows裡的.dll檔案
/sbin 超級管理命令,這裡存放的是系統管理員使用的管理程式
/tmp 公共的臨時檔案儲存點
/root 系統管理員的主目錄
/mnt 系統提供這個目錄是讓使用者臨時掛載其他的檔案系統
/lost+found這個目錄平時是空的,系統非正常關機而留下無家可歸的檔案(windows下叫什麼.chk)就在這裡
/proc 虛擬的目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊。
/var 某些大檔案的溢位區,比方說各種服務的日誌檔案
/usr 最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄,其中包含:

/usr/x11R6 存放x window的目錄
/usr/bin 眾多的應用程式
/usr/sbin 超級使用者的一些管理程式
/usr/doc linux文件
/usr/include linux下開發和編譯應用程式所需要的標頭檔案
/usr/lib 常用的動態連結庫和軟體包的配置檔案
/usr/man 幫助文件
/usr/src 原始碼,linux核心的原始碼就放在/usr/src/linux
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫根檔案系統

通常情況下,根檔案系統所佔空間一般應該比較小,因為其中的絕大部分檔案都不需要經常改動,而且包括嚴格的檔案和一個小的不經常改變的檔案系統不容易損壞。
除了可能的一個叫/ vmlinuz標準的系統引導映像之外,根目錄一般不含任何檔案。所有其他檔案在根檔案系統的子目錄中。
1. /bin目錄
/ b i n目錄包含了引導啟動所需的命令或普通使用者可能用的命令(可能在引導啟動後)。這些命令都是二進位制檔案的可執行程式( b i nb i n a r y - -二進位制的簡稱),多是系統中重要的系統檔案。
2. /sbin目錄
/ s b i n目錄類似/bin ,也用於儲存二進位制檔案。因為其中的大部分檔案多是系統管理員使用的基本的系統程式,所以雖然普通使用者必要且允許時可以使用,但一般不給普通使用者使用。
3. /etc目錄
/ e t c目錄存放著各種系統配置檔案,其中包括了使用者資訊檔案/ e t c / p a s s w d,系統初始化檔案/ e t c / r c等。l i n u x正是*這些檔案才得以正常地執行。
4. /root目錄
/root 目錄是超級使用者的目錄。
5. /lib目錄
/ l i b目錄是根檔案系統上的程式所需的共享庫,存放了根檔案系統程式執行所需的共享檔案。這些檔案包含了可被許多程式共享的程式碼,以避免每個程式都包含有相同的子程式的副本,故可以使得可執行檔案變得更小,節省空間。
6. /lib/modules 目錄
/lib/modules 目錄包含系統核心可載入各種模組,尤其是那些在恢復損壞的系統時重新引導系統所需的模組(例如網路和檔案系統驅動)
7. /dev目錄
/ d e v目錄存放了裝置檔案,即裝置驅動程式,使用者通過這些檔案訪問外部裝置。比如,使用者可以通過訪問/ d e v / m o u s e來訪問滑鼠的輸入,就像訪問其他檔案一樣。
8. /tmp目錄
/tmp 目錄存放程式在執行時產生的資訊和資料。但在引導啟動後,執行的程式最好使用/ v a r / t m p來代替/tmp ,因為前者可能擁有一個更大的磁碟空間。
9. /boot目錄
/ b o o t目錄存放引導載入器(bootstrap loader)使用的檔案,如l i lo,核心映像也經常放在這裡,而不是放在根目錄中。但是如果有許多核心映像,這個目錄就可能變得很大,這時使用單獨的檔案系統會更好一些。還有一點要注意的是,要確保核心映像必須在i d e硬碟的前1 0 2 4柱面內。
10. /mnt目錄
/ m n t目錄是系統管理員臨時安裝( m o u n t )檔案系統的安裝點。程式並不自動支援安裝到/mnt /mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用m s d o s檔案系統的軟碟機,而/mnt/exta 可能是使用e x t 2檔案系統的軟碟機,/mnt/cdrom 光碟機等等。
11. /proc, /usr,/var,/home目錄
其他檔案系統的安裝點。

下面詳細介紹;

/etc檔案系統

/etc 目錄包含各種系統配置檔案,下面說明其中的一些。其他的你應該知道它們屬於哪個程式,並閱讀該程式的m a n頁。許多網路配置檔案也在/etc 中。
1. /etc/rc/etc/rc.d/etc/rc?.d
啟動、或改變執行級時執行的指令碼或指令碼的目錄。
2. /etc/passwd
使用者資料庫,其中的域給出了使用者名稱、真實姓名、使用者起始目錄、加密口令和使用者的其
他資訊。
3. /etc/fdprm
軟盤引數表,用以說明不同的軟盤格式。可用setfdprm 進行設定。更多的資訊見s e t f d p r m
的幫助頁。
4. /etc/fstab
指定啟動時需要自動安裝的檔案系統列表。也包括用swapon -a啟用的s w a p區的資訊。
5. /etc/group
類似/etc/passwd ,但說明的不是使用者資訊而是組的資訊。包括組的各種資料。
6. /etc/inittab
init 的配置檔案。
7. /etc/issue
包括使用者在登入提示符前的輸出資訊。通常包括系統的一段短說明或歡迎資訊。具體內容由系統管理員確定。
8. /etc/magic
“f i l e”的配置檔案。包含不同檔案格式的說明,“f i l e”基於它猜測檔案型別。
9. /etc/motd
m o t dmessage of the day的縮寫,使用者成功登入後自動輸出。內容由系統管理員確定。常用於通告資訊,如計劃關機時間的警告等。
10. /etc/mtab
當前安裝的檔案系統列表。由指令碼( s c r i t p )初始化,並由mount 命令自動更新。當需要一個當前安裝的檔案系統的列表時使用(例如df 命令)
11. /etc/shadow
在安裝了影子( s h a d o w )口令軟體的系統上的影子口令檔案。影子口令檔案將/ e t c / p a s s wd檔案中的加密口令移動到/ e t c / s h a d o w中,而後者只對超級使用者( r o o t)可讀。這使破譯口令更困難,以此增加系統的安全性。
12. /etc/login.defs
l o g i n命令的配置檔案。
13. /etc/printcap
類似/etc/termcap ,但針對印表機。語法不同。
14. /etc/profile / e t c / c s h . l o g i n/etc/csh.cshrc
登入或啟動時b o u r n ec shells執行的檔案。這允許系統管理員為所有使用者建立全域性預設環境。
15. /etc/securetty
確認安全終端,即哪個終端允許超級使用者( r o o t )登入。一般只列出虛擬控制檯,這樣就不可能(至少很困難)通過調變解調器( m o d e m )或網路闖入系統並得到超級使用者特權。
16. /etc/shells
列出可以使用的s h e l lchsh 命令允許使用者在本檔案指定範圍內改變登入的s h e l l。提供一臺機器f t p服務的服務程序ftpd 檢查使用者s h e l l是否列在/etc/shells 檔案中,如果不是,將不允許該使用者登入。
17. /etc/termcap
終端效能資料庫。說明不同的終端用什麼轉義序列控制。寫程式時不直接輸出轉義序列(這樣只能工作於特定品牌的終端),而是從/etc/termcap 中查詢要做的工作的正確序列。
這樣,多數的程式可以在多數終端上執行。

/dev檔案系統

/dev 目錄包括所有裝置的裝置檔案。裝置檔案用特定的約定命名,這在裝置列表中說明。
裝置檔案在安裝時由系統產生,以後可以用/dev/makedev 描述。/ d e v / m a k e d e v.local
系統管理員為本地裝置檔案(或連線)寫的描述文稿(即如一些非標準裝置驅動不是標準
makedev 的一部分)。下面簡要介紹/ d e v下一些常用檔案。
1. /dev/console
系統控制檯,也就是直接和系統連線的監視器。
2. /dev/hd
i d e硬碟驅動程式介面。如: / d e v / h d a指的是第一個硬碟, h a d 1則是指/ d e v / h da的第一個
分割槽。如系統中有其他的硬碟,則依次為/ d e v / h d b/ d e v / h d c. . . . ..;如有多個分割槽則依次為
h d a 1h d a 2 . . . . . .
3. /dev/sd
s c s i磁碟驅動程式介面。如有系統有s c s i硬碟,就不會訪問/ d e v / h a d,而會訪問/ d e v / sd a
4. /dev/fd
軟碟機裝置驅動程式。如: / d e v / f d 0指系統的第一個軟盤,也就是通常所說的a:盤,
/ d e v / f d 1指第二個軟盤,. . . . . ./ d e v / f d 1 h 1 4 40則表示訪問驅動器1中的4 . 5高密盤。
5. /dev/st
s c s i磁帶驅動器驅動程式。
6. /dev/tty
提供虛擬控制檯支援。如: / d e v / t t y 1指的是系統的第一個虛擬控制檯, / d e v / t t y2則是系統
的第二個虛擬控制檯。
7. /dev/pty
提供遠端登陸偽終端支援。在進行te l n e t登入時就要用到/ d e v / p t y裝置。
8. /dev/ttys
計算機序列介面,對於d o s來說就是“ c o m 1”口。
9. /dev/cua
計算機序列介面,與調變解調器一起使用的裝置。
10. /dev/null
黑洞,所有寫入該裝置的資訊都將消失。例如:當想要將螢幕上的輸出資訊隱藏起來時,只要將輸出資訊輸入到/ d e v / n u l l中即可。

/usr檔案系統

/usr 是個很重要的目錄,通常這一檔案系統很大,因為所有程式安裝在這裡。/usr 裡的
所有檔案一般來自l i n u x發行版( d i s t r i b u t i o n);本地安裝的程式和其他東西在/usr/local 下,因為這樣可以在升級新版系統或新發行版時無須重新安裝全部程式。/usr目錄下的許多內容是可選的,但這些功能會使使用者使用系統更加有效。/ u s r可容納許多大型的軟體包和它們的配置檔案。下面列出一些重要的目錄(一些不太重要的目錄被省略了)
1. /usr/x11r6
包含x wi n d o w系統的所有可執行程式、配置檔案和支援檔案。為簡化x的開發和安裝,x的檔案沒有整合到系統中。x wi n d o w系統是一個功能強大的圖形環境,提供了大量的圖形工具程式。使用者如果對microsoft wi n d o w sm a c h i n t o s h比較熟悉的話,就不會對x win d o w系統感到束手無策了。
2. /usr/x386
類似/ u s r / x 11r6 ,但是是專門給x 11 release 5的。
3. /usr/bin
集中了幾乎所有使用者命令,是系統的軟體庫。另有些命令在/bin /usr/local/bin 中。
4. /usr/sbin
包括了根檔案系統不必要的系統管理命令,例如多數服務程式。
5. /usr/man/ u s r / i n f o/ u s r / d o c
這些目錄包含所有手冊頁、g n u資訊文件和各種其他文件檔案。每個聯機手冊的都有兩個子目錄。例如: / u s r / m a n / m a n 1中包含聯機手冊第一節的原始碼(沒有格式化的原始檔案)/ u s r / m a n / c a t 1包含第一節已格式化的內容。l聯機手冊分為以下九節:內部命令、系統呼叫、庫函式、裝置、檔案格式、遊戲、巨集軟體包、系統管理和核心程式。
6. /usr/include
包含了c語言的標頭檔案,這些檔案多以. h結尾,用來描述c語言程式中用到的資料結構、子過程和常量。為了保持一致性,這實際上應該放在/usr/lib 下,但習慣上一直沿用了這個名字。
7. /usr/lib
包含了程式或子系統的不變的資料檔案,包括一些s i t e - w i d e配置檔案。名字l i b來源於庫(library); 程式設計的原始庫也存在/usr/lib 裡。當編譯程式時,程式便會和其中的庫進行連線。也有許多程式把配置檔案存入其中。
8. /usr/local
本地安裝的軟體和其他檔案放在這裡。這與/ u s r很相似。使用者可能會在這發現一些比較大的軟體包,如t e xe m a c s等。

/var檔案系統

/var 包含系統一般執行時要改變的資料。通常這些資料所在的目錄的大小是要經常變化或擴充的。原來/ v a r目錄中有些內容是在/ u s r中的,但為了保持/ u s r目錄的相對穩定,就把那些需要經常改變的目錄放到/ v a r中了。每個系統是特定的,即不通過網路與其他計算機共享。下面列出一些重要的目錄(一些不太重要的目錄省略了)
1. /var/catman
包括了格式化過的幫助( m a n )頁。幫助頁的原始檔一般存在/ u s r / m a n / m a n中;有些m an頁可能有預格式化的版本,存在/ u s r / m a n / c a t中。而其他的m a n頁在第一次看時都需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了。(/var/catman 經常被清除,就像清除臨時目錄一樣。)
2. /var/lib
存放系統正常執行時要改變的檔案。
3. /var/local
存放/usr/local 中安裝的程式的可變資料(即系統管理員安裝的程式)。注意,如果必要,即使本地安裝的程式也會使用其他/var 目錄,例如/var/lock 
4. /var/lock
鎖定檔案。許多程式遵循在/var/lock 中產生一個鎖定檔案的約定,以用來支援他們正在使用某個特定的裝置或檔案。其他程式注意到這個鎖定檔案時,就不會再使用這個裝置或檔案。
5. /var/log
各種程式的日誌( l o g )檔案,尤其是login (/var/log/wtmp log

相關推薦

linux網路伺服器學習總結

留給以後的自己和有需要的朋友主要內容如下:一為什麼學linux商業伺服器j基本都是linux時下最熱門的大資料機器學期首選linux整個網際網路地基是linux撐起來開源軟體首先支援linux嵌入式開發二學習目的 掌握linux伺服器運維能力可獨立部署linux伺服器系統梳理

伺服器開發之linux網路程式設計---學習章節(一)

前言:    近期學習了伺服器相關的開發,平常主要擼c的程式,所以就下定決心研究了c的伺服器開發,目的也在與鞏固c的基本知識。詳細分享如下,若有錯誤請指正,希望與大家探討,共同學習進步。                                             

關於RBF神經網路學習總結

在這裡總結下科研需要用到的RBF神經網路知識。 https://www.cnblogs.com/pinking/p/9349695.html https://blog.csdn.net/guoyunlei/article/details/74529320 https://www.cnblog

CNN網路優化學習總結——從MobileNet到ShuffleNet

CNN網路優化學習總結——從MobileNet到ShuffleNet 摘要 最近出了一篇曠視科技的孫劍團隊出了一篇關於利用Channel Shuffle實現的卷積網路優化——ShuffleNet。我關注了一下,原

API網路程式設計學習總結2

TCP協議 //客戶端 package web.nn; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket;

網路程式設計學習總結1

  計算機網路   是指將地理位置不同的具有獨立功能的多臺計算機及其外部裝置,通過通訊線路連線起來,在網絡作業系統,網路管理軟體及網路通訊協議的管理和協調下,實現資源共享和資訊傳遞的計算機系統。 網路程式設計   就是用來實現網路互連的不同計算機上執行的

Linux網路命令學習之traceroute

trcertroute建立一個UDP資料包,不斷修改TTL值併發送出去,如果收到”超時錯”,表示剛剛到達的是路由器,而如果收到的是”埠不可達”錯誤,表示剛剛到達的就是目的主機。這樣路由跟蹤完成,程式結束。 通過traceroute我們可以知道資訊從你的計算機到網際網路另一

linux網路程式設計學習筆記(一)

目錄 1. 獲取系統呼叫錯誤資訊:errno   strerror()     perror(); 他跟c語言中的fopen()有什麼區別呢?  他也呼叫的是這個open(); 2.常規檔案操作之建立、讀、寫

linux伺服器各種總結

剛入門....並打算多瞭解一下Linux的   買的阿里雲伺服器之前是windows,可以更換成linux,事先要把要備份的備份到本地主機上 按照阿里雲智慧顧問的提示進行,我添加了我遇到的錯誤,但是錯誤可能沒全寫,本地使用的視窗 操作步驟如下:  

Web伺服器學習總結(一):web伺服器簡介

一、WEB伺服器 1.1、WEB伺服器簡介   1、Web伺服器是指駐留於因特網上某種型別計算機的程式,是可以向發出請求的瀏覽器提供文件的程式。當Web瀏覽器(客戶端)連到伺服器上並請求檔案時,伺服器將處理該請求並將檔案反饋到該瀏覽器上,附帶的資訊會告訴瀏覽器如何檢視該檔案(即檔案型別)。   

Linux常用命令學習總結

Windows連線Linux伺服器常用工具使用 winscp   Winscp是Windows環境下的圖形化SFTP客戶端,同時支援SCP協議。主要功能是實現在本地與遠端計算機之間安全的複製檔案。winscp可連線Linux系統。 SecureCRT   Windows下

大三開學前,反思linux網路程式設計學習方向、方法

大三前感悟 最近,我剛剛看完《UNIX網路程式設計 卷1》,感覺應該要停一下,思考下一步應該學什麼,怎麼學。 目前已經看完《鳥叔linux》和《UNP 卷1》了。在看這兩本大塊頭的時候,心情是比較浮躁的。剛剛開始時我的熱情很高,效率也不低。然而學習一段時間,

Linux網路程式設計學習筆記(7)---5種I/O模型及select輪詢

本文主要介紹5種I/O模型,select函式以及利用select實現C/S模型。 1、5種I/O模型 (1)阻塞I/O: 一直等到資料到來,才會將資料從核心中拷貝到使用者空間中。 (2)非阻塞I/O: 每過一段時

必須掌握的Linux系統命令學習總結

一、基礎概念 1、系統核心:        計算機硬體是有運算器、控制器、儲存器、輸入輸出裝置等共同組成,而讓各種硬體裝置各司其職且又能協同執行的東西就是系統核心,Linux系統的核心負責完成對硬體資源的分配、排程等管理任務。系統核心對計算機正常執行來說太重要,一般不建議

Linux檔案操作學習總結

檔案型別:普通檔案(文字檔案,二進位制檔案)、目錄檔案、連結檔案、裝置檔案、管道檔案。 檔案的許可權:讀、寫、執行 檔案的相關資訊:目錄結構、索引節點、檔案資料 索引節點的stat結構 struct stat{ dev_t st_dev;//檔案使用的裝置號 ino_t st

計算機網路基礎學習總結

這部分內容主要是基於一些關於計算機網路基礎的學習總結,內容不全面,只講述了其中的一小部分,後續會再補充,如有錯誤,還請見諒。 計算機網路常見概念 網絡卡和路由器 網絡卡是一個有mac地址的物理裝置,通過mac地址與區域網內的交換機通訊,交換機可以識別m

oracle ebs + PL/SQL實現將查詢出來的資料儲存為csv格式檔案,並定期上傳到FTP伺服器學習總結

目的 oracle ebs + PL/SQL實現將查詢出來的資料儲存為csv格式檔案,並定期上傳到FTP伺服器。 用到oracle utl_file包,FTP檔案上傳 第一次接觸這種型別的任務,也是在網上查詢了很多參考資料才弄出來。 下面是具體的例子。

網路表示學習總結

我的GitHub部落格:咖啡成癮患者 最近看了paperweekly的兩次關於網路表示學習的直播,塗存超博士與楊成博士講解了網路表示學習的相關知識。本文將網路表示學習中的一些基本知識,結合自己的一些粗淺的理解,整理記錄下來。 網路的鄰接矩陣表示

Linux 網路系統學習 IPv6 的初始化(詳細而全面)

struct  proto_ops {              int                      family;              struct  module     * owner;              int              

阻塞read/write型socket網路連線弊端——緩衝區堆積——linux網路程式設計學習

情景: 自定義協議:有頭無尾,資料中可計算長度。 採用阻塞read/write傳送接收。 測試程式碼: 接收端主要部分截圖,在read()之間加sleep即可: 注意事項:如果雙工,接收端傳送反饋的write最好別再sleep之後,不然有干擾。(好像是共用緩衝區,暫時不