python高階-Linux基礎命令集

来源:https://www.cnblogs.com/xbhog/archive/2020/06/28/13201547.html

聲明: 1)僅作為個人學習,如有冒犯,告知速刪! 2)不想誤導,如有錯誤,不吝指教! 1: 查看文件信息:ls ls常用參數: 參數含義 -a 顯示指定目錄下所有子目錄與文件,包括隱藏文件 -l 以列表方式顯示文件的詳細信息 -h 配合 -l 以人性化的方式顯示文件大小 註:也可以ls -lh組合 ...


聲明:

   1)僅作為個人學習,如有冒犯,告知速刪!
   2)不想誤導,如有錯誤,不吝指教!

 

1: 查看文件信息:ls

ls常用參數:
參數含義
-a 顯示指定目錄下所有子目錄與文件,包括隱藏文件
-l 以列表方式顯示文件的詳細信息
-h 配合 -l 以人性化的方式顯示文件大小
註:也可以ls -lh組合

 

2:清屏:clear

clear作用為清除終端上的顯示(類似於DOS的cls清屏功能)。

 

3:切換工作目錄: cd

cd後面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則預設切換到當前用戶的主目錄。

 

命令含義
cd 切換到當前用戶的主目錄(/home/用戶目錄),用戶登陸的時候,預設的目錄就是用戶的主目錄。
cd ~ 切換到當前用戶的主目錄(/home/用戶目錄)
cd . 切換到當前目錄
cd .. 切換到上級目錄
cd - 可進入上次所在的目錄
註意:如果路徑是從根路徑開始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進入某個目錄里的文件夾,前面不用加 “ / ”

 

4:顯示當前路徑:pwd

 

5:創建目錄:mkdir

通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。

 

6:刪除文件:rm

常用參數及含義如下表所示:
參數含義
-i 以進行互動式方式執行
-f 強制刪除,忽略不存在的文件,無需提示
-r 遞歸地刪除目錄下的內容,刪除文件夾時必須加此參數

7:拷貝:cp

常用選項說明:
選項含義
-a 該選項通常在複製目錄時使用,它保留鏈接、文件屬性,並遞歸地複製目錄,簡單而言,保持文件原有屬性。
-f 已經存在的目標文件而不提示
-i 互動式複製,在覆蓋目標文件之前將給出提示要求用戶確認
-r 若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的所有子目錄和文件,目標文件必須為一個目錄名。
-v 顯示拷貝進度

 

8:mv:移動、重命名

用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
選項含義
-f 禁止互動式操作,如有覆蓋也不會給出提示
-i 確認交互方式操作,如果mv操作將導致對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以避免誤覆蓋文件
-v 顯示移動進度
mv 文件名 文件名----->重命名
mv 文件 文件夾 ----->將文件移到文件夾

 

9:創建文件: touch xxx.尾碼名

 

10:輸出重定向命令:>

如:ls > test.txt ( test.txt 如果不存在,則創建,存在則覆蓋其內容 )
註意: >輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。

 

11:分屏顯示:more

查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。

12:管道:|

管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這裡“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。

 

13:建立鏈接文件:ln

Linux鏈接文件類似於Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁碟空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。

 

使用格式:
ln 源文件 鏈接文件
ln -s 源文件 鏈接文件
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬碟空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。

硬鏈接,修改一個文件,多個硬鏈接內容都變;硬鏈接是同一個文件內容,但是有多個文件名

 

註意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。

14:查看或者合併文件內容:cat

cat可查看文件、擦看絕對路徑下的文件內容,也可把兩個文件的內容都重定向到一個文件中

>表示:先清空,在再添加,>>表示:直接添加

 

15:文本搜索:grep

grep允許對文本文件進行模式查找。如果找到匹配模式, grep列印包含模式的所有行。

 

grep一般格式為:

grep [-選項] ‘搜索內容串’文件名

在grep命令中輸入字元串參數時,最好引號或雙引號括起來。

例如:

grep 'a' hello.txt

常用選項說明:

選項含義
-v 顯示不包含匹配文本的所有行(相當於求反)
-n 顯示匹配行及行號
-i 忽略大小寫
進階:

grep常用正則表達式:

參數含義
^a 行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt
ke$ 行尾,搜尋以 ke 結束的行;grep -n 'ke$' 1.txt
[Ss]igna[Ll] 匹配 [] 里中一系列字元中的一個;搜尋匹配單詞signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt
. (點)匹配一個非換行符的字元;匹配 e 和 e 之間有任意一個字元,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

 

16:查找文件:find常用用法:

命令含義
find ./ -name test.sh 查找當前目錄下所有名為test.sh的文件
find ./ -name '*.sh' 查找當前目錄下所有尾碼為.sh的文件
find ./ -name "[A-Z]*" 查找當前目錄下所有以大寫字母開頭的文件
find /tmp -size 2M 查找在/tmp 目錄下等於2M的文件
find /tmp -size +2M 查找在/tmp 目錄下大於2M的文件
find /tmp -size -2M 查找在/tmp 目錄下小於2M的文件
find ./ -size +4k -size -5M 查找當前目錄下大於4k,小於5M的文件
find ./ -perm 777 查找當前目錄下許可權為 777 的文件或目錄

 

