'C++學習(linux 一)'

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

C++學習(linux 一)

Ubuntu

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

C++學習(linux 一)

Ubuntu

C++學習(linux 一)

Unix/Linux也採用了樹狀結構的文件系統,它由目錄和目錄下的文件一起構成。但Unix/Linux文件系統不使用驅動器這個概念,而是使用單一的根目錄結構,所有的分區都掛載到單一的“/”目錄上,其結構示意圖如圖所示:

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

C++學習(linux 一)

Ubuntu

C++學習(linux 一)

Unix/Linux也採用了樹狀結構的文件系統,它由目錄和目錄下的文件一起構成。但Unix/Linux文件系統不使用驅動器這個概念,而是使用單一的根目錄結構,所有的分區都掛載到單一的“/”目錄上,其結構示意圖如圖所示:

C++學習(linux 一)

補充Linux安裝分區問題(針對虛擬機分配20GB)

"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

C++學習(linux 一)

Ubuntu

C++學習(linux 一)

Unix/Linux也採用了樹狀結構的文件系統,它由目錄和目錄下的文件一起構成。但Unix/Linux文件系統不使用驅動器這個概念,而是使用單一的根目錄結構,所有的分區都掛載到單一的“/”目錄上,其結構示意圖如圖所示:

C++學習(linux 一)

補充Linux安裝分區問題(針對虛擬機分配20GB)

C++學習(linux 一)

Linux目錄結構

/:根目錄,一般根目錄下只存放目錄,在Linux下有且只有一個根目錄。所有的東西都是從這裡開始。當你在終端裡輸入“/home”,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄。

/bin: /usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些文件,如Linux的內核文件:/boot/vmlinuz,系統引導管理器:/boot/grub。

/dev:存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光驅 mount /dev/cdrom /mnt。

/etc:系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

/home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,表示當前用戶的家目錄,edu 表示用戶 edu 的家目錄。

/lib: /usr/lib: /usr/local/lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助。

/lost+fount:系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下。

/mnt: /media:光盤默認掛載點,通常光盤掛載於 /mnt/cdrom 下,也不一定,可以選擇任意位置進行掛載。

/opt:給主機額外安裝軟件所擺放的目錄。

/proc:此目錄的數據都在內存中,如系統核心,外部設備,網絡狀態,由於數據都存放於內存中,所以不佔用磁盤空間,比較重要的目錄有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系統管理員root的家目錄。

/sbin: /usr/sbin: /usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount 等。與 /bin 不同的是,這幾個目錄是給系統管理員 root使用的命令,一般用戶只能"查看"而不能設置和使用。

/tmp:一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下。

/srv:服務啟動之後需要訪問的數據目錄,如 www 服務需要訪問的網頁數據存放在 /srv/www 內。

/usr:應用程序存放目錄,/usr/bin 存放應用程序,/usr/share 存放共享數據,/usr/lib 存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。/usr/local: 存放軟件升級包。/usr/share/doc: 系統說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄。

/var:放置系統執行過程中經常變化的文件,如隨時更改的日誌文件 /var/log,/var/log/message:所有的登錄文件存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程序或服務啟動後,其PID存放在該目錄下。

一切皆文件

一切皆文件

Unix/Linux對數據文件(.mp3、.bmp),程序文件(.c、.h、*.o),設備文件(LCD、觸摸屏、鼠標),網絡文件( socket ) 等的管理都抽象為文件,使用統一的方式方法管理。

在Unix/Linux操作系統中也必須區分文件類型,通過文件類型可以判斷文件屬於可執行文件、文本文件還是數據文件。在Unix/Linux系統中文件可以沒有擴展名。

文件分類

通常,Unix/Linux系統中常用的文件類型有5種:普通文件、目錄文件、設備文件、管道文件和鏈接文件。

普通文件

普通文件是計算機操作系統用於存放數據、程序等信息的文件,一般都長期存放於外存儲器(磁盤、磁帶等)中。普通文件一般包括文本文件、數據文件、可執行的二進制程序文件等。

在Unix/Linux中可以通過file命令來查看文件的類型。如果file文件後面攜帶文件名,則查看指定文件的類型,如果攜帶通配符“*”,則可以查看當前目錄下的所有文件的類型。

目錄文件

Unix/Linux系統把目錄看成是一種特殊的文件,利用它構成文件系統的樹型結構。

目錄文件只允許系統管理員對其進行修改,用戶進程可以讀取目錄文件,但不能對它們進行修改。

每個目錄文件至少包括兩個條目,“…”表示上一級目錄,“.”表示該目錄本身。

設備文件

Unix/Linux系統把每個設備都映射成一個文件,這就是設備文件。它是用於向I/O設備提供連接的一種文件,分為字符設備和塊設備文件。

