1.Linux系統簡介
1.1 Unix與Linux發展史
父子關系:Unix 是Linux的前身
1969年,肯丶湯姆森開發Unix系統(為了加快玩游戲的速度 - -,自己開發的系統)
1971年,肯丶湯姆森(黑胡子)同事丹尼斯丶里奇(白胡子)發明了C語言。通過Unix系統用C語言重寫,提高Unix可移植性和速度。
1991年,芬蘭李納斯開發Linux系統。開源軟件,在Unix基礎上開發,linux內核官網www.kernel.org
發行版,就是在內核版本上進行自己修改
CentOS,相當於Redhat的完全免費版本
Ubuntu,桌面做的很漂亮
1.2 開源軟件簡介
商業軟件,商業公司運營,開發,不開放源代碼。
Mysql
python
mongoDB
PHP
Nginx
絕大多數開源軟件免費,軟件的源代碼(安全性好),自由傳播(改良的自由)----例子開源賣注釋,哈哈
LAMP架構
LINUX 操作系統
Apache Web服務器
Mysql 數據庫
PHP 編程語言
1.3 Linux學習方法
為什么選擇命令行?
服務器使用優先,考慮安全性和穩定性,不考慮應用性。
圖形界面會大大增大服務器出錯的可能性
解決問題的智慧
遇到問題,自己尋找答案,印象才深刻
提示信息,幫助文檔,學會使用工具
英文提示困惑
command not found,No Such file or directory
每天背30個單詞,3個月左右就能看懂linux英文提示
忘掉WINDOWS的思維方式
linux--專業工程師用的
計划----堅持----專注----練習
每個練習做2遍------練習才能增加理解----多練習
2.Linux安裝和虛擬機安裝
賬號:Ubuntu123
密碼:123
2.1 VMware虛擬機安裝
在一台機器上模擬2種以上的操作系統
磁盤分區
合理的規划硬盤,
主分區:最多只能四個
擴展分區:包含多個邏輯分區,是主分區轉化的
格式化:做成隔斷,每個隔斷block(數據塊)4KB大小
編號:iNode列表,保存文件的位置
格式化后的,設備文件名
2.2 遠程登錄管理工具
SecureCRT遠程管理工具
安裝SSH服務器
apt-get install openssh-server
查詢服務是否啟動
ps -e | grep ssh
啟動ssh-agent
eval ssh-agent
使用遠程連接工具連接,IP,用戶名
賬號密碼
連接成功
Winscp文件拷貝工具
可以直接進行文件操作
2.3 Linux學習須知
嚴格區分大小寫
所有內容都是以文件形式保存,包括硬件
遠程服務器器不允許關機,只能重啟‘
重啟時應該關閉服務
不要在服務器訪問高峰運行高負載命令
遠程配置防火牆(過濾的門檻,其實個過濾器,靠IP地址,端口地址,MAC地址,包中數據)時不要把自己踢出服務器
指定合理的密碼的規范並定期更新
合理分配權限
定期備份重要數據和日志
3.Linux常用命令
命令格式:命令 [-選項] [參數]
3.1 文件處理命令
目錄處理命令
ls(list) :查看當前目錄下的所有文件
-a(all):顯示所有文件,可以查到隱藏文件(文件以.開頭。例如.abc)
-l(long): 顯示10個權限標識位 第一組:用戶權限,第二組:組權限,第三組:其他權限。顯示命令 ls -l 例:-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
-rwxrw-r:-代表文件,d代表目錄,l代表軟鏈接。每3個一組(u所有者,g所屬組,o其他人)權限描述,d讀w寫x執行三種權限
- 1 表示連接的文件數
- root 表示用戶
- root表示用戶所在的組
- 1213 表示文件大小(字節)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
-h :人性化顯示
-d:顯示指定目錄的詳細信息,-ld
-i:查詢i節點
mkdir(make directories):創建目錄
-p:遞歸創建,不存在目錄也可以創建子目錄
cd(change directory):切換指定目錄
pwd(print working directory):顯示當前所在目錄
rmdir(remove empty directories) :刪除空目錄
cp(cope) [原文件或目錄] [目標目錄]:復制文件或目錄
-r:復制目錄
-p:保持文件屬性,例:保留原更改時間,
mv(move) [原文件或目錄] [目標目錄]:剪切一個或多個目錄
同一目錄下移動就是改名,盯
rm(remove) [文件或目錄]:刪除文件
-f:強制刪除文件,沒有提示
-r:刪除目錄的選項,-rf就可以刪除一個目錄
文件處理命令
touch [文件名]:創建空文件,可以同時操作多個文件
cat [文件名]: 顯示文件內容,適合短的文件
-n :顯示行號
more [文件名]:分頁顯示文件內容
按f或空格:一頁一頁往后翻
按enter:一行一行翻后頁
less [文件名]:分頁顯示文件內容,跟more類似,可以向上翻頁,可以搜索
按n:next顯示下一個匹配的關鍵字
head -n 行號 [文件名]:查看文件的前n行(不使用-n,默認顯示10行)
tail -n 行號 [文件名]:查看文件的末尾幾行(默認顯示最后10行)
鏈接命令
ln(link) [原文件] [目標文件]:生成鏈接文件,不使用-s,默認生成硬鏈接(同步更新的cp -p)
-s創建軟鏈接(類似快捷方式),用cat運行軟鏈接
3.2 權限管理命令
權限管理命令chmod
chmod(change the permission mode of a file)
chmod [{ugoa}{+-=}{rex}] [文件或命令]:利用+-=更改權限
chmod [權限代表的數字] [文件或命令]:rwx分別對應421,通過數字的形式更改權限
-R 遞歸修改:改變目錄權限同時,同時改變子目錄的權限
其他權限管理命令
chown(change file ownership):更改文件的所有者(只有管理員root可以更改文件所有者)
chown [用戶] [文件或目錄]:將文件或目錄的所有者改為用戶
chgrp(change file group ownership): 改變文件或目錄的所屬組
chgrp [用戶組] [文件或目錄]:將文件或目錄的所屬組改為用戶組
默認新創建的文件沒有可執行權限
3.3 文件搜索命令(盡量少用搜索命令)
文件搜索命令find
find [搜索范圍] [匹配條件]:文件搜索
find [搜索范圍] -name [文件名]:按名字搜索,文件名后面可以加通配符
-iname:搜索不區分大小寫(搜索的范圍越小越好)
-size {+-}204800:按大小查找,1個數據塊=0.5k,+是大於
-uesr ubuntu:按所有者查找
-size +204800 -a{o} -size -102400:-a and ;-o or
-type -{fdl}:f代表文件,d代表目錄,l代表軟連接
其他搜索命令
...
3.4 幫助命令
man(manual):獲取幫助信息
man [命令名稱]:獲取命令的幫助信息
[命令名稱] --help:獲取中文幫助(常用)
3.5 用戶管理命令(root用戶)
useradd [用戶名]:添加用戶名
passwd [用戶名]:添加密碼
3.6 壓縮解壓縮命令
.gz:壓縮格式
gzip 文件名:壓縮文件成.gz(只能壓文件,不能壓縮目錄),不保留源文件
gunzip 壓縮文件名:解壓縮
gzip -d 壓縮文件名:同上,解壓縮
.tar:壓縮格式
tar -zcvf 壓縮后的文件名 壓縮到目錄:先打包壓縮
tar -zxvf 需要解包的目錄:解壓
.zip:壓縮格式
zip 壓縮后的文件名 壓縮到目錄:壓縮文件
-r:可以壓縮目錄
unzip 壓縮文件名:解壓縮
.bz2:壓縮格式
bzip -k 壓縮文件:解壓縮並保留源文件
4.7 網絡命令
ping 選項 IP地址:64字節發送
ping -c 次數 IP地址:有限次數ping
ifconfig :查看和設置網卡信息
last:查詢過去所有用戶的登錄用戶信息
lastlog:列出所有用戶,和最后登錄時間
netstat -t:TCP協議
-u:UDP協議
-l:監聽
-r:路由
-n:顯示IP地址和端口號
netstat -tlun:所有啟動的服務
setup:配置網絡(root權限,紅帽專屬)
3. 8 關機重啟命令(關機重啟前,先關掉服務)
shutdown -h now:當前關機
shutdown -c:取消關機
shutdown -r 時間:重啟
3.9 軟件安裝和卸載
# 1. 安裝軟件
$ sudo apt install 軟件包
# 2. 卸載軟件
$ sudo apt remove 軟件名
# 3. 更新已安裝的包
$ sudo apt upgrade
3.10 其他命令
date:查看時間
cal:查看日歷
ps aux:查看當前運行的進程
kill 進程代號:干掉進程
4.shell腳本
echo "hello world":類似print,輸出命令
vim 文件名:創建文件,I插入,esc+:wq保存退出
bash 腳本名:執行腳本
chmod 755 腳本名:賦予執行權限,直接運行