Linux學習:初識Linux

目錄

  • 1. 引子:
    • 1.1 簡述:操作系統
    • 1.2 學習工具
  • 2. Linux操作系統中的一些基礎概念與指令
    • 2.1 簡單指令
    • 2.2 ls指令與文件
    • 2.3 cd指令與目錄
    • 2.4 文件目錄的新建與刪除指令
    • 2.5 補充指令1:
    • 2.6 文件編輯與拷貝剪切
    • 2.7 文件的查看
    • 2.8 時間相關指令
    • 2.9 查找指令
    • 2.10 行文本過濾工具與打包壓縮
    • 2.11 補充指令2:

1. 引子:

1.1 簡述:操作系統

在我們日常的認識中,計算機是由硬件(顯示器,鍵盤等)與軟件(視頻,游戲軟件等)組成的。當我們去更深入了解時,可知計算機可以簡單劃分為如下的層狀結構:
在這里插入圖片描述
從圖中可見,操作系統正處于承上啟下的位置。而操作系統也正是一款進行軟硬件資源管理的軟件,它合理高效的調配軟硬件資源來對其上的應用程序提供良好的穩定的運行服務

1.2 學習工具

在學習Linux操作系統的過程中我所使用的工具為Xshell,其是一款遠程終端軟件,通過計算機網絡調用云服務器。

  1. 下載鏈接:Xshell官網
  2. 云服務器將操作系統桌面的部分裁剪掉了,而命令行與圖標的操作方式本質上沒有什么不同,命令行相交于圖標反而更高效。
  3. Xshell中的粘貼(Ctrl + insert)與復制(Shift + insert)快捷鍵。
  4. 于Xshell終端中輸入 ifconfig 指令,可查看ip地址
  5. Xshell終端中登錄遠程服務器的方式:ssh @[用戶名][服務器公網ip]

2. Linux操作系統中的一些基礎概念與指令

注:指令的出現時間早于圖形化界面,二者在本質上并無區別。

2.1 簡單指令

指令1:whoami

指令意義:查看當前賬號

指令2:who

指令意義:查看當前系統中有哪些賬戶

指令3:pwd

指令意義:查看當前所處目錄

2.2 ls指令與文件

<1> 指令:ls

指令意義: 顯示當前目錄下所有可見文件的名稱

在這里插入圖片描述
<2> 指令:ls -l

指令意義:顯示當前目錄下所有可見文件與目錄的信息(文件類型,大小,文件名等)
注:文件信息被也稱為文件與目錄屬性
補充:以d開頭的為目錄,以l開頭的為文件

在這里插入圖片描述

<3> 指令:ls -a

指令意義:顯示當前目錄下的所有文件與目錄名
注:目錄中存在著我們正常情況下不可見的隱藏文件與目錄,隱藏文件的文件名都以 . 開頭

在這里插入圖片描述

<4> 指令:ls -al

指令意義:指令ls -a指令ls -l的復合使用,其意義為查看所有文件(包含隱藏文件)的文件屬性

<5> 指令:ls -d

指令意義:只查看當前目錄的目錄名

<6> 知識拓展:文件的構成

  1. 當我們創建一個新空文件后,其文件內容顯示為0kb,可此文件是否在真的不占用磁盤呢。試試上,空文件并非不占用空間,文件實則由兩部分構成,一是文件內容,二是文件屬性
  2. 注:文件 = 文件信息 + 文件屬性(文件信息:文件名,文件內容代銷,文件創建時間等)

2.3 cd指令與目錄

