Linux基礎&Nginx

Linux基礎

Linux目錄結構

  • root目錄:超級管理員所在的目錄,用~表示

  • home目錄:普通用戶所在的目錄

  • usr目錄:安裝用戶文件所在的目錄

  • etc目錄:Linux系統管理和配置文件所在的目錄

遠程連接工具使用

在實際開發中,Linux服務器都在其他的地方,我們要通過windows客戶端工具遠程去連接Linux並操作它,連接Linux的windows客戶端工具有很多,企業中常用的有secureCRT、Putty、xshell、SSH Secure等

文件夾(目錄)操作命令

查看

  • 語法
    ls [參數]

  • 參數解釋
    -l 以詳細形式查詢當前目錄下所有文件和目錄,不包括隱藏文件和目錄
    -a 以精簡形式查詢當前目錄下所有文件和目錄,包括隱藏文件和目錄

  • 命令
    cd / 進入根目錄
    ls 以精簡形式查詢當前目錄下的內容
    ls -l 以詳細形式查詢當前目錄下的內容,d表示目錄,-表示文件;此命令可以簡寫爲ll
    ls -a 以精簡形式查詢當前目錄下的隱藏內容
    ls -la 以詳細形式查詢當前目錄下的隱藏內容,la和al都可
    clear 清屏

跳轉

  • 語法
    cd 目錄
    絕對路徑
    /xxx/xxx/xxx
    相對路徑
    ./ 當前目錄
    …/ 上級目錄

  • 命令
    cd ~ 當前用戶目錄
    cd / 根目錄
    cd - 上一次訪問的目錄
    cd … 上一級目錄
    cd 當前用戶目錄

創建

  • 語法
    mkdir [參數] 目錄

  • 參數解釋
    -p 一次性創建多級目錄,如果目錄存在不會覆蓋

  • 命令
    cd / 定位於根目錄
    mkdir aaa 在當前目錄下創建aaa目錄,相對路徑
    mkdir ./bbb 在當前目錄下創建bbb目錄,相對路徑
    mkdir /ccc 在根目錄下創建ccc目錄,絕對路徑
    mkdir /ddd/eee 在根目錄下創建ddd目錄和eee子目錄

搜索

  • 語法
    find 目錄 -name ‘條件’

  • 命令
    cd /
    find / -name ‘b’ 查詢根目錄下(包括子目錄),名爲b的目錄和文件
    find / -name ‘b*’ 查詢根目錄下(包括子目錄),名以b開頭的目錄和文件
    在Linux中,按ctrl+c 強行終止程序執行

修改

  • 語法
    mv 舊目錄 新目錄

  • 命令
    cd /
    mv aaa aaaa 將根目錄下的aaa目錄修改爲aaaa

剪切

  • 語法
    mv 原目錄位置 新目錄的位置

  • 命令
    cd /
    mv /aaaa /bbb 將根目錄下的aaaa目錄,移動到bbb目錄下,在bbb目錄下也叫aaaa目錄
    mv bbb usr/bbbb 將當前目錄下的bbb目錄,移動到usr目錄下,且修改名爲bbbb

複製

  • 語法
    cp -r 目錄 目錄的新位置

  • 參數解釋
    -r 遞歸複製,將指定目錄下的文件與子目錄一併處理

  • 命令
    cd / 定位於/目錄
    cp -r /aaa /bbb 將/目錄下的aaa目錄複製到/bbb目錄下,在/bbb目錄下名字爲aaa
    cp -r /aaa /bbb/aaaa 將/目錄下的aaa目錄複製到/bbb目錄下,且修改名爲aaaa

刪除

  • 語法
    rmdir [參數] 目錄

  • 參數解釋
    -p 刪除目錄及其父目錄

  • 命令
    cd /
    rmdir bbb/ccc 刪除bbb目錄下ccc目錄
    rmdir -p bbb/ccc 刪除bbb目錄和ccc子目錄

文件操作命令

