Linux(1)|入門的開始:Linux基本指令

一、淺談操作系統

1、操作系統是什么?

操作系統是一款做軟硬件管理的軟件

我們可以發現除了上面的應用軟件,操作系統、設備驅動和硬件都是為軟硬件服務的,為了滿足用戶的不同需求,在操作系統之上需要有各種不同的應用軟件。

2、一個好的操作系統衡量標準是什么?

假如你是用戶,在你進行各種操作的時候,一會系統崩潰藍屏了,響應操作一會卡頓,一會正常的,你肯定下次不會再考慮使用了,所以操作系統的穩定是其中的一個標準;當我們正準備和朋友來一場激情的雙人大戰時,電腦開機的速度十分龜速,但好在成功開機了,正興致沖沖的點開游戲時,發現鼠標怎么點擊也沒有反應,等到右下角彈起鼠標驅動程序加載完成,鼠標這才有了反應,由此一個操作系統的速度快不快也是標準之一;在網絡時代,我們對于自己的隱私是及其關注的,如果一個操作系統連最基本的安全都做不到,那就很難有人使用了。

所以穩定、速度、安全是衡量操作系統是否良好的標準。

3、為什么要有操作系統?

操作系統的核心工作:通過對下管理好軟硬件資源的手段,達到對上提供良好的(穩定、速度、安全)的操作環境/使用環境

4、如何理解我們在計算機上的所有操作?

例如我們c語言的printf->將內容打印到顯示屏上

c語言文件操作->對磁盤文件的讀寫操作等等

我們能發現我們在計算機上的所有行為都會轉換成硬件行為!

我們所有的行為,全部都要自上而下貫穿計算機的軟硬件結構。

這種自上而下打個生動形象的比方,硬件就像下面的“牛馬”程序員,設備驅動就像項目經理,管理和分配任務,給我們下面的“牛馬”程序員,而操作系統像是我們的大boos,評判和決策項目,將指標丟給我們項目經理也就是設備驅動。

因此,我們也能推斷出幾乎我們的所有行為,未來都和操作系統直接或間接相關!

5、Linux操作系統和windows操作系統

Linux操作系統的特點:純命令行,當然Linux也有圖形化界面,不過早期Linux都是科研人員、專業人員使用的;windows操作系統的特點:圖形化界面,為了用戶的使用體驗,比起一行行命令行,清晰可視化的圖像化界面無疑更加,不過我們仍然可以通過win+R,輸入cmd打開windows的命令行終端。無論是指令還是圖形化界面,本質其實都是相同的。

6、是先有指令,還是現有圖形化界面?是先有鍵盤,還是現有鼠標?為什么?

第一個問題肯定是現有指令,后有圖形化界面。鍵盤和鼠標誰先出現呢?通過指令和圖形化界面的順序我們能推斷出鍵盤肯定是先出現的,為什么呢?首先早期計算機是關注輸入和輸出的,鍵盤硬件的出現,實現了計算機的輸入。可能大家都曾好奇過,為什么鍵盤的排列順序這么奇怪,而鍵盤的前身正是沿用老式打字機排版。鼠標的出現為圖形化界面帶來實際意義,如果沒有鼠標的點擊,圖形化界面,就發揮不了原本的功能。

二、部分基本指令和知識的補充

1、ls指令

語法:ls空格[選項]空格[目錄或文件]

功能:對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息

?常見選項:

-l:列出文件的詳細信息
[xzx@instance-157t533k ~]$ mkdir dir1
[xzx@instance-157t533k ~]$ mkdir dir2
[xzx@instance-157t533k ~]$ mkdir text.txt
[xzx@instance-157t533k ~]$ ls -l
total 12
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:39 dir1
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 dir2
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 text.txt

我們通過mkdir新建目錄,dir1、dir2和test.txt,通過ls -l,我們能看到目錄的名字,目錄的最近一次修改時間,目錄的內存大小

[xzx@instance-157t533k ~]$ ls
dir1  dir2  text.txt

而我們單獨使用ls只會列出該目錄下的所有子目錄與文件

同時我們的ls -l 是等價于ll的

[xzx@instance-157t533k ~]$ ls -l
total 12
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:39 dir1
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 dir2
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 text.txt
[xzx@instance-157t533k ~]$ ll
total 12
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:39 dir1
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 dir2
drwxrwxr-x 2 xzx xzx 4096 Aug 30 11:40 text.txt

可以看到兩次的結果是相同的,所以在日常使用中可以簡寫命名行

