1. 程式人生 > 實用技巧 >NPDP資格認證教會了產品經理哪些思維

NPDP資格認證教會了產品經理哪些思維

目錄

Linux歷史

#http://liuqingzheng.top/linux/%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/01-Linux%E5%8F%91%E5%B1%95%E4%BB%8B%E7%BB%8D/

一 Linux前身

    1968年 Multics專案

    MIT**、Bell**實驗室、美國通用電氣有限公司走到了一起,致力於開發Multics專案。到後期由於開發進度不是很好,MIT和Bell實驗室相繼離開這個專案的開發,最終導致專案擱淺。

    1970**年(Unix**元年,時間戳) Unix誕生

    當時在開發Multics專案的時候,實驗室中有一個開發成員開發了一款遊戲(travel space:遨遊太空),因為兩個實驗室相繼離開專案開發,導致這名開發人員沒法玩遊戲,後來他提議組織人員重新在Multics專案之上重新的開發,也就出現了1970年的Unix。當時Unix作業系統是使用的組合語言(機器語言)開發的。

    1973年 用C**語言**重寫Unix

    因為組合語言有一個最大的侷限性:對於計算機硬體過於依賴。導致移植性不好,所以後期在1973年使用了C語言對其進行重新開發。

    1975年 Bell實驗室允許大學使用Unix。

    1975年,bell實驗室允許大學使用Unix作業系統用於教學作用,而不允許用於商業用途。

二 Linux誕生

	作者,Linux之父,李納斯·託瓦茲。Linux誕生時是荷蘭在校大學生。
    
三 開源文化

    Linux是開源的作業系統。所謂開源就是指開放原始碼。

    自由軟體之父 Richard M. Stallman 1984 GNU組織 copyleft opensource free GPL

    理查德·馬修·斯托曼(Richard Matthew Stallman, RMS),於1953年出生,自由軟體運動的精神領袖、GNU計劃以及自由軟體基金會(Free Software Foundation)的創立者、著名黑客

    copyleft: 代表無版權。copyright: 則代表有版權。
            
    opensource free: 原始碼開放、軟體誰都可以使用、誰都可以傳播、誰都可以二次開發,使用GPL協議保護
        
    GPL: 通用版權許可證協議,如果軟體被打上GPL,那麼任何人都可以對這個軟體進行修改,但是修改完之後必須將原始碼釋出出來,以便更好的傳承下去。(那Linux中的軟體百分之80都是GPL提供)*

    Linux核心使用GPL協議釋出,核心也是開源,有了核心的加入,整個GNU的系統更加的完善。其實Linux完整叫法應該叫GNU/Linux,GNU的軟體加上Linux核心。

    1983**年 GNU**計劃

    1985年 FSF基金會

    1990年 Emacs、GCC(c語言的編譯器)、程式庫

    1991年 Stallman去找Linus,商談讓Linux加入其開源計劃(GNU計劃)

    1992年 GNU/Linux

四 Linux系統特點

    開放性(開源)、多使用者、多工、良好的使用者介面、優異的效能與穩定性

    多使用者多工:

    單使用者:一個使用者,在登入計算機(作業系統),只能允許同時登入一個使用者;

    單任務:一個任務,允許使用者同時進行的操作任務數量;

    多使用者:多個使用者,在登入計算機(作業系統),允許同時登入多個使用者進行操作;

    多工:多個任務,允許使用者同時進行多個操作任務;

    Windows**屬於:單使用者、多工。**

    Linux**屬於:多使用者、多工。**

五 Linux分支

    我們現在說的Linux其實都是指的是發行版(Distribution version),就是使用Linux核心加上各種GNU的庫檔案、應用程式,構造而成的作業系統。Linux發行版介紹RHEL/Centos/Ubuntu/Suse
    
    Redhat 1993年,將Linux的核心進行編譯安裝相應軟體進行發行。
    
    CentOS 社群企業級作業系統, 改與Redhat, 完全開源。
    
    Ubuntu 社群維護, 現在主要做手機系統和電腦桌面系統。

Linux安裝

安裝