字符設備的存取以一個字符為單位,塊設備的存取以字符塊為單位。每一種I/O設備對應一個設備文件,存放在/dev目錄中,如行式打印機對應/dev/lp,第一個軟盤驅動器對應/dev/fd0。

管道文件

管道文件也是Unix/Linux中較特殊的文件類型,這類文件多用於進程間的通信。

鏈接文件

似於 windows 下的快捷方式,鏈接又可以分為軟鏈接(符號鏈接)和硬鏈接。

總之,Linux/Unix一切皆文件

文件權限

Unix/Linux系統是一個典型的多用戶系統,不同的用戶處於不同的地位,對文件和目錄有不同的訪問權限。為了保護系統的安全性,Unix/Linux系統除了對用戶權限作了嚴格的界定外,還在用戶身份認證、訪問控制、傳輸安全、文件讀寫權限等方面作了周密的控制。

在 Unix/Linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。

訪問用戶

通過設定權限可以從以下三種訪問方式限制訪問權限:

只允許用戶自己訪問(所有者)

所有者就是創建文件的用戶,用戶是所有用戶所創建文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。

允許一個預先指定的用戶組中的用戶訪問(用戶組)

用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問權限。

允許系統中的任何用戶訪問(其他用戶)

用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是 other 用戶類

這有點類似於 QQ 空間的訪問權限:

這個 QQ 空間是屬於我的,我相當於管理者(也就是“所有者”),我想怎麼訪問就怎麼訪問。

同時,我可以設置允許 QQ 好友訪問,而這些 QQ 好友則類似於“用戶組”。

當然,我可以允許所有人訪問,這裡的所有人則類似於“其他用戶”。

訪問權限

用戶能夠控制一個給定的文件或目錄的訪問程度,一個文件或目錄可能有讀、寫及執行權限:

讀權限(r)

對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權限。

寫權限(w)

對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。

可執行權限(x)

對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

注意:通常,Unix/Linux系統只允許文件的屬主(所有者)或超級用戶改變文件的讀寫權限。

舉例說明

ls - all

通過上面指令會出現以下內容:

-rw-rw-r-- 1 admin admin XXXXXXX
"
原文轉載於:https://blog.csdn.net/study_of_slag/article/details/85002405#_2
C++學習(linux 一)

c++的學習會很大程度上在服務器上運行,回顧學習一下服務器,同時我將單獨學習一下linux。展開c++,linux兩個共同學習!

操作系統作用

操作系統的目標

方便:使得計算機系統易於使用

有效:以更有效的方式使用計算機系統資源

擴展:方便用戶的有效開發、測試和引進新功能

操作系統的地位

操作系統作為硬件與軟件之間的橋接作用,像剛開始學習51/stm32單片機一樣,我們直接用軟件操作硬件就比較麻煩,無法直接在上面運行exe程序,操作系統使得上層應用更加編寫快捷。

C++學習(linux 一)

Unix/Linux操作系統介紹

Unix家族

1965:貝爾實驗室(Bell Labs)加入一項由通用電氣和麻省理工學院合作的計劃,該計劃要建立一套多使用者、多任務、多層次的MULTICS操作系統。後來因為項目太為複雜失敗。

1969:其主要開發者Thompson(後被稱為UNIX之父)和Ritchie領導一組開發者,開發了一個新的多任務操作系統—UNICS,後來被改名為Unix,最初的Unix是用B語言和彙編語言混合編寫而成。

1971:兩人在貝爾實驗室共同發明了C語言,並於1973用C語言重寫了Unix。

1974:UNIX第一次出現在貝爾實驗室以外。此後UNIX被政府機關,研究機構,企業和大學注意到,並逐漸流行開來。

1980:有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,兩者的競爭最終引發了Unix的戰爭,最終導致Unix出現各種各樣的變種。

1982:AT&T基於版本7開發了UNIX System Ⅲ的第一個商業版本,並不再開源。

1992~2001:由於版權問題,AT&T公司與BSD開發組開始了一場將近10年的版權官司。UNIX由於其昂貴的費用,僅侷限於大型機的應用;BSD因為版權問題,失去了寶貴的發展時期。

Linux家族

Minix(mini-UNIX)最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代碼,白手起家完成了12000行C語言的編寫工作這個系統只是一個教學工具,沒有什麼實際應用價值。

1990年,Linus Torvalds決定編寫一個自己的Minix內核,初名為Linus’ Minix,意為Linus的Minix內核,後來改名為Linux,此內核於1991年正式發佈,並逐漸引起人們的注意。

Linux操作系統的誕生、發展、和成長過程依賴於五個重要支柱:unix操作系統、minix操作系統、GNU計劃、POSIX標準和互聯網。