創建

  • 語法
    touch 文件名.擴展名

  • 命令
    cd /soft 定位於/soft目錄
    touch a.java 在soft目錄中創建a.java文件
    touch b.txt 在soft目錄中創建b.txt文件
    touch c.xml 在soft目錄中創建c.xml文件

查看

  • 語法
    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

刪除

  • 語法
    rm [參數] 目錄或文件

  • 參數解釋
    -r 遞歸處理,將指定目錄下的所有文件及子目錄一併處理,它會詢問你,y表示是刪除,n表示不刪除
    -f 強制刪除,它不會再詢問你

  • 命令
    cd /soft
    rm -rf a.java 強行式刪除當前目錄下的a.java文件
    rm -rf ./a* 強行式刪除當前目錄下以a開頭的所有文件
    rm -rf / 自殺

編輯

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! 不保存強制退出

文件壓縮命令

windows的壓縮文件的擴展名: .zip或.rar

Linux中的打包文件擴展名:.tar

Linux中的壓縮文件擴展名:.gz

Linux中打包壓縮的文件擴展名:.tar.gz

將文件打成壓縮包

  • 語法
    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文件

解壓縮包獲得文件【重點】

  • 語法
    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目錄下

文件權限命令

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 給所有人添加對此文件操作的所有權限

其他命令

顯示工作目錄

  • 語法
    pwd

查看進程

  • 語法
    ps -au:顯示客戶端打開的程序進程
    ps -ef:當前用戶打開的程序進程

  • 參數解釋
    -a 顯示所有用戶通過終端啓動的所有進程
    -A 顯示所有進程
    -u 顯示所有用戶通過終端啓動的所有進程詳細信息
    -x 顯示所有用戶通過終端和非終端啓動的所有進程詳細信息
    -e 此參數的效果和指定"A"參數相同,顯示所有程序
    -f 顯示UID,PPID,C與STIME欄位

殺死進程

  • 語法
    kill 進程號:溫柔殺
    kill -9 進程號:暴力殺

搜索【文本】

  • 語法
    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字符串,大小寫不敏感,顯示行及行號

管道

  • 語法
    xx | xx
    一個命令的輸出用作另一個命令的輸入

  • 命令
    ls --help | more 分頁查詢幫助信息
    ps -au | grep system 在ps -au的結果中,搜索字符串a

關機

  • 語法
    poweroff

重啓

  • 語法
    reboot

Linux網絡

網絡(卡)服務

查看當前網絡的狀態,並啓動和停止網絡服務

  • 查看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 重啓指定服務

防火牆服務

防火牆設置

  • 開啓防火牆
    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

介紹

Nginx是一款輕量級的 Web 服務器,由俄羅斯的程序設計師伊戈爾·西索夫所開發
Nginx性能非常優秀,官方測試能夠支撐5萬併發鏈接,並且 cpu、內存等資源消耗卻非常低,運行非常穩定
Nginx的功能有很多,我們主要使用它來做靜態資源服務器、負載均衡服務器和反向代理服務器

應用場景

靜態資源服務器

部署網站的靜態資源(html、css、js)

反向代理服務器

代理: 給某個對象提供一個代理對象,並由代理對象控制原對象的引用

正向代理: 對客戶端進行代理(例如VPN)

反向代理: 對服務端進行代理
反向代理,就是對服務端進行代理,作爲客戶端,只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,再響應給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器IP地址

負載均衡服務器

負載均衡*(Load Balance)*意思就是將一份負載分攤到多個操作單元上進行執行

nginx與tomcat區別

  1. 存放的文件(資源)形式
    Nginx是http服務器,只能解析靜態文件
    Tomcat是web中間件(本質上是一個servlet),能解析jsp和靜態文件

  2. 用途
    nginx可以作爲反向代理服務器,負責均衡服務器,靜態資源存放服務器
    tomcat能作爲jsp容器使用,靜態資源存放服務器

  3. 性能
    nginx支持5W+併發,tomcat的併發只能在200-400之間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章