<1> 知識拓展:Linux操作系統中的目錄結構

  1. 目錄的結構為一棵多叉樹
    圖1:
    在這里插入圖片描述

  2. 路徑:本質上,路徑為多叉樹的一條條搜索路徑
    <1> 絕對路徑從根目錄開始一直到達指定目錄的路徑(只有一條,具有唯一性)
    <2> 相對路徑相對自身為參考點到達指定目錄的路徑

  3. 路徑的寫法
    <1> 根目錄:在樹這一數據結構的學習中,我們知道根結點為沒有父親結點(父親結點為其自身)的結點。根目錄的概念亦是相同,根目錄,即為沒有上級目錄的目錄其名稱為 /
    <2> 路徑的表示方式:當我們想要表示一個目錄的絕對路徑時,我們需從根目錄開始逐步進入下級目錄,直至到達尋找目錄停止。在這一過程中我們經過所有目錄,按照先后順序將他們串聯起來其間以 路徑分隔符/ 分開,即為這一目錄的絕對路徑
    注:以圖1中的目錄dir_b1為例,其絕對路徑/dir_b/dir_b1
    <3> 隱藏目錄與相對路徑:每個目錄下都存在著兩個隱藏目錄,在我們使用指令ls -l查看目錄中的文件信息時,我們會發現名為..與.的兩個目錄,其中..代表上級目錄.代表此目錄。因此,同樣表示dir_d1目錄的路徑時我們所處dir_a目錄,可以使用相對路徑的表示方式,進行如下操作:
    ../dir_b/dir_b1

  4. 補充:
    <1> 目錄結構的葉子結點一定是普通文件或者空目錄
    <2> 目錄結構的路上結點一定時目錄

<2> 指令:cd [目錄路徑](change dir)

指令意義:更改所處目錄

<3> 指令:cd ~

  1. 指令意義:跳轉回當前用戶的家目錄。
  2. 補充:在操作系統中用戶都有一個屬于自己的家目錄,超級用戶為/root,普通用戶為/home/用戶名

<4> 指令:cd -

指令意義:跳轉回最近上一次所處的目錄

<5> 指令:tree [目錄路徑]

  1. 指令意義:將指定目錄中的文件與子目錄以樹狀的結構表示出來
  2. 例:tree.列出當前目錄
  3. 安裝指令:yum install -y tree

在這里插入圖片描述

2.4 文件目錄的新建與刪除指令

<1> 指令:touch [文件]

  1. 指令意義:新建一個不存在的文件
  2. 補充:一個目錄下不能存在同名的文件和目錄

<2> 指令:mkdir [目錄]

  1. 指令意義:創建一個新目錄
  2. 補充:midir -p [目錄路徑]
    遞歸創建多級目錄

<3> 指令: rmdir [目錄]

  1. 指令意義:刪除目錄(只能刪除空目錄)
  2. 補充:rm -f[目錄/文件]
    強制刪除目錄或文件
  3. 補充:rm -rf[目錄/文件]
    強制性遞歸刪除目錄及其中的內容不再詢問

2.5 補充指令1:

<1> 拓展指令:stat [文件名]

指令意義:查看文件更多的屬性列表,ACM時間等

<2> 指令:man [指令]

  1. 指令意義:查看參數指令的意義
  2. 安裝額外手冊:yum install -y man-pages
  3. 補充:man [手冊編號] [指令]
    在指定手冊中查找參數指令
  4. 注:指令的本質是可執行程序,printf 在Linux操作系統中也是一條指令(C語言編寫的可執行文件)

2.6 文件編輯與拷貝剪切

