前端需要掌握的Linux命令

認識 BASH 這個shell

# 指令   選項       參數(shù)(1)     參數(shù)(2) 
command [-options] parameter1 parameter2 ...
# [--options] 使用選項的完整全名拴袭,例如 --help;
  • 通過 man 查看 command 的使用說明書(manual pages)蛙卤,通常從 /usr/share/man 讀取
man command

# 搜尋特定指令/文件的man page說明文件
man -f command # 相當于 ==>
whatis command

# 按關(guān)鍵字搜索man page說明文件
man -k command # 相當于 ==>
apropos command
  • 環(huán)境變量 $PATH 默認是放置在 /usr/share/info/

  • set 可以列出目前 bash 環(huán)境下的所有變量

  • 按『tab鍵』:命令與文件補全功能

  • 使用 history 查看執(zhí)行過的歷史指令询一,指令記錄存放在 ~/.bash_history 崎溃,按『上下鍵』可以找到前/后一個輸入的指令

  • 命令別名設定: alias, unalias夭咬。例如 alias rm='rm -i'

  • 路徑與指令搜尋順序:

    • 1 以相對/絕對路徑執(zhí)行指令;
    • 2 由 alias 找到該指令來執(zhí)行饥追;
    • 3 由 bash 內(nèi)建的 (builtin) 指令來執(zhí)行;
    • 4 透過 $PATH 這個變量的順序搜尋到的第一個指令來執(zhí)行残邀。
  • login shell 會讀取兩個配置文件:

    • 1 /etc/profile(系統(tǒng)設定),
    • 2 ~/.bash_profile 或 ~/.bash_login 或 ~/.profile(個人設定柑蛇,其中一個)
      然后會通過這2個文件腳本載入其他文件配置。source (或小數(shù)點) 將配置文件的內(nèi)容讀進來目前的 shell 環(huán)境中(更改配置文件后不需要注銷立即生效)
  • 數(shù)據(jù)流重導向:

    • 1 標準輸入 (stdin):代碼為0驱闷,使用<或<< 耻台;
    • 2 標準輸出 (stdout):代碼為 1 ,使用 > 或 >> 空另;
    • 3 標準錯誤輸出(stderr):代碼為 2 盆耽,使用 2> 或 2>> ;
      雙向重導向tee 會同時將數(shù)據(jù)流分送到文件去與屏幕
# 將 stdout 與 stderr 分別存到不同的文件去
stdout > log.text 2> error.text

# 將 stdout 與 stderr 都寫入同一個文件
stdout > log.text 2>&1

# 要注意! tee 后接的文件會被覆蓋扼菠,若加上 -a (append) 這個選項則能將訊息累加
ls -l / | tee -a ~/homefile | more 
  • 管線命令| 僅會處理 standard output摄杂,在每個管線后面接的第一個數(shù)據(jù)必定是『指令』,而且這個指令必須要能夠接受 standard input 的數(shù)據(jù)循榆。常用管線處理命令 grep 析恢、cutsort秧饮、 wc映挂、 uniqsplit盗尸、 xargs

Linux 文件權(quán)限屬性

Linux下一切皆文件柑船,我們一般會用擴展名來表示不同種類的文件。

下達 ls -al 命令看看文件屬性(-a: 包括目錄和以 . 開頭的隱藏文件泼各;-l: 顯示詳細列表)

[root@serverxxx some-directory]# ls -la
總用量 8
drwxrwxr-x  7 user1 user1  132 12月 15 12:33 .
drwx------  3 user1 user1  127 12月 15 14:51 ..
drwxrwxr-x  2 user1 user1    6 12月 15 12:21 .git
-rw-rw-r--  1 user1 user1   66 12月 15 12:21 .gitignore
-rw-r--r--  1 user1 user1   73 12月 15 12:21 README.md
-rw-r--r--  1 user1 user1 1964 12月 15 12:33 package.json
drwxr-xr-x  8 user1 user1  256 12月 15 12:21 src
-rw-r--r--  1 user1 user1  377 12月 15 12:21 tsconfig.json

每一行都有 7 列鞍时,先認識一下上面7個字段個別的意思:

