Linux Shell

来源:https://www.cnblogs.com/dinghongkai/archive/2019/03/09/10500397.html
-Advertisement-
Play Games

前言 1. 格式: command [-options] [parameter] 2. 註意:區分大小寫 3. Ctrl + C: 終止當前操作(Tip:若想刪除當前命令行的命令,但內容過多,用Backspace刪除鍵十分麻煩,可用 Ctrl + C 直接彈出新的命令行) 4. 幫助: comman ...


前言

1. 格式: command [-options] [parameter]

2. 註意:區分大小寫

3. Ctrl + C: 終止當前操作(Tip:若想刪除當前命令行的命令,但內容過多,用Backspace刪除鍵十分麻煩,可用 Ctrl + C 直接彈出新的命令行)

4. 幫助: command –help / man command

切換路徑 cd

1. ‘.’為當前目錄,’..’為上一級目錄(每個文件夾在創建的時候,都會以自動創建 . 和 .. 隱藏目錄 )

  • cd ..返回上一級目錄

2. cd 或 cd ~:返回用戶根目錄~

3. cd /:返回系統根目錄

4. cd -:在最近兩次目錄中來回切換

 

查看目錄信息

1. ls 

  • 英文全稱:list
  • options
選項 含義
-a

顯示所有子目錄和文件,包含隱藏文件

-l

以列表的方式顯示文件的詳細信息

-h

以人性化的方式顯示文件大小,需配合 –l 使用,單獨使用不起作用

 

 

 

 

 

 

 

 

  • parameter 可配合 通配符 使用
符號 含義
* 可表示任意個字元
可表示任意一個字元
[] 表示匹配字元組中的任意一個

 

 

 

 

 

 

2. tree

選項 含義
-d 只顯示目錄

 

 

 

3. 列印當前路徑 pwd

英文:print working directory

 

創建文件夾 mkdir

  1. 英文全稱:make directory
  2. windows 命令行:md / mkdir
  3. 遞歸地創建目錄:mkdir -p a/b/c/d
  4. 註意:新建目錄不能與當前路徑下的已有目錄或文件同名

 

 新建文件

1. touch

  • 創建隱藏文件:touch .a.txt
  • 如果文件不存在,可以創建空白文件
  • 如果文件存在,可以修改文件的末次修改日期

2. 創建非空文件:echo + 重定向

 

重定向

1. 作用:將終端顯示的文本保存到文件

2. 配合echo使用,創建非空文件

3. >,表示輸出,覆蓋文件原內容

  • echo abc > a.txt
  • ls -lh > a.txt

4. >>,表示追加,將內容追加到已有文件的末尾

 

管道 |

1. 作用:將一個命令的輸出通過管道作為另一個命令的輸入

2. 常用命令

  • more,如 ls -lha ~ | more
  • grep,如 cat 123.txt | grep abc

 

文件操作

1. 複製 cp

  • -i,覆蓋文件前提示
  • -r,複製目錄文件,會遞歸地複製該目錄下的所有字目錄和文件

2. 移動 mv

  • -i,覆蓋前提示
  • 若移動到當前目錄,文件名不同,可重命名

3. 刪除 rm

  • 註:刪除後不能恢復
  • -f,強制刪除,忽略不存在的文件,無任何提示
  • -r,遞歸地刪除目錄下的內容,刪除文件夾時必須選擇此選項
  • 通配符同樣適用
  • 系統根目錄下,rm -rf * 會使整個系統崩潰

 

查看文件

1. cat

  • 英文全稱:concatenate
  • 一次性顯示所有內容,適合查看內容較少的文本文件
  • -b,對非空輸出行進行編號
  • -n,對所有輸出行進行編號

2. more

  • 分屏顯示文件內容,每次只顯示一頁
  • 操作鍵(同 man 命令)
    • 空格,顯示下一屏
    • Enter,一次滾動一行
    • b,回滾一屏
    • f,前滾一屏
    • q,退出

 

查找文本

