一 linux各發(fā)行版及其聯(lián)系與區(qū)別
1. slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
2. debian: ubuntu,deepin(深度),mint
3. redhat
? ? 3.1 RHEL: RedHat Enterprise Linux, 每18個月發(fā)行一個新版本
2018年IBM收購紅帽公司
? ? 3.2 CentOS:Community Enterprise Operating System 兼容RHEL的格式
2020年12月8日IBM宣布支持到2029年的CentOS 8,提前到2年內(nèi)終結(jié),那就是2022年12月钝吮,CentOS將正式死亡。CentOS精神永存
隨后以CentOS創(chuàng)始人之一Gregory Kurtzer為首,計劃以創(chuàng)建Rocky Linux(Rocky為已經(jīng)逝世的另外一個CentOS創(chuàng)始人)取代CentOS漆羔。Rocky Linux與RHEL兼容目前已經(jīng)創(chuàng)建了Github Rocky Linux項目組織(github.com/rocky-linux/rocky)和官網(wǎng)(rockylinux.org)梧奢。
????3.3 中標(biāo)麒麟:中標(biāo)軟件
????3.4 Fedora:每6個月發(fā)行一個新版本
4. Alpine: 一個面向安全的輕型 Linux 發(fā)行版。它不同于通常 Linux 發(fā)行版演痒,Alpine 采用了 musllibc和busybox 以減小系統(tǒng)的體積和運行時資源消耗亲轨,但功能上比busybox又完善的多,只有5M左右大小
ArchLinux:輕量簡潔鸟顺,遵循K.I.S.S.原則( keep it simple and stupid )惦蚊,Manjaro
Gentoo:極致性能,不提供傳統(tǒng)意義的安裝程序讯嫂,下載源代碼在本機上編譯安裝軟件
LFS:Linux From scratch 自制Linux蹦锋,只是一個說明書
Android:kernel+busybox(工具集)+java虛擬機
二 CentOS 7.9、Ubuntu安裝過程記錄
鏡像文件欧芽,一般用阿里云莉掂,網(wǎng)易云,搜狐千扔,清華大學(xué)這幾個站點憎妙,以下為詳細(xì):
CentOS
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
https://mirrors.tuna.tsinghua.edu.cn/centos/
centos官網(wǎng)下載: https://vault.centos.org? ?
Ubuntu
http://cdimage.ubuntu.com/releases/? ? Server版
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/
http://releases.ubuntu.com/? ? Desktop版
http://mirrors.aliyun.com/ubuntu-releases/
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
CentOS 7.9下載
鏡像里面的內(nèi)容解釋:
?? Everything 最大化安裝
??? Minimal 最小化安裝
?? 1810 內(nèi)核編譯的次數(shù)
?? torrent 種子,下載的塊
?? network 網(wǎng)絡(luò)安裝
?? sha256sum.txt 校驗碼
CentOS 7.9安裝
CentOS 8.5
Ubuntu 18.04.6下載(如下是清華大學(xué)鏡像站)
Ubuntun 18.04.6安裝
1. 學(xué)習(xí)階段網(wǎng)絡(luò)設(shè)置
最后continue,啟動Ubuntu系統(tǒng)
3.配置環(huán)境變量护昧,實現(xiàn)執(zhí)行history的時候可以看到執(zhí)行命令的時間
默認(rèn)情況
持久保存變量可以使用export 變量名="值"的形成保存在/etc/profile或者/.bash_profile中
export HISTTIMEFORMAT = "%F %T "? ? T后加空格魂迄,顯示更清晰
HISTTIMEFORMAT="%F %T `whoami` " 顯示時間和用戶
如下
4. Linux的哲學(xué)思想總結(jié)
① 一切皆文件(包括硬件)
②小型,單一用途的程序
③鏈接惋耙,多個功能單一的程序組合執(zhí)行復(fù)雜的任務(wù)
④命令行操作捣炬,更直接穩(wěn)定。避免圖形界面引起的困擾和問題
⑤配置數(shù)據(jù)存儲在文本中(修改配置就是修改對應(yīng)程序的配置文件)
5. Linux常用命令使用
1. tty? 查看當(dāng)前虛擬終端
[16:39:06 root@centos8 ~][#tty
/dev/pts/0
2. hostname 主機名設(shè)置
hostname NAME 臨時生效
hostnamectl set-hostname NAME 持久生效
注意:主機名不支持下劃線绽榛,但是支持橫線湿酸,使用字母、橫線灭美、數(shù)字組合推溃;有些軟件有特殊要求
范例
3. type 區(qū)別指定的命令是內(nèi)部或者外部命令
范例
4. which whereis 查看路徑
which 找PATH變量中指定的路徑,返回第一個
whereis 用來定位命令的二進制程序届腐、源代碼文件和man手冊頁等相關(guān)文件的路徑铁坎。速度快蜂奸,內(nèi)部維護的數(shù)據(jù)庫來查,有延遲不準(zhǔn)確
范例
5. alias 別名
????alias name=”NAME“
????unalias [-a] name
持久保存別名
????當(dāng)前用戶有效 ~/,bashrc
????所有用戶有效 /etc/bashrc
與原有命令重名硬萍,則原命令被覆蓋扩所,執(zhí)行\(zhòng)COMMAND
6. lscpu 查看cpu信息
????cat /proc/cpuinfo
7. free 查看內(nèi)存信息
? ? cat /proc/meminfo
8. 查看硬盤和分區(qū)情況
????lsblk
9. arch 查看系統(tǒng)架構(gòu)
? ? arch
10. uname 顯示系統(tǒng)相關(guān)信息,比如主機名朴乖、內(nèi)核版本號祖屏、硬件架構(gòu)等
11. date 顯示和設(shè)置系統(tǒng)時間
? ? clock 硬件時鐘
? ? cal 顯示日歷? ? cal 9 1752
12. 關(guān)機 halt/poweroff 重啟 reboot
13. 用戶登錄信息查看命令
? ? who? ? 系統(tǒng)當(dāng)前所有的登錄會話
? ? whoami????who am i 顯示當(dāng)前登錄有效用戶
? ? w? ? 系統(tǒng)當(dāng)前所有的登錄會話及所作的操作
14. nano 文本編輯工具
15. screen、Tmux會話管理工具
screen
查看當(dāng)前會話
tmux 終端復(fù)用器买羞,啟用 tmux赐劣,退出exit
快捷鍵眾多,前置鍵ctrl + b
新建會話????tmux new -s <session-name>
分離會話? ? tmux detach或者ctrl b,d
查看會話? ? tmux ls或者tmux list-session
殺死會話? ? tmux kill-session -t <session-name>
????如 tmux kill-session -t 0
16. echo????將輸入的字符串送往標(biāo)準(zhǔn)輸出
語法????echo [neE] 字符串
選項
? ? -E (默認(rèn))不支持\的解釋功能
? ? -n 不自動換行
? ? -e? ? 啟用\的解釋功能
顯示變量
? ? echo "$VAR_NAME"? ? 用變量值替換哩都,弱引用
? ? echo '$VAR_NAME'? ? 變量不會替換魁兼,強引用
范例
17. 獲取幫助
whatis 使用數(shù)據(jù)庫來顯示命令的簡短描述
內(nèi)部命令查看
? ? help COMMAND
外部命令查看
? ? COMMAND --help / -h
man
man命令會列出一份完整的說明。 其內(nèi)容包括命令語法漠嵌、各選項的意義及相關(guān)命令 咐汞。更為強大的是,不僅可以查看Linux中命令的使用幫助儒鹿,還可以查看軟件服務(wù)配置文件化撕、系統(tǒng)調(diào)用、庫函數(shù)等幫助信息约炎。
6.Linux發(fā)行版的系統(tǒng)目錄名稱命名規(guī)則以及用途
命令規(guī)則
????大小寫敏感
????.開頭的為隱藏文件
????路徑分隔符/(斜線)植阴,對比與windows上的\(反斜線)
????文件名最長255各字節(jié)
????顏色劃分,藍色-->目錄 綠色-->可執(zhí)行文件 紅色-->壓縮文件 淺藍色-->鏈接文件 灰色-->其他文件
/boot:引導(dǎo)文件存放目錄圾浅,內(nèi)核文件(vmlinuz)掠手、引導(dǎo)加載器(bootloader, grub)都存放于此目錄
/bin:所有用戶使用的基本命令;不能關(guān)聯(lián)至獨立分區(qū)狸捕,OS啟動即會用到的程序
/sbin:管理類的基本命令喷鸽;不能關(guān)聯(lián)至獨立分區(qū),OS啟動即會用到的程序
/lib:啟動時程序依賴的基本共享庫文件以及內(nèi)核模塊文件(/lib/modules)
/lib64:專用于x86_64系統(tǒng)上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home/USERNAME:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設(shè)備掛載點
/mnt:臨時文件系統(tǒng)掛載點
/dev:設(shè)備文件及特殊文件存儲位置
????b: block device灸拍,隨機訪問
????c: character device做祝,線性訪問
/opt:第三方應(yīng)用程序的安裝位置
/srv:系統(tǒng)上運行的服務(wù)用到的數(shù)據(jù)
/tmp:臨時文件存儲位置
????/usr: universal shared, read-only data
????bin: 保證系統(tǒng)擁有完整功能而提供的應(yīng)用程序
????sbin:
????lib:32位使用
????lib64:只存在64位系統(tǒng)
????include: C程序的頭文件(header files)
????share:結(jié)構(gòu)化獨立的數(shù)據(jù),例如doc, man等
????????local:第三方應(yīng)用程序的安裝位置
????????????bin, sbin, lib, lib64, etc, share
/var: variable data files
????cache: 應(yīng)用程序緩存數(shù)據(jù)目錄
????lib: 應(yīng)用程序狀態(tài)信息數(shù)據(jù)
????local:專用于為/usr/local下的應(yīng)用程序存儲可變數(shù)據(jù)
????lock: 鎖文件
????log: 日志目錄及文件
????opt: 專用于為/opt下的應(yīng)用程序存儲可變數(shù)據(jù)
????run: 運行中的進程相關(guān)數(shù)據(jù),通常用于存儲進程pid文件
????spool: 應(yīng)用程序數(shù)據(jù)池
????tmp: 保存系統(tǒng)兩次重啟之間產(chǎn)生的臨時數(shù)據(jù)
/proc: 用于輸出內(nèi)核與進程信息相關(guān)的虛擬文件系統(tǒng)
/sys:用于輸出當(dāng)前系統(tǒng)上硬件設(shè)備相關(guān)信息虛擬文件系統(tǒng)
/selinux: security enhanced Linux鸡岗,selinux相關(guān)的安全策略等信息的存儲位置