linux基礎命令
對文件夾(目錄)操作
對文件操作
文件壓縮相關命令
文件權限
補充其他命令linux網絡
nginx
一.Linux基礎
(0)Linux的發展歷程
分類:
(1)遠程連接工具的使用
在實際開發中,Linux服務器都在其他的地方,我們要通過windows客戶端工具遠程去連接Linux並操作它,連接Linux的windows客戶端工具有很多,企業中常用的有secureCRT、Putty、xshell、SSH Secure等
我們使用SecureCRT客戶端工具進行連接Linux操作系統,該工具是免費的圖形化界面和命令行窗口集一身客戶端工具。
客戶端連接工具
查看ip地址:
(2)Linux目錄結構:
* root目錄:超級管理員所在的目錄,用~表示
* home目錄:普通用戶所在的目錄
* usr目錄:安裝用戶文件所在的目錄
* etc目錄:Linux系統管理和配置文件所在的目錄
(3)文件夾(目錄)操作命令
1)查看:
* 語法
ls [參數]
* 參數解釋
-l 以詳細形式查詢當前目錄下所有文件和目錄,不包括隱藏文件和目錄
-a 以精簡形式查詢當前目錄下所有文件和目錄,包括隱藏文件和目錄
* 命令
cd / 進入根目錄
ls 以精簡形式查詢當前目錄下的內容
ls -l 以詳細形式查詢當前目錄下的內容,d表示目錄,-表示文件;此命令可以簡寫爲ll
ls -a 以精簡形式查詢當前目錄下的隱藏內容
ls -la 以詳細形式查詢當前目錄下的隱藏內容,la和al都可
clear 清屏
2)跳轉
* 語法
cd 目錄
絕對路徑
/xxx/xxx/xxx
相對路徑
./ 當前目錄
../ 上級目錄
* 命令
cd ~ 當前用戶目錄
cd / 根目錄
cd - 上一次訪問的目錄
cd .. 上一級目錄
cd 當前用戶目錄
3)創建
* 語法
mkdir [參數] 目錄
* 參數解釋
-p 一次性創建多級目錄,如果目錄存在不會覆蓋
* 命令
cd / 定位於根目錄
mkdir aaa 在當前目錄下創建aaa目錄,相對路徑
mkdir ./bbb 在當前目錄下創建bbb目錄,相對路徑
mkdir /ccc 在根目錄下創建ccc目錄,絕對路徑
mkdir /ddd/eee 在根目錄下創建ddd目錄和eee子目錄
4)搜索
* 語法
find 目錄 -name '條件'
* 命令
cd /
find / -name 'b' 查詢根目錄下(包括子目錄),名爲b的目錄和文件
find / -name 'b*' 查詢根目錄下(包括子目錄),名以b開頭的目錄和文件
在Linux中,按ctrl+c 強行終止程序執行
5)修改:用來爲文件或目錄改名、或將文件或目錄移入其它位置。
* 語法
mv 舊目錄 新目錄
* 命令
cd /
mv aaa aaaa 將根目錄下的aaa目錄修改爲aaaa
6)剪切(同樣支持重命名)
* 語法
mv 原目錄位置 新目錄的位置
* 命令
cd /
mv /aaaa /bbb 將根目錄下的aaaa目錄,移動到bbb目錄下,在bbb目錄下也叫aaaa目錄
mv bbb usr/bbbb 將當前目錄下的bbb目錄,移動到usr目錄下,且修改名爲bbbb
7)複製(支持改名)
* 語法
cp -r 目錄 目錄的新位置
* 參數解釋
-r 遞歸複製,將指定目錄下的文件與子目錄一併處理
* 命令
cd / 定位於/目錄
cp -r /aaa /bbb 將/目錄下的aaa目錄複製到/bbb目錄下,在/bbb目錄下名字爲aaa
cp -r /aaa /bbb/aaaa 將/目錄下的aaa目錄複製到/bbb目錄下,且修改名爲aaaa
8)刪除
* 語法
rmdir [參數] 目錄
* 參數解釋
-p 刪除目錄及其父目錄
* 命令
cd /
rmdir bbb/ccc 刪除bbb目錄下ccc目錄
rmdir -p bbb/ccc 刪除bbb目錄和ccc子目錄
總結:
1. 目錄查看
ll [-a]
2. 目錄跳轉
cd 絕對路徑 [相對路徑]
3. 創建目錄
mkdir -p 文件夾名稱
4. 搜索
find 指定路徑 -name '關鍵字'
5. 剪切
mv 原來位置 新位置(改名)
6. 複製
cp -r 原來位置 複製後新位置(改名)
(4)文件操作命令
1)創建
* 語法
touch 文件名.擴展名
* 命令
cd /soft 定位於/soft目錄
touch a.java 在soft目錄中創建a.java文件
touch b.txt 在soft目錄中創建b.txt文件
touch c.xml 在soft目錄中創建c.xml文件
2)查看
* 語法
cat/more/less/head/tail 文件
* 命令
cd /soft
cat a.java 查看a.java文件的最後一頁內容
more a.java 從第一頁開始,按回車鍵換行,按空格健翻頁,q退出
less a.java 從第一頁開始,按回車鍵換行,按空格健翻頁,支持使用PgUp和PgDn翻頁,q退出
head a.java 查看a.java文件的前10行內容
tail a.java 查看a.java文件的後10行內容
head -n 7 a.java 查看a.java文件的前7行內容
tail -n 7 a.java 查看a.java文件的後7行內容
* 規則
如果查看頁面數據:cat
如果查看多頁數據:less
回車:下一行
空格:下一頁
PGUP:上一頁
PGDN:下一頁
q退出
查看頭部幾行:head
查看尾部幾行:tail
3)刪除
* 語法
rm [參數] 目錄或文件
* 參數解釋
-r 遞歸處理,將指定目錄下的所有文件及子目錄一併處理,它會詢問你,y表示是刪除,n表示不刪除
-f 強制刪除,它不會再詢問你
* 命令
cd /soft
rm -rf a.java 強行式刪除當前目錄下的a.java文件
rm -rf ./a* 強行式刪除當前目錄下以a開頭的所有文件
rm -rf / 刪除全部,強制刪除===自殺
4)編輯(Vi和Vim)
linux 下的vi 是一種文字編輯器,後來的升級版本是vim。vi 分爲三種模式:命令行、插入、底行模式。
* 簡單使用
vim a.java
i 切換到插入模式
esc 切換到命令行模式
:wq! 保存並退出 | :q! 直接退出
* 切換到插入模式
i 在當前位置前插入
I 在當前行首插入
a 在當前位置後插入
A 在當前行尾插入
o 在當前行之後插入一行
O 在當前行之前插入一行
* 切換到命令行模式
按Esc鍵
yy 複製當前行
p 粘貼
dd 刪除當前行
G 到文件的最後一行
gg 到文件的第一行
* 切換到底行模式
按 :(冒號)
:wq 保存退出
:q 退出vi(文件無修改的情況下)
:q! 不保存強制退出
(5)文件壓縮命令
windows的壓縮文件的擴展名: .zip或.rar
Linux中的打包文件擴展名:.tar
Linux中的壓縮文件擴展名:.gz
Linux中打包壓縮的文件擴展名:.tar.gz
1)將文件打包成壓縮包
* 語法
tar -zcvf 打包壓縮後的文件名 要打包的文件
tar -cvf *****.tar a.java b.java c.xml d.txt
tar -zcvf *****.tar.gz a.java b.java c.xml d.txt
* 參數解釋
-z:調用gzip壓縮命令進行壓縮
-c:打包文件
-v:顯示運行過程
-f:指定文件名
* 命令
cd /soft 定位於/soft目錄
tar -zcvf haha.tar.gz a.java b.java c.java
或
tar -zcvf haha.tar.gz ./* 將當前目錄下的所有文件打包壓縮成haha.tar.gz文件
2)解壓縮包獲得文件
* 語法
tar -zxvf 壓縮文件
解壓後的文件放在當前目錄中
tar -zxvf 壓縮文件 –C指定目錄
解壓後的文件放入指定目錄中,注意-C是大寫字母C,後面不用接空格符
* 參數解釋
-z 自動識別壓縮或解壓
-x 取出文件中的內容
-v 輸出文件清單
-f 文件名由命令臺設置
* 命令
cd /soft 定位於/soft目錄
rm -rf ./*.java 強制式刪除當前目錄下所有擴展名爲java的文件
tar -xvf haha.tar.gz 解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到當前目錄下
tar -xvf haha.tar.gz -C/usr/local
解壓haha.tar.gz這個壓縮文件,裏面的文件釋放到/usr/local目錄下
(6)文件權限命令:
Linux中對每個目錄和文件都做了規定,只能由滿足條件的用戶才能操作,這個規定叫權限。
* 語法
chmod [參數] [<權限範圍><符號><權限代號>]
* 參數解釋
-R 遞歸處理,將指定目錄下的所有文件及子目錄一併處理
* 權限範圍
u:User,即文件或目錄的擁有者。
g:Group,即文件或目錄的所屬羣組。
o:Other,除了文件或目錄擁有者或所屬羣組之外,其他用戶皆屬於這個範圍。
a:All,即全部的用戶,包含擁有者,所屬羣組以及其他用戶。
* 符號解釋
+ 添加權限
- 取消權限
= 重置權限
* 權限代號
r:讀取權限,數字代號爲"4"
w:寫入權限,數字代號爲"2"
x:執行或切換權限,數字代號爲"1"
-:不具任何權限,數字代號爲"0"
* 命令
chmod u+x 1.txt 給1.txt的擁有者添加執行權限,這種寫法稍微有點麻煩,開發中一般使用數字代號
chmod 755 1.txt 給1.txt的擁有者設置讀寫執行權限,給所屬組添加讀和執行權限,給其他用戶
添加 讀和執行權限
chmod -R 777 a.txt 給所有人添加對此文件操作的所有權限
(7)其他命令:
1)顯示工作目錄命令:
* 語法
pwd
2)查看進程
* 語法
ps -au:顯示客戶端打開的程序進程
ps -ef:當前用戶打開的程序進程
* 參數解釋
-a 顯示所有用戶通過終端啓動的所有進程
-A 顯示所有進程
-u 顯示所有用戶通過終端啓動的所有進程詳細信息
-x 顯示所有用戶通過終端和非終端啓動的所有進程詳細信息
-e 此參數的效果和指定"A"參數相同,顯示所有程序
-f 顯示UID,PPID,C與STIME欄位
3)殺死進程
* 語法
kill 進程號:
kill -9 進程號:強制殺死
4)搜索(文本)
* 語法
grep [參數] 搜索字符串 文件名
* 參數解釋
-i 搜索時不區分大小寫,大小寫不敏感
-n 顯示匹配行及行號,大小寫敏感
-v 顯示不匹配行及行號,大小寫敏感
* 命令
cd /
grep as 123.txt 在123.txt文件中搜索as字符串,大小寫敏感,顯示行
grep -n as 123.txt 在123.txt文件中搜索as字符串,大小寫敏感,顯示行及行號
grep -v as 123.txt 在123.txt文件中搜索as字符串,大小寫敏感,顯示沒搜索到行
grep -i as 123.txt 在123.txt文件中搜索as字符串,大小寫不敏感,顯示行
grep -ni "Q q" 123.txt 在123.txt文件中搜索Q q字符串,大小寫不敏感,顯示行及行號
5)管道
* 語法
xx | xx
一個命令的輸出用作另一個命令的輸入
* 命令
ls --help | more 分頁查詢幫助信息
ps -au | grep system 在ps -au的結果中,搜索字符串a
6)關機
* 語法
poweroff
7)重啓:
* 語法
reboot
二.Linux網絡
(1)網絡(卡)服務
查看當前網絡的狀態,並啓動和停止網絡服務。
* 查看ip
ifconfig :CentOS6版本
ip addr :CentOS7版本
* 修改網卡ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
* 概要信息如下
DEVICE=ens33 #網卡名稱
TYPE=Ethernet #網卡類型 以太網
ONBOOT=yes #是否開機就使用此網卡 在我們安裝的時候都已經配置好
BOOTPROTO=dhcp #啓動網卡時指定獲取IP地址的方式
常用取值:dhcp (自動獲取ip地址,網關,子網掩碼等信息無需設置)
常用取值:static (靜態ip,如需要訪問網絡,需要自己設置ip地址等信息)
其他取值:none (不指定)
IPADDR=192.168.200.133 #ip地址
GATEWAY=192.168.200.2 #網關
NETMASK=255.255.255.0 #子網掩碼
DNS1=8.8.8.8 # Google提供的公用DNS
* 重啓網卡服務
systemctl status network 查看指定服務的狀態
systemctl stop network 停止指定服務
systemctl start network 啓動指定服務
systemctl restart network 重啓指定服務
(2)防火牆服務
防火牆類似於一個安全衛士管家,它能對你訪問它人電腦,它人訪問你的電腦,進行攔截並處理,有的阻止,有的放行,有的轉發。
防火牆設置:
* 開啓防火牆
systemctl start firewalld
* 重啓防火牆
systemctl restart firewalld
* 關閉防火牆
systemctl stop firewalld
* 設置開機啓動
systemctl enable firewalld
* 停止並關閉開機啓動
systemctl disable firewalld
* 查看防火牆狀態
systemctl status firewalld 或者 firewall-cmd --state
* 查看防火牆開機時是否啓動
systemctl list-unit-files | grep firewalld
端口設置:
* 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent
* 更新防火牆規則
firewall-cmd --reload
* 查看
firewall-cmd --zone=public --query-port=80/tcp
firewall-cmd --zone=public --list-ports
* 刪除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
* 常用端口
8080 tomcat
80 http協議
443 https協議
22 ssh遠程連接
3306 mysql
6379 redis
三.Nginx介紹
(1)介紹
Nginx是一款輕量級的 Web 服務器,由俄羅斯的程序設計師伊戈爾·西索夫所開發。 Nginx性能非常優秀,官方測試能夠支撐5萬併發鏈接,並且 cpu、內存等資源消耗卻非常低,運行非常穩定。
Nginx的功能有很多,我們主要使用它來做靜態資源服務器、負載均衡服務器和反向代理服務器。
(2)應用場景
靜態資源服務器
部署網站的靜態資源(html、css、js)
反向代理服務器
代理: 給某個對象提供一個代理對象,並由代理對象控制原對象的引用
正向代理: 對客戶端進行代理
反向代理:對服務端進行代理
反向代理,就是對服務端進行代理,作爲客戶端,只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,再響應給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP地址。
負載均衡服務器
負載均衡(Load Balance)意思就是將一份負載分攤到多個操作單元上進行執行
(3)windows安裝與使用
1. 官網地址:
http://nginx.org/
2. 綠色解壓版
3. 啓動:
雙擊nginx.exe即可啓動程序,提示放行防火牆,就消失了,其實是啓動成功了
4. 訪問:
在瀏覽器輸入:http://localhost
5. dos命令行關閉:
nginx.exe -s stop
(4)配置文件介紹
注意:如果修改了配置文件:需要執行命令重新加載:
nginx.exe -s reload
(5)Nginx 與 tomcat區別:
1. 存放的文件(資源)形式
Nginx是http服務器,只能解析靜態文件
Tomcat是web中間件(本質上是一個servlet),能解析jsp和靜態文件
2. 用途
nginx可以作爲反向代理服務器,負責均衡服務器,靜態資源存放服務器
tomcat能作爲jsp容器使用,靜態資源存放服務器
3. 性能
nginx支持5W+併發,tomcat的併發只能在200-400之間