grep [options]  查找的文本 文件

  • grep -n,顯示匹配行及行號
  • grep -i,忽略大小寫
  • 模式查找
    •  ^a,搜索以a開頭的行
    • a$,搜索以a結尾的行

 

遠程管理

1. 關機/重啟:shutdown [options] 時間

  • 不指定選項和參數,預設表示1分鐘後關閉電腦
  • shutdown -r now,立即重啟
  • shutdown 20:25,表示在今天20:25關機
  • shutdown + 10,表示10分鐘後自動關機
  • shutdown -c,取消關機,一分鐘之內有效
  • -r,重啟,在遠程維護伺服器時,最好不要關閉系統,應該重啟系統

2. 查看/配置網卡信息

  • ifconfig,英文:configure a network interface
  • ping ip

3. 遠程登錄SSH(Secure Shell)協議

  • ssh [-p port] user@remote ip/功能變數名稱/別名
    • user不指定的話,預設為當前用戶
    • port SSH Server監聽的埠,預設為22
  • 遠程拷貝文件 secure copy
    • scp -P port user@ip:文件名或路徑 user@ip:文件名或路徑
    • 選項 -r,遞歸地複製
  • 配置別名

 

組、用戶和許可權

 

許可權 英文 縮寫 數字代號
read r 4
write w 2
執行 excute x 1

 

1. chmod

  • chmod +/-rwx 目錄或文件
  • 遞歸修改目錄或文件許可權:chmod -R 755 文件名/目錄名

 

4+2+1 7 rwx
4+2+0 6 rw-
4+0+1 5 r-w
4+0+0 4 r--
0+2+1 3 -wx
0+2+0 2 -w-
0+0+1 1 --x
0+0+0 0 ---

 

 2. 超級用戶

  • 用來系統的維護和管理,對操作系統的所有資源具有所有訪問許可權
  • 系統預設用戶為“標準用戶”
  • su,英文全稱:substitute user
  • sudo,密碼有5分鐘的有效期限

3. 組

  • 添加組,sudo groupadd 組名
  • 刪除組,sudo groupdel 組名
  • 確認組信息,sudo cat /etc/group
  • 修改文件/目錄的所屬組,sudo chgrp -R 組名 文件/目錄

4. 用戶

  • 添加新用戶,sudo useradd -m -g 組 新建用戶名(-m,自動建立用戶家目錄;-g,組)
  • 設置用戶密碼,passwd 用戶名
  • 刪除用戶,sudo userdel -r 用戶名(-r,自動刪除用戶家目錄)
  • 查看用戶信息
    • id [用戶名]
    • who,查看當前所有登陸的用戶列表
    • whoami,查看當前登陸的用戶
  • 切換用戶
    • su - 用戶名,切換到用戶的家目錄
    • exit 退出
  • 修改文件/目錄擁有者:chown 用戶名 文件名/目錄名

 

系統信息

1. 時間和日期

  • date
  • cal [-y]

2. 磁碟和目錄空間

  • df -h,以人性化的方式查看磁碟剩餘空間,disk free
  • du -h [目錄名],以人性化的方式查看目錄下的文件大小,disk usage

3. 進程信息

  • ps,全稱 process status,查看進程詳細狀況
    • -a,顯示終端上的所有進程,包括其他用戶的進程
    • -u,顯示進程的詳細狀態
    • -x,顯示沒有控制終端的進程
  • top,動態顯示運行中的進程併排序,退出 q
  • kill -9 進程代號,-9表示強制終止

 

軟鏈接

1. 命令:ln -s 被鏈接的源文件 鏈接文件

  • 類似於快捷方式
  • 用絕對路徑
  • 若沒有 -s 選項,建立的是一個硬鏈接文件

 

打包壓縮

1. 打包/解包 tar

  • tar 是 linux 中最常用的備份工具
  • 打包:tar -cvf 打包文件.tar 被打包的文件/路徑;若同時打包多個文件,用空格隔開
  • 解包:tar -xvf 文件.tar