#瞭解
    虛擬化技術:kvm,vmware,openstack,docker,k8s
    iaas,paas,saas
    openstack:iaas
    docker:paas
    k8s:容器編排,管理容器,不同機器上的容器

#安裝VMware

#網路模式NAR、橋接、僅主機
	橋接:虛擬機器和宿主機屬於同一個網段
    NAT:網路地址轉換,
    
# 快照:相當於存檔  

#安裝centos7.6
# DHCP :
    DHCP(動態主機配置協議)是一個區域網的網路協議。指的是由伺服器控制一段IP地址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的IP地址和子網掩碼。預設情況下,DHCP作為Windows Server的一個服務元件不會被系統自動安裝,還需要管理員手動安裝並進行必要的配置
    # dns:可以把域名地址轉換成ip地址
    # 主機名:生產環境,要有意義  地址+樓層+房間號+業務
    # swap分割槽:交換分割槽
    # 關於分割槽
    linux 分割槽結構為樹結構, windows 為森林結構,所以有C盤D盤之類的, 而linux /分割槽就是根分割槽, swap可以理解為虛擬記憶體, /boot 這是個目錄, 可以分成一個分割槽,然後掛載到/boot目錄, 也可以只用一個/分割槽, 裡面會有boot目錄的,儲存的是引導檔案,核心等等的東東
    
######安裝
http://liuqingzheng.top/linux/%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/02-Linux%E7%B3%BB%E7%BB%9F%E5%AE%89%E8%A3%85/

# 重啟網絡卡	systemctl restart network

#centos7檢視ip地址	ip addr

Xshell安裝、連線linux

#官網下載Xshell6,安裝無腦下一步	https://www.xshellcn.com/xiazai.html

#連線有手就行

Bash Shell

介紹

#介紹
	是一個命令直譯器,就是一個軟體  執行就是bash,可以在裡面輸入命令,做互動,exit退出
    
#能幹什麼
    原來在windows上點點點完成的是,它都能做到

    使用Shell對Linux系統管理
    1.檔案管理(檔案建立,移動,複製,刪除,編輯…)
    2.許可權管理(不同使用者不通許可權)
    3.使用者管理(建立,刪除….)
    4.磁碟管理(掛載)
    5.網路管理
    6.軟體管理
    等等
    
#如何使用
    1 輸入命令,低效
    2 shell script:shell指令碼  ,批量執行命令(shell指令碼能做的python指令碼都能做)

shell提示符

[root@lqz ~]#

    root:當前使用者
    
    @ :沒有意義
    
    lqz:主機名
    
    ~:家目錄
    
    #:表示超級使用者
    
    [lqz@lqz ~]$ 	#普通使用者

Shell基礎語法

#由 命令  選項  引數   三部分組成
    ls   -a  /temp      
    ls   --all
# 以下三個一樣
    ls -l -a
    ls -la
    ls -al

命令補全

# 一下或者兩下tab建

# 一下的話會直接找到你要用的命令

# 兩下,可能會用到的全列出來

# ifconfig 在7的版本沒有,需要裝軟體
    yum install net-tools -y
    yum install net-tools

# yum install bash-completion -y   補齊選項
	ls - 兩下tab建,所有的選項都會提示出來
    

命令快捷鍵

#*代表重要
Ctrl + a    #游標跳轉至正在輸入的命令列的首部	*

Ctrl + e    #游標跳轉至正在輸入的命令列的尾部

Ctrl + c    #終止前臺執行的程式   ##################	*

Ctrl + d    #在shell中,ctrl-d表示推出當前shell。

Ctrl + z    #將任務暫停,掛至後臺

Ctrl + l    #清屏,和clear命令等效。  ##############	*

Ctrl + k    #刪除從游標到行末的所有字元

Ctrl + u    #刪除從游標到行首的所有字元

Ctrl + r    #搜尋歷史命令, 利用關鍵字,Tab建選中,只能找到最近的一條

Ctrl + w    #按單詞或空格進行向前刪除

Ctrl + 左右建 #按單詞或空格進行向前向後跳

#在命令列前加面加 "#" 則該命令不會被執行

history

history檢視歷史命令

