初入命令行之必會
一、前言
嘮叨下,幾周前就該完成的博客拖到現在不得不寫才繼續,這是我很大的一個劣勢。
如題,本文介紹幾個命令行小白需掌握的命令(默認Linux系統環境):
- ls —— 羅列/顯示目錄的內容(list segment )
- touch —— 創建文件
- cat —— 列印/顯示文件內容
- mv —— 移動文件、重命名(move)
- mkdir —— 創建目錄(make directory)
- rm —— 刪除(remove)
二、常見用法
通用命令行格式:[命令] (選項) (參數) <=> command (options) (params)
(選項) 的作用:為命令添加擴展功能,一般以「-」開頭
1、ls
ls xx ,xx表示目錄路徑,xx為缺失時默認為當前目錄,即 ls <=> ls .
ls # 顯示當前目錄的內容(目錄的內容就是目錄和文件)ls /home/user/ # 顯示/home/user/目錄的內容ls ~/ # ~ 表示home目錄,. 表示當前目錄ls test.txt # 顯示test.txt文件信息
ls 選項
ls -l # 顯示(當前目錄下)內容的詳細信息(7列:許可權,所有權,大小和修改日期)ls -a # 顯示(當前目錄下)全部內容,包括隱藏文件ls -la # 前兩個選項疊加,擴展的功能亦疊加,等價於llls -lh # -l顯示的第⑤列文件大小以人類可讀的單位顯示(KB, MB, GB)ls -S # 排序,按文件大小從大到小降序顯示ls -t # 排序,按修改時間降序顯示ls -r # 此r為reverse縮寫,(是沒加之前的)倒序顯示
2、touch —— 創建文件
touch xx ,創建xx文件
touch file1 # 在當前目錄中創建「file1」文件touch ../demo # 在上級目錄中創建「demo」文件touch /home/user/Document/demo1 # 在/home/user/Document目錄中創建「demo1」文件
3、cat —— 列印/顯示文件內容
cat xx ,列印/顯示xx文件內容,後面可接多個文件名稱(注意是文件)
cat 1 # 列印名為1的文件內容cat xx y # 列印xx文件和y文件的內容
cat 選項
cat -n # 列印時顯示行號
4、mv (慎用!)—— 移動文件、重命名
- mv source target ,source為原文件,target為移動後的目標文件;
- mv是move的縮寫,作用:移動/重命名文件;
- 重命名其實也是移動的意思,在同一路徑下,把source文件,移動成另個名為target的文件
- mv 選項 -f 本來和rm -f一樣具有強制的意思,但是ubuntu下實踐發現 mv 無論有無加-f,target文件即使已存在,還是(沒有詢問提示)就被覆蓋了,所以慎用!
mv xx yy # 發現,沒有-f,若yy文件已存在,也強行覆蓋mv -i xx yy # 上一句覆蓋沒有提示,加-i選項才出現確認提示mv -f xx yy # 若yy文件已存在,仍強行覆蓋(f即force,強制之意)mv -v xx yy # 移動並顯示移動路徑
5、mkdir —— 創建目錄
mkdir css # 創建css目錄# -p選項:可遞歸創建目錄,# 即若demo不存在,則會創建demo及demo下js目錄;否則創建不存在的js目錄mkdir -p demo/js/
6、rm(慎用!慎用!慎用!) —— 刪除目錄或文件
實踐中發現個奇怪且不人性的現象:竟然要加-i才會出現確認提示;rmmv用時一定需謹慎
rm xx # 刪除文件xxrm xx yy zz # 刪除多個文件,同時刪除文件xx、yy、zz
rm 選項
rm -r # 遞歸刪除目錄,實踐發現沒加-f也無提示(r為recursive縮寫)rm -f # 強制刪除rm -i # 刪除時沒有提示,加-i選項才出現確認是否刪除提示rm -v # 顯示操作詳請;v為verbose縮寫;加上-v選項,即開啟verbose模式
注意事項 :Linux命令行嚴格區分大小寫的
三、一個超好用的工具 —— shell命令解釋
直接上圖
推薦閱讀:
※巴夏 Bashar:開朗起來,閃耀起來!
※針對 Bash 的不完整路徑展開(補全)功能
※python好庫之sh
※Bash shell常見錯誤
※你所不了解的Bash:關於Bash數組的介紹