17:歸檔管理:tar

tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢複數據。

 

tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可以使用“-”,也可以不使用。

 

常用參數:

參數含義
-c 生成檔案文件,創建打包文件
-v 列出歸檔解檔的詳細過程,顯示進度
-f 指定檔案文件名稱,f後面一定是.tar文件,所以必須放選項最後
-t 列出檔案中包含的文件
-x 解開檔案文件
註意:除了f需要放在參數的最後,其它參數的順序任意。

 

20:文件壓縮解壓:gzip

tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz。

 

gzip使用格式如下:

gzip  [選項]  被壓縮文件

常用選項:

選項含義
-d 解壓
-r 壓縮所有子目錄

解壓用法: tar zxvf 壓縮包包名

-z:指定壓縮包的格式為:file.tar.gz
解壓到指定目錄:-C (大寫字母“C”)

 

21:文件壓縮解壓:bzip2

tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz2。

 

在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
  1. 壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)

  1. 解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)

 

22:查看命令位置:which

找到就顯示命令的路徑,沒找到無顯示無報錯。

 

23:修改文件許可權:chmod

chmod 修改文件許可權有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ]含義
u user 表示該文件的所有者
g group 表示與該文件的所有者屬於同一組( group )者,即用戶組
o other 表示其他以外的人
a all 表示這三者皆是
[ +-= ]含義
+ 增加許可權
- 撤銷許可權
= 設定許可權
rwx含義
r read 表示可讀取,對於一個目錄,如果沒有r許可權,那麼就意味著不能通過ls查看這個目錄的內容。
w write 表示可寫入,對於一個目錄,如果沒有w許可權,那麼就意味著不能在目錄下創建新的文件。
x excute 表示可執行,對於一個目錄,如果沒有x許可權,那麼就意味著不能通過cd進入這個目錄。
如果需要同時進行設定擁有者、同組者以及其他人的許可權,參考如下:
  1. chmod u=rw,g=x,o=r xx.尾碼

  1. chmod u=,g=,o= xx.尾碼

 

數字法:“rwx” 這些許可權也可以用數字來代替:
字母說明
r 讀取許可權,數字代號為 "4"
w 寫入許可權,數字代號為 "2"
x 執行許可權,數字代號為 "1"
- 不具任何許可權,數字代號為 "0"

 

24:切換到管理員賬號

sudo -s ----/切換root
whoami----顯示當前用戶

 

25:設置用戶密碼:passwd

在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶密碼。用戶也可以直接使用該命令來修改自己的密碼,而無需在命令後面使用用戶名。
例子:sudo passwd xxxxxxx

 

26:退出登錄賬戶: exit

  • 如果是圖形界面,退出當前終端;

  • 如果是使用ssh遠程登錄,退出登陸賬戶;

  • 如果是切換後的登陸用戶,退出則返回上一個登陸賬號。

 

27:查看登錄用戶:who

who命令用於查看當前所有登錄系統的用戶信息。

常用選項:

選項含義
-q或--count 只顯示用戶的登錄賬號和登錄用戶的數量
-u或--heading 顯示列標題

 

28:關機重啟:reboot、shutdown、init

命令含義
reboot 重新啟動操作系統
shutdown –r now 重新啟動操作系統,shutdown會給別的用戶提示
shutdown -h now 立刻關機,其中now相當於時間為0的狀態
shutdown -h 20:25 系統在今天的20:25 會關機
shutdown -h +10 系統再過十分鐘後自動關機

 

今日好句:

  • 改變心態只需一分鐘,而這一分鐘卻能改變一整天。

                                            --赫伯特·斯賓塞

希望各位有所收穫。


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

