基本按鍵及命令操作
按鍵 作用
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫定當前程序,暫停後按下任意鍵恢復運行
Ctrl+z 將當前程序放到後臺運行,恢復到前臺爲命令fg
創建文件
- touch
- 例:
touch test.c
touch lesson_{1..10}.txt
查看當前目錄下的文件
- ls
- 例:
ls -a //顯示所有文件包括隱藏文件
ls *.txt //顯示 .txt格式的文件
ls -l //顯示較長格式列出文件
獲取幫助
- man
- –help
- 例:
man ls
ls --help
用戶文件權限及管理
查看用戶
who i am
su,su- 與 sudo
- su 可以切換到用戶user,執行時需要輸入目標用戶的密碼,sudo 可以以特權級別運行cmd命令,需要當前用戶屬於sudo組,且需要輸入當前用戶密碼。su - 命令也是切換用戶,同時環境變量也會跟着改變成目標用戶的環境變量。
- –help
- 例:
sudo adduser lilei
用戶組
- groups //查看用戶所屬的組
- 例:
groups <user>
查看文件
- cat
- cat |sort //將文本字典排序輸出
爲用戶添加用戶組
- usermod 命令可以爲用戶添加用戶組,使用該命令你必需有 root 權限
- sudo usermod -G sudo
刪除用戶
- sudo deluser –remove-home
修改文件權限
每個文件的三組權限(擁有者,所屬用戶組,其他用戶,記住這個順序是一定的)就對應這一個 “rwx”,也就是一個 ‘7’ ,所以如果我要將文件“iphone6”的權限改爲只有我自己可以用那麼就這樣:
chmod 700 <file>
目錄結構及文件基本操作
目錄路徑
- 例:
cd .. //進入上級目錄
cd ~ //回用戶目錄
cd //回用戶目錄
pwd //返回當前絕對路徑
新建目錄
- mkdir
- mkdir -p
複製
- cp
- cp -r //表示遞歸複製,將目錄下面的目錄一同複製
刪除
- rm
- rm -r
移動
- mv
重命名
- mv <舊的文件名> <新的文件名>
查看文件內容
- cat
- cat -n //顯示行號
- more //打開後默認只顯示一屏內容,可以使用Enter鍵向下滾動一行
- head //顯示文檔頭部
- tail //顯示文檔尾部
- tail -n 1 //顯示尾部一行
- tail -f //不停地讀取某個文件的內容並顯示,起到實時監視的作用
環境變量與文件查找
變量( Shell 變量)
- declare tmp //創建tmp變量
- tmp=shiyanlou //變量賦值
- echo $tmp //讀取變量的值
命令 說明
set 顯示當前 Shell 所有環境變量,包括其內建環境變量(與 Shell 外觀等相關),用戶自定義變量及導出的環境變量
env 顯示與當前用戶相關的環境變量,還可以讓命令在指定環境中運行
export 顯示從 Shell 中導出成環境變量的變量,也能通過它將自定義變量導出爲環境變量
添加自定義路徑到“PATH”環境變量
PATH=$PATH:/home/shiyanlou/mybin
- 可以運行
mybin
目錄下的可執行文件而不需要添加 ./<可執行文件> - 我們可以簡單的使用下面命令直接添加內容到.zshrc中:
echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
上述命令中>>表示將標準輸出以追加的方式重定向到一個文件中,注意前面用到的>是以覆蓋的方式重定向到一個文件中,使用的時候一定要注意分辨。在指定文件不存在的情況下都會創建新的文件。
變量刪除
- unset <變量名>
讓環境變量立即生效
在上面我們在 Shell 中修改了一個配置腳本文件之後(比如 zsh 的配置文件 home 目錄下的.zshrc),每次都要退出終端重新打開甚至重啓主機之後其才能生效,很是麻煩,我們可以使用source命令來讓其立即生效,如:
source .zshrc
搜索文件
與搜索相關的命令常用的有如下幾個whereis,which,find,locate。
- whereis簡單快速
- locate快而全
- which小而精
- find精而細
文件打包與壓縮
zip壓縮
zip -r -q -o shiyanlou.zip /home/shiyanlou
du -h shiyanlou.zip
file shiyanlou.zip
第一行命令中,-r參數表示遞歸打包包含子目錄的全部內容,-q參數表示爲安靜模式,即不向屏幕輸出信息,-o,表示輸出文件,需在其後緊跟打包輸出文件名。
因爲 Windows 系統與 Linux/Unix 在文本文件格式上的一些兼容問題,比如換行符(爲不可見字符),在 Windows 爲 CR+LF(Carriage-Return+Line-Feed:回車加換行),而在 Linux/Unix 上爲 LF(換行),所以如果在不加處理的情況下,在 Linux 上編輯的文本,在 Windows 系統上打開可能看起來是沒有換行的。如果你想讓你在 Linux 創建的 zip 壓縮文件在 Windows 上解壓後沒有任何問題,那麼你還需要對命令做一些修改:
zip -r -l -o shiyanlou.zip /home/shiyanlou
unzip 解壓縮
unzip shiyanlou.zip //解壓到當前目錄
unzip -q shiyanlou.zip -d ziptest //使用安靜模式,將文件解壓到指定目錄
上述指定目錄不存在,將會自動創建。如果你不想解壓只想查看壓縮包的內容你可以使用-l參數:
unzip -l shiyanlou.zip
創建一個 tar 包
- tar -cf shiyanlou.tar ~