㈠ macbook虛擬機安裝到network無法進行下一步
方法一: 查看虛擬機中的網卡
在這里插入圖片描述
查看network-scripts中的onboot發現網卡啟動,說明不是這塊的問題
方法二: 查看本地VMware Fusion的網管配置
執行指令: cat /Library/Preferences/VMware Fusion/vmnet8/nat.conf 突然發現本地系統中沒有vmnet8,納尼?
在這里插入圖片描述
重新配置虛擬機網路,看能否重新生成,發現仍然無效果,於是看到網路上一種配置,可以重新自定義配置網路,是成功的,於是嘗試了一下,果然如此.
在這里插入圖片描述
2.1 如上圖所示,打開虛擬機中的網路–>選擇點擊按鈕解鎖–>點擊➕號,如下圖,點擊應用即可.
在這里插入圖片描述
2.2 再次打開本地,執行執行指令: cat /Library/Preferences/VMware Fusion/vmnet8/nat.conf ,有了.
在這里插入圖片描述
2.3 進入vmnet8,查看nat.conf(如圖部分)
在這里插入圖片描述
2.4 查看虛擬機中的網路中網關地址(如圖)
在這里插入圖片描述
[重點:] 發現2.3中ip是239.2(此處的ip是虛擬機網路上的網管地址),我們再次查看虛擬機上的網路配置文件[2.4中的],發現虛擬機上的網關地址上239.1 (兩處地址不一致,是導致網路不通的主要原因,找到後,我們只需要更改虛擬機網路中的網關地址即可,如下圖)
在這里插入圖片描述
2.5 重新啟動虛擬機中的網卡service network restart
㈡ 【命令行】常用命令 --ls、cat、mv、touch
操作系統:mac OS
1. ls 命令
ls - list 顯示文件目錄列表(顯示非隱藏文件,linux下,以.開頭的為隱藏文件,如.bashrc
常用:
ls -a: (all) 顯示所有文件(包括隱藏文件)
ls -l: 顯示更多信息(drwx:d是否是目錄,rw是否可讀寫,x是否可執行)
ls -al: 顯示隱藏信息和詳細信息
2.cat簡單用法
(1)查看文件內容
(2)查找文件中的內容
(3) 利用cat創建文件 (EOF是告訴 bash 哪個符號代表文件結束)
3.mv命令
mv - move 移動文件或將文件改名
(1)修改文件名
(2)移動單個文件
(3) 批量移動文件
(4)強行覆蓋
3.touch創建文件,改變文件更新時間
4. 命令解釋神器 explainshell.com
解釋命令的網站,演示如下:
㈢ MAC終端命令-文件操作、編輯操作
終端命令:
基本路徑操作
相對路徑:cd /users/yang/Desktop
絕對路徑:cd Ddesktop
. 表示當前路徑
… 表示當前路徑的上一層
… 表示當前路徑的上2層
沒有…或者以上的
文件操作
查看文件路徑
ls:
ls 查看當前路徑下的文件及文件夾的名字
ls /bin 表示:查看當前路徑下的Documents文件夾下的所有東西
ls Documents 表示:查看當前路徑下的Documents文件夾下的所有東西
ls *:
*表示任意多個字元,也可以沒有
?:表示一個字元,一定有一個,不能沒有
[xn]:表示中括弧中的任意一個字元
[abcdefg]可以寫成[a-g]:表示從a到g之間的任意一個字元
ls -a:隱藏文件
ls -l:列表風格顯示
ls -h:配合-l,顯示一個合理的大小單位
打開文件
cd:
cd desktop:進入到desktop這個文件夾
cd 文件夾名字
cd … 跳轉到當前路徑的上一層
cd - 跳轉到上一次所在的路徑(類似遙控器的回看功能)
cd ~ 跳轉到當前用戶的家目錄
顯示文件路徑
pwd:顯示當前操作的路徑(絕對路徑)
clear:清屏
tab鍵:自動補全
touch:創建一個文件,linux中沒有後綴的說法,所有文件名自定義
重定向 >
ls > test.txt: 表示把本來顯示在終端上的信息寫入到test.txt文件中
mkdir:創建文件夾
mkdir a在當前路徑下創建a文件夾
mkdir a/b/c 不能創建,需要添加-p
tree:以目錄樹的方式顯示文件夾結構
刪除文件/文件夾
rmdir:刪除空文件夾
rm:刪除一個普通文件夾,會有提示,要刪除的東西是個文件夾
rm xxx -r:遞歸刪除文件夾,不提示
鏈接文件
ln -s 源文件 鏈接文件 :軟連接
ln 源文件 鏈接文件 :硬鏈接,硬鏈接數量為一時,才會真正刪除數據,否則不會。
查看文件
cat: 查看文件的內容
合並多個文件並查看 :cat 1.txt 2.txt > 3.txt
查找文件內容
grep:從指定的文件中搜索需要的內容
-n:顯示行號
-i:不區分大小寫
-v:取反,即不包含需要的內容的行
查找文件
find 路徑 -name 『*.t?t』
注意通配符的使用
復制文件
cp a b 將a文件夾整體復制到b文件夾下
cp a/* b 將a文件夾下的所有內容復制到b文件夾下
剪切文件
mv a b 將a文件夾整體移動(剪切)到b文件夾下
打包/壓縮/解壓縮/解包
tar -cvf xxx.tar * 打包命令
gzip xxx.tar 壓縮
gzip -d xxx.tar.gz 解壓縮
tar -xvf xxx.tar 解包
常見的壓縮解壓方式
tar -zcvf xxx.tar.gz *
tar -zxvf xxx.tar.gz
tar -jcvf xxx.tar.bz2 *
tar -jxvf xxx.tar.bz2
vi/vim的使用
模式切換
從命令模式->編輯模式:i,a,o,I,A,O
從編輯模式->命令模式:ESC
從命令模式->末行模式:輸入一個冒號,即shift+;
模式內編輯
末行模式:
w保存,
q退出
!強制退出(切換進出)
命令模式:
hjkl控制上下移動
M中間位置
L當前屏幕的最後一行
yy:復制,8yy:表示從當前游標所在的行開始復制8行
p:黏貼
dd:剪切,8dd:表示從當前游標所在的行開始剪切8行
u:撤銷
ctl+r:反撤銷
G:跳到最後一行
15G:跳轉到第15行
1G:跳轉到第一行
gg:跳轉到第一行
僅供自己學習+深記憶
原文鏈接: https://blog.csdn.net/LUSH_BOY/article/details/112691677
mac下通過terminal添加環境變數的小技巧:
輸入vim ./.bash_profile,打開了bash_profile文件
點擊i鍵進入編輯狀態:
export 自定義環境變數一(如HADOOP_HOME) = 路徑名稱
編輯完畢之後,ESC退出編輯模式,輸入 shift+; 進入末行模式,
輸入wq保存並退出
輸入source ~/.bash_profile使剛剛修改的文件生效
Mac 每次都要執行source ~/.bash_profile 配置的環境變數才生效
在~/.zshrc文件最後,增加一行: source ~/.bash_profile
.zshrc文件不存在,需要創建[輸入] touch .zshrc
.zshrc文件已經存在,直接打開[輸入]open -e .zshrc
在打開的文件末尾增加source ~/.bash_profile保存退出。
終端輸入命令查看jdk版本:
/usr/libexec/java_home -V
㈣ 文本文件中的行分隔符
這可能是關於換行符最全面的一篇文章。即使現在不是,後面也會將新的內容補充進來,讓它成為最全面的一篇。
當我們用一個編輯器打開一個文本文件,在其中輸入 一個 字元'a',這時候,就會有 一個 對應的字元'a'的編碼(如果編碼格式是ACII碼,那麼這里記入的編碼就是「97」,寫成16進制就是「0x61」)記入到該文件中。類似的輸入 一個 'b',文件中便會記入一個對應的字元'b'的編碼。然而,如果我們按下鍵盤上的『Enter』鍵,現象上看,文本內容發生了換行。但是,這時候,對應的文件中究竟記入了什麼內容,來標記文件發生了換行呢?
實際上,對於這個問題,不同的操作系統,沿用了不同的操作傳統。如下:
註:
Mac OS 9 以及之前的系統的換行符是CR,從Mac OS X (後來改名為「OS X」)開始的換行符是LF即『
',和Unix統一了。
不同平台的換行符不同,會導致的各種異響不到的問題。比如:Unix/Mac系統下的文件在Windows里打開的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符號。
如果只是將文件在編輯器中打開,供人肉眼閱讀,這個問題還是挺好處理的。換一個更加智能的編輯器就好了。有的編輯器能夠自動識別行分隔符,有的甚至允許用戶自己指定行分隔符。這裡面我遇到的對這個問題處理最好的編輯器,是JetBrains公司出的Java集成開發環境IntelliJ IDEA。
在打開文本文件的左下方,標簽標識當前文件的行分隔符,滑鼠點擊,會彈出一個上拉列表,允許用戶修改不同的行分隔符,非常方便。(類似地,文件編碼的修改也在這個位置,不能更好用了。)
比人肉眼閱讀麻煩的是,寫程序處理文本文件的時候。一個按行處理文本文件的程序可能能夠正確處理Windows上生成的文本文件,但是換成一個平台上產生的文件,可能就無法正確運行。這時候,可能就需要先識別是不是文件的分隔符導致的問題,然後,決定是不是要做必要的轉換。
上面已經提到過了,更加智能的編輯器肯定是能夠識別行分隔符的。但是,很多時候,我們有的只是一個終端、命令行。所以,這部分主要介紹如何通過命令來識別行分隔符。
如果能看到文件存儲的二進制位元組,自然可以知道文件的行分隔符是什麼,圖形化的智能編輯器大部分都自帶這個功能。命令行下也有好多工具可以查看文本文件的16進制輸出,這里以xxd命令為例介紹(如下測試,連同本文的其他測試都是在 macOS Mojave 版本號10.14.1 環境下執行的)。
上面的命令中 -g1 的參數是指一個位元組為一組查看16進制編碼。從命令的結果可以看出,該文件的行分隔符是0a,也就是 。xxd命令輸出的右邊 a.b.c. ,是帶表文件文本內容,其中的點就是帶表不可列印字元 。而在下面的執行結果中,不難看出文件b.txt的行分隔符是 。
有的操作系統發行版中,自帶的命令行中沒有上面的xxd工具,通過cat命令其實也可以查看文本文件的行分隔符。如下是cat命令各個選項的解釋:
可以看出 -A 選項的作用就是在文件每行結尾顯示 $ ,同時顯示除了LF( 換行符)和TAB之外的所有不可列印字元。如下是從維基網路扒下來的不可列印字元列表:
可以看出mac系統自帶的命令行cat工具不支持 -A 選項。不過,在支持的系統上,配合head命令,可以看出如果文件的換行符是 輸出行的末尾只會有一個 $ ,如果換行符是 ,輸出行的末尾就會是 ^M$ 。從上面cat命令的解釋也不難看出這一點。
如果確定了是行分隔符的導致的問題,有時候,就需要進行行分隔符的轉換。最簡單的方式,可能是上面提到的像IDEA那樣的更加智能的圖形化文本編輯器,在界面上點點點操作幾下就完成了。然而,這不見得是最方便的,比如在命令行的環境中,除了命令一無所有。因此,這里著重介紹命令行下的解決方案。
提到命令行下的文件編輯sed命令肯定是繞不過去的。如果要將行分隔符從 換成 最直覺的寫法可能是( -i 選項的意思是直接在原文件上進行編輯):
然而這個方法,卻屢試屢敗。原因就在於sed命令是按照行來讀文件的,逐行處理,默認地sed認為行分隔符是 ,所以,不會出現在sed處理的文本行內容中,導致這個方案失敗。所以,可能的解決辦法就是將所有文件內容讀進來處理,而不是逐行處理。解決的辦法大概有如下幾個:
既然sed處理的文本行中不包含換行符,我們可以用 $ 來輔助實現替換:
但是,在我的系統上,這樣寫的效果卻是:
這里之所以 -i 選項後面加 '' 是因為這個系統上sed要求 -i 時,必須指定擴展。然而,仍然運行失敗的原因在於macos沒法像Linux那樣將 識別為特殊字元。為了給sed傳入 需要寫成:
這里 $'' 的作用就是讓其中的轉義字元正確被翻譯。同樣的,用 $() 也可以達到這個效果,不過外面的單引號要換成雙引號。
對於GNU版本的sed,可以使用 -z 選項。
下面是一個例子:
對於GNU版本的sed,也可以寫一個循環,將文件全部讀入之後,再交給sed處理:
到這里,換行符的識別、轉換等都介紹完了。這里講最後一個之前令我困擾的問題, ^$ 這幾個符號在正則匹配中的先後順序是什麼。這里,直接貼下正則表達式網站上的介紹:
也就是說,Delphi、Java和JGsoft風格的正則將CRLF看成一個整體, ^ 匹配CRLF後面, $ 匹配CRLF前面,兩者都不匹配CRLF中間。而JavaScript和XPath認為CRLF是兩個換行符, ^ 匹配CRLF中間和後面, $ 匹配CRLF中間和前面。
㈤ 蘋果電腦如何查看本機IP地址和DNS
Mac系統在哪裡查看本機IP地址?不管什麼電腦,只要聯網都會分配一個本地IP地址,這個IP地址相當於電腦的身份標識,如果要訪問共享文件,就需要通過IP地址確認是哪一台電腦。那我們如何查看本機IP地址和DNS,快和我一起來看看吧! Mac系統查看IP地址和DNS步驟如下 1.首先是Mac必須聯網,沒有聯網IP地址根本無從談起。 2.請單擊菜單欄右上角的「 Apple」圖標,然後選擇「系統偏好設置」。 3.在「系統偏好設置」窗口中單擊「網路」。 4.點擊連接的網路,比如這邊是Wi-Fi,然後選擇下面的高級選項。 5.打開網路界面,點擊TCP/IP這里。 6.在這里,就可以看到IPv4地址,這個就是本機ip地址,點擊DNS可以看到DNS,如果看不到,看下一步。 7.啟動Mac的launchpad找到其他的文件夾,選擇【終端】打開它。 8.在終端輸入命令:cat /etc/resolv.conf 回車,紅圈的位置就是DNS伺服器地址。 以上就是蘋果電腦查看本機IP地址和DNS的具體操作方法,需要的朋友快去試試吧!想了解更多關於Mac相關內容,請關注macz.com 吧!㈥ Mac使用Shell(終端)SSH連接遠程伺服器的方法
前提:要有你需要連接的伺服器的ip,埠號,伺服器上的賬戶和密碼
1、首先打開終端,然後輸入sudo su - 回車進入根目錄
2、然後輸入:ssh -p 埠號 伺服器用戶名@ip (例如ssh -p 22 [email protected])回車,到這會讓你輸入yes或者no來確認是否連接,輸入yes回車
3、然後輸入在伺服器上的用戶密碼回車
4、到此進入的是你在伺服器上的賬戶的目錄,即為連接成功
最後輸入sudo su -進入伺服器的根目錄,進行操作
連接設置別名
使用vi命令編輯一下~/.ssh/config這個文件(如果目錄下沒有這個文件,可以新建一個),接著按下面格式添加內容:
另外,如果想查看當前有哪些配置了別名的伺服器,可以使用命令cat ~/.ssh/config | grep 「Host」來查看
㈦ 蘋果mac 如何查看 ip 地址,網關,dns
1、打開系統偏好設置網路,選擇下面的高級選項。這時候要聯網才有用的。
㈧ mac 怎麼切換文本編輯的插入模式
Mac OS X Terminal 101:終端使用初級教程
July 29, 2012 / 編程指南
最近學習蘋果認證的《Mac OS X Support Essentials》教程,看到 Command Line 一節有很多實用的知識,下面選取一部分翻譯 + 筆記,整理成此文。
你可以整天駕駛汽車而不用知道如何修理它們,但是如果你希望當一個維護員,你就需要知道事情是如何運作的。同樣的事情也發生在了 Mac OS X 上;你可以一直使用 Mac 而不用知道如何修理它,但是如果你想對系統做一些維護或解決一些問題,那麼你需要知道如何使用 command-line。
為什麼要使用命令行/如何開啟命令行?
許多功能在圖形界面不提供,只有通過命令行來實現。
Finder會隱藏許多你不太會需要的文件,然而 command line 會允許你訪問所有文件。
通過 command line 可以遠程訪問你的 Mac(利用 SSH)。
administrators 用戶可以通過 sudo 命令獲得 root 用戶許可權。
通過 command-line script 可以使工作更高效。
Terminal(終端)程序可以在「實用工具」里找到。
如果你開啟手動輸入用戶名登陸模式,登陸時在用戶名處輸入 >console 可以直接進入命令行界面。隨後你仍然需要登錄到一個賬戶。
初識Command Line
許多命令會花費一些時間來執行,然而這中間不會給出任何提示或者進度條。一般結束後會出現一個「用戶名$」的標記。如果沒有出現,那麼說明最後一條命令正在執行。
一條命令包括 Command Name、Options、Arguments、Extras 四個部分,但是後三個部分有時是可選的。Options 部分用-作為前導符。其中許多命令的 Options 部分只包含單個字母,這時可以合並。例如,ls -lA和ls -l -A是等效的。Arguments 部分用來細化這個命令或指定這個命令具體的實施對象,Extras 部分則用來進一步實現其他功能。
舉例:下列命令包含前三個部分,用於刪除 Junk 這個程序。
michelle$ rm -R /Applications/Junk.app
如果你輸入了一些錯誤的命令,系統會返回一些錯誤信息。但是系統卻不會阻止你做傻事(例如刪除整個用戶文件夾)。
關於 man 命令
雖然有上千條命令,每條命令還有許多可選參數和具體的使用方式,但是你卻不需要記住這些命令。你只需要記住一個:man
大多數命令都會包含一個使用指南,會告訴你任何你需要知道的關於這個命令的所有細節,在命令行中輸入 man command-name 即可獲取。例如,你想知道ls這個命令怎麼使用,輸入man ls即可進入使用指南頁面。
使用指南往往很長,所以你可以使用▲(上箭頭)或▼(下箭頭)來上下移動,使用來翻頁,輸入/和關鍵字來按照關鍵字搜索,按Q來退出使用指南頁面。
那麼——如果你連命令名稱都不知道怎麼辦呢?輸入man -k和關鍵字來對整個使用指南資料庫進行搜索。
命令行,文件和路徑
如果知道如何使用命令是掌握 command line 的第一步,那麼第二步就是學習如何在 command line 中使用文件路徑。如果你掌握了文件路徑,你將會發現這比使用 Finder 更加快捷。
注意
command line 工具是大小寫敏感的,並且對於文件名,必須包括擴展名。例如,你想找iTunes這個程序,輸入itunes是無效的,必須輸入iTunes.app。
Mac OS傳統上喜歡使用「文件夾」(folders)這個名稱,但是在 command line 中,主要使用「目錄」(directory)這個詞。這和 UNIX 是一致的。
兩種路徑:絕對路徑和相對路徑
絕對路徑:完整描述一個文件的位置,總是以斜杠(/)(forward slash)開頭。例如/Users/michelle/Public/Drop Box。
相對路徑:只描述一部分位置信息,它和你在 command line 目前的目錄有關。當你打開新的 Terminal 程序時,command line 會話的目錄應該是你的 home folder。這時上面例子文件夾的相對路徑寫作Public/Drop Box。顯然它從當前目錄開始。和html類似,你也可以使用兩個點(「」)來代表父目錄,這樣你就可以用相對路徑表示上級或同級目錄了。例如你可以輸入cd 甚至cd /
切換到其他路徑和目錄
如果你想將當前 command line 會話切換到其他目錄,需要用到三個命令:pwd,ls和cd。
pwd的含義是「print working directory」,會顯示當前目錄的絕對路徑。
ls的含義是「list directory contents」,它會列出當前目錄的內容。這個命令還有其他參數可選。
cd的含義是「change directory」,它會改變當前目錄到你指定的目錄。如果你不指定,則會返回你的 home folder。
處理特殊字元
如果目錄中有特殊字元(空格,括弧,引號,[],!,$,&,*,;,|,\),那麼直接輸入空格會造成系統識別困難,必須使用特殊的語法來表示這些字元。例如上例中,空格前添加反斜杠「\」(back slash)即可:cd Punlic/Drop\ Box/。除了反斜杠,也可以用引號的方法:cd 「Public/Drop Box」。
——如果不想手動輸入,也可以把文件從 Finder 拖到 Terminal 窗口來創建絕對路徑,這會方便一些,因為上面提到的所有特殊字元在拖動後都會自動變成系統可識別的表示方法。其實,更有效率的解決方案是使用 Tab Complete 功能。
Tab Complete 是 command line 中最能給你節省時間的特性之一,利用它的自動完成文件、目錄名稱功能還可以防止你輸入錯誤。使用cd進入你的 home folder,使用cd P命令,然後按下tab按鍵。你可能會聽到錯誤音,因為你的 home folder 內有多個 P 開頭的文件夾。再按一次tab,Terminal 將會為你列出 P 開頭的兩個文件夾:Public 和 Pictures。按U,再按tab,Terminal 則會自動為你補全Public/。Tab complete 同樣會處理那些特殊字元。注意,這會在末尾保留/符號,大部分時候這沒問題,但如果出錯,移除多餘的/試一試。
另外,鄂化符——(tilde)在command line 中可以代表當前用戶的 home folder。例如——/Public/Drop\ Box/是合法的。
查看隱藏文件
為了簡化工作,command line 和 Finder 都會隱藏許多文件和文件夾,這些內容通常是系統需要的。不藉助第三方工具讓 Finder 顯示隱藏文件比較困難,但是在 command line 中卻非常簡單。首先,許多隱藏文件的隱藏是通過隱藏屬性在 Finder 中隱藏的,而 command line 會忽略這些屬性,所以這些文件會在 command line 中顯示。另外,ls命令會隱藏文件名以。開頭的文件,但是這些文件卻可以被顯示出來,方法是利用-a選項。例如:
michelle$ ls -la
我們還添加了-l選項,目的是控制輸出格式。如果你注意輸出內容的話,會發現還包括。和兩項,它們分別表示當前文件夾和父文件夾(如圖)。如果你不想顯示這兩項,只需要把-a改成-A即可。
前往其他卷
在 command line 中,系統卷(也稱為 root volume)是由開始的一個正斜杠表示的。然而也許聽起來不可思議,在 command line 中其他卷看起來就在文件系統中一個叫做 Volumes 的文件夾中。下面的命令清晰地顯示出這種邏輯關系:我從我的 home folder 出發,最終前往一個叫 Time Machine 的卷,該卷是外接在 Mac 上的。
bogon:—— renfei$ pwd
/Users/renfei
bogon:—— renfei$ cd /Volumes/
bogon:Volumes renfei$ pwd
/Volumes
bogon:Volumes renfei$ ls
Macintosh SSD Time Machine
bogon:Volumes renfei$ cd Time\ Machine/
bogon:Time Machine renfei$ pwd
/Volumes/Time Machine
用Command-Line管理文件
檢視文件
有許多基礎命令用來定位、檢視文件和文件夾,包括cat, less, which, file以及find。別忘了,你可以利用man命令來查閱每個命令的使用指南。
cat
cat是「concatenate」的意思,會按順序讀取文件並輸出到 Terminal 窗口,語法為cat後接你需要查看的文件的路徑。cat命令也可以用》來增加文本文件的內容,例如命令cat /textOne.txt 》 textTwo.txt會把 textOne.txt 的內容添加到 textTwo.txt 的結尾。這個》就屬於上一篇提到的「Extras」。
less
這個命令更適合用來查看長文本文件,因為它會允許你查找文本。語法為 less後接文件路徑,和cat一樣。用less命令打開的文件其實和你查看命令使用指南的時候使用的是一個查看器,所以操作是相同的,同樣可以使用▲(上箭頭)或▼(下箭頭)來上下移動文本,使用來翻頁,輸入/和關鍵字來按照關鍵字搜索,按Q來退出使用指南頁面。除此之外,按V鍵來使用vi文本編輯器。
which
這個命令會定位某個命令的文件路徑。換言之,它會告訴你你執行某個具體命令的時候,在使用哪個文件。語法為which後接某個命令。如圖:
file
這個命令會嘗試根據文件的內容輸出文件類型。如果一個文件缺失了擴展名,那麼這個命令可能會非常有用。語法為file後接文件路徑。如圖,此例為一個 PNG 文件,還給出了它的尺寸、顏色數等信息。
find
這個命令用來根據搜索關鍵詞定位文件路徑。 find命令不使用 Spotlight 搜索服務,但是它允許你設置非常具體的搜索條件,以及通配符(稍後介紹)。語法為find後接搜索的起始路徑,後接定義搜索的選項,後接搜索內容(包含在引號里)。例如:
注意
如果你要搜索根目錄,也許你想使用-x選項來避免搜索 /Volumes 文件夾。
如果想使用 Soptlight 搜索服務,使用mdfind命令後接搜索關鍵詞即可。
使用通配符(Wildcard Characters)
下面是常用的通配符:
星號(*,Asterisk)——代表任何長度的任何字元。例如*.tiff代表所有格式為tiff的文件。
問號(?,Question mark)——代表任何單個字元。例如b?ok匹配 book 但是不匹配 brook。
方括弧([],Square brackets)——定義一定范圍的字元,例如[Dd]ocument匹配 Document 以及 document;doc[1-9]匹配doc1, doc2, …, doc9。
配合使用上面三種通配符可以大大提高效率。
使用遞歸命令
簡單來說,遞歸命令可以允許命令不執行於一個特定文件,而是指定的路徑下的所有文件。大多數命令包含一個-r或者-R選項,來設定你想遞歸地執行這個命令。例如下面的例子,展示了添加-R後ls命令的執行方式:
編輯文件和文件夾
有許多基礎的命令用來編輯文件和文件夾,包括mkdir, cp, mv, rm, rmdir以及vi。下面我們來簡要地介紹一下這些命令。
mkdir
「make diretory」的縮寫,用來創建文件夾,語法為mkdir後接新文件夾的目錄。可以用-p選項,來一起創建路徑中不存在的文件夾(這樣你就不用挨層創建了)。
cp
「」的縮寫,用來把文件從一處復制到另一處。語法為cp後接原始路徑,後接目標路徑。如果你想復制整個文件夾和所有內容,需要添加-R選項。如果指定的目標路徑不含文件名,則 cp 命令會按原名復制。如果指定的目標路徑包括文件名,則會復制為你指定的文件名。如果僅指定新文件名,則會在原處以新名稱創建文件副本。注意,系統會自動替換同名文件而不出現提示。
mv
「move」的縮寫,用來移動文件。語法為mv後接原路徑,後接新路徑。mv 的指定路徑規則和 cp 是一樣的(沒錯,如果僅指定新文件名,它就成了重命名命令)。
rm
「remove」的縮寫,會永久刪除文件。注意,command-line中沒有廢紙簍。語法為rm後接文件路徑。然而,使用 rm 命令刪除的文件有可能可以通過數據恢復工具恢復。如果希望安全刪除文件,可以使用srm命令。
rmdir和rm -R
rmdir是「remove directory」的縮寫,這個命令會永久刪除文件夾。再強調一遍,CLI 中木有廢紙簍。語法為rmdir後接希望刪除目錄的路徑。然而,rmdir 命令無法刪除含有任何其他文件的文件夾,所以大多數情形下rmdir命令是不適用的。不過,你可以利用rm添加-R選項來刪除文件夾及包含的所有文件。
vi
代表「visual」(視覺的),然而這個名稱相當具有諷刺意味:vi可能是可視化效果最差的文本編輯器了。然而,vi 是 command line 中最常見的文本編輯器。用vi打開文本文件,只需要輸入vi後接文件路徑即可。Mac OS X 還提供了nano,一個更加現代的文本編輯器。它也更加方便,例如在底部包含了一個作弊小條(=_=),上面有常用的快捷鍵列表(你就不用背下來它們了)。然而,vi卻有時是默認的文本編輯器,所以掌握vi是很有用的。
和less命令類似,vi命令會佔用整個 Terminal 空間來顯示文件內容。打開後,在「command模式」,vi 會等你輸入一些預定義字元來告訴 vi 你想做什麼。你也可以使用鍵盤上的箭頭鍵單純地瀏覽文件。你想編輯時,按A開始(會進入編輯模式)。文字會插入到游標處。如果你想保存,需要先退出編輯模式進入 command 模式。方法是按下esc鍵。回到 command 模式後,按住shift同時按兩次Z來保存並退出。如果你不想保存,在 command 模式輸入:quit!並按enter
return直接退出。
用Command-Line管理系統
使用su來切換用戶
su命令代表「substitute user identity」,允許你在命令行中輕松切換到另一個用戶賬戶。語法為su後接用戶的短名稱。然後會要求你輸入密碼(但是輸入的時候不會顯示)。執行完畢後,命令的前綴會改變,表示你擁有其他用戶的權利。你可以利用who -m命令來驗證當前登陸的身份。切換後,你會一直保持該用戶身份,直至退出 Terminal 或者輸入exit命令。
關於sudo的使用
sudo概述
更強大的命令就是sudo,代表「substitute user do」,或者,更恰當地,「super user do」。用sudo執行一個命令會使用 root 賬戶許可權。當然,使用之前需要 administrator 賬戶(管理員賬戶)的授權(如輸入密碼)。
默認情況下,任何管理員賬戶都可以使用sudo來獲取 root 許可權,甚至當 root 賬戶在圖形界面被禁用的情況下,sudo依然有效。這個命令是很多情況下我們不得不使用 Terminal 的原因,——同樣也是給每個用戶管理員身份的危險所在。不過,你可以調整sudo的配置文件,來限制它的使用。
bogon:—— renfei$ cat secret.txt
cat: secret.txt: Permission denied
bogon:—— renfei$ sudo cat secret.txt
Password:
This is the contents of the secret.txt text file that the user account renfei does not normally have access permissions to read. However, because he is an administrative user, she can use the sudo command to envoke root user access and read the contents of this file.
提示:如果由於你忘了使用sudo而導致命令行返回一個錯誤,只需輸入sudo !!就可以用sudo來執行上一條指令。
記住,權力越大責任越大。不恰當地使用sudo可以輕易破壞你的系統設置。命令行只會在你第一次執行嚴重破壞性行為之前提示你,之後,它就會假設你清楚自己正在干什麼。如果你只掌握三條使用命令行的准則,那將是:總是仔細檢查你的命令;總是使用Tab completion來幫助你避免拼寫錯誤;使用sudo之前,總是仔仔細細檢查你的命令。
使用 sudo 切換 Shell
如果你是一個管理員用戶,你需要執行很多條需要 root 許可權的命令,你可以臨時切換整個命令行 shell 來取得 root 級別的訪問許可權。方法就是先輸入sudo -s,回車後再鍵入你的密碼。
其他Command-Line技巧提示
輸入命令open .可以用 Finder 打開當前的位置。
在 Terminal 的偏好裡面可以設定它的外觀和風格。
中止一個錯誤的或者發瘋的命令,可以使用組合鍵control + C。
你可以在執行前編輯命令,只需要使用箭頭和鍵盤上的其他字母。
沒有輸入任何命令時,你可以用▲和▼來瀏覽歷史命令。同樣可以編輯和再次執行。
你也可以使用history命令查看歷史記錄。
你可以使用組合鍵control + L清屏。