!數字   快速執行數字那一條命令

!yum    快速執行最近一條yum命令

history -d 70  把歷史記錄的第70行刪除

history -c   清空所有記錄(連到人家伺服器,操作完了,執行一下)

history -w   可以把 歷史記錄寫到使用者家路徑的.bash_history檔案中

命令別名

1 設定別名
	alias www='ls /'  只在當前bashshell中生效

2 永久生效(全域性,區域性),寫到檔案/etc/bashrc去
	echo "alias wk='ifconfig'" >> /etc/bashrc
    
3 unalias wk 	#取消別名 

4 如果已經寫到配置檔案中,取消別名unalias wk+去配置檔案刪除

5 內建的別名:在環境變數的配置檔案中放著
	alias ls
    
6 /bin/ls -al /root   # ls 內建了別名

7 命令 --help

8 man ls    #檢視ls命令的手冊

目錄介紹

1 linux 是單根 / 根路徑,windows是多根,c盤、d盤等等

2 bin普通使用者命令,sbin是超級使用者命令  都是usr下的資料夾軟連結到根路徑

3 home普通使用者的家路徑,home下的使用者名稱的資料夾
	-使用者一登入系統,是在自己的家路徑 jack--》/home/jack

usr目錄

/usr,相當於C:Windows
    
/usr/local,軟體安裝的目錄,相當於C:Program
    
/usr/bin/,普通使用者使用的應用程式(重要)

/usr/sbin,管理員使用的應用程式(重要)

/usr/lib,庫檔案Glibc 32bit

/usr/lib64,庫檔案Glibc 64bit

命令1 df -h  # 檢視系統中檔案的使用情況

命令2 du -sh /usr/  #檢視當前目錄下各個檔案及目錄佔用空間大小

# 補充:遠端執行ssh命令:
    ansiable:python寫的,批量執行命令(速度比較慢,大量的主機,會卡頓)
    salstack:在客戶端裝agent,
    zabbix:監控,php寫的,監控mysql執行情況

/boot	存放系統啟動相關的檔案,例如:kernel,grub(引導裝載程式)

etc目錄

/etc,極其重要,後續所有服務的配置都在這個目錄中

/etc/sysconfig/network-script/ifcfg-,網路配置檔案

/etc/hostname	系統主機名配置檔案,主機名很重要,有些特殊服務要依賴主機名,沒有主機名會報錯起不來;修改了要重啟:reboot

/etc/resolv.conf  	dns客戶端配置檔案,域名解析伺服器,一般我們不配置,因為網絡卡的配置好了,會覆蓋掉它,網絡卡的優先順序高

/etc/hosts	本地域名解析配置檔案,域名解析,先找自己的hosts,再去域名解析

dev目錄

命令1 cat /var/log/secure #檢視使用者登陸時間

/dev,存放裝置檔案,比如硬碟,硬碟分割槽,光碟機,等等

/dev/sd 硬碟裝置

/dev/null,黑洞裝置,只進不出,類似於垃圾回收站

/dev/random,生成隨機數的裝置

/dev/zero,能遠遠不斷的產生資料,類似於取款機,隨時隨地取錢

proc目錄

/proc	反映系統當前程序的實時狀態 :process

1 media:提供裝置的掛載點,媒體檔案
# linux 新增了碟符,需要手動掛載
# 把光盤裡的資料,掛載到media目錄
mount  /dev/cdrom /media/

2 mnt:提供裝置的掛載點(同上)

3 opt:第三方工具,第三方軟體預設安裝的(mysql...)

4 run:  下有pid,log結尾的檔案
ls /run
cat sshd.pid  # 程序執行的pid號,放在檔案中
ps aux |grep sshd	
kill -s 9 pid	根據pid結束程序

.lock檔案的作用,鎖機制
# 假設現在執行
yum install tree
# 再開一個視窗執行相同命令,就會報錯,

cat /run/yum.pid

路徑定位

1 .相對路徑,是當前,..是上一級

2 坑:帶斜槓和不帶斜槓
    cd /usr # 根路徑下的usr
    cd usr  # 當前路徑下的usr
    