-a:列出目錄下的所有文件,包括以.開頭的隱含文件、
[xzx@instance-157t533k ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  dir1  dir2  text.txt

此時能看到與之前ls展示的文件相比,多出了以.開頭的文件和.、..這兩個文件(后面在單獨解釋)

我們的-l -a可以一起使用,并且-l -a 等價與-al等價與-la

[xzx@instance-157t533k ~]$ ls -a -l
total 44
drwx------  7 xzx  xzx  4096 Aug 30 11:40 .
drwxr-xr-x. 3 root root 4096 Aug 29 19:42 ..
-rw-------  1 xzx  xzx   216 Aug 30 11:53 .bash_history
-rw-r--r--  1 xzx  xzx    18 Nov 25  2021 .bash_logout
-rw-r--r--  1 xzx  xzx   193 Nov 25  2021 .bash_profile
-rw-r--r--  1 xzx  xzx   231 Nov 25  2021 .bashrc
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .cache
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .config
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:39 dir1
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 dir2
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 text.txt
[xzx@instance-157t533k ~]$ ls -al
total 44
drwx------  7 xzx  xzx  4096 Aug 30 11:40 .
drwxr-xr-x. 3 root root 4096 Aug 29 19:42 ..
-rw-------  1 xzx  xzx   237 Aug 30 11:58 .bash_history
-rw-r--r--  1 xzx  xzx    18 Nov 25  2021 .bash_logout
-rw-r--r--  1 xzx  xzx   193 Nov 25  2021 .bash_profile
-rw-r--r--  1 xzx  xzx   231 Nov 25  2021 .bashrc
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .cache
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .config
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:39 dir1
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 dir2
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 text.txt
[xzx@instance-157t533k ~]$ ls -la
total 44
drwx------  7 xzx  xzx  4096 Aug 30 11:40 .
drwxr-xr-x. 3 root root 4096 Aug 29 19:42 ..
-rw-------  1 xzx  xzx   256 Aug 30 11:58 .bash_history
-rw-r--r--  1 xzx  xzx    18 Nov 25  2021 .bash_logout
-rw-r--r--  1 xzx  xzx   193 Nov 25  2021 .bash_profile
-rw-r--r--  1 xzx  xzx   231 Nov 25  2021 .bashrc
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .cache
drwxrwxr-x  3 xzx  xzx  4096 Aug 29 16:24 .config
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:39 dir1
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 dir2
drwxrwxr-x  2 xzx  xzx  4096 Aug 30 11:40 text.txt

-al或者-la或者-l -a:列出所有文件,包括隱藏文件的詳細信息

文件類型:以d開頭:是一個目錄,以-開頭:是一個普通文件

-d:將目錄像文件一樣顯示,而不是顯示其下的文件
[xzx@instance-157t533k ~]$ ls
dir1  dir2  text.txt
[xzx@instance-157t533k ~]$ ls -dl
drwx------ 7 xzx xzx 4096 Aug 30 11:40 .

我們的ls展示當前目錄下我們的子目錄,但我們想要知道我們當前目錄的詳細信息,則可以通過-d -l或者-dl,得到當前目錄的詳細信息

-F:在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表 示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。(目錄類型識別)
[xzx@instance-157t533k ~]$ ls -aF
./   .bash_history  .bash_profile  .cache/   dir1/  text.txt/
../  .bash_logout   .bashrc        .config/  dir2/

2、pwd指令

語法:pwd

功能:顯示用戶當前所在的目錄

常用選項:無

[xzx@instance-157t533k ~]$ cd dir1
[xzx@instance-157t533k dir1]$ pwd
/home/xzx/dir1
[xzx@instance-157t533k dir1]$ mkdir dirr1
[xzx@instance-157t533k dir1]$ cd dirr1
[xzx@instance-157t533k dirr1]$ pwd
/home/xzx/dir1/dirr1

我們通過cd進入到dirr1,pwd打印的結果也證明了我們進入到dirr1目錄中

這里展示的路徑由“/”分割,所以“/”又叫做路徑分隔符

一個目錄里面可以放多個目錄或者普通文件嗎?可以的

由此我們能推斷出Linux的整個目錄結構:一定是一個多叉樹的樣子

Linux的目錄結構整體是一個多叉樹,它的葉子節點一定是空目錄或者非目錄文件,路上節點一定是分空目錄

所以我們所有的對文件或者目錄的增刪查改,本質都是對這顆多叉樹的增刪查改

.和..是什么?

Linux下任何一個目錄下面都有兩個隱藏文件.和..

.:表示當前路徑

通過pwd:顯示當前命令行操作時所處的目錄。超級用戶/root...,普通用戶/home/名字

[xzx@instance-157t533k dir1]$ pwd
/home/xzx/dir1
[xzx@instance-157t533k dir1]$ cd .
[xzx@instance-157t533k dir1]$ pwd
/home/xzx/dir1

這里使用普通用戶演示,cd:進入目錄,我們先pwd查看自己當前所在目錄,cd .后繼續pwd,發現我們所處目錄未改變

而.存在的意義:幫助用戶定位當前目錄下的一個文件

..:表示當前路徑的上級路徑
[xzx@instance-157t533k 8_30]$ cd test
[xzx@instance-157t533k test]$ pwd
/home/xzx/8_30/test
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 8_30]$ pwd
/home/xzx/8_30

