NPDP資格認證教會了產品經理哪些思維
阿新 • • 發佈:2020-10-17
目錄
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