3 執行當前路徑下的某個檔案
	./xx linux
    xx   windows

4 ~當前使用者的家路徑
	root   /root   	
    jack  /home/jack

mkdir touch rm mv

選項:-v 顯示詳細資訊  -p 遞迴建立目錄

    mkdir dir1

    mkdir /home/od/dir1 /home/od/dir2

    mkdir -v /home/od/{dir3,dir4}  

    mkdir -pv /home/od/dir5/dir6

    mkdir -pv /home/{od/{diu,but},boy}

    touch file                    #無則建立,有則修改建立時間

    touch file2 file3

    touch /home/od/file4 file5

    touch file{a,b,c}             #{}集合,等價 touch a b c

    touch file{1..10}

    touch file{a..z}


選項:-r: 遞迴 -f: 強制刪除 -v: 詳細過程
    rm  file.txt      #刪除檔案, 預設rm存在alias別名,rm -i所以會提醒是否刪除檔案
    rm -f file.txt    #刪除檔案, 不提醒
    rm -r dir/        #遞迴刪除目錄,會提示
    rm -rf dir/       #強制刪除目錄,不提醒(慎用)


    1.rm刪除示例
         mkdir /home/dir10
         touch /home/dir10/{file2,file3,.file4}
         rm -f /home/dir10/  //不包括隱藏檔案 
         ls /home/dir10/ -a
        . .. .file4


    2.rm刪除示例2
         touch file{1..10}
         touch {1..10}.pdf
         rm -rf file 
         rm -rf .pdf
         rm -f file*
         rm -f *.txt


mv file file1             #原地移動算改名

mv file1 /tmp/            #移動檔案至tmp目錄:不一樣mv file1 tmp 

mv /tmp/file1 ./          #移動tmp目錄的檔案至當前目錄

mv dir/ /tmp/             #移動目錄至/tmp目錄下

touch file{1..3}		建立檔案file1-file3,無則建立,有則改建立時間

mv file1 file2 file3 /opt/    #移動多個檔案或至同一個目錄

mkdir dir{1..3}			建立檔案file1-file3,無則建立

mv dir1/ dir2/ dir3/ /opt     #移動多個目錄至同一個目錄

cp(copy)

選項: -v:詳細顯示命令執行的操作 -r: 遞迴處理目錄與子目錄 -p: 保留原始檔或目錄的屬性
            
cp file /tmp/file_copy

cp name /tmp/name1         #修改名稱

cp file /tmp/             #不修改名稱

cp -p file /tmp/file_p    #-p保持原檔案或目錄的屬性

cp -r  /etc/ /tmp/        #複製目錄需要使用-r引數, 遞迴複製

cp -rv /etc/hosts /etc/hostname /tmp  #拷貝多個檔案至一個目錄

cp -rv /etc/{hosts,hosts.bak}

cp -rv /etc/hosts{,-org}

常用命令

1 tree /home/  樹狀形式顯示 yum install tree

2 cat :檢視文字內容
    cat >> test2.txt <<EOF
    > ads
    > adf
    > EOF
    
3 less,more:文字檢視,分頁
	less /etc/services
    
4 head -n1 /etc/services :檢視該檔案第一行

5 ps aux | head -n5 :檢視前5個程序
    
6 tail -f /var/log/messages   :動態檢視檔案尾部的變化

7 grep:查詢命令
	-grep "lqz" test2.txt   查詢檔案中有lqz的行
    -ps aux | grep ssh    檢視sshd程序是否在執行
    
8 less開啟檔案:ctrl+b:下翻頁   	ctrl+f:上翻頁

9 wget:下載yum install wget
	wget 路徑  預設下載在當前路徑
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
        
10 curl:連通性
	你的django:127.0.0.1:8080埠,先在本地curl一下,看看能不能通,可能是防火牆,阿里雲的安全組
	curl -o /home/a.png https:72743-20190.png
        
11 上傳下載 (4g以內)
	yum install lrzsz -y
    rz:上傳,選擇檔案直接上傳
    sz:sz 檔案路徑  可以下載到當前主機
    
12 which 命令:
去/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 路徑找有沒有
                