GNU計劃:GNU是“GNU is Not Unix”的遞歸縮寫,由Richard M.Stallman於1984年創辦,旨在開發一個免費、類unix的操作系統-GNU系統及其開發工具;Emacs編輯系統、BASH shell程序、GCC、GDB等開發工具都是GNU組織的產品。

1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。

POSIX標準:POSIX標準定義了操作系統應該為應用程序提供的接口標準,POSIX標準用來統一Unix、Linux各分支編程接口,以提高其通用型和可移植性。

Linux使用用戶

C++學習(linux 一)

Unix的衍生品

C++學習(linux 一)

Linux相關版本

C++學習(linux 一)

一般常用CentOS/Ubuntu;

這裡給想學習Linux開發或者是想從window轉Linuxc++開發的朋友推薦一個免費的課程。每天晚上8點都有直播,課後的話也會有視頻,間歇性的還能分享源碼。性能過硬。重點是免費~免費~

感興趣的朋友可以免費報名去聽一聽,看看Lee哥有沒有說錯。

地址戳這裡:https://ke.qq.com/course/417774?flowToken=1010788

文件系統

目錄與路徑

目錄

目錄是一組相關文件的集合,即文件夾。

一個目錄下面除了可以存放文件之外還可以存放其他目錄,即可包含子目錄。

在確定文件、目錄位置時,DOS和Unix/Linux都採用“路徑名+文件名”的方式。路徑反映的是目錄與目錄之間的關係。

路徑

Unix/Linux路徑由到達定位文件的目錄組成。在Unix/Linux系統中組成路徑的目錄分割符為斜槓“/”,而DOS則用反斜槓“\\”來分割各個目錄。

路徑分為絕對路徑和相對路徑:

絕對路徑

絕對路徑是從目錄樹的樹根“/”目錄開始往下直至到達文件所經過的所有節點目錄。

下級目錄接在上級目錄後面用“/”隔開。

注意:絕對路徑都是從“/”開始的,所以第一個字符一定是“/”。

相對路徑

相對路徑是指目標目錄相對於當前目錄的位置。

如果不在當前目錄下,則需要使用兩個特殊目錄“.”和“”了。目錄“.”指向當前目錄,而目錄“…”。

文件系統

Windows與Linux文件系統區別

在 windows 平臺下,打開“計算機”,我們看到的是一個個的驅動器盤符:

C++學習(linux 一)

每個驅動器都有自己的根目錄結構,這樣形成了多個樹並列的情形,如圖所示:

C++學習(linux 一)

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):

CentOS

C++學習(linux 一)

Ubuntu

C++學習(linux 一)

Unix/Linux也採用了樹狀結構的文件系統,它由目錄和目錄下的文件一起構成。但Unix/Linux文件系統不使用驅動器這個概念,而是使用單一的根目錄結構,所有的分區都掛載到單一的“/”目錄上,其結構示意圖如圖所示:

C++學習(linux 一)

補充Linux安裝分區問題(針對虛擬機分配20GB)

C++學習(linux 一)

Linux目錄結構

/:根目錄,一般根目錄下只存放目錄,在Linux下有且只有一個根目錄。所有的東西都是從這裡開始。當你在終端裡輸入“/home”,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄。

/bin: /usr/bin: 可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些文件,如Linux的內核文件:/boot/vmlinuz,系統引導管理器:/boot/grub。

/dev:存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光驅 mount /dev/cdrom /mnt。

/etc:系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。

/home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,表示當前用戶的家目錄,edu 表示用戶 edu 的家目錄。

/lib: /usr/lib: /usr/local/lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助。

/lost+fount:系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下。

/mnt: /media:光盤默認掛載點,通常光盤掛載於 /mnt/cdrom 下,也不一定,可以選擇任意位置進行掛載。

/opt:給主機額外安裝軟件所擺放的目錄。

/proc:此目錄的數據都在內存中,如系統核心,外部設備,網絡狀態,由於數據都存放於內存中,所以不佔用磁盤空間,比較重要的目錄有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系統管理員root的家目錄。

/sbin: /usr/sbin: /usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount 等。與 /bin 不同的是,這幾個目錄是給系統管理員 root使用的命令,一般用戶只能"查看"而不能設置和使用。

/tmp:一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下。

/srv:服務啟動之後需要訪問的數據目錄,如 www 服務需要訪問的網頁數據存放在 /srv/www 內。

/usr:應用程序存放目錄,/usr/bin 存放應用程序,/usr/share 存放共享數據,/usr/lib 存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。/usr/local: 存放軟件升級包。/usr/share/doc: 系統說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄。

/var:放置系統執行過程中經常變化的文件,如隨時更改的日誌文件 /var/log,/var/log/message:所有的登錄文件存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程序或服務啟動後,其PID存放在該目錄下。