drwxr-xr-x 8 user1 user1 256 12月 15 12:21 src
文件類型與權(quán)限 鏈接數(shù) 所有者 群組 文件大小 最后修改時間 文件名

第一欄代表這個文件類型與權(quán)限,這一欄共 10 個字符:

  • 第 1 個表示文件類型

    • d (directory) 表示目錄
    • - 表示文件
    • l (link file) 表示連接文件
    • b (block) 表示區(qū)塊設備文件(可供儲存的接口設備)
    • c (character) 示為字符設備文件(串行端口的接口設備)例如鍵盤扣蜻、鼠標
  • 接下來的字符中逆巍,以3個為一組(共三組),且均為 rwx 的三個參數(shù)的組合弱贼。其中蒸苇,r 代表可讀(read)、w 代表可寫(write)吮旅、x 代表可執(zhí)行(execute)溪烤。 要注意的是味咳,這三個權(quán)限的位置不會改變,如果沒有權(quán)限檬嘀,就會用 - 代替占位槽驶。

    • 第一組 rwx 為文件擁有者的權(quán)限
    • 第二組 r-x 為加入此群組的賬號的權(quán)限
    • 第三組 r-x 為其他人的權(quán)限

Linux 是個多人多任務的系統(tǒng),Linux 一般將文件可存取的身份分為三個類別鸳兽,分別是 owner/group/others掂铐,且三種身份各有 read/write/execute 等權(quán)限

文件所有者(Owner)

當創(chuàng)建一個用戶的時候,Linux 會為該用戶創(chuàng)建一個主目錄揍异,路徑為 /home/[username]全陨,我們可以使用 cd ~,快捷進入當前用戶 home 目錄衷掷。如果你想放一個私密文件辱姨,就可以放在自己的主目錄里,然后設置只能自己查看戚嗅。

群組(Group)

每個用戶都有一個用戶組雨涛,方便多人操作的時候,為一群人分配權(quán)限懦胞。當創(chuàng)建用戶的時候替久,會自動創(chuàng)建一個與它同名的用戶組。

如果一個用戶同時屬于多個組躏尉,用戶需要在用戶組之間切換蚯根,才能具有其他用戶組的權(quán)限。

其他人(Others)

既不是 Owner 又不屬于 Group醇份,就是其他人稼锅。

超級用戶(Root)

Root 用戶是萬能的天神,該用戶可以訪問所有文件

chgrp:改變文件所屬群組

chgrp(change group) 群組名需要存在 /etc/group

# -R:遞歸更改文件屬組
chgrp [-R] 群組名 文件或目錄

chown:改變文件擁有者

chown(change owner) 用戶賬號名需要存在 /etc/passwd

# -R:遞歸更改文件屬組
chown [-R] 賬號名稱 文件或目錄
chown [-R] 賬號名稱:組名 文件或目錄

chmod:改變文件的權(quán)限

Linux 文件的基本權(quán)限就有九個僚纷,分別是 owner/group/others 三種身份各有自己的 read/write/execute 權(quán)限矩距,我們也可以用數(shù)字表示權(quán)限,數(shù)字與字母的對應關(guān)系為:

  • r : 4
  • w : 2
  • x : 1

每組 rwx 權(quán)限用數(shù)字累加表示怖竭,例如 rwxrwxr-x 對應的數(shù)字則是:
owner = rwx = 4+2+1 = 7
group = r-x = 4+0+1 = 5
others= - -x = 0+0+1 = 1

# 數(shù)字類型改變文件權(quán)限
# xyz 為 rwx 屬性數(shù)值的相加值锥债,例如上面 chmod 751 filename
chmod [-R] xyz 文件或目錄

還有一種就是用字符改變權(quán)限的方法,我們用 u(user痊臭,也就是owner), g(group), o(others) 來代表三種身份的權(quán)限哮肚,a(all) 代表全部身份

? chmod ? ? u、g广匙、o允趟、a ? ? +(加入)、-(除去)鸦致、 =(設定) ? ?? r潮剪、w涣楷、x ?? ? 文件或目錄 ?
# 字符類型改變文件權(quán)限
# 設置 u(owner)具有rwx權(quán)限,go(group&others)具有rx權(quán)限
chmod u=rwx,go=rx text.txt