13 whereis -b ls  查詢ls命令,只找二進位制(可執行檔案)

14 sort
	sort file.txt  對內容進行排序
    sort -t ":" -k2 file.txt
    sort -t ":" -n -k2 file.txt
    
15 uniq 去重,連續挨著的才能去,所以要跟sort連用
	sort file2.txt | uniq
    
16 cut 
    Im lqz, is QQ 306334678
    cut -d " " -f2,5 file.txt #把字串按“ ” 分割,取出第2和第5個
    
17 wc
    wc -l /etc/services 
    ls | wc -l # 統計當前路徑下有多少檔案和資料夾
    ps aux |grep ssh | wc -l # 統計有多少個ssh相關的程序

檔案屬性檔案型別

ls -l

ls -lh  以人性化顯示,kb,gb

-:檔案型別     
    rw-r--r--.:許可權 
    1:硬連結的
    root:屬主(屬於哪個使用者)
    root:屬組(屬於哪個組)
    43856 :大小
    Aug 19 11:54 :修改時間
    a.png:檔名字

檔案型別:
-   #普通檔案(文字, 二進位制, 壓縮, 圖片, 日誌等) 

d   #目錄檔案

b   #裝置檔案(塊裝置)儲存裝置硬碟 /dev/sda1, /dev/sda2

c   #裝置檔案(字元裝置),終端 /dev/tty1, /dev/zero

s   #套接字檔案, 程序間通訊(socket)

p   #管道檔案

l   #連結檔案

通過file來檢視詳細的型別
  file a.txt 
  file /bin/ls
        

軟連結、硬連結

1 軟連結和硬連結:軟連結新建inode,硬連結指向同一個inode

2 軟連結---》快捷方式
	-ln -s a.png /home/jack/a.png
	-一般咱們對可執行檔案建立軟連結(刪除不會刪除原來)
    -軟連結目錄: 
    	redis-3.2.1---->編譯安裝
        redis-3.2.1/bin  路徑配到環境變數
        軟體升級
        redis-4.2.1
        
        
        -建立軟連結redis---》redis-3.2.1
        redis/bin  路徑配到環境變數
        軟體升級
        redis軟連結到---》redis-4.2.1
        
3 ln  /root/file /tmp/file_hard  (瞭解)

Vim

# yum install vim -y

# 普通模式、編輯模式、命令模式

# 普通模式:
	-上下翻
    -yy 複製一行
    -p   貼上
    -dd  剪下
    -p   把上面剪下的貼上上
    
# 編輯模式
	-i:insert插入
    -a:append追加
    -o:換行
    -正常寫就可以了
    -esc回到普通模式
    
# 命令模式:
	-不能從編輯模式直接進,只能先到普通模式按 :  進入命令,退出命令模式esc
     -w  表示儲存
     -q   退出
     -!  強制退出
     -修改了檔案後儲存:  wq    wq!
     -修改了不想儲存退出: q     q!
     -:set nu 顯示行號
     -:set nonu 不顯示行號
     -/字串    搜尋這個字串
     -:%s#sbin#test#g #替換整個文字檔案中包含sbin的替換為test

使用者相關

#1  id  檢視當前使用者資訊
uid=0(root) gid=0(root) groups=0(root)

#2  使用者資訊儲存在 cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
                        
#3  密碼存放路徑 cat /etc/shadow

#4 約定不同使用者的uid屬於某個範圍(瞭解)

# 5 使用者的增,刪,改
	-useradd(一個使用者只能屬於一個主組,屬於多個附加組)
    	-groupadd sa  新增一個組
        -groupadd sa1  新增一個組
        -groupadd students 新增一個組
        -useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash lqz1
    -建立mysql系統使用者,-M不建立使用者家目錄 -s指定nologin使其使用者無法登陸系統 
       useradd mysql -M -s /sbin/nologin
    -usermod
    	-usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
        -usermod -L change_bgx  #鎖定後會無法登陸系統
        -usermod -U change_bgx
    -userdel
    	-userdel egon  # 刪除使用者,不刪家目錄
        -userdel -r egon1 # 刪除使用者,刪家目錄
        
