mac系統(tǒng)命令
創(chuàng)建新用戶
useradd testuser 創(chuàng)建用戶testuser
passwd testuser 給已創(chuàng)建的用戶testuser設(shè)置密碼
然后切到root用戶,創(chuàng)建文件夾/home/testuser
su 用戶名
說明:su是switch user的縮寫徒爹,表示用戶切換
Mac下的 tree 命令 輸出目錄樹層結(jié)構(gòu)
mac 下使用brew包管理工具安裝 tree
brew install tree
我們可以在目錄遍歷時(shí)使用 -L 參數(shù)指定遍歷層級(jí)
tree -L 2
如果你想把一個(gè)目錄的結(jié)構(gòu)樹導(dǎo)出到文件 Readme.md ,可以這樣操作
tree -L 2 >README.md //然后我們看下當(dāng)前目錄下的 README.md 文件
只顯示文件夾隆嗅;
tree -d
xcode-select --install
softwareupdate --list 升級(jí)軟件
brew install pillow
brew uninstall pillow
brew安裝在/usr/local/Cellar/pillow
推薦brew——mac的統(tǒng)一依賴包管理器
查找文件
全局搜
find ~ -iname "screen*"
特定文件夾里面搜
find ~/Library/ -iname "com.apple.syncedpreferences.plist"
如何批量刪除文件或者文件夾
find . -name ".gz" -exec rm -rf "{}" ;
可以先執(zhí)行find . -name ".gz"查看文件是否選對(duì)了再執(zhí)行
mdfind命令就是Spotlight功能的終端界面榛瓮,這意味著如果Spotlight被禁用禀晓,mdfind命令也將無(wú)法工作坝锰。
mdfind -name "Photo 1.PNG"
因?yàn)閙dfind就是Spotlight功能的終端界面顷级,你還可以使用mdfind尋找文件和文件夾的內(nèi)容弓颈,比如通過以下命令尋找所有包含Will Pearson文字的文件:
mdfind "Will Pearson"
mdfind命令還可以通過-onlyin參數(shù)搜索特定文件夾的內(nèi)容,比如
mdfind -onlyin ~/Library plist
這條命令可以搜索Library文件夾中所有plist文件导街。
終端配置和跳板機(jī)SSH設(shè)置
可以參考這篇最佳實(shí)踐:使用SSH連接Linux服務(wù)器
或者直接按照以下步驟:
終端配置
參考MacBook pro使用攻略里的iterm配置跳板機(jī)SSH配置
本機(jī)新增或修改~/.ssh/config
文件搬瑰,添加如下內(nèi)容(其中前四行必填,User 值需換成自己的跳板機(jī)用戶名泽论、IdentityFile 值為指向跳板機(jī)的私鑰文件的路徑):
Host mnet
HostName mnet.xxx.com
Port 36000
User m_xxx # 請(qǐng)改為你的跳板機(jī)用戶名
IdentityFile ~/.ssh/id_rsa # 請(qǐng)改為你的跳板機(jī)私鑰文件路徑
ServerAliveInterval 60
ServerAliveCountMax 10
請(qǐng)注意
1缚够、寫入你自己的config文件的時(shí)候鹦赎,把注釋全部去掉钙姊,要不然報(bào)錯(cuò)
2、id_rsa這個(gè)文件的權(quán)限要配置好思恐,要不然會(huì)報(bào)UNPROTECTED PRIVATE KEY FILE!錯(cuò)
解決方法:
chmod 400 id_rsa
加了這個(gè)配置之后胀莹,以后在終端可以直接使用 ssh mnet來連接跳板機(jī)婚温。
在mnet跳板機(jī)可以新建vim xxx.id_rsa栅螟,然后把其他人mnet的xxx.id_rsa內(nèi)容復(fù)制進(jìn)去力图,注意核對(duì)是否復(fù)制完全吃媒。
這樣就能通過ssh user_00@ip -p 36000 -i xxx.id_rsa
訪問服務(wù)器了。
linux命令
scp 跨機(jī)遠(yuǎn)程拷貝
scp的具體用法可以參考這篇文章
which virtualenv 查看virtualenv命令路徑
chmod abc file
其中a,b,c各為一個(gè)數(shù)字刑桑,分別表示User祠斧、Group胃珍、及Other的權(quán)限觅彰。
r=4,w=2烛芬,x=1
若要rwx屬性則4+2+1=7赘娄;
若要rw-屬性則4+2=6遣臼;
若要r-x屬性則4+1=5拾并。
從遠(yuǎn)程服務(wù)器退出 exit
列出所有隱藏文件 ls -a
顯示文件詳細(xì)詳細(xì) ll 具體文件
查當(dāng)前用戶名 whoami
查看當(dāng)前ip hostname -I或者ip addr show
刪除目錄 rm -rf dir
刪除文件 rm file
創(chuàng)建文件 touch file
創(chuàng)建目錄 mkdir dir
log輸出
cat error.log | grep -C 5 'nick' 顯示file文件里匹配foo字串那行以及上下5行
cat error.log | grep -B 5 'nick' 顯示foo及前5行
cat error.log | grep -A 5 'nick' 顯示foo及后5行
head -n log2014.log 顯示前n行
tail -n log2014.log 顯示最后n行
grep -Hni -C 3 bf99bec4 -R . --include='*.log'
H代表文件名 n代表所在行數(shù) C代表匹配前后三行都輸出
grep 同時(shí)滿足多個(gè)關(guān)鍵字和滿足任意關(guān)鍵字
grep -E "word1|word2|word3" file.txt
滿足任意條件(word1嗅义、word2和word3之一)將匹配之碗。
grep word1 file.txt | grep word2 |grep word3
必須同時(shí)滿足三個(gè)條件(word1褪那、word2和word3)才匹配。
mysql
Linux 下命令操作
啟動(dòng): service mysqld start
停止: service mysqld stop
重啟: service mysqld restart
查看狀態(tài): service mysqld status
查看狀態(tài): systemctl status mysqld.service
/etc/init.d/mysql
crtontab
crontab啟動(dòng):/etc/init.d/cron start ( service cron start )
crontab重啟: /etc/init.d/cron restart (service cron restart )
crontab關(guān)閉: /etc/init.d/cron stop ( service cron stop )
編輯crontab:crontab -e
apache
啟動(dòng): service apache2 start
停止: service apache2 stop
重啟: service apache2 restart
查看狀態(tài): service apache2 status
查看狀態(tài): systemctl status apache2.service
配置生效
sudo a2ensite mysite.conf
配置不生效
sudo a2dissite yoursite.conf
vim
Vim常見有兩種模式一種是Insert模式霹崎,該模式下可以像其它文本編輯器一樣正常輸入字符尾菇;另一種是Normal模式囚枪,該模式下Vim監(jiān)聽用戶的按鍵可以對(duì)文本進(jìn)行快速修改链沼。
想要從Insert模式切換到Normal模式只需按下ESC
鍵即可括勺。
想要從Normal模式切換到Insert模式曲掰,有很多方法栏妖。
最直接的是按下I
鍵吊趾,效果是:在當(dāng)前光標(biāo)處插入文本论泛。
如果按下A
鍵屁奏,效果是:在下一光標(biāo)處追加文本了袁。
以下均是在Normal模式下的部分 快捷鍵說明:
光標(biāo)的快速移動(dòng)
-
h
,j
,k
,l
:左载绿,下崭庸,上怕享,右 -
w
:光標(biāo)移動(dòng)至下一單詞首位 -
b
:光標(biāo)移動(dòng)至當(dāng)前單詞首位镰踏,如果光標(biāo)已經(jīng)在當(dāng)前單詞首位奠伪,就移動(dòng)到前一單詞首位 -
e
:光標(biāo)移動(dòng)至當(dāng)前單詞末位 -
gg
:光標(biāo)移動(dòng)至文本首行 -
Shift
+g
:光標(biāo)移動(dòng)至文本尾行 - :n 跳到n行
- 整頁(yè)翻頁(yè) ctrl-f ctrl-b f就是forword b就是backward
- 翻半頁(yè) ctrl-d ctlr-u d=down u=up
插入行
-
o
:在當(dāng)前光標(biāo)的下方插入新一行 -
Shift
+o
: 在當(dāng)前光標(biāo)的上方插入新一行
刪除與還原
-
x
:刪除光標(biāo)后的一個(gè)字符 -
Shift
+x
:刪除光標(biāo)前的一個(gè)字符 -
dd
:刪除光標(biāo)所在整行谨敛,同時(shí)被刪除內(nèi)容存于剪貼板上 -
de
:刪除光標(biāo)后的單詞內(nèi)容滤否,同時(shí)被刪除內(nèi)容存于剪貼板上 -
dw
:刪除光標(biāo)后的單詞內(nèi)容以及之后的空格,同時(shí)被刪除內(nèi)容存于剪貼板上 -
u
:還原上一個(gè)操作(不限于刪除)
剪切炊甲、復(fù)制與粘貼
- 選定文本塊:使用
v
進(jìn)入可視模式卿啡;移動(dòng)光標(biāo)鍵選定內(nèi)容 -
y
:復(fù)制選定塊 -
yy
:復(fù)制光標(biāo)所在整行 nyy 就是復(fù)制當(dāng)前和下面n行 -
d
:剪切選定塊 -
dd
:剪切光標(biāo)所在整行 -
p
:粘貼文本
查找與替換
-
f
+o
:在當(dāng)前行的光標(biāo)之后查找字母o
-
F
+b
:在當(dāng)前行的光標(biāo)之前查找字母b
-
:/word
:全文查找word
牵囤。 按下:
實(shí)際上是進(jìn)入了Vim的命令模式。查找操作支持正則表達(dá)式野崇。 -
r
+p
:將光標(biāo)之后的字符替換為字母p
-
:s/word/replace
:光標(biāo)所在行的第一個(gè)word
替換為replace
乓梨。 -
:%s/from/to/
:全文查找from
并替換為to
清酥。 -
:1,50s/from/to/
:在第1行和第50行之間(含)進(jìn)行搜索和替換臭觉。:45s/from/to/
表示僅僅在第45行進(jìn)行搜索和替換辱志。而1,$
行號(hào)范圍和%
是等價(jià)的揩懒。 -
:%s/from/to/g
:全文查找from
并替換為to
,包含選項(xiàng)g
的替換范圍更廣已球。智亮?褒繁? -
:%s/from/to/gc
:全文查找from
并替換為to
馍忽,替換時(shí)詢問棒坏⊙嗖睿可以選擇y/n/a/q/l/^E/^Y
:y
表示同意當(dāng)前替換;n
表示不同意當(dāng)前替換坝冕;a
表示替換當(dāng)前和后面的并且不再確認(rèn)徒探;q
表示立即結(jié)束替換操作;l
表示把當(dāng)前的替換后結(jié)束替換操作喂窟;^E
向上滾屏^Y
向下滾屏测暗,用來幫助查看前后內(nèi)容以決定進(jìn)行操作。
查找/search 就在全文查找search 搜到之后磨澡,按enter碗啄,然后按n是向下找 大寫N向上找
輸入 :s/old/new 只替換光標(biāo)所在行的第一個(gè)匹配串。
輸入 :s/old/new/g 只替換光標(biāo)所在行的所有匹配串稳摄。
輸入 :#,#s/old/new/g 替換指定行區(qū)間的匹配串厦酬,其中 #,# 代表的是替換操作的若干行中首尾兩行的行號(hào)。
輸入 :%s/old/new 替換整個(gè)文件中每行的第一個(gè)匹配串。
輸入 :%s/old/new/g 替換整個(gè)文件中的每個(gè)匹配串鸠按。(比較常用)
輸入 :%s/old/new/gc 會(huì)找到整個(gè)文件中的每個(gè)匹配串扎运,并且對(duì)每個(gè)匹配串提示是否進(jìn)行替換。