# u(owner) 加上 x 權(quán)限抗碰,g(group)和 o(others)除去 x 權(quán)限狮斗。
chmod u+x,g-x,o-x index.html

Linux 常用命令

1. ssh 遠程連接

ssh [options] [-p PORT] [username@]hostname
# 例
ssh -p 3000 root@100.100.100.100

2. pwd 顯示當前目錄

[root@my-azure]$ pwd
/home/root/

3. cd 切換工作目錄

cd /home/workspace  # 進入/home/workspace
cd ~  # 進入home目錄
cd -  # 回到上次所在目錄,一般來回切換

4. mkdir 創(chuàng)建目錄

mkdir folder-name # 創(chuàng)建目錄
mkdir -p folder1/folder2/folder3  # 遞歸創(chuàng)建目錄

5. touch 創(chuàng)建文件

touch new-file # 創(chuàng)建文件

6. echo 打印輸出

echo "hello world"
# 將打印內(nèi)容通過 > 輸出到 a.txt 文件弧蝇,追加使用 >>
echo "some content" > a.txt

7. cat 查閱一個文件的內(nèi)容

cat ~/.ssh/id_rsa.pub

# 如果文件內(nèi)容太多碳褒,可以使用可翻頁查看命令 more|less
less /etc/man_db.conf

# 如果只想查看部分內(nèi)容,可以使用擷取命令 head|tail
tail -n 10 -f /tomcat/log/messages # -n 10 顯示10行看疗,-f 監(jiān)聽文件修改實時顯示

8. cp 復制文件或目錄

cp source_file_name target_file_name

cp -r app /home/www/app # -r 復制目錄

9. mv 移動并重命名

mv workspace/project/index.html /home/www/app # 移動
mv index.html home.html # 更改文件名

10. rm 刪除一個文件或者目錄

rm package.lock
mv -rf dist # 直接刪除整個目錄

11. tar 文件的壓縮打包

下面是常用的壓縮命令沙峻,tar 是打包命令

壓縮命令 選項與參數(shù) 打包文件拓展名 在 tar 中使用的參數(shù)
gzip c d t v # *.gz -z
bzip2 c d k z v # *.bz2 -j
xz c d t k l # *.gz -J

我們以使用度最廣的壓縮指令gzip 為例

# 壓縮
tar -zcvf xxx.tar.gz 要被壓縮的文件或目錄

# 解壓
tar -zxvf xxx.tar.gz

12. which 查看指令對應的文件位置

which node # /root/.nvm/versions/node/v14.17.6/bin/node

# 如果需要查詢系統(tǒng)文件(/bin/sbin、/usr/share/man)可以使用 whereis
whereis nginx
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹃觉,一起剝皮案震驚了整個濱河市专酗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盗扇,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沉填,死亡現(xiàn)場離奇詭異疗隶,居然都是意外死亡,警方通過查閱死者的電腦和手機翼闹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門斑鼻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人猎荠,你說我怎么就攤上這事坚弱。” “怎么了关摇?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵荒叶,是天一觀的道長。 經(jīng)常有香客問我输虱,道長些楣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任宪睹,我火速辦了婚禮愁茁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亭病。我一直安慰自己鹅很,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布罪帖。 她就那樣靜靜地躺著促煮,像睡著了一般邮屁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上污茵,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天樱报,我揣著相機與錄音,去河邊找鬼泞当。 笑死迹蛤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的襟士。 我是一名探鬼主播盗飒,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陋桂!你這毒婦竟也來了逆趣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嗜历,失蹤者是張志新(化名)和其女友劉穎宣渗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梨州,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡痕囱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了暴匠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鞍恢。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖每窖,靈堂內(nèi)的尸體忽然破棺而出帮掉,到底是詐尸還是另有隱情,我是刑警寧澤窒典,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布蟆炊,位于F島的核電站,受9級特大地震影響崇败,放射性物質(zhì)發(fā)生泄漏盅称。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一后室、第九天 我趴在偏房一處隱蔽的房頂上張望缩膝。 院中可真熱鬧,春花似錦岸霹、人聲如沸疾层。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痛黎。三九已至予弧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間湖饱,已是汗流浹背掖蛤。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留井厌,地道東北人蚓庭。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像仅仆,于是被迫代替她去往敵國和親器赞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容