#6  改密碼
	-passwd root
    
#7 組增刪改
	-groupadd no_gid   新增組
    -groupmod -g 1111 student  改組id號
    -groupmod student -n new_student  改組名字
    -groupdel new_student   刪除組(組下沒有人,把人刪除,再刪)
 
# 8 su 和sudo
	-su 切換使用者
    	-su - jack:開啟新的shell,會載入自己的環境變數
        -su jack:不開啟新的shell,不會載入它的環境變數
    -sudo 普通使用者可以有一些超級使用者的許可權,不需要輸入密碼
    	usermod jack -G wheel  # 把jack使用者加入到了wheel組
        -你這個使用者沒有許可權,你嘗試 sudo mkdir ll試一下,不行,超級管理員沒有給你配這個許可權

特殊許可權:許可權屬性

#選項: + 增加許可權 -減少許可權 =等於某個許可權

# a:讓檔案或目錄僅可追加內容

# i:不得任意更動檔案或目錄

# 給某個檔案或者資料夾加特殊許可權
	-chattr +i lqz.text
    -chattr -i lqz.text

壓縮解壓

#1  Windows的壓縮包與Linux的壓縮包能否互通
	windwods:rar,zip  
    linux:tar.gz,zip互通,不支援rar
    
# 2 gzip (只能壓一個檔案,不能壓資料夾,會把原來的刪除)
	-gzip file
    -gzip -d file
    -有什麼用?
   	-cd /etc/yum.repos.d/
    
#3 zip的壓縮和解壓
	-yum install zip unzip -y
    -zip  filename.zip  filename  # 壓單個檔案
    -zip -r home.zip /home/   #把home資料夾壓縮
    -unzip  home.zip   #解壓
    -unzip -l  home.zip # 不解壓,看內容
    -unzip home.zip  -d /opt/   # 把當前路徑下的home.zip 解壓到opt
    
 # 4 tar打包與壓縮
	-tar -czf 檔案        ---》tar.gz
    -tar -xf  xx.tar.gz  --->解壓xx.tar.gz
   
    tar -xzvf  xx.tar.gz :解壓tar.gz,詳細過程列出來
   
    -tar -czf home.tar.gz dd/ lqz1 lqz2 /home/
    
    -tar czf etc.tar.gz --exclude=etc/services etc/  # 排除檔案
    -tar xf /etc/local.tar.gz  -C /tmp  # -C指定解壓到哪個路徑

軟體管理:rpm

#1  紅帽的軟體安裝包(windows的:exe,mis)

#2  mount /dev/cdrom /mnt 把光碟掛在到 /mnt資料夾

#3  Linux中除了rpm安裝軟體,是否還有安裝軟體方式
	-原始碼安裝-->官網下原始碼--》編譯安裝---》最新
    -rpm包,預先編譯打包,安裝簡單,yum安裝,本質就是rmp安裝--》稍微老一些
    -二進位制包:綠色包
    
    -安裝rpm的軟體:rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
    -強制安裝:rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm
    
    -rpm -q :檢視這個軟體是否安裝********
    -rpm -qa |grep tr  :列出所有安裝的軟體
    -rpm -ql :查詢指定軟體包所安裝的目錄、檔案列表rpm -ql unzip *****
    -rpm -qc unzip:檢視這個軟體的配置檔案位置
    -rpm -qf /etc/pam.d/vsftpd  :檢視配置檔案屬於哪個軟體
    -rpm -qlp trace-cmd-2.6.0-10.el7.x86_64.rpm :檢視該軟體包安裝後會釋放哪些檔案
    
    -使用遠端地址安裝:rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.8-2.el7.x86_64.rpm
        
    -rpm -Uivh  升級軟體需要用  U
    -rpm -e zabbix-agent 

yum倉庫,源

# 1 Yum是RedHat以及CentOS中的軟體包管理器。能夠通過網際網路下載 .rpm 包並且安裝,並可以自動處理依賴性關係,無須繁瑣地一次次下載、安裝

# 2 cd /etc/yum.repos.d/  路徑下有xx.repo 檔案---》yum源

