oh-my-zsh的使用
- oh-my-zsh配置文件:~/.oh-my-zsh
$ open ~/.oh-my-zsh - 修改oh-my-zsh配置:修改配置文件中字段
然后重啟oh-my-zsh
修改配置文件 $ zsh - oh-my-zsh的更新:
- 手動
$ upgrade_oh_my_zsh - 修改配置文件自動更新
$ open ~/.oh-my-zsh
修改文件中DISABLE_AUTO_UPDATE字段 為 true
$ zsh
mac命令行操作
文件/目錄
- ls :查看文件夾下包含的可見文件名
-
$ ls -a:顯示當前文件夾下的所有文件包含隱藏文件(* 就是文件名以.開頭文件 *) -
$ ls -l:顯示當前文件夾下非隱藏文件的權(quán)限(三個rwx分別代表了root 機主 客人對該文件的訪問權(quán)限) -
$ ls -al:包含以上兩個功能 - cd 文件夾名字:改變當前文件夾路徑
$ cd ThoughtWorks - pwd:顯示當前工作的文件夾的絕對路徑
- mkdir 文件夾名字:在當前路徑下創(chuàng)建一個新的文件夾
$ mkdir zhangpei創(chuàng)建一個名字是zhangpei的文件夾 - cp <sourceDirName> <definitionDirName:文件復制(只能進行文件復制,此處的源文件目的文件都是文件路徑,而且源文件必須存在)
- cp 原文件路徑 目的文件路徑
$ cp zhangpei ../zp:把文件名為zhangpei的文件內(nèi)容復制到上層目錄下的zp文件下 - cp -r 原文件夾路徑 目的文件夾路徑:專門用來復制文件夾包括其中的所有文件
$ cp -r zp ../zp吧zp文件夾中的所有文件復制到上層文件夾中的zp文件夾中 - rm 文件路徑:移除某個文件
- rm -r 文件夾路徑:移除某個空的或者是非空的文件夾
$ rm zhang移除zhang文件
$ rm -r zhang刪除zhang文件夾
$ rm -rf zhang這是一個保險的刪除文件夾的方法 - rmdir 文件夾路徑:專門用來刪除空的文件夾
$ rmdir zhangpei刪除zhangpei這個空的文件夾 - mv 源文件夾/文件路徑 移動目的地路徑:
將文件或者文件夾從當前目錄中移出,移入目的路徑并且可以在目的路徑處給文件夾或者文件重新命名
$ mv zp ../zpp將文件zp移入上層文件夾中并且改名為zpp 此時當前目錄下已經(jīng)沒有zp這個文件,移入上層目錄下有zpp這個文件 - tar :完成文件的壓縮、解壓、打包、解包、查看等等功能
- tar -cvf 打包后文件名.tar 被打包文件路徑:
用來打包文件,產(chǎn)出后綴是.tar的文件 - tar -xvf 被解包的后綴是.tar的文件:
用來解包 - tar -tvf 被查看的后綴是.tar的文件: 用來查看這個.tar文件的詳細信息包含權(quán)限等等
$ tar -cvf zp.tar 任務書.docx:打包任務書這個文件打包好后成為名字是zp.tar的打包文件
$ tar -xvf zp.tar解包這個文件
$ tar -tvf zp.tar查看這個文件的詳細信息