一切皆文件

一切皆文件

Unix/Linux對數據文件(.mp3、.bmp),程序文件(.c、.h、*.o),設備文件(LCD、觸摸屏、鼠標),網絡文件( socket ) 等的管理都抽象為文件,使用統一的方式方法管理。

在Unix/Linux操作系統中也必須區分文件類型,通過文件類型可以判斷文件屬於可執行文件、文本文件還是數據文件。在Unix/Linux系統中文件可以沒有擴展名。

文件分類

通常,Unix/Linux系統中常用的文件類型有5種:普通文件、目錄文件、設備文件、管道文件和鏈接文件。

普通文件

普通文件是計算機操作系統用於存放數據、程序等信息的文件,一般都長期存放於外存儲器(磁盤、磁帶等)中。普通文件一般包括文本文件、數據文件、可執行的二進制程序文件等。

在Unix/Linux中可以通過file命令來查看文件的類型。如果file文件後面攜帶文件名,則查看指定文件的類型,如果攜帶通配符“*”,則可以查看當前目錄下的所有文件的類型。

目錄文件

Unix/Linux系統把目錄看成是一種特殊的文件,利用它構成文件系統的樹型結構。

目錄文件只允許系統管理員對其進行修改,用戶進程可以讀取目錄文件,但不能對它們進行修改。

每個目錄文件至少包括兩個條目,“…”表示上一級目錄,“.”表示該目錄本身。

設備文件

Unix/Linux系統把每個設備都映射成一個文件,這就是設備文件。它是用於向I/O設備提供連接的一種文件,分為字符設備和塊設備文件。

字符設備的存取以一個字符為單位,塊設備的存取以字符塊為單位。每一種I/O設備對應一個設備文件,存放在/dev目錄中,如行式打印機對應/dev/lp,第一個軟盤驅動器對應/dev/fd0。

管道文件

管道文件也是Unix/Linux中較特殊的文件類型,這類文件多用於進程間的通信。

鏈接文件

似於 windows 下的快捷方式,鏈接又可以分為軟鏈接(符號鏈接)和硬鏈接。

總之,Linux/Unix一切皆文件

文件權限

Unix/Linux系統是一個典型的多用戶系統,不同的用戶處於不同的地位,對文件和目錄有不同的訪問權限。為了保護系統的安全性,Unix/Linux系統除了對用戶權限作了嚴格的界定外,還在用戶身份認證、訪問控制、傳輸安全、文件讀寫權限等方面作了周密的控制。

在 Unix/Linux中的每一個文件或目錄都包含有訪問權限,這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。

訪問用戶

通過設定權限可以從以下三種訪問方式限制訪問權限:

只允許用戶自己訪問(所有者)

所有者就是創建文件的用戶,用戶是所有用戶所創建文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。

允許一個預先指定的用戶組中的用戶訪問(用戶組)

用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問權限。

允許系統中的任何用戶訪問(其他用戶)

用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是 other 用戶類

這有點類似於 QQ 空間的訪問權限:

這個 QQ 空間是屬於我的,我相當於管理者(也就是“所有者”),我想怎麼訪問就怎麼訪問。

同時,我可以設置允許 QQ 好友訪問,而這些 QQ 好友則類似於“用戶組”。

當然,我可以允許所有人訪問,這裡的所有人則類似於“其他用戶”。

訪問權限

用戶能夠控制一個給定的文件或目錄的訪問程度,一個文件或目錄可能有讀、寫及執行權限:

讀權限(r)

對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目錄的權限。

寫權限(w)

對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。

可執行權限(x)

對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

注意:通常,Unix/Linux系統只允許文件的屬主(所有者)或超級用戶改變文件的讀寫權限。

舉例說明

ls - all

通過上面指令會出現以下內容:

-rw-rw-r-- 1 admin admin XXXXXXX
C++學習(linux 一)

第1個字母代表文件的類型:“d” 代表文件夾、“-” 代表普通文件、“c” 代表硬件字符設備、“b” 代表硬件塊設備、“s”表示管道文件、“l” 代表軟鏈接文件。

後 9 個字母分別代表三組權限:文件所有者、用戶者、其他用戶擁有的權限。

每一個用戶都有它自身的讀、寫和執行權限。

第一組權限控制訪問自己的文件權限,即所有者權限。

第二組權限控制用戶組訪問其中一個用戶的文件的權限。

第三組權限控制其他所有用戶訪問一個用戶的文件的權限。

這三組權限賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行權限就構成了一個有9種類型的權限組。

未完待續…

文末也分享給大家也是Linuxc++開發的學習資料

主要有C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK技術,面試技巧方面的資料技術討論。

感興趣的朋友戳這裡:正在跳轉

"

相關推薦

推薦中...