# 3 換阿里雲的源
	wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
        
# 4 配置其他源
	-wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
	-yum install nginx 
    
    -yum provides ipconfig  # 通過命令查軟體,這個命令屬於哪個軟體

   	-rpm -qf `which ifconfig` # 查命令屬於哪個軟體,前提是該軟體安裝了

補充

# psutils
# django channels
# websocket:https://www.cnblogs.com/liuqingzheng/p/10151572.html

# paramiko
import paramiko

# 

ssh = paramiko.SSHClient()
# 允許連線不在know_hosts檔案中的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連線伺服器
ssh.connect(hostname='10.0.0.100', port=22, username='root', password='123')

# 執行命令
stdin, stdout, stderr = ssh.exec_command('yum install vim -y')
# 獲取命令結果
result = stdout.read()
print(result.decode('utf-8'))
# 關閉連線
ssh.close()

基本許可權chmod

1 rwx                 r-x       r-x
  屬主(檔案所有者)      屬組許可權    其他人許可權
    
2 許可權詳解
    r:read寫許可權
    w: write寫許可權
    x:可執行
        
3 修改許可權
	7=4(r)+2(w)+1(x)
	chmod 777 資料夾/檔案

軟體管理之二進位制安裝

1 會了yum安裝,為什麼還要會二進位制安裝(編譯安裝)
	-官方不提供yum安裝
    -二進位制安裝是最新的
    
2 向伺服器傳遞檔案的幾種方式 
	-scp nginx-1.18.0.tar.gz [email protected]:/home/jack 
    -sz,rz
    -xftp軟體來傳
    
    
3 原始碼安裝nginx
	-1 下載
    -2 解壓
    -2.1 安裝依賴
    	-yum install -y pcre-devel gcc gcc-c++ make zlib-devel openssl-devel
    -3 通過configure 生成配置資訊,配置相關的選項,並生成Makefile,軟體安裝的資訊
    	./configure --prefix=/usr/local/nginx
    -4 make 按照Makefile生成的安裝軟體
    -5 make install:將二進位制檔案拷貝至對應的目錄中
    -6 目錄介紹
    	conf :配置檔案都放在這
        html :靜態檔案存放路徑,index.html
        logs :日誌
        sbin :可執行檔案
    -7 命令介紹
        nginx  # 啟動
        nginx -s reload # 重新載入,修改配置檔案
        nginx -s restart  # 重啟
        nginx -s stop # 停止
    -8 在任意路徑敲nginx都能執行
    	-建立軟連結  ln -s /usr/loacl/nginx/sbin/nginx /sbin/nginx
        -把/usr/loacl/nginx/sbin/路徑加入環境變數
        -想使用systemctl 管理(製作系統服務)

程序管理

#1  ps -aux 用它,[系統程序]

#2  ps -ef

#3  ps -aux|grep id,程序名字,

# 4 top實時看狀態

# 5 kill -l

# 6 kill -9 程序id號 強行關閉

# 7 pkill -9 nginx  關閉nginx所有程序

# 8 killall nginx   關閉nginx所有程序


# 通過來管理程序screen
yum install screen -y
建立一個視窗
screen -S myjobs
執行耗時任務,程序
ctrl+a+d  退出當前bashshell但是耗時任務還在後臺執行
screen -r myjobs 調到前臺執行
screen -list  檢視所有任務

系統服務

#1  centos6 上啟動服務service start network

#2  centos7 啟動服務:systemctl start network

#3  cd /usr/lib/systemd/system/

###製作系統服務

#4 vim mynginx.service

[Unit]
Description=my nginx
After=network.target  #在哪個服務啟動後啟動
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecRestart=/usr/local/nginx/sbin/nginx -s restart
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target

# 以後就支援使用 systemctl start mynginx.service

# 檢視服務狀態:
	systemctl status mynginx.service
    # disabled表示沒有開機自啟動
    Loaded: loaded (/usr/lib/systemd/system/mynginx.service; disabled; vendor preset: disabled)
# 開機自啟動
	systemctl enable mynginx
# 取消開機自啟動
systemctl disable mynginx.service