.tar.gz文件的壓縮處理
- zip:完成文件的壓縮解壓縮
- zip 被壓縮后文件的名字.zip 被壓縮文件名字:
$ zip zp.zip 任務書.docx:壓縮任務書變成zp.zip文件
$ unzip zp.zip解壓縮zp.zip文件 - find 文件夾路徑 -name 文件夾名字:在指定的文件夾中遞歸的尋找指定文件
$ find Download -iname zp.js尋找Download文件夾(在其子文件夾下也可以)下zp這個文件的路徑 -iname 意思是不區(qū)分文件名字的大小寫 -name區(qū)分名字的大小寫 - 如果沒有這個文件:什么也不顯示
- 如果文件夾下的樹狀結(jié)構(gòu)中有很多同名文件:那么顯示出這些文件的路徑
- grep : 遞歸尋找某個文件中的某個字符串
$ grep -i "Ppp" zp.text:在zp.text這個文件中尋找字符Ppp
-i表示不區(qū)分大小寫
$ grep -r "Ppp" zp:在zp這個文件夾下面遞歸的尋找這段字符串 - less 文件路徑: 專門用來查看長文件內(nèi)容
- 使用 ?? 向上查看
- 使用?? 向下查看
- 使用 空格 反頁
- 使用 / 關鍵字 進行文件內(nèi)容的查找
- tail -行數(shù) 文件路徑:顯示文件的最后n行
$ tail -10 cssDemo/app.js顯示文件最后10行 - tree :用來顯示樹狀的文件關系
mac 沒有tree命令可以使用
$ brew install tree下載tree命令
-
$ tree:顯示當前文件夾下的文件樹裝關系圖 - touch 文件路徑 或者 echo dshjaf > 文件路徑 :
都是用來創(chuàng)建新的文件
賬號操作
- su <用戶名>: 用來轉(zhuǎn)換用戶
$ cd /
$ cd Users
$ ls此時可以獲取你的電腦上現(xiàn)在可以轉(zhuǎn)換的用戶有哪幾種
$ su 用戶

su操作
如上圖出現(xiàn)了sorry字樣
原因:估計是當前用戶沒有轉(zhuǎn)變用戶的權(quán)限
解決:在su命令之前加上 sudo
sudo <指令>: 以root的身份執(zhí)行某些指令
$ sudo su zhangpei:以root身份執(zhí)行用戶轉(zhuǎn)換
root 用戶
名為“root”的用戶帳戶是 UNIX 風格的操作系統(tǒng)中的特殊用戶,具有文件系統(tǒng)所有區(qū)域的讀寫特權(quán)。
- whoami:顯示當前正進行操作的用戶名

例子
- passwd :用來修改登錄密碼
每當你使用sudo命令的時候都需要輸入要這個登錄密碼

例子
包管理
- brew:mac下使用brew進行包管理,能在Mac中方便的安裝軟件或者卸載軟件。
- brew install <軟件包> :安裝軟件包
- brew search <軟件包 > :查找軟件包

brew的使用方法
進程相關
- ps :用于監(jiān)控后臺進程的工作情況,以及打印進程的詳細信息
- ps aux | grep <進程名字>:用來獲取已知進程名字的進程的詳細信息

例子
- lsof -i:端口號 :顯示某個端口運行的進程PID
- kill <PID>:終止某個進程

終止運行在8080端口的進程
系統(tǒng)信息相關
- top:顯示現(xiàn)在正在運行的所有進程
使用q退出查看 - df:可以顯示目前所有檔案系統(tǒng)的最大可用空間及使用情形
- df –h: 查看文件系統(tǒng)信息

df
- uname :顯示操作系統(tǒng)的名字
-
$ uname:
uname
uname 有很多參數(shù) 具體各種參數(shù)可以點擊查詢
網(wǎng)絡相關
- ping <remote-host-address>:通過發(fā)送數(shù)據(jù)包ping遠程主機(服務器),常用與檢測網(wǎng)絡連接和服務器狀態(tài)。

向百度發(fā)數(shù)據(jù)包
為了檢驗本機是否能和某個服務器進行連同
- telnet 用戶名@遠程機IP :用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協(xié)議在遠程計算機之間進行通信,用戶可以通過網(wǎng)絡在遠程計算機上登錄,就像登錄到本地機上執(zhí)行命令一樣。

telnet運行失敗
我猜想也許是我的地址輸錯了,經(jīng)過檢查名字必須寫成 telnet 用戶名@遠程機IP
但是任然不能登錄
經(jīng)過但是ssh就能夠正常登錄
我猜想是mac支持ssh登錄,mac的telnet可能比較復雜

Paste_Image.png

Paste_Image.png
- curl :專門用于發(fā)送網(wǎng)絡請求(比如post,get),從服務器得到數(shù)據(jù)并且顯示在命令行中
- 發(fā)送post請求

Paste_Image.png
- -H 是用來設置curl請求頭
- curl -X POST -d “data” 請求地址 :用來發(fā)送post請求
個人認為curl是一個很有意思而且有用的shell command而且我最近由于在寫jenkins所以使用較多,感覺它的內(nèi)容很多且很豐富,之后我會專門寫一篇簡書介紹curl相關內(nèi)容