更多相關文章
  • 北斗網路時鐘伺服器是能夠以北斗衛星信號為時間基準,以UTC時間為標準時間信息,並通過NTP網路輸出時間進行授時的時間伺服器。北斗網路時鐘伺服器利用NTP網路時間協議進行校時,所以它的授時精準可靠已被多種行業所使用。 由於現在很多終端授時設備大多數都是接收網路時間信息的,再加上用戶要求以北斗衛星信號為 ...
  • sntp時間伺服器是指運用一種簡單的網路時間協議進行時間同步的。sntp網路協議是由NTP網路時間協議改編而來的,NTP網路時間協議它是同步電腦的協議。所以在授時方面sntp時間伺服器也可以達到NTP時間伺服器同樣的功能。 sntp時間伺服器以衛星時間信號為時間基準,並輸出UTC國際標準時間信息。 ...
  • 網路校時伺服器是指時間伺服器接收衛星時間信息,並輸出NTP網路輸出時間信息,再傳送給需要時間的終端設備,實現對終端設備的校時。NTP是指網路時間協議能同步網路中各個電腦的時間的協議,它可以給電腦和其它網路設備提供時間信息。 網路校時伺服器能接收衛星信號CDMA信號為時間基準,以UTC世界協調時為 ...
  • ubuntu sever 20.04 LTS, linux-image-5.4.0-39-generic 七彩虹 C.Q1900M集成主板、SIS P240固態硬碟、航嘉 HK400電源 Question :在重新給主板上電時,發生強電火花閃爍,重新啟動系統提示 **內核不同步:致命異常 ** ke ...
  • Vulnhub簡介 Vulnhub是一個提供各種漏洞環境的靶場平臺,供安全愛好者學習滲透使用,大部分環境是做好的虛擬機鏡像文件,鏡像預先設計了多種漏洞,需要使用VMware或者VirtualBox運行。每個鏡像會有破解的目標,大多是Boot2root,從啟動虛機到獲取操作系統的root許可權和查看fl ...
  • 今天準備在 ubuntu 伺服器裡面安裝 nodejs 版本,ubuntu 18.04 倉庫 nodejs 預設是 8.x 版本。 1. 通過 apt 安裝 nodejs 在 Ubuntu 18.04 的預設倉庫包含了一個 Node.js 的版本,截至當前,該倉庫的 node.js 版本是 8.10 ...
  • 痞子衡的技術交流群里經常有群友提問: i.MXRT中的FlexSPI驅動API到底怎麼用啊?這個問題已經出現過好幾次了,本來痞子衡不打算專門為這個寫文章的,因為這部分內容在晶元手冊System Boot章節里的最後一節ROM APIs里其實介紹得非常詳細了,但是既然還是有不少朋友在問這個,看起來手冊... ...
  • 1、拉取鏡像命令 docker pull php:7.2.0-cli-alpine 2、啟動容器並執行命令 docker run -it --name php-cli php:7.2.0-cli-alpine php -m 3、查看container 列表命令 docker ps 4、刪除某一con ...
一周排行
  • 本次課程就正式進入開發部分。 首先我們先搭建項目框架,還是和之前漸進式風格保持一致,除必備組件外,儘量使用原生功能以方便大家理解。 開發工具:vs 2019 或以上 資料庫:SQL SERVER 2017 或以上 其他需要用到的我們在項目過程中再提。 一、新建 MVC項目 1、打開VS 2019,C ...
  • 一.背景說明: 之前分享過一個微服務開發框架, “享一個集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo+SkyWalking的微服務開發框架”,前兩天在Github上收到一個Issues,是想我 ...
  • 前言 Http我們都已經耳熟能詳了,而關於Http學習的文章網上有很多,各個知識點的講解也可說是深入淺出。然而,學習過後,我們對Http還是一知半解。問題出在了哪? Http是一個客戶機與伺服器之間的通信的協議,真的想學習Http,就必須把客戶機和伺服器也學了,也就是說,必須立體的學習,不然我們永遠 ...
  • 本人製作的這個 “簡易日誌 (SimpleLogger)” 包裡面包含的代碼邏輯,最開始也就是簡單地寫入文本,後來經過實際使用的演化,做了各種優化,添加了一些實用的特性,感覺用著還不錯。正所謂獨樂樂不如眾樂樂,於是將其打包上傳到微軟的包管理庫 NuGet 中,大家可以使用試試,相互交流。 ...
  • 1.需求示意圖 2.需求描述 原本是為了給做unity3d客戶端開發的同事提供不定時的消息推送,比如商城購買道具後服務端將道具信息推送給客戶端。 本篇文章簡化理解,用“相關部門開展活動,向全市人民徵集社會服務改善意見”為例子。但核心想法一致:單向推送(指這個需求上只需要單向)。所以這個功能並不是聊天 ...
  • 找到項目中ServiceStack.Text.dll文件的版本,比如我的版本是5.0.0,到GitHub上下載對應的源碼(https://github.com/ServiceStack/ServiceStack.Text/tags) 打開解決方案,重新生成ServiceStack.Text項目,如果 ...
  • 前言 上一篇文章主要介紹了IL的概念以及基礎的示例代碼,在這一篇文章中我們將通過對象調用看IL。 創建對象與調用方法 class Program { static void Main(string[] args) { var obj = new MyClass(); Console.WriteLin ...
  • abp版本5.9 概述 數據遷移無非就是兩件事情,1、創建資料庫,並根據實體創建對應的表;2、添加一些初始數據 abp的數據遷移也是完成這兩件事,比較特殊的是它是多租戶saas系統,而且支持不同的租戶有獨立的資料庫。所以abp中的遷移要先遷移戶主Host,再遷移租戶Tenant的資料庫 它的遷移定義 ...
  • 本文屬於OData系列 目錄 武裝你的WEBAPI-OData入門 武裝你的WEBAPI-OData便捷查詢 武裝你的WEBAPI-OData分頁查詢 武裝你的WEBAPI-OData資源更新Delta 武裝你的WEBAPI-OData之EDM 武裝你的WEBAPI-OData常見問題 武裝你的WE ...
  • 前言 面試總是會被問到有沒有用過分散式鎖、redis 鎖,大部分讀者平時很少接觸到,所以只能很無奈的回答 “沒有”。本文通過 Spring Boot 整合 redisson 來實現分散式鎖,並結合 demo 測試結果。 首先看下大佬總結的圖 正文 添加依賴 <!--redis--> <depende ...