我們通過cd進入test目錄,pwd顯示當前所在目錄。cd ..后再pwd,可以看到我們退回到了8_30這個目錄

借用上面的示例圖,我們如何找到test.c這個文件呢?

很明顯就像一條路線一樣,從/->home->bit->test.c,所以我們定位一個文件,通常用路徑來進行定位,而路徑定位則需要確保唯一性

為什么路徑定位具有唯一性?

對于任何一個節點都只有一個父節點,由子到父的順序是唯一,所以路徑定位具有唯一性

路徑的分類

1、絕對路徑

對于/home/bit/test.c,這樣從根目錄(/)開始定位到指定位置,具有唯一的路徑,稱之為絕對路徑

2、相對路徑

假如我們的lin路徑下有一個c++.txt的文件,而我們當前所在目錄為/usr/bin,我們從bin到c++.txt,只需要../lin/c++.txt即可,而這種以當前所處的路徑為起始參考位置,來進行特定文件的定位,這種路徑稱為:相對路徑

相對路徑的缺點:當所處的路徑發生變化,可能會導致相對路徑發生變化

我們該怎么使用?

1、絕對路徑往往比較長,但是能保證不變,一般在固定場景配置文件中使用

2、一般命令行輸入,比較常用相對路徑

3、cd指令

語法:cd空格目錄名

功能:改變工作目錄。將當前工作目錄改變到指定的目錄下

常見選項:

1、cd ..:返回上級路徑
[xzx@instance-157t533k 8_30]$ cd test
[xzx@instance-157t533k test]$ pwd
/home/xzx/8_30/test
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 8_30]$ pwd
/home/xzx/8_30
2、cd /home/zhangsan/Linux/:絕對路徑
3、cd ../lisi/Linux/:相對路徑
4、cd ~:進入用戶的家目錄
[xzx@instance-157t533k 8_30]$ pwd
/home/xzx/8_30
[xzx@instance-157t533k 8_30]$ cd ~
[xzx@instance-157t533k ~]$ pwd
/home/xzx
家目錄的區別:root用戶的家目錄是/root,普通用戶的家目錄是/home/xxx這里xxx代表用戶的名字
5、cd -:返回最近(上一次)訪問的目錄
[xzx@instance-157t533k 8_30]$ pwd
/home/xzx/8_30
[xzx@instance-157t533k 8_30]$ cd test
[xzx@instance-157t533k test]$ pwd
/home/xzx/8_30/test
[xzx@instance-157t533k test]$ cd -
/home/xzx/8_30

4、touch指令

語法:touch空格[選項]...文件...

功能:touch命令參數可更改文檔或者目錄的日期時間,包括存取時間和更改時間,或者建立一個不存在的文件

常見選項:

touch空格+文件名:創建一個普通文件
[xzx@instance-157t533k 8_30]$ touch data.txt
[xzx@instance-157t533k 8_30]$ ll
total 192
-rw-rw-r-- 1 xzx xzx      0 Aug 30 22:53 data.txt
-rw-rw-r-- 1 xzx xzx 168894 Aug 30 19:55 log.txt
-rw-rw-r-- 1 xzx xzx  16233 Aug 30 20:44 temp.txt
drwxrwxr-x 2 xzx xzx   4096 Aug 30 22:01 test
-rw-rw-r-- 1 xzx xzx    133 Aug 30 18:51 test.c

5、mkdir指令

語法:mkdir空格[選項]dirname...

功能:在當前目錄下創建一個名為“dirname”的目錄

常用選項:

[xzx@instance-157t533k 8_30]$ mkdir d1
[xzx@instance-157t533k 8_30]$ cd d1
[xzx@instance-157t533k d1]$ mkdir d2
[xzx@instance-157t533k d1]$ cd d2
[xzx@instance-157t533k d2]$ mkdir d3
[xzx@instance-157t533k d2]$ cd d3
[xzx@instance-157t533k d3]$ pwd
/home/xzx/8_30/d1/d2/d3

