git常用指令
1.基本指令
git init
????? —— 新建git倉庫
git add 文件/文件夾
????? —— 將文件添加到緩存區(qū)中
git add -A
????? --- 添加所有內(nèi)容到緩存區(qū)中
git stutas
?????——— 查看git狀態(tài)
git commit -m ‘提交信息’
?????—— 將緩存區(qū)中的內(nèi)容全部提交到git本地倉庫中
git log
?????——- 查看提交日志
git reset - - hard HEAD
?????—— 讓工作目錄中的內(nèi)容和倉庫中的內(nèi)容保持一致
git reset --hard HEAD^
?????—— 回到上一個(gè)版本
git reset - - hard 版本號(hào)
?????—— 回到指定的版本
git checkout - - 文件名
????? —— 從暫存區(qū)中恢復(fù)工作目錄中的內(nèi)容(讓工作區(qū)中的指定文件,回到上次提交的時(shí)候的狀態(tài))
git clone <url>
- 將服務(wù)器上的項(xiàng)目(倉庫)克隆 (使用https地址需要輸入密碼慰于,使用ssh地址需要添加公鑰)
git remote add origin 地址
?????----- 關(guān)聯(lián)遠(yuǎn)程倉庫(只需要關(guān)聯(lián)一次)
git push [-u] origin master
?????----- 提交(-u在第一次提交分之的時(shí)候才用)
2.分之管理
創(chuàng)建倉庫會(huì)默認(rèn)給我們創(chuàng)建一個(gè)master分之,這個(gè)分之一般作為提交和發(fā)布分之;開發(fā)一般會(huì)自己創(chuàng)建一個(gè)develop分之璃吧,用來開發(fā)和測(cè)試;多人協(xié)作的時(shí)候還可能根據(jù)不同的人或者(不同的功能)創(chuàng)建不同的分之,用來獨(dú)立開發(fā)
常見分之: master(主要是合并develop), develop(主要合并下面的其他分支), 功能/人員分之(開發(fā))
git branch [-a]
????? - 查看分之
git branch 分之名
?????- 創(chuàng)建分之
git checkout 分支名
?????- 切換分之
git checkout -b 分之名
????? - 切換并創(chuàng)建新的分之
git diff 分之1 分之2
?????- 查看兩個(gè)分之之間的差異
git merge 分之名
?????- 讓當(dāng)前分之和指定分之進(jìn)行合并
注意: 切換分之、push厢岂、pull扬虚,這些操作前要保證工作區(qū)是clean
怎么避免沖突: 不要發(fā)生多個(gè)分之對(duì)同一個(gè)文件在同一個(gè)版本下進(jìn)行修改(和同伴確認(rèn)和商量)
Nginx服務(wù)器安裝
Nginx服務(wù)器
1.阿里云添加80端口
阿里云上默認(rèn)只有一個(gè)22端口用來做遠(yuǎn)程登錄宛逗,如果希望在阿里云上安裝支持http請(qǐng)求的nginx服務(wù)器凶异,需要給阿里云添加80端口
[圖片上傳失敗...(image-678978-1545314303686)]
[圖片上傳失敗...(image-a8c0d3-1545314303686)]
[圖片上傳失敗...(image-4bae7f-1545314303686)]
[圖片上傳失敗...(image-77b203-1545314303686)]
2. 安裝nginx
a) 添加nginx存儲(chǔ)庫
yum install epel-release
b) 安裝nginx
yum install nginx
c) 運(yùn)行nginx
Nginx不會(huì)自行啟動(dòng)。要運(yùn)行Nginx
systemctl start nginx
nginx的運(yùn)行命令:
systemctl status nginx 查看nginx的狀態(tài)
systemctl start/stop/enable/disable nginx 啟動(dòng)/關(guān)閉/設(shè)置開機(jī)啟動(dòng)/禁止開機(jī)啟動(dòng)
d) 系統(tǒng)啟動(dòng)時(shí)啟動(dòng)Nginx
systemctl enable nginx
e)如果您正在運(yùn)行防火墻,請(qǐng)運(yùn)行以下命令以允許HTTP和HTTPS通信:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
3.nginx目錄共享配置
a) 在contOS目錄中確定一個(gè)需要共享的文件夾巢墅,例如: /home/yuting
b) 打開 etc/nginx/nginx.conf 文件券膀,設(shè)置server
#共享設(shè)置 - 在瀏覽器中輸入服務(wù)器ip地址芹彬,會(huì)展示共享目錄的文件列表
root /home/yuting;
location / {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
除了可以共享文件临庇,還可以自定義頁面
#自定義服務(wù)器頁面
location / {
root /home/yuting;
index index.html index.htm;
}
注意: 如果出現(xiàn)權(quán)限問題骤菠,可以修改目錄的權(quán)限
ssh密鑰認(rèn)證
1.在主機(jī)和從機(jī)上執(zhí)行:ssh-keygen
2.在從機(jī)上執(zhí)行: scp id_rsa.pub root@主機(jī)地址:~/.ssh/master.pub
(上面這條指令是將從機(jī)上的 id_rsa.pub文件拷貝傳遞給到主機(jī)的.ssh文件夾下它改,并且命名為’master.pub’)
3.在主機(jī)中的.ssh文件夾中創(chuàng)建authorized_keys文件: touch authorized_keys
4.修改文件authorized_keys的權(quán)限: chmod 600 authorized_keys
5.將master.pub放進(jìn)authorized_keys文件中: cat master.pub >> authorized_keys
6.在操作主機(jī)的時(shí)候,需要主機(jī)能夠自己免密訪問自己就將自己的公鑰放在自己的authorized_keys文件中
Linux 指令
Linux指令系統(tǒng):
命令名稱 [命名參數(shù)] [命令對(duì)象]
一、日常操作
1.cd指令 - 進(jìn)入指定文件夾
cd 目錄 - 進(jìn)入指定目錄(也可以是文件夾對(duì)應(yīng)的路徑)
~相對(duì)路徑 — 絕對(duì)路徑
cd .. - 返回上層目錄
cd ~ - 回到根目錄
- ls指令 - 查看當(dāng)前目錄中的內(nèi)容
ls
ls -l/-lh
ls -a - 隱藏文件也一起顯示
ls -R - 遞歸顯示所有內(nèi)容
ls -S/-t - 按大小/時(shí)間排序
3.pwd指令 - 顯示當(dāng)前完整目錄
pwd
4.文件操作指令
touch 文件名 - 新建文件
cat 文件名 - 查看文件內(nèi)容
rm 文件名 - 刪除文件
rm - r 目錄 - 刪除文件夾
cp 文件名1 文件名2 - 將文件1中的內(nèi)容拷貝到文件2中
cp -r 文件名/目錄名 目錄2 - 將文件/目錄拷貝到目錄2中
mv 文件名1 文件名2 - 將文件1中的內(nèi)容移動(dòng)到文件2中 ,并且刪除文件1(文件重命名)
mv 文件名1 文件目錄 - 將文件1移動(dòng)到指定目錄中
(注意:cp/mv/rm 后面可以跟: -i詢問 -f強(qiáng)制 -n不覆蓋)
mkdir 目錄名 - 新建文件夾
mkdir -p a/b/c - 按層級(jí)創(chuàng)建a,b,c三個(gè)文件夾
mkdir -p a/{b,c}/{d,e,f} -同一層級(jí)常見多個(gè)
rmdir 目錄名 - 刪除指定空目錄
7.history - 顯示歷史指令記錄
bashrc 配置顯示時(shí)間:export HISTTIMEFORMAT="[%y‐%m‐%d_%T] "
修改bashrc 后使其生效: source ~/.bashrc 或 . .bashrc
6.鏈接
ln -s 源路徑 目標(biāo)路徑 - 給源路徑對(duì)應(yīng)的文件在目標(biāo)路徑下創(chuàng)建一個(gè)軟鏈接(可以看成是快捷鍵)(源路徑是絕對(duì)路徑)
ln 源路徑 目標(biāo)路徑 - 給源路徑對(duì)應(yīng)的文件在目標(biāo)路徑下創(chuàng)建一個(gè)硬鏈接
8.快捷鍵
ctr + f - 前進(jìn)一個(gè)字符
ctr + b - 后退一個(gè)字符
ctr + a - 回到行首
ctr + e - 回到行尾
ctr + w - 向左刪除一個(gè)單詞
ctr + u - 向左刪除全部
ctr + k - 向右刪除全部
ctr + y - 粘貼上次刪除的內(nèi)容
ctr + l - 清屏
二、進(jìn)程相關(guān)指令
1.ps指令
ps - 進(jìn)程狀態(tài)
ps -aux 或者 ps ex - 查看進(jìn)程
ps -aux|grep 進(jìn)程名 - 查看指定進(jìn)程
psgrep 進(jìn)程名
2.top指令
top - 動(dòng)態(tài)監(jiān)控進(jìn)程
top -p PID1,PID2,…. - 動(dòng)態(tài)監(jiān)控指定進(jìn)程
3.free指令
free -單位 - 以指定單位查看內(nèi)存
4.kill指令
kill 進(jìn)程號(hào) - 殺死指定的進(jìn)程
kill -1/-9/-15 - -1(HUP)不間斷重啟缕贡,-9(KILL)強(qiáng)制殺死進(jìn)程,-15(TERM)正常終止進(jìn)程
pkill 進(jìn)程名 - 按名字處理進(jìn)程
killall 進(jìn)程名 - 處理名字匹配的進(jìn)程
uptime - 查看系統(tǒng)狀態(tài)
三火欧、權(quán)限管理
1.user和group : 一個(gè)系統(tǒng)可以有多個(gè)用戶和多個(gè)分組; 一個(gè)分組中可以有多個(gè)用戶班套,一個(gè)用戶在不同的分組中(多對(duì)多)
users - 查看當(dāng)前用戶
groups - 查看當(dāng)前分組
groupadd 分組名 - 添加分組
useradd ‐G 分組列表 ‐m ‐s /bin/bash 用戶名 - 創(chuàng)建一個(gè)用戶添加到指定的分組中(在home創(chuàng)建相應(yīng)的文件夾)
usermod -G 分組列表 用戶名 - 修改分組
passwd 用戶名 - 修改密碼
su - 用戶名 - 切換用戶身份
sudo - 以管理員執(zhí)行其他程序
注意: a.在ubuntu需要將用戶添加到sudo分組中,才能使用sudo以管理員的身份執(zhí)行程序
b.在centOS中需要先執(zhí)行visudo指令進(jìn)入sudoers文件中在指定的位置添加內(nèi)容
Allow root to run any commands anywhere
root ALL=(ALL) ALL
xiaoming ALL=(ALL) ALL (自己添加的,xiaoming是用戶名)
2.chmod
chmod 權(quán)限值 文件 - 修改指定文件的權(quán)限
chmod [a,u,g,o][+,-][r,w,x] 文件 - 為指定文件袍啡,給所有用戶添加相應(yīng)的權(quán)限
(a:所有,u:自己却桶,g:同組境输,o:其他蔗牡;
+:添加, -: 取消嗅剖;
r:讀辩越,w:寫,x:執(zhí)行)
chown 用戶名 文件 - 改變文件所有者
(權(quán)限制是三組二進(jìn)制值)
self group other
rwx rwx rwx
111 101 001 - 自己讀寫可執(zhí)行信粮,同一分組的只讀可執(zhí)行黔攒,其他的只可執(zhí)行
110 100 000
三、日志管理
[圖片上傳失敗...(image-da3f5a-1545314293514)]
1.cat指令
cat 文件 - 查看文件內(nèi)容
2.查看部分
head -n N 文件 - 查看前N行內(nèi)容
tail -n N 文件 - 查看后N行內(nèi)容
less [-N] 文件
- 按 j 向下
- 按 k 向上
- 按 f 向下翻屏
- 按 b 向上翻屏
- 按 g 到全文開頭
- 按 G 到全文結(jié)尾
- 按 Q 退出
more [-N] 文件 - 和less差不多强缘,這個(gè)是盡可能多督惰,less是盡可能少的加載
4.處理
sort - 排序 (cat 文件 |sort)
uniq - 去重 (cat 文件 |uniq) - 只會(huì)去重相鄰的重復(fù)是數(shù)據(jù),一般結(jié)合sort一起使用: |sort|uniq
awk ‘{print 4}’)
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 -獲取歷史指令中旅掂,使用最頻繁的三個(gè)指令
5.統(tǒng)計(jì)
wc -c(字符)/-w(單詞)/-l(行) 文件
6.查找
grep 查看對(duì)象 目錄/文件 參數(shù)
參數(shù):
-i 忽略大小寫
-n 顯示行標(biāo)號(hào)
-E 通過正則表達(dá)式匹配
-v 忽略字段
-rn 遞歸查找目錄赏胚,并打印行號(hào)
—include=‘.py’ 僅包含 py文件
—exclude=‘.js’ 不包含 js 文件
例如:
grep you bb.txt
grep you bb.txt -i
grep you bb.txt -i -n
grep -E '[0-9]+' bb.txt
find DIR -name ‘.xxx’ 找到目錄下所有名字匹配的文件
找出文件夾
例:find /tmp/xyz/ ‐perm 0642 ‐size +10k ‐size ‐100k ‐name '.log'
which 指令 - 精確查找當(dāng)前可執(zhí)行的指令
whereis 指令 - 查找所有匹配的命令
四、網(wǎng)絡(luò)管理
ifconfig 查看網(wǎng)卡狀態(tài)
netstat -natp - 查看網(wǎng)絡(luò)連接狀態(tài)
netstat -natp|grep 端口號(hào) - 查看指定端口的網(wǎng)絡(luò)連接狀態(tài)
ping 地址
ping -i 時(shí)間 地址
ping -c 次數(shù) 地址
telnet ip地址 端口 - 查看遠(yuǎn)程主機(jī)網(wǎng)絡(luò)連接狀況
dig 地址 - 查看DNS
wget 地址 - 下載