# Unix
`Unix` 是在`1969`年美國貝爾實驗室的 肯.湯普森開發出來的一款操作系統,什么是操作系統?大家正在玩的 `Windows` 和 `Max OS`就是兩個操作系統。操作系統是用戶和計算機的接口,同時也是計算機硬件和應用程序的接口,也就是說我們和計算機打交道以及計算機底層硬件和應用程序打交道都是通過操作系統。
而我們所說的`Unix`也是一個操作系統,其源代碼大部分都是用C語言寫的。它是一個強大的多用戶、多任務操作系統,而且支持多種處理器架構。在`1984`年,`Unix`用戶協會頒發了使用標準。后來IEEE為此制定了`POSIX`標準(即`IEEE1003`標準)國際標準名稱為`ISO/IEC9945`,它通過一組最小的功能定義了在`UNIX`操作系統和應用程序之間兼容的語言接口。這個標準很重要,后面很多系統的開發都是遵循這個標準來的。
雖然`Unix`系統這么好用,但是很不幸,它是一個對源代碼實行知識產權保護的傳統商業軟件,也就是說`Unix`系統源代碼不開源,而且`Unix`系統也是一個收費軟件。這也直接導致了`Linux`系統的誕生。
# Linux
`UNIX` 最初免費發布,在`1990`年,`UNIX` 在服務器市場尤其是大學校園成為主流操作系統,許多校園都有`UNIX` 主機,當然還包括一些研究它的計算機系的學生。這些學生都渴望能在自己的電腦上運行 `UNIX` 。不幸的是,從那時候開始,`UNIX` 開始變得商業化,它的價格也變得非常昂貴。而唯一低廉的選擇就是 `MINIX `,這是一個功能有限的類似 `UNIX` 的操作系統,作者 `Andrew Tanebaum` 開發它的目的是用于教學。
`1991` 年 `10` 月,`Linus Torvalds`(`Linux` 之父)在赫爾辛基大學接觸 `UNIX` ,他希望能在自己的電腦上運行一個類似的操作系統。可是 `UNIX` 的商業版本非常昂貴,于是他從 `MINIX` 開始入手,而 `Linus Torvalds`?對`Minix`不是很滿意,于是決定自己編寫軟件。他以學生時代熟悉的`Unix`作為原型, 在一臺`Intel 386 PC`上開始了他的工作。他的進展很快,受工作成績的鼓舞,他將這項成果通過互連網與其他同學共享,主要用于學術領域。他第一次發行的版本很快吸引了一些黑客。盡管最初的 `Linux` 并沒有多少用處,但由于一些黑客的加入使它很快就具有了許多吸引人的特性,甚至一些對操作系統開發不感興趣的人也開始關注它。每當出現新問題時,有人會立刻找到解決辦法并加入其中,很快的, `Linux`成為了一個操作系統。值得注意的是 **`Linux`并沒有包括`Unix`源碼,它是按照公開的`POSIX`標準重新編寫的**。`Linux`大量使用了由麻省劍橋免費軟件基金的`GNU軟件`,同時`Linux`自身也是用它們構造而成。
# Unix 和 Linux 的區別
`Linux`和`UNIX`的最大的區別是,前者是**開放源代碼的自由軟件**,而后者是對源代碼實行知識產權保護的傳統**商業軟件**。這應該是他們最大的不同,這種不同體現在用戶對前者有很高的自主權,而對后者卻只能去被動的適應;這種不同還表現在前者的開發是處在一個完全開放的環境之中,而后者的開發完全是處在一個黑箱之中,只有相關的開發人員才能夠接觸的產品的原型。具體區別如下:
* UNIX系統大多是與硬件配套的,而Linux則可運行在多種硬件平臺上
* UNIX是商業軟件,收費,而Linux是自由軟件,免費、公開源代碼的
* Linux商業化的有RedHat Linux 、SuSe Linux、slakeware Linux、國內的紅旗等,還有Turbo Linux
* Unix主要有Sun 的Solaris、IBM的AIX, HP的HP-UX,以及x86平臺的的SCO Unix/Unixware
- 序言
- Linux 的安裝
- VMware 的安裝
- VMware 的配置
- CentOS 下載與虛擬機硬件配置
- Linux 的分區
- ContOS 安裝
- 虛擬機網絡配置
- 遠程連接工具安裝
- 基礎(舊)
- Linux 和 Windows 的區別
- 目錄結構
- 注意事項
- Linux的常用命令
- 用戶及用戶組
- 文件及權限
- 目錄與文件權限的意義
- 文件及目錄管理相關
- 常用命令
- 系統安裝
- Linux的簡介
- Linux 各發行版介紹
- CentOS的部署
- 基礎
- 文件和用戶管理
- Linux目錄結構
- 文件管理相關
- cd 切換目錄
- pwd 顯示當前位置
- ls 列出目錄下的文件和子目錄
- touch 創建文件
- mkdir 創建目錄
- cp 復制文件/目錄
- mv 移動或改名文件/目錄
- rm 刪除文件/目錄
- chattr 改變文件屬性
- lsattr 顯示文件屬性
- 用戶管理
- useradd 添加用戶
- passwd 修改用戶密碼
- id 查看用戶ID信息
- userdel 刪除用戶
- usermod 修改用戶信息
- groupadd 創建用戶組
- groupdel 刪除用戶組
- su 切換用戶帳號
- sudo 以管理員的身份執行命令
- 權限管理
- chmod 修改文件/目錄權限
- chown 修改文件擁有者或所屬組
- chgrp 修改文件所屬組
- setfacl 設置文件權限列表
- getfacl 查看文件權限列表
- vim的使用
- 進程管理
- ps 查看進程
- top 動態顯示進程
- kill 殺死進程
- nice 修改進程優先級
- jobs 顯示后臺任務列表及任務狀態
- fg 將后臺運行的進程調整至前臺運行
- bg 將在后臺暫停進行繼續執行
- 磁盤管理
- lsblk 列出塊設備信息
- fdisk 磁盤分區
- partprobe 重新讀取分區表
- mkfs 建立文件系統(格式化)
- mont 掛載設備
- df 查看磁盤使用情況
- unount 卸載掛載設備
- 交換空間 swap
- free 查看內存使用狀態
- mkswap 設置交換分區
- swapon 激活交換空間
- LVM邏輯卷管理
- LMV的工作原理
- pvcreate 創建物理卷
- pvs 查看物理卷
- pvscan 查看每個PV的信息
- pvdisplay 顯示物理卷詳細信息
- vgcreate 創建卷組
- vgs 查看卷組
- vgscan 查看每個VG的信息
- vgdisplay 顯示卷組詳細信息
- lvcreate 創建邏輯卷
- vgextend 擴展卷組空間
- lvextend 擴展邏輯卷空間
- resize2fs 調整文件系統大小
- RAID
- 文件查找和壓縮
- which 命令查找
- find 根據文件名查找文件
- locate 查找文件
- tar 文件打包
- 軟件安裝
- RPM包管理
- yum 安裝軟件
- rpm 安裝軟件
- 源碼包管理
- 計劃任務
- at 一次性計劃任務
- cron 循環任務
- 日志系統
- 網絡管理
- ip 顯示或設置網絡設備
- OSI簡介