選項 含義
c 生成檔案文件,創建打包文件
x 解開檔案文件
v 列出歸檔解檔的詳細過程,顯示進度
f 指定檔案文件名稱,後面必須接 .tar
z 調用命令 gzip
j 調用命令 bzip2

 

2. 壓縮/解壓縮

  • gzip (xxx.tar.gz)
    • 壓縮文件:tar -zcvf 打包文件.tar.gz 被壓縮文件
    • 解壓縮:tar -zxvf 打包文件.tar.gz -C 目標路徑 (註:目標路徑必須存在)
  • bzip2 (xxx.tar.bz2)
    • 壓縮:tar -jcvf
    • 解壓縮:tar -jxvf

 

軟體安裝

1. 通過 apt 安裝/卸載軟體

  • apt,Adcanced Packaging Tool
  • sudo apt install 安裝包
  • sudo apt remove 軟體名
  • sudo apt upgrade

2. 配置軟體源(鏡像源)

 

其他

1. which

  • cd 命令內置在系統內核中,沒有獨立程式,不能用which查看
  • /bin,存放二進位執行文件 (binary)
  • /sbin,存放系統管理執行文件 (system binary)
  • /user/bin,存放安裝的軟體
  • /user/sbin,超級用戶的管理程式

2. find

  • find [路徑] -name "*.py":查找指定路徑下擴展名為.py的文件,包括子目錄

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如果編程是一種興趣的話,那可能真的是樂此不疲。尤其AC時很興奮,看到好的、本來簡單卻寫的複雜要轉個彎的邏輯真的別有洞天,因為考慮的更多。希望對業務邏輯加快熟悉,能實戰吧。 ...
  • 記錄這篇博客的原因是:鳥哥的linux教程中,關於date命令的部分缺少-d這個參數的介紹,並且12章中的shell編寫部分有用到-d參數 date 參數(option)-d與--date=""(雙引號)或--date=''(單引號)的使用具有相同的顯示效果 最後面的輸出中days 與 day 有相 ...
  • 問題描述:在個人PC(windows系統)安裝了虛擬機,虛擬機中安裝了Linux系統,Linux系統中安裝了wireshark和firefox這兩個程式,網上查閱可以通過設置DISPLAY環境變數指向本機顯示。設置完DISPLAY之後,程式還是提示無法打開,再設置Xshell配置後,程式可以在lin ...
  • 1. 安裝MySQL 我先是參考了菜鳥教程上的#Windows 上安裝 MySQL #版塊的安裝教程,不過經歷了種種磨難,我最後是按照#此篇博客#安裝成功的。 這兩篇教程最大的差別是在於下載的版本不同。如下圖: 前者下載的是 Other Downloads里的壓縮包,下載後需要自己配置,過程比較複雜 ...
  • ...
  • 目錄 1. 測試環境 2. 設置LAN區段並測試 2.1. 添加LAN區段 2.2. 在虛擬機中設置靜態IP地址 2.3. 測試同一LAN區段的主機是否可以聯通 2.4. 測試宿主機是否能聯通LAN網段 2.5. 測試NAT網路是否可以聯通LAN網段 VM虛擬機使用LAN區段可以有效的進行虛擬內網局 ...
  • 一、RAID 1、常見RAID (RAID 0、RAID1、RAID5、RAID10) 2、RAID 10 陣列添加 2.1、添加硬碟 2.2、查看系統載入 2.3、mdadm 命令添加RAID陣列 2.4、查看RAID初始化狀態 2.5、格式化RAID 磁碟 2.6、掛在並寫入配置文件 2.7 重 ...
  • 目錄 1. 公鑰私鑰簡介 2. 使用密鑰進行ssh免密登錄 2.1. 實驗環境 2.2. 開始實驗 3. ssh的兩種登陸方式介紹 3.1. 口令驗證登錄 3.2. 密鑰驗證登錄 4. 總結 1、公私鑰簡介與原理 公鑰和私鑰都屬於非對稱加密演算法的一個實現,這個加密演算法的信息交換過程是: 1) 持有公 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...