1. Window上的庫文件是.dll格式的;Linux上的庫文件是.so的
2. 計算機架構
計算機底層硬件資源:是完全獨立的,用來給上層數據執行運算
Kernel內核:作爲一箇中間層,讓上層程序透明化對底層硬件的需求,上層通過內核調用底層硬件,這就是我們所說的系統調用,但是系統調用太過於底層,就像你需要買饅頭的時候,系統調用卻給你了一堆麥子,所以基於系統調用的程序運行需要做很多的事情,但是系統調用絕對是權限最高的,或者說是最接近底層的,***能攻入一個系統的內核是很危險的。
Library API(庫):爲了讓上層程序直接調用硬件而做的很多個打包的軟件。就像把內核給你的麥子,你可以做成埋頭、餃子、包子等,根據你上層的程序需求直接用庫的API軟件接口。
上層的各種程序:比如Shell、Word、PPT。。。。。
3. 如果自己開發一個操作系統,必不可少的逐漸就是硬件、內核、Shell和Shell做必須的庫,就可以做成一個簡單的操作系統,只不過這個系統是沒有其他功能的而已。
4. Linux登錄時的認證
Login:用戶名(用戶ID)
AAA:Authentication(認證)、Authorization(授權)、Audition(審計,一般通過日誌記錄)
5. magic number(魔數):程序的執行入口,在程序前面的二進制的特殊的字符,比如我們寫程序的時候會在前面寫的#!/bin/bash,這就是程序執行入口,就是魔數
6. list:ls----列出,列表,列出指定路徑下的文件(顯示當前目錄下的文件)
目錄:也是文件,是一種路徑映射
很多選項:
-l:顯示文件的很多屬性,叫做長格式
第一個爲的標識表示不一樣,如下
-:普通文件(f)
d:目錄文件
b:塊設備文件(block)
c:字符設備文件(character)
l:符號鏈接文件(symbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
後面的9位,三位一組,沒有的用-表示,rwx(讀-寫-執行)
文件硬鏈接的次數
文件的屬主(owner)
文件的屬組(group)
文件的大小(size),單位是字節
時間戳(timestamp),最近一次被修改的時間、最近一次被訪問的時間、最近一次被改變的時間。(修改是表示文件內容修改,改變是文件的屬性被改變)
-h:做單位轉換
-a:顯示隱藏文件,隱藏文件以“.”開頭的
. 表示當前目錄的隱藏文件
..表示父目錄
-A:顯示當前目錄的隱藏文件,不顯示上級目錄的隱藏文件
-d:顯示目錄自身屬性
-r:逆序顯示文件
-R:遞歸顯示文件(就是把文件中的所有文件夾也給你顯示)
7. pwd:顯示當前的目錄時什麼。頂級目錄一般用"/“表示
8. index node:在Linux系統中每個文件都有自己的唯一的數字編號,可以通過如下命令去查看
-i:顯示文件的唯一inode號
9. 切換目錄用cd:change directory,只能是目錄的名字在cd後面
cd後面不接任何參數,表示切換到主目錄或者叫家目錄
cd ~用戶名,進入指定用戶的家目錄,只有管理員有權限進入
cd -可以在當前目錄和現在的目錄之間切換
10. Linux命令的類型:
內置命令(Shell內置)
外部命令:在文件系統某個路徑下有一個與命令名稱相應的可執行文件
可以用type顯示命令屬於哪種文件類型
11. 什麼叫環境變量?
命名的內存空間叫做變量,變量賦值,比如NAME=“atom”
hash:可以看到你使用的命令被hit了多少次,第一次執行的命令回去查找,後面的相同的命令都是從緩存中提取的。緩存容器是存放命令的hash值,比你直接去取數據快很多。
PATH:使用冒號分隔的路徑。是一種環境變量。如果一個新的程序命令必須要放到PATH路徑中,否則無法執行。