背景
GNU計劃:建立免費(fèi)Unix系統(tǒng)的計劃。后Linux加入該計劃。GUN即GUN's Not Unix。
GPL:GNU Public License, 開源許可證
BSD: Berkeley Software Distribution,伯克利軟件套件,伯克利大學(xué)開發(fā)的一個UNIX分支
System V:AT&T開發(fā)的一個UNIX分支
Linux發(fā)行版:在Linux內(nèi)核的基礎(chǔ)上開發(fā)一系列輔助軟件,打包發(fā)布
Red Hat Enterprise Linux:紅帽公司企業(yè)版Linux
Fedora:費(fèi)多拉,紅帽公司社區(qū)版Linux
SUSE Linux Enterprise: SUSE公司企業(yè)版Linux,SUSE公司已被Novell公司收購
openSUSE: SUSE公司社區(qū)版Linux
Debian:蝶變,社區(qū)開發(fā)
Ubuntu:烏班圖,社區(qū)開發(fā),母版為Debian
CentOS:免費(fèi)的,模板為Red Hat Enterprise Linux
登錄相關(guān)
1、SSH(Secure Shell)
工具:OpenSSH,是SSH協(xié)議的開源實現(xiàn)
跨平臺客戶端:Xshell、SecureCRT、PuTTY
Linux客戶端命令:ssh -l username IP
免密登錄:
1、生成密鑰對:ssh-keygen -t rsa,公私鑰都在~/.ssh/ 下
2、公鑰發(fā)送給遠(yuǎn)程主機(jī):scp ~/.ssh/id_rsa.pub user@ip:~/.ssh/
3、遠(yuǎn)程主機(jī)將公鑰追加到公鑰列表:cat ~/.ssh/id_rsa.pub >> authorized_keys
2、VNC(Virtual Network Console)
跨平臺客戶端:vncviewer、NoVnc(WebSockets通信、Canvas顯示)
傳輸相關(guān)
1、FTP(File Transfer Protocol)
跨平臺客戶端:Xftp
2、SCP(Secure Copy Protocol)
跨平臺客戶端:WinSCP
Linux客戶端命令:scp file user@IP:/目錄/文件名
3、Zmodem
跨平臺客戶端命令rz(Receive Zmodem):rz是客戶端命令,非shell命令。rz觸發(fā)客戶端發(fā)起Zmodem傳輸
4、curl、wget
下載:curl url -o filename;wget -O filename url
curl XPOST url -d'請求體'
幫助相關(guān)
命令選項格式:
1、單選項:'-字母'、'--單詞';'-字母'是'--單詞'的簡寫
2、多選項:'-字母選項連寫'(System V風(fēng)格)、'字母選項連寫'(BSD風(fēng)格)
3、-h或--help是顯示幫助
命令行補(bǔ)全:單擊Tab補(bǔ)全命令 或 文件名,雙擊Tab列出命令或文件名可選項
目錄相關(guān)
FHS:Filesystem Hierarchy Standard 目錄劃分標(biāo)準(zhǔn)
代號目錄:主目錄 ~、根目錄 / 、前一個目錄 -
系統(tǒng)目錄
/boot Bootstrap:系統(tǒng)引導(dǎo)相關(guān)文件、/lib Libraries:動態(tài)鏈接共享庫、/sbin System-only binaries:系統(tǒng)管理命令、/proc Processes:系統(tǒng)內(nèi)存的映射,虛擬目錄、/bin Binaries:一般命令
程序目錄
/usr Unix Software Resource:系統(tǒng)自帶資源和用戶安裝資源、/opt Optionally 第三方程序、/etc Etcetera 配置文件、/var Variable files:程序運(yùn)行所產(chǎn)生的數(shù)據(jù)、/srv Service:網(wǎng)絡(luò)服務(wù)數(shù)據(jù)、/tmp Temporary files:臨時文件
用戶與設(shè)備目錄
/dev Devices:設(shè)備文件、/media Media:系統(tǒng)自動掛載目錄、/mnt Mount:供臨時掛載設(shè)備、/home/用戶名 普通用戶主目錄、/root 超級用戶主目錄
文件相關(guān)
文件類型:普通文件-,目錄d,字符設(shè)備文件c,塊設(shè)備文件b,本地域套接口s,有名管道p,符號鏈接l
符號鏈接:ln file link_file 創(chuàng)建硬鏈接,相當(dāng)于新增引用;ln -s file link_file;創(chuàng)建軟鏈接,相當(dāng)于創(chuàng)建快捷方式
程序相關(guān)
shell:命令解釋器
BASH:Bourne Again Shell,一種shell。程序文件在 /bin/bash
$PATH:環(huán)境變量,查找命令的目錄
標(biāo)準(zhǔn)輸出:通常為顯示器
管道:ls | grep 're',ls的輸出作為grep的輸入
包管理工具
dpkg:Debian Packager,Debian(包括Ubuntu)使用的包管理工具,管理 .deb包
apt:Advanced Package Tool,Debian(包括Ubuntu)使用的包管理工具,基于dpkg
rpm:RedHat Package Manager,RedHat(包括CentOs)使用的包管理工具,管理.rpm 包
yum:Yellow dog Updater, Modified,RedHat(包括CentOs)使用的包管理工具,基于rpm
rpm
RPM包會有默認(rèn)安裝路徑,源碼包一般安裝在/usr/local
RPM包默認(rèn)路徑:配置文件/etc,啟動腳本/etc/init.d,初始化環(huán)境配置 /etc/sysconfig,服務(wù)產(chǎn)生的數(shù)據(jù)/var/lib,日志/var/log
yum
yum配置文件:/etc/yum.repos.d/CentOS-Base.repo,yum源在這里修改
gcc:GNU Compiler Collection,編譯C程序,gcc file.c
g++:編譯C++程序,g++ file.c++
守護(hù)進(jìn)程(daemon, d, .d)
守護(hù)進(jìn)程命令都有的參數(shù):start\stop\restart
系統(tǒng)守護(hù)進(jìn)程:init進(jìn)程或者Systemd進(jìn)程,內(nèi)核啟動的第一個用戶級進(jìn)程,PID為1,其他進(jìn)程都是它的子進(jìn)程
端口:0-65535,ftp 21,ssh 22,smtp 25,dns 53,http 80,https 443
預(yù)留端口:0-10000端口,在/etc/services 中可以查看
權(quán)限相關(guān)
rwxrw-r-- root root:屬主權(quán)限r(nóng)wx,屬組權(quán)限r(nóng)w-,其他人權(quán)限r(nóng)--,屬主是root,屬組是root
普通用戶能修改密碼的原理:修改密碼即修改/etc/shadow,但普通用戶對它沒有寫權(quán)限。/usr/bin/passwd 的屬主有s權(quán)限,即SetUID權(quán)限,能讓普通用戶以屬主身份執(zhí)行passwd,即root身份。給文件增加SetUID權(quán)限的方法:chmod u+s 文件名。同理,給文件或目錄設(shè)置SetGID權(quán)限:chmod g+s。目錄有SetGID權(quán)限時,任何用戶在這個目錄下新建的文件,文件的屬組都是這個目錄的屬組,而不是用戶的屬組。
升權(quán)配置:/etc/sudoers,格式:A B=(C) NOPASSWD: D
A 為可以sudo的用戶,可以為ALL;B為被管理主機(jī)的地址,本主機(jī)可能可以同時管理多臺其他主機(jī),可以為ALL;C為以什么臨時身份執(zhí)行目標(biāo)命令,可以為ALL,也可以省略;NOPASSWD: 可選;D為授權(quán)的命令,需寫命令全路徑,可以為ALL
設(shè)備相關(guān)
IDE硬盤:/dev/hd[a-d]
SCSI/SATA/USB硬盤,U盤:/dev/sd[a-p]
配置swap分區(qū):fdisk n 新建分區(qū) -> fdisk t 將分區(qū)系統(tǒng)Id改為82 -> partprobe 讓內(nèi)核重新加載分區(qū)表 -> mkswap /dev/分區(qū),格式化為swap格式 -> swapon /dev/分區(qū),啟動swap分區(qū)
系統(tǒng)相關(guān)
系統(tǒng)運(yùn)行級別:0 關(guān)機(jī),1 單用戶(安全模式),2不完全多用戶(不包含NFS服務(wù)),3完全多用戶,4 未分配,5 圖像界面,6重啟
任務(wù)相關(guān)
周期任務(wù)
全局配置文件:/etc/crontab,意為Chronos table;/etc/cron.d/下的任意文件
單用戶配置文件:在/var/spool/cron/下,通過crontab命令訪問
配置格式:0 17 * 8 5 root tar czf book.tar.gz /book/*.doc,表示 8月的每個星期5的17點0分,以root身份執(zhí)行 tar
定時腳本:/etc/cron.hourly/下、/etc/cron.daily/下、/etc/cron.weekly/下、/etc/cron.monthly/下放的腳本會被定時執(zhí)行
crond進(jìn)程:即cron守護(hù)進(jìn)程,每1分鐘讀取/etc/crontab和/etc/cron.d/,執(zhí)行這分鐘的計劃任務(wù)
crontab命令權(quán)限黑名單:/etc/cron.deny
crontab命令權(quán)限白名單:/etc/cron.allow,有白名單則不看黑名單
crontab日志:/var/log/cron
單次任務(wù)
設(shè)置:at 18:00;命令;Ctrl + D 結(jié)束(向at程序發(fā)送EOT消息)
查看:atq
刪除: atrm任務(wù)編號
開機(jī)啟動
開機(jī)啟動:方法一:chkconfig --level 2345 httpd on 或 systemctl enable httpd.service;方法二:加入/etc/rc.local
啟動/etc/init.d下的服務(wù):/etc/init.d/httpd start 或 service httpd start 或 systemctl start httpd.service
查看服務(wù)列表:chkconfig --list 或 systemctl list-unit-files
systemctl:centos提供的命令,融合了service和chkconfig的功能,
自開發(fā)系統(tǒng)服務(wù)
1、/etc/rc.d/init.d/ 下新建守護(hù)程序 service.d,定義 start 和 stop 方法
2、把守護(hù)程序添加到系統(tǒng)服務(wù)列表:chkconfig --add service.d
3、開啟服務(wù):chkconfig service.d on
阿里云
云服務(wù)器 ECS:可選擇純操作系統(tǒng)鏡像,可以選擇已搭載應(yīng)用的鏡像,搭載的應(yīng)用包括建站系統(tǒng)(內(nèi)容管理系統(tǒng)CMS)、運(yùn)行環(huán)境(例如LAMP)、開發(fā)工具(例如GitLab、phpwind)、數(shù)據(jù)庫、服務(wù)器軟件、企業(yè)應(yīng)用
輕量應(yīng)用服務(wù)器:簡單配置即可創(chuàng)建的ECS
GPU云服務(wù)器:基于 圖形處理器 的ECS
FPGA云服務(wù)器:基于 硬件加速 的ECS
專有宿主機(jī):硬件(物理)獨(dú)享 的ECS
超級計算集群:基于RDMA,把一個集群當(dāng)做一個高性能ECS來使用
彈性高性能計算E-HPC:擁有高性能計算HPC(超算)能力的ECS集群
彈性伸縮:自動調(diào)整彈性計算資源
資源編排ROS:通過模板描述多個云計算資源的依賴關(guān)系、配置等,自動完成所有資源的創(chuàng)建和配置,以達(dá)到自動化部署、運(yùn)維等目的,即通過編排配置文件 或 可視化編排器來管理一組資源及其相互間的關(guān)聯(lián)
函數(shù)計算:提交代碼即可運(yùn)行,支持nodejs、java、python等,可以連接OSS、ECS、RDS等
建站相關(guān):云虛擬機(jī)主機(jī)(建站用的ECS)、海外云虛擬機(jī)、彈性Web托管(建站用的虛擬空間)、阿里云自營建站