我們想要創建d1/d2/d3這樣的路徑,如果這樣一層一層的創建,顯然十分麻煩,此時-p排上用場

-p:-p,-parents可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄
[xzx@instance-157t533k 8_30]$ mkdir -p d11/d22/d33
[xzx@instance-157t533k 8_30]$ tree
.
├── d1
│?? └── d2
│??     └── d3
├── d11
│?? └── d22
│??     └── d33
├── data.txt
├── log.txt
├── temp.txt
├── test
└── test.c

通過mkdir -p d11/d22/d33,一次性創立出一整條路經,對于這種樹形展示當前目錄和文件,下面會單獨介紹

樹形展示

1、xshell是沒有自帶的,我們輸入tree指令沒有反應

2、需要一個root賬號

3、輸入 yum install -y tree 回車后,系統自動開始安裝

結尾

到這里,關于操作系統的基礎認知和 Linux 核心指令的分享就暫告一段落了。從理解操作系統如何充當軟硬件的 “中間人”,到親手用指令操控文件與目錄,其實我們每一次輸入命令、查看結果的過程,都是在和計算機的底層邏輯對話。

這些基礎指令看似簡單,卻是玩轉 Linux 的第一步 —— 后續無論是處理文件、管理進程,還是搭建服務,都離不開這些 “基本功”。如果剛開始記不住所有選項也沒關系,多動手嘗試ls -l看文件詳情、用cd ..回退目錄、拿mkdir -p創建層級路徑,慢慢就會形成肌肉記憶。

操作系統的世界遠不止這些,還有更多底層原理和實用技巧等著探索。希望這篇內容能幫你推開大門,接下來就帶著好奇心,繼續在指令行里 “折騰” 吧!

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

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

相關文章

基于STM32單片機的OneNet物聯網云平臺農業土壤濕度控制系統

1 系統功能介紹 本設計為 基于STM32單片機的OneNet物聯網云平臺農業土壤濕度控制系統。系統以STM32F103C8T6單片機作為核心控制器,結合土壤濕度傳感器、OLED液晶顯示模塊、WiFi模塊、繼電器驅動電路以及按鍵電路,實現了土壤濕度的實時采集、顯示與遠程控…

GooglePlay提審問題記錄

1、debug簽名問題 原因: 為應用簽名 | Android Studio | Android Developers 從 IDE 中運行或調試您的項目時,Android Studio 會自動使用由 Android SDK 工具生成的調試證書為您的應用簽名。當您首次在 Android Studio 中運行或調試項目時&#xff…

使用Rag 命中用戶feedback提升triage agent 準確率

簡述使用 RAG(Retrieval-Augmented Generation),提升 Triage Agent 對用戶反饋的處理準確率。這個方案的背景源于當前系統服務多個租戶,各租戶在業務場景、問題描述方式、術語使用習慣等方面存在極大差異,導致通用模型…

項目管理方法論有哪些流派

項目管理方法論的主要流派包括:瀑布式方法論、敏捷方法論、Scrum方法論、看板方法論、關鍵路徑法(CPM)、計劃評審技術(PERT)、掙值管理(EVM)、精益項目管理、六西格瑪、PRINCE2方法論。瀑布式方…

Python遠程文件管理高并發處理與負載均衡實戰

《Python遠程文件管理高并發處理與負載均衡實戰》 引言 在5G網絡和物聯網時代,單臺服務器每秒處理上萬并發請求已成為基本要求。本文基于Python異步編程框架和分布式架構,深入探討如何構建支持10萬+并發連接的遠程文件管理系統。通過實戰案例演示,系統在某省級政務云平臺實…

第十七章 Java基礎-常用API-System

文章目錄 package zsk.第十三章常用API.a02system;public

uniapp開發 移動端使用字符串替換注意事項

1. uniapp開發 移動端使用replace注意事項uniapp replaceAll方式在手機失效是因為安卓環境下不支持replaceAll方法。在uniapp開發中,如果在安卓環境下使用replaceAll方法,可能會導致頁面無法渲染,并且控制臺不會反饋錯誤信息。為了解決這個問…

【動態規劃 矩陣快速冪】P10528 [XJTUPC 2024] 崩壞:星穹鐵道|普及+

本文涉及知識點 C動態規劃 【矩陣快速冪】封裝類及測試用例及樣例 P10528 [XJTUPC 2024] 崩壞:星穹鐵道 題目背景 Corycle 喜歡玩一個由米哈游自主研發的一款回合制戰斗游戲------《崩壞:星穹鐵道》。這片銀河中有名為「星神」的存在,他們…

