Linux入門基礎(一):Linux基本操作

来源:https://www.cnblogs.com/FromZeroToGod/archive/2019/04/09/10676728.html
-Advertisement-
Play Games

命令行BASH基本操作 Shell 用戶不能直接操作內核,所以用戶操作通過shell傳遞給內核 shell分為兩種 : GUI 圖形界面 (linux一般是GNOME) CLI 命令行界面 (linux一般是BASH) BASH 提示符 \ root用戶 $ 普通用戶 命令一般由 (命令、選項、參數 ...


命令行BASH基本操作

Shell

用戶不能直接操作內核,所以用戶操作通過shell傳遞給內核

shell分為兩種 :

  • GUI 圖形界面 (linux一般是GNOME)

  • CLI 命令行界面 (linux一般是BASH)

BASH

  • 提示符
    • # root用戶
    • $ 普通用戶
  • 命令一般由 (命令、選項、參數) 組成。

例如 :

[root@linuxabc  ~   ] #       uname -r
 用戶名  主機名 工作目錄 root用戶  命令  參數
  • 使用Tab鍵來自動補全命令(註意:無法自動補全參數,)
  • 按2下Tab顯示所有命令

歷史記錄

  • Bash會保存你輸入過的命令,可以通過↓↑ 鍵來查看。

  • 通過history可查看輸入過的全部命令
  • !!重覆前一個命令(用上也可以。還方便)
  • !字元 重覆前一個以“字元”開頭的命令
  • !num 按照歷史記錄的序號執行命令
  • !?abc重覆之前包含abc的命令
  • !-n重覆n歌命令之前的那個命令

  • 通過Ctrl+r來在歷史記錄中搜素命令(reverse-i-search)“:
  • 重新調用前一個命令中的參數Esc.(按完Esc鍵之後按.)

命令行通配符

  • *匹配零個或多個
  • ?匹配任意一個字元
  • [0-9]匹配一個數字範圍
  • [abc]匹配列表裡任何字元
  • [Λabc]匹配列表以外的字元

切換用戶

  • su - 切換到root用戶(切換終端)
  • sudo 使用管理員許可權運行命令

BASH作業管理

  • 在後臺運行進程
    • 在命令後添加一個&
  • 終止某個程式
    • Ctrl+c
  • 暫停某個程式
    • Ctrl+z
  • 管理後臺作業
    • jobs 查看當前在後臺運行的作業
    • sleep 5000 停參數輸入的時間 5000秒 可使用ctrl+c終止 或者 使用ctrl+z暫停
    • bg 編號 控制進程繼續在後臺運行
    • fg 編號 繼續在前臺運行

文件系統基本操作

Linux文件系統結構

  • Linux文件系統為一個倒轉的單根樹狀結構
  • 文件系統的根為“/"
  • linux文件系統嚴格區分大小寫,大小寫敏感
  • 路徑使用”/"分割,(windows中使用“”)

當前工作目錄

  • 每一個shell或系統進程都有一個當前的工作目錄:~顯示當前所在目錄。
  • 使用pwd命令可以顯示當前的工作目錄+

文件名稱

  • 文件的名稱大小寫敏感
  • 名稱最多可以使用255個字元
  • 除了正斜線外都是有效字元
  • 通過touch命令可以創建一個空白文件或者更新已有文件的時間
  • 以“."開頭的文件為隱藏文件

列出目錄內容 : ls

  • ls -a 顯示所有文件(包括隱藏文件):隱藏文件絕大多是都是配置文件,不要去動這些文件。
  • ls -l 顯示詳細信息
  • ls -R 遞歸顯示子目錄結構
  • ls -ld 顯示目錄和鏈接信息

查看文件類型 : file

file 文件名

絕對路徑與相對路徑

  • 絕對路徑:以/開頭,遞歸每級目錄直到目標的路徑。不受當前所在工作目錄限制
  • 相對路徑:以當前目錄為起點,到達目標的路徑。受當前所在目錄限制

cd用來切換目錄:cd .切換到當前目錄,cd ..切換到上一級目錄,cd ~切換到家目錄, cd -上一個工作目錄。

文件基本操作

複製文件 : cp

cp 源文件 目標文件

-r 遞歸複製整個目錄樹

-v 顯示詳細信息

移動文件 : mv

mv 源文件 目標目錄(加/文件名會重命名該文件)

-r 遞歸複製整個目錄樹

-v 顯示詳細信息

創建文件 : touch

刪除文件 : rm

-i 互動式

-r 遞歸刪除包括目錄中所有內容

-f 強制刪除,沒有警告(謹慎)

創建目錄 : mkdir

刪除目錄 : rmdir

刪除空文件夾

刪除非空文件夾加 -r -f參數

系統目錄架構

  • bin 可執行文件
  • boot vmlinux內核 grub引導程式
  • dev 硬體設備,linux里所有硬體都被抽象成文件
  • etc 配置文件
  • home 家目錄,保存用戶信息(root除外,root單獨保存)
  • lib 庫文件
  • media 掛載文件,和mnt一樣
  • opt 大型軟體,比如資料庫
  • proc 虛擬數據,實時信息
  • sbin 和bin一樣,但只有root用戶才能執行
  • sys 底層硬體信息
  • tmp 臨時文件,定時刪除
  • usr 應用軟體,大型軟體裝opt,一般軟體裝usr
  • var 經常變化的信息,比如日誌log

系統常用命令

日期和時間

  • date 查看和設置系統的日期和時間
    • -u 查看utc時間
    • date +%Y-%m-%d 格式化顯示時間
    • -s 設置時間,只有root用戶才有許可權更改
  • clock 顯示硬體時鐘時間,比如主板
  • cal 查看日曆
  • uptime 查看系統運行時間

輸出 , 查看

  • echo 顯示輸入的內容
  • cat 顯示文件內容
  • more 翻頁顯示文件內容(只能向下翻頁)
  • less 翻頁顯示文件內容(能上下翻頁)
  • head 顯示文件的頭幾行(預設10行)
    • -n 指定顯示行數
  • tail 顯示文件的末尾幾行(預設10行)
    • -n 指定顯示行數
    • -f 追蹤顯示文件更新,一般用於查看日誌,持續顯示新加入的內容

查看硬體信息

  • lspci 查看PCI設備
    • -v 查看詳細信息
  • lsusb 查看USB設備
    • -v 查看詳細信息
  • lsmod 查看載入的模塊(設備驅動)

關機 , 重啟

  • shutdown 用來關閉 , 重啟電腦
    • -h 關閉電腦
    • -r 重啟電腦

例如:

#立即關機
shutdown -h now
#10分鐘後關機
shutdown -h +10
#23:30關機
shutdown -h 23:30
#立即重啟
shutdown -r now
  • poweroff 立即關機
  • reboot 立即重啟

歸檔 , 壓縮文件

  • zip 壓縮
    • zip 壓縮後的文件名.zip 要壓縮的文件
  • unzip 解壓縮
    • unzip 壓縮文件名.zip
  • gzip 壓縮
    • gzip 要壓縮的文件
  • tar 用來歸檔文件
    • tar -cvf 歸檔文件包.tar 要歸檔的文件
    • tar -xvf 要解歸檔的文件包.tar
    • tar -cvzf 歸檔並壓縮的文件包.tar.gz 要歸檔並壓縮的目錄
      • -z 將歸檔後的文件進行gzip壓縮以減小大小

查找

  • locate 用以快速查找文件 , 文件夾

    • locate 關鍵字 (locate查的是文件資料庫,快,但可能不及時準確.資料庫預設每天更新一次,可手動更新)
  • find 用以高級查找文件 , 文件夾

    • find 查找位置 查找參數

    • 例如:

      #查找當前目錄下,文件名包含'abcde'的文件
      find . -name  *abcde*
      #查找根目錄下,d代表目錄,即查找根目錄下所有的目錄
      find / -type d
      #查找根目錄下,許可權是777的文件
      find / -perm 777
    • find支持的常用查找參數

      • -name 名字
      • -perm 許可權
      • -user 屬於特定用戶
      • -group 屬於特定組
      • -ctime 基於修改時間
      • -type 文件類型
      • -size 基於文件大小

vim編輯器

vim是vi的增強版

vim命令啟動vim編輯器

vim 文件名 (存在則打開文件,不存在則新建並打開文件)

vim的三種模式:

  • 命令模式 (預設模式,其他模式按ESC進入命令模式)
    • i 進入插入模式
    • o 在當前行下麵插入新行
    • dd 刪除整行
    • u 撤銷上一個操作
    • yy 複製當前行
    • n+yy 複製下麵的n行
    • p 粘貼
    • r 替換當前字元
    • / 查找關鍵字
  • 插入模式 (命令模式中按 i 進入)
  • ex模式 (命令模式中按 : 進入)
    • :w 保存當前修改
    • :q 退出(不保存會提示)
    • :q! 強制退出
    • :x 保存並退出,等同於 :wq
    • :set number 顯示行號
    • :! 執行系統命令並顯示結果
    • :sh 切換到命令行,使用ctrl+d切換回vim

磁碟的基本概念

磁碟在Linux中的表示

Linux中所有的設備都被抽象成文件,保存在/dev目錄下

IDE設備名稱為 hd[a-z] ,例如:hda,hdb

SATA,SCSI,SAS,USB等名稱為 sd[a-z],例如sda,adb

磁碟分區

不同分區用,設備名稱+分區號表示,如 sda1,sda2

主流的分區機制有MBR和GPT兩種

  • MBR
    • 傳統分區機制,應用於絕大多數BIOS的PC設備
    • 支持32bit和64bit
    • 支持分區數量有限(最多4個主分區)
    • 支持不超過2TB的硬碟
  • GPT
    • 向後相容MBR
    • 只能在支持UEFI的硬體上才能使用
    • 只支持64bit
    • 支持超過2TB的硬碟
    • Mac,Linux都能支持GPT
MBR結構

MBR占用了磁碟的前512位元組(446+4*16+2)

前446位元組為引導代碼

4*16位元組為分區表

2位元組為啟動標識(55h AAh可引導設備,Linux啟動時BIOS引導)

MBR分區
  • 主分區 (最多只能創建4個主分區)

  • 擴展分區 (一個擴展分區會占用一個主分區位置)

  • 邏輯分區 (linux最多支持63個IDE分區和15個SCSI分區)

    例如:{sda1} {sda2} {sda3} { sda4 [sda5] [sda6] [sda7] }

    sda123是主分區

    sda4是擴展分區,占用一個主分區位,但不能直接使用,需要建立邏輯分區使用

    sda567是邏輯分區


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

-Advertisement-
Play Games
更多相關文章
  • cd 作用:切換路徑 切換至家目錄 在上一個目錄和當前目錄來回切換 切換至某用戶的家目錄 切換至上一級目錄 相對目錄實例 ...
  • Linux Asynchronous I/O Explained (Last updated: 13 Apr 2012) ******************************************************************************* by Vasily ...
  • 使用的工具:Parallels Client 免費,可以從windows store 免費下載; 只有這個最好用,希望能幫到你。和原生的windows 遠程桌面功能很像; ...
  • invoke-command 遠程執行命令: invoke-command -ComputerName $server -Credential $cred -ScriptBlock{param($server,$UserName,$serverpass,$starttime,$startdate)$ ...
  • failed to kernel tpm_crb, uvcvideo 等錯誤 pci 報錯 failled unmount /oldroot 屏蔽錯誤的啟動項 https://lixi.fun/2018/10/10/handling-archlinux-error/ ...
  • 1. 安裝 sudo apt-get install sshfs 2. 伺服器端開啟Jupyter Notebook Ubuntu伺服器端安裝過程參考:www.cnblogs.com/laresh/p/8193939.html 安裝完成後自定義伺服器port:9999 完成安裝後,terminal ...
  • (需先安裝virtuabox,vagrant) 1.下載centos 7 鏡像,vagrant box add ceshi 鏡像名 或者是使用先前vagrant package出來的box,進行載入鏡像操作 2.vagrant init vagrant up 3.配置網路,修改Vagrantfile ...
  • 用戶基礎 用戶和組 每個用戶都擁有一個userid 每個用戶都屬於一個主組,屬於一個或多個附屬組 每個組擁有一個groupid 每個進程以一個用戶身份運行,受該用戶可訪問資源限制 每個可登陸用戶擁有一個指定的shell 用戶 userid為32位,從0開始,為了和老式系統相容,用戶id限制在6000 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...