1. 程式人生 > >程式設計開發學習筆記

程式設計開發學習筆記

  1. 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’

 

    1. 把本地資料夾放入遠端庫

//初始化

git init

//增加所有檔案到版本庫

git add .

//提交本地修改

git commit -m ‘initial commit’

//建立金鑰對

ssh-keygen -t rsa -C “[email protected]

 

 

  1. Linux命令

ls

-l

-a

列出目錄

-長格式列出

-顯示所有檔案,包括隱藏檔案和目錄(所有以“.”為開始的檔案和目錄為隱藏檔案)

more

 

less

 

cat

 

pwd

檢視所在路徑位置

cd

/

./

../

進入某個目錄

根目錄

當前目錄

上級目錄

mkdir

建立目錄

sudo

加在命令前面,獲取管理員許可權

rm

-r

 

-f

刪除檔案

-就是向下遞迴,不管有多少級目錄,一併刪除

-就是直接強行刪除,不作任何提示的意思

Ctrl+A

游標回到行首

Ctrl+E

游標回到行尾

 

  1. 轉換說明符

%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        字串

%%        "%"

  1. 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

 

  1. 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 [email protected]

ssh登入伺服器

su root

切換賬號到root

 

 

 

 

 

 

 

 

 

 

 

 

  1. Linux伺服器部署
    1. 增加新使用者,配置金鑰登入

//增加使用者

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

 

    1. 搭建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

    1. 修改登入埠

//配置檔案

sudo vi /etc/ssh/sshd_config

//重啟服務

sudo service ssh restart

//登入新的埠

ssh -p 39999 [email protected]

    1. 關閉root和密碼登入

//開啟配置檔案

sudo vi /etc/ssh/sshd_config

//修改配置檔案

//重啟服務

sudo service ssh restart

    1. 配置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

    1. 安裝fail2ban

//安裝

sudo apt-get install fail2ban

//配置

sudo vi /etc/fail2ban/jail.config

//檢視狀態

sudo service fail2ban status

//關停

sudo service fail2ban stop

//開啟

sudo service fail2ban start

 

 

 

 

 

 

 

  1. 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 。