撿撿java——2、基礎07

Maven項目管理工具 maven項目->本地倉庫->判斷配置文件->沒指定->遠程倉庫-》本地倉庫 ->指定了->鏡像倉庫-》本地倉庫 GroupId:一般是逆向公司域名 ArtifactId:一般是項目jar名 Version:版本號 maven目錄里面conf&…

蜂窩通信模組OpenCPU的介紹

一、名詞解釋 OpenCPU 方案在軟件功能上,需要將原來在 MCU 上運行的固件功能,放在 Cat.1 模組的 SoC 芯片上運行。同時,原來通過串口協議交互完成的功能,也變成通過 OpenAPI 調用的方式來完成。軟件開發、編譯及燒錄方面&#xff…

沃豐科技出海客服系統對接沃爾瑪全球電商平臺,賦能中企出海

經濟全球化的當下,中國企業出海步伐不斷加快,沃爾瑪全球電商平臺作為全球極具影響力的零售渠道,成為眾多中企開拓國際市場的重要選擇。然而,跨境服務的復雜性、多語言溝通障礙、文化差異以及各行業的獨特需求,始終是中…

Spring Boot 整合 SSE, http長連接

1. 什么是 SSE? (30秒)SSE (Server-Sent Events) 是一種允許服務器通過 HTTP 連接主動向客戶端發送實時更新的技術。特點:基于 HTTP,使用簡單,單向通信(服務器 -> 客戶端),自動重連。對比 We…

類和反射的機制

一、類1.類的生命周期1. 類的編譯:通過 javac 命令將 .java 源文件編譯成 .class 字節碼文件。 2. 類的加載:類加載器(ClassLoader)將 .class 文件從硬盤加載到內存,形成“類對象”,包括加載、鏈接、初始化…

【論文筆記】VGGT-從2D感知3D:pose估計+稠密重建+點跟蹤

VGG組聯合Meta改進了dust3r,輸入圖片,輸出對應的一系列3D屬性,被CVPR2025收錄!1.abstract我們提出了VGGT,一種前饋神經網絡,能夠直接從場景的一個、幾個或數百個視角推斷出所有關鍵的3D屬性,包括…

idea2025.2中maven編譯中文亂碼

問題描述:使用idea2025.2編譯器中maven編譯java文件后中文出現亂碼情況解決方案:添加指令: JAVA_TOOL_OPTIONS-Dfile.encodingUTF-8 在下圖位置注意:再次編譯時,可以在原本文件中小范圍修改一點內容(打個…

【適度精簡】Windows 7 旗艦版-emmy精簡系統

Windows 7旗艦版曾是非常受歡迎的操作系統,但隨著時間推移和技術發展,其在一些場景下暴露出了諸多問題,適度精簡的Windows 7旗艦版正是為解決這些問題而出現,以下是從用戶軟件痛點角度對其背景和作用的分析。 添加圖片注釋&#x…

數據分析編程第七步:分析與預測

7.1 銷售趨勢分析利用歷史銷售數據統計月銷售額,計算季節化因子,獲取去季節化銷售數據,然后進行線性擬合,最后預測接下來的某個月的銷售額。第一步:讀數,統計月銷售額A1file(“sales.csv”).importtc(order…

【web3】十分鐘了解web3是什么?

十分鐘了解web3是什么?Web3的核心概念區塊鏈與去中心化智能合約加密貨幣與代幣去中心化應用(DApps)錢包與身份驗證DAO(去中心化自治組織)Web3 國內產品Web3 國際產品Web3 基礎設施Web3 應用場景技術實現特點挑戰與未來Web3的核心…

聯合體和枚舉——嵌入式學習筆記

目錄 前言 一、聯合體(共用體) 1、基本概念 2、初始化和引用 (1)初始化 (2)引用 二、枚舉 前言 在C語言的編程世界中,我們早已熟悉了結構體struct這種能將不同數據類型捆綁在一起的“打包…

SRE命令行兵器譜之思想篇:像SRE一樣思考——命令行不只是工具,更是你的戰友

SRE命令行兵器譜之思想篇:像SRE一樣思考——命令行不只是工具,更是你的戰友 歡迎來到《SRE命令行兵器譜》系列。在深入研究 grep, lsof, tcpdump 這些強大“兵器”的細節之前,我們必須先回答一個更重要的問題: 一個SRE(網站可靠性工程師)在黑色的終端窗口前,腦子里想的…