計算機是由硬件和軟件構(gòu)成的。
硬件的五大部件:
- 運算器 -|
- 控制器 -| 中央處理器
- 存儲器 - 內(nèi)存(RAM)
- 輸入設(shè)備 -|
- 輸出設(shè)備 -| IO設(shè)備
軟件的兩大類別:
- 系統(tǒng)軟件 - 操作系統(tǒng)(內(nèi)核+工具程序)
- 應(yīng)用軟件
Linux系統(tǒng)的內(nèi)核是Free的
Linux系統(tǒng)最早的內(nèi)核是由Linus開發(fā)的 現(xiàn)在也是由他在管理和維護(hù)這個系統(tǒng)的內(nèi)核版本
Unix - MINIX
- IBM - AIX
- HP - HP-UX
除了Windows系統(tǒng)其他系統(tǒng)幾乎都是Unix的衍生品
類Unix操作系統(tǒng)
Unix - BSD - FreeBSD - Macintosh - macOS - iOS
Unix - MINIX - Linux - Android
Unix - Solaris / HP-UX
Shell - 殼程序 - 人機交互界面(人和計算機對話的窗口)
Shell中的工具和命令
who - 查看登錄系統(tǒng)用戶的信息
last - 查看最近使用過系統(tǒng)的用戶信息
clear - 清除屏幕輸出
history - 查看歷史命令
!歷史命令編號 - 重新執(zhí)行歷史命令
useradd/userdel - 添加/刪除用戶
passwd - 修改用戶口令
su - switch user - 切換用戶
logout / exit - 退出登錄
reboot / shutdown - 重啟 / 關(guān)機
write 用戶名 - 給指定用戶發(fā)送消息
mesg y/n - 是否接收別人發(fā)送的消息
wall - 給所有人發(fā)出廣播消息
pwd - print working directory - 打印當(dāng)前工作目錄
cd - change directory - 改變目錄
ls - list directory contents - 列出目錄內(nèi)容
mkdir 目錄名 - make directory - 創(chuàng)建文件夾
rmdir 目錄名 - remove empty directory - 刪除空文件夾
touch 文件名 - 創(chuàng)建一個空文件
echo 內(nèi)容 > 文件名 - 將內(nèi)容重定向到指定的文件
wget [圖片上傳失敗...(image-747bd6-1542114147724)]
http://www.sohu.com/ - 聯(lián)網(wǎng)通過URL獲取指定文件
rm - 刪除文件
rm -rf - 刪除文件夾
cp - 拷貝文件或文件夾
mv - 移動文件或文件夾(重命名)
cat - concatenate - 連接文件內(nèi)容(查看文件)
less / more - 分屏查看
head / tail - 查看文件前面/后面的部分
sort - 給文件排序
uniq - 去除相鄰的重復(fù)內(nèi)容
| - 管道 - 連接兩個進(jìn)程(命令)- 把前一個進(jìn)程的輸出作為后面一個進(jìn)程的輸入
gzip / gunzip - 壓縮/解壓縮
xz -z / xz -d - 壓縮/解壓縮
tar是Linux系統(tǒng)下的歸檔文件(類似于Windows下的rar文件)
解歸檔 - tar -xvf 歸檔文件的名字
歸檔 - tar -cvf 歸檔文件的名字 ./*
Redis - NoSQL
CPython - Python解釋器是用C語言實現(xiàn)的
Jython - Python解釋器是用Java語言實現(xiàn)的
IronPython - Python解釋器是用C#語言實現(xiàn)的
PyPy - Python解釋器是用Python語言實現(xiàn)的
獲得幫助
man - manual - 查看幫助手冊
命令 --help - 獲得命令的幫助
200Mbps -----> 25MB
8bit -------> 1Byte
1024B -------> 1KB
1024KB -------> 1MB
1024MB -------> 1GB
1024GB -------> 1TB
1024TB -------> 1PB
《鳥哥的Linux私房菜》
Linux發(fā)行版本:
- Redhat
- CentOS
- Ubuntu
- Fedora
- SUSE
- Debian
Linux系統(tǒng)安裝軟件:
- 使用包管理工具 - yum / rpm / apt / deb
- 源代碼構(gòu)建安裝 - 下載源代碼用C語言構(gòu)建工具進(jìn)行構(gòu)建
- 直接下載二進(jìn)制程序 - 配置環(huán)境變量之后使用
Apache
Nginx ---> HTTP服務(wù)器 ---> 提供Web應(yīng)用
yum search nginx - 搜索名為nginx的軟件包
yum -y install nginx - 安裝名為nginx的軟件包
yum -y remove nginx - 刪除名為nginx的軟件包
yum update nginx - 更新名為nginx的軟件包
yum info nginx - 查看名為nginx的軟件包相關(guān)信息
yum list installed - 查看已經(jīng)安裝的軟件包
service nginx start
systemctl start nginx - 啟動Nginx
systemctl restart nginx - 重啟Nginx
systemctl stop nginx - 停止Nginx
systemctl status nginx - 查看Nginx狀態(tài)
systemctl enable nginx - 設(shè)置Nginx開機自啟
systemctl disable nginx - 禁用Nginx開機自啟
更新Linux系統(tǒng)Python環(huán)境到3.7.1
安裝依賴項
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel下載源代碼
wget [圖片上傳失敗...(image-206717-1542114147714)]
https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
解壓縮和解歸檔
gunzip Python-3.7.1.tgz
tar -xvf Python-3.7.1.tar進(jìn)入文件夾生成構(gòu)建文件(Makefile)
cd Python-3.7.1
./configure --prefix=/usr/local/python37 --enable-optimizations構(gòu)建和安裝
make && make install修改環(huán)境變量
cd ~
vim .bash_profile
PATH=HOME/bin:/usr/local/python37/bin
提醒:vim下按i進(jìn)入編輯模式;按Esc退出編輯模式凝赛;保存文件要先退出編輯模式再按:wq
斷開服務(wù)器連接,重新連接服務(wù)器
python3 --version注冊一個快捷方式(符號鏈接)
ln -s /usr/local/python37/bin/python3 /usr/bin/python3
硬鏈接 - 相當(dāng)于給文件增加了一個引用計數(shù)(不復(fù)制數(shù)據(jù)的備份)
軟鏈接(符號鏈接) - 相當(dāng)于是Windows下的快捷方式 可以為常用的文件和文件夾在用戶主目錄下創(chuàng)建軟鏈接來方便操作
ln 源文件 目標(biāo)文件
ps - processes - 查看進(jìn)程狀態(tài)
ps -ef
ps -aux
top
kill - 結(jié)束進(jìn)程
登錄系統(tǒng)成功之后進(jìn)入Shell(殼程序)交互式環(huán)境
大多數(shù)Linux系統(tǒng)默認(rèn)的Shell都是bash
bourne again shell
Internet是基于TCP/IP模型的四層架構(gòu)
應(yīng)用層 - HTTP / FTP / SSH / QQ / SMTP / POP3
傳輸層 - TCP / UDP - 端到端傳輸服務(wù)
網(wǎng)絡(luò)層 - IP - 尋址和路由
物理鏈路層(網(wǎng)絡(luò)接口層) - 分幀和校驗
服務(wù)端口是對IP地址的擴展套利,用來區(qū)分不同的服務(wù)
sftp root@1.2.3.4
SFTP的常用命令:
quit / exit / bye - 退出sftp
cd / lcd - 切換遠(yuǎn)端工作目錄 / 切換本地工作目錄
pwd / lpwd - 查看遠(yuǎn)端工作目錄 / 查看本地工作目錄
ls / lls - 查看遠(yuǎn)端目錄下的內(nèi)容 / 查看本地目錄下的內(nèi)容
mkdir / lmkdir - 在遠(yuǎn)端創(chuàng)建目錄 / 在本地創(chuàng)建目錄
put - 上傳文件(-r遞歸可以用來上傳文件夾)
get - 下載文件(-r遞歸可以用來下載文件夾)