<1> 指令:cp [文件/目錄] [目錄]

  1. 指令意義:將文件拷貝至指定目錄(當目錄不為空時,無法正常拷貝)
  2. 補充: cp -rf [目錄][目錄]
    將目錄即中的所有內容強制遞歸拷貝至指定目錄
  3. 補充:cp -rf指令 在拷貝目錄時,若不存在指定目錄,則會將拷貝過去的目錄更改為指定目錄參數的名字
  4. 補充: 拷貝目錄時,不會拷貝目錄中的隱藏文件
  5. 補充:cp -rf * [目錄] ,將當前目錄下的所有內容拷貝至指定目錄(通配符*,代表指定目錄下的全部內容

<2> 指令:mv [文件/目錄] [目錄]

  1. 指令意義:剪切目錄或文件到指定目錄
  2. 補充:當參數目錄不存在時,剪切目錄會更改為參數目錄的名字。
    因此,我們可以通過在當前目錄異名剪切指定目錄/文件來實現重命名

<3> 補充:指令:alias [新指令別名]=‘指令’

  1. 指令意義:將指令重命名(重啟系統后失效)
  2. 指令:which [指令]
    可查看到指令在系統的位置
  3. 指令的本質時可執行程序,所以實際上指令的
    安裝就是將可執行程序拷貝到系統可以識別的路徑下
    刪除就是從此路徑下移除。

<4> 指令:nano [文件]

  1. 指令意義:打開文件,對文件進行編輯
  2. nano編輯器安裝指令yum install -y nano

2.7 文件的查看

<1> 指令:echo [字符] / echo “字符”(自帶換行)

  1. 指令意義:在顯示器上打印指定內容

補充1:Linux操作系統的設計思想

echo(回響)指令向顯示器上打印內容,我們亦可以理解為向顯示器上寫入內容,然后顯示器進行了回顯
在Linux操作系統中,我們將一切軟硬件資源都理解為文件,這樣減少了編碼維護的成本。大部分的硬件都由其的讀寫方法,根據作用不同,有些為空,鍵盤有寫方法,讀方法為空。

補充2:輸入輸出重定向

指令:echo “字符” > [文件]
此條指令的含義為將原本向顯示器輸出的內容,寫入到一個指定文件中(當文件不存在,新建一個文件)

! 輸出重定向操作符> 與輸入重定向操作符<

  1. 使用輸出重定向>向文件寫入內容時,每次寫入都會將文件內的已有內容清空
  2. 在我們想要向文件追加內容而不清空原有內容時,我們應使用追加重定向操作符>>

<2> 指令:cat [文件]

  1. 指令意義:打印文件內容
  2. 指令:cat(從鍵盤中讀取打印,不自帶換行)
    鍵盤文件讀取什么,就像顯示器寫入什么(輸入什么,打印什么)
  3. 指令:cat -n(帶行號的打印)
  4. 指令:cat -s(不輸出多行空行的打印)
  5. 指令:tac [文件](逆向輸出文件內容)
  6. 指令:cat < [文件](從文件中讀取內容打印)
    (聯系C中的fopen函數)

<3> 指令:more [文件] / less [文件]

注:cat只適合查看小文件,當我們需要查看大文件時,我們應使用more/less命令。

  1. 指令:more(通過 Ctrl + Enter鍵換行,Ctrl + C中斷)
  2. 指令:less(可使用上下鍵,輸入跳轉至指定行號,更加靈活,q鍵退出)
  3. 大文件創造命令i=0; while [ $i -le 100000 ]; do echo "hello $i"; let i++; done > file.txt

<4> 指令: head -[行數] [文件] / tail -[行數] [文件]

  1. 指令:head查看前n行的文件內容
  2. 指令:tail查看后n行的文件

補充:獲取大文件指定區間內的內容

讀取[80000, 80010]之間的內容:

  1. 先讀取前80010行的內容創建一個文件,再讀取新建文件的后10行內容。
  2. 命令行通道|(將前一個命令的輸出結果傳輸給下一個命令)
    由此,可以將創建中間文件的步驟優化,實際指令如下:
    head -80010 file.txt | tail -10

2.8 時間相關指令

<1> 指令:date

  1. 指令意義:顯示時間
  2. 補充:(格式化輸出選項)
    <1> date +%Y(輸出年份)
    <2> date +%m(輸出月份)
    <3> date + %d(輸出日期)
    <4> date + %H(輸出小時)
    <5> date + %M(輸出分鐘)
    <6> date + %S(輸出秒數)
    注:格式化輸出選項可進行復合使用
    date +%Y-%m-%d / %H:%M:%S
    (以年-月-日 / 時:分:秒的格式輸出時間,分隔符可以任意替換)
  3. date -d @0
    (返回時間戳,1970年1月1日00:00:00,根據時區略有不同)
  4. 時間在軟件開發,操作系統中的意義:
    因為時間戳的連續性唯一性,其衍生出的使用開發日志,記錄軟件開發的關鍵結點,當項目出現問題時可以輔助程序員進行問題查找

<2> 指令:cal

  1. 指令意義:打印當前月份的日歷
  2. cal [年份](打印指定年份的日歷)
  3. cal -1,cal -3(打印當前一個月的日歷,打印先在往后三個月的日歷)

2.9 查找指令

<1> 指令:find -name [文件名]

注:此指令的指令選項很多,日后慢慢了解學習。

  1. 指令意義:查找當前目錄下所有文件名為文件參數的文件。
    (以深度優先的算法遍歷樹狀結構,初次較慢,其后調用有緩存)

<2> 指令: which [指令]

  1. 指令意義:在系統中查找參數指令的位置

<3> 指令 whereis [關鍵字符]

  1. 指令意義:查找文檔
    (whereis test.*,含test的文檔,文件后綴任意,通配符)

2.10 行文本過濾工具與打包壓縮

<1> 指令:grep ‘字符’ [文件]

  1. 指令意義:篩選出文件存在指定字符的行
  2. grep -i ‘字符’ [文件](忽略字符大小寫篩選)
  3. grep -n ‘字符’ [文件](打印刪選行時標識行號)
  4. grep -v ‘字符’ [文件](篩選出不含指定字符的行)
  5. ps指令,查看進程,ps ajx指令查看所有進程
    ps 指令配合使用可篩選出指定日志等級(error等)的信息
    ps ajx | grep ‘sleep’

<2> 指令:sort [文件]

  1. 指令意義:將文件中的內容按照特定排序規則排序
  2. sort -r [文件] (反向排序)

<3> 指令:uniq [文件]或uniq -u [文件]

  1. 指令意義:將文件相鄰且內容相同的行去重合并
  2. uniq -d [文件](顯示出重復的行)
  3. uniq -c [文件](列出所有行重復的次數)
  4. 補充:wc [文件](統計文件中的字符數)
    wc -l [文件](統計出文件的行數)

補充:sort指令與uniq指令一起使用可以將文件去重(sort [文件] | uniq)

<5> 指令:zip 與 unzip

補充:壓縮與打包
文件項目的打包與壓縮是文件傳輸的常用手段

  1. 打包:將多個文件合并為一個文件,防止文件丟失
  2. 壓縮:通過各種壓縮算法將文件內容減少
    (網絡傳輸更節省時間,不同的壓縮文件有不同的壓縮算法)
  1. 指令:zip [文件.zip] [文件]
  1. 指令意義:將文件壓縮(當目錄不為空是,無法正常將整個目錄壓縮,只能壓縮為一個空目錄)
  2. zip -r [文件.zip] [目錄](遞歸式的將整個目錄壓縮為一個文件)
  1. 指令:unzip [文件.zip] -d [目錄]
  1. 指令意義:將壓縮的文件解壓縮到一個目錄中或解壓縮為一個新目錄

<6> 指令:tar -cxf [文件.tar] [目錄]

  1. 指令意義:(-c創建,-z壓縮,-f檔名)以tar的方式壓縮真個目錄
  2. tar -cvxf [文件.tar] [目錄] (壓縮目錄,顯示過程)
  3. tar -xvzf [文件.tar] -C [目錄](解壓縮文件到指定目錄,顯示過程)(-v 顯示過程)

2.11 補充指令2:

<1> 指令:uname -a

  1. 指令意義:查看系統體系結構
  2. 補充: uname -r
    查看計算機架構(發行版,內存信息等)

<2> 指令:historty

  1. 指令意義:查看登錄開始目前為止輸入過的所有指令

<3> 指令:‘字符提示’ + 雙擊Tab鍵

  1. 指令意義:檢索含提示字符的所有指令

<4> 快捷鍵 Ctrl + C(中斷)快捷鍵 Ctrl + D(直接退出系統)

<5> 指令:shutdown

  1. 指令意義:關機
  2. shudown -t [秒數]
    多少秒后關機
  3. shutdown -h
    立即關機
  4. reboot(直接關機)

<6> 指令:sz [文件]

  1. 指令意義:從Linux操作系統中傳輸文件至windows系統
  2. 安裝指令:yum install -y lrzsz

<7> 補充:Linux系統向另一個Linux系統中傳輸文件

指令:scp [文件.tgz] [用戶]@[公網ip] : [指定目錄]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719605.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719605.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719605.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

22.基于springboot + vue實現的前后端分離-汽車票網上預定系統(項目 + 論文PPT)

項目介紹 系統是一個B/S模式系統&#xff0c;采用Spring Boot框架&#xff0c;MySQL 數據庫設計開發&#xff0c;充分保證系統的穩定性。系統具有界面清晰、操作簡單&#xff0c;功能齊全的特點&#xff0c;使得汽車票網上預訂系統管理工作系統化、規范化。本系統的使用使管理人…

JavaScript作用域及預解析

文章目錄 1. 作用域介紹2. 變量的作用域*3. JS中沒有塊級作用域4. 作用域鏈5. 預解析預解析案例 1. 作用域介紹 全局作用域局部作用域相同的變量名稱在不同的作用域中是不會相互影響的&#xff01; 2. 變量的作用域 全局變量&#xff1a;在全局下都可以使用&#xff1b;局部變…

藍橋杯——外賣店優先級

外賣店優先級 題目分析 這一題一看N&#xff0c;M&#xff0c;T的范圍就知道不能暴力&#xff0c;要討巧&#xff0c;怎么討巧是重點。正常的思路是第一層for循環遍歷訂單&#xff08;或者外賣店&#xff09;&#xff0c;第二層for循環遍歷外賣店&#xff08;或者訂單&#x…

Vue中 computed 和 watch

在Vue框架中&#xff0c;computed和watch都用于響應數據的變化&#xff0c;但它們在使用上有著不同的側重點和機制。具體分析如下&#xff1a; 1. 功能差異 computed是計算屬性&#xff0c;它是基于它們的響應式依賴進行緩存的。只有當依賴的數據發生變化時&#xff0c;compu…

2827. 范圍中美麗整數的數目

文章目錄 題意思路代碼 題意 題目鏈接 思路 按位dp暴力 代碼 // 暴力 class Solution { public:int numberOfBeautifulIntegers(int low, int high, int k) {int l low / k;int r high / k;if (low % k)l;int ans 0;while (l < r){int tmp l * k;if (10 < tmp &…

華為數通方向HCIP-DataCom H12-821題庫(多選題:61-80)

第61題 ACL 可分為如下哪些類別? A.用戶自定義 ACL B.基本 ACL C.二層ACL D.高級ACL 【參考答案】ABCD 【答案解析】 A. 用戶自定義 ACL (User-defined ACL): 這是用戶根據自身需求自定義的 ACL,用于實現特定的訪問控制策略。B.基本 ACL (Standard ACL): 基本 ACL 是基于源 …

OCP Secure boot必要特性

三點必需要求&#xff1a; The platform components must: 1. Provide a mechanism for securely anchoring a root of trust public key. // 提供一種用于安全地錨定信任根公鑰的機制。 2. Verify the device firmware digital signature using the anchored public key /…

北京大學發布,將試錯引入大模型代理學習!

引言&#xff1a;探索語言智能的新邊界 在人工智能的發展歷程中&#xff0c;語言智能始終是一個核心的研究領域。隨著大語言模型&#xff08;LLM&#xff09;的興起&#xff0c;我們對語言智能的理解和應用已經邁入了一個新的階段。這些模型不僅能夠理解和生成自然語言&#x…

動態規劃(四)背包dp

01背包 完全背包 多重背包 二維費用背包 分組背包 混合背包

【算法分析與設計】組合

&#x1f4dd;個人主頁&#xff1a;五敷有你 &#x1f525;系列專欄&#xff1a;算法分析與設計 ??穩中求進&#xff0c;曬太陽 題目 給定兩個整數 n 和 k&#xff0c;返回范圍 [1, n] 中所有可能的 k 個數的組合。 你可以按 任何順序 返回答案。 示例 示例 1&…

25考研習題記錄

3月 湯家鳳《1800》 基礎篇 日期高等數學線性代數概率論3.1 P92-93 P212-214 3.4 P10-15 P10-19 極限題62題 P73-74 P170-172 行列式17題 考研競賽凱哥每日一題 張宇高數30講頁數3.4P74

【計算機學習】-- 電腦的組裝和外設

系列文章目錄 文章目錄 系列文章目錄前言一、電腦的組裝1.CPU2.主板3.顯卡4.硬盤5.內存6.散熱器7.電源8.機箱 二、電腦外設選用1.顯示器2.鼠標3.鍵盤4.音響 總結 前言 一、電腦的組裝 1.CPU 返回目錄 認識CPU CPU&#xff0c;即中央處理器&#xff0c;負責電腦資源的調度安…

計算機網絡-網絡安全(一)

1.網絡安全威脅和漏洞類型&#xff1a; 竊聽 假冒 重放 流量分析 破環完整 病毒 木馬 誹謗 非授權訪問 拒絕服務 漏洞&#xff1a;物理、軟件、不兼容、其他等。 2.網絡安全信息數據五大特征&#xff1a; 完整性&…

【.NET Core】深入理解IO - 讀取器和編寫器

【.NET Core】深入理解IO - 讀取器和編寫器 文章目錄 【.NET Core】深入理解IO - 讀取器和編寫器一、概述二、BinaryReader和BinaryWriter2.1 BinartReader類2.2 BinaryWriter類 三、StreamReader和StreamWriter3.1 StreamReader類3.1 StreamWriter類StreamWriter類構造函數Str…

Leetcode 3072. Distribute Elements Into Two Arrays II

Leetcode 3072. Distribute Elements Into Two Arrays II 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3072. Distribute Elements Into Two Arrays II 1. 解題思路 這一題不太明白為啥被劃分為了hard的題目&#xff0c;我們只需要按照題意構造一下arr1和arr2即可&#xff…

優化自動窗簾系統

要優化自動窗簾系統的代碼&#xff0c;我們可以考慮以下幾個方面&#xff1a; (1)模塊化設計&#xff1a;將不同的功能&#xff08;如讀取光強度、控制窗簾等&#xff09;分解成獨立的函數&#xff0c;以提高代碼的可讀性和可維護性。 (2)錯誤處理&#xff1a;增加錯誤處理機制…

【Vue】探究 Vue 2 與 Vue 3 生命周期:變化與延續

&#x1f497;&#x1f497;&#x1f497;歡迎來到我的博客&#xff0c;你將找到有關如何使用技術解決問題的文章&#xff0c;也會找到某個技術的學習路線。無論你是何種職業&#xff0c;我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章&#xff0c;也歡…

paper-ai :搜索真實文獻并生成引用真實文獻的AI論文

paper-ai &#xff1a;搜索真實文獻并生成引用真實文獻的AI論文。 項目簡介 使用真實文獻最快速完成論文的方法 利用人工智能撰寫論文 人工智能書寫功能&#xff1a;點擊 "AI 寫作 "進行正常對話互動。人工智能將根據您的輸入提供寫作建議或回答問題。 尋找文獻功能…

C/C++工程師面試題(STL篇)

STL 中有哪些常見的容器 STL 中容器分為順序容器、關聯式容器、容器適配器三種類型&#xff0c;三種類型容器特性分別如下&#xff1a; 1. 順序容器 容器并非排序的&#xff0c;元素的插入位置同元素的值無關&#xff0c;包含 vector、deque、list vector&#xff1a;動態數組…

DocxToDoc.java

DocxToDoc.java word高版本docx轉化word2003版本 package word;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagrap…