程式設計開發學習筆記
- Git命令列
參考文獻:
https://blog.csdn.net/chenxueshanBlog/article/details/78915338
git init |
初始化資料夾,在資料夾中新增.git檔案,以進行版本控制 |
git add index.html |
將index.html新增到版本庫中 |
git add . |
add後面空格加點,表示將當前目錄及子目錄中的檔案都新增到版本庫裡 |
git status | 查詢狀態 |
git commit -m “Test use git to commit file” |
提交本地修改,提交前要先進行git add 操作 |
git stash |
暫時封存本地修改 |
git pull origin master |
從遠端下載最新版本 |
git stash pop |
|
git reset |
重置到上一個版本 |
git pull origin master |
把遠端最新版本更新到本地 |
git push |
把本地最新版本推送到遠端 |
git branch -d name |
刪除分支 |
git merge name |
合併某分支到當前分支 |
git checkout -b name |
建立+切換分支 |
git checkout name |
切換分支 |
git branch name |
建立分支 |
git branch |
檢視分支 |
git rm file |
刪除檔案 |
git checkout -- file |
撤銷修改 |
提交更新的步驟:
Git add . => git commit -m ‘Add title’ => git push origin master
Git忽略規則和.gitignore不生效的解決方法
https://www.cnblogs.com/zhangxiaoliu/p/6008038.html
git rm -r –-cached .
git add .
git commit -m ‘update .gitignore’
-
- 把本地資料夾放入遠端庫
//初始化
git init
//增加所有檔案到版本庫
git add .
//提交本地修改
git commit -m ‘initial commit’
//建立金鑰對
ssh-keygen -t rsa -C “[email protected]”
- Linux命令
ls -l -a |
列出目錄 -長格式列出 -顯示所有檔案,包括隱藏檔案和目錄(所有以“.”為開始的檔案和目錄為隱藏檔案) |
more |
|
less |
|
cat |
|
pwd |
檢視所在路徑位置 |
cd / ./ ../ |
進入某個目錄 根目錄 當前目錄 上級目錄 |
mkdir |
建立目錄 |
sudo |
加在命令前面,獲取管理員許可權 |
rm -r
-f |
刪除檔案 -就是向下遞迴,不管有多少級目錄,一併刪除 -就是直接強行刪除,不作任何提示的意思 |
Ctrl+A |
游標回到行首 |
Ctrl+E |
游標回到行尾 |
- 轉換說明符
%a(%A) 浮點數、十六進位制數字和p-(P-)記數法(C99)
%c 字元
%d 有符號十進位制整數
%f 浮點數(包括float和doulbe)
%e(%E) 浮點數指數輸出[e-(E-)記數法]
%g(%G) 浮點數不顯無意義的零"0"
%i 有符號十進位制整數(與%d相同)
%u 無符號十進位制整數
%o 八進位制整數 e.g. 0123
%x(%X) 十六進位制整數0f(0F) e.g. 0x1234
%p 指標
%s 字串
%% "%"
- python2 和 python3切換
參考文獻:https://www.cnblogs.com/shabbylee/p/6792555.html
執行python2
py -2 xxx.py
py -3 xxx.py
Pip安裝
py -2 -m pip install xxx
py -3 -m pip install xxx
- XShell命令列操作
yum install -lrzsz |
安裝 |
ls |
查詢 |
rz |
上傳 |
sz fomokiller_n.zip |
下載 |
zip -r -q -o fomokiller_n.zip ./fomokiller_n |
壓縮 |
unzip fomokiller_n.zip |
解壓縮 |
rm -rf fomokiller_n |
刪除 |
pm2 reload pm2 reload homepage |
重啟服務 |
pm2 list |
查詢服務 |
pm2 log |
日誌 |
npm install |
|
f disk -l |
檢視資料盤資訊 |
df -h |
檢視系統盤空間 |
ssh登入伺服器 |
|
su root |
切換賬號到root |
|
|
|
|
|
|
|
|
|
|
- Linux伺服器部署
- 增加新使用者,配置金鑰登入
//增加使用者
adduser imooc_manager
//把imooc_manager新增到sudo組
gpasswd -a imooc_manager sudo
//把imooc_manager設定成root相同的許可權
sudo visudo
//用imooc_manager抄寫root規則
//生成金鑰對
ssh-keygen -t rsa -b 4096 -C [email protected]
//在服務端建立.ssh資料夾下建立authorized_keys檔案
vi authorized_keys
//然後把公鑰複製到該檔案中
//修改檔案許可權
chmod 600 authorized_keys
//重啟服務
sudo service ssh restart
-
- 搭建Nodejs環境
//更新系統
sudo apt-get update
//安裝相關模組或包
sudo apt-get install vim openssl build-essential libssl-dev wget curl git
//安裝nvm
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
//關閉並重新開啟一個終端
//安裝node
nvm install v6.9.5
//指定版本號
nvm use v6.9.5
//設定預設版本
nvm alias default v6.9.5
//制定通過國內淘寶映象下載
npm --registry=https://registry.npm.taobao.org install -g npm
//增加檔案監控數目
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
//安裝cnpm
npm --registry=https://registry.npm.taobao.org install -g cnpm
(//找不到模組時通過npm同步到國內映象)
cnpm sync koa
//安裝相關工具
npm i pm2 webpack gulp grunt-cli -g
-
- 修改登入埠
//配置檔案
sudo vi /etc/ssh/sshd_config
//重啟服務
sudo service ssh restart
//登入新的埠
ssh -p 39999 [email protected]
-
- 關閉root和密碼登入
//開啟配置檔案
sudo vi /etc/ssh/sshd_config
//修改配置檔案
//重啟服務
sudo service ssh restart
-
- 配置iptables
//Ubuntu升級更新
sudo apt-get update && sudo apt-get upgrade
//清空當前規則
sudo iptables -F
//新建配置檔案
sudo vi /etc/iptables.up.rules
*filter
# allow all connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow out traffic -A OUTPUT -j ACCEPT
# all http https -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT
# all ssh port login -A INPUT -p tcp -m state --state NEW --dport 39999 -j ACCEPT
# ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log denied calls -A INPUT -m limit --limit 5/min -j LOG --log-prefix “iptables denied:” --log-level 7
# drop incoming sensitive connections -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
# reject all other inbound -A INPUT -j REJECT -A FORWARD -j REJECT
COMMIT |
//設定iptables路徑
sudo iptables-restore < /etc/iptables.up.rules
//檢視防火牆是否啟動
sudo ufw status
//啟用防火牆
sudo ufw enable
//設定防火牆開機啟動
sudo vi /etc/network/if-up.d/iptables
#!/bin/sh iptables-restore /etc/iptables.up.rules |
//修改指令碼許可權
sudo chmod +x /etc/network/if-up.d/iptables
-
- 安裝fail2ban
//安裝
sudo apt-get install fail2ban
//配置
sudo vi /etc/fail2ban/jail.config
//檢視狀態
sudo service fail2ban status
//關停
sudo service fail2ban stop
//開啟
sudo service fail2ban start
- Vim操作說明
i |
進入輸入模式 |
: |
進入底邊命令模式 |
w |
儲存更改 |
q |
退出 |
:q! |
若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。 |
:w! |
若檔案屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案許可權有關啊! |
Esc |
回到一般模式 |
/word |
向光標之下尋找一個名稱為 word 的字串。例如要在檔案內搜尋 vbird 這個字串,就輸入 /vbird 即可! (常用) |
?word |
向光標之上尋找一個字串名稱為 word 的字串。 |
n |
這個 n 是英文按鍵。代表重複前一個搜尋的動作。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字串,則按下 n 後,會向下繼續搜尋下一個名稱為 vbird 的字串。如果是執行 ?vbird 的話,那麼按下 n 則會向上繼續搜尋名稱為 vbird 的字串! |
N |
這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。 例如 /vbird 後,按下 N 則表示『向上』搜尋 vbird 。 |
|
|
|
|