Linux常用的20個命令(上)

来源:https://www.cnblogs.com/Wayne123/archive/2023/03/07/17188214.html
-Advertisement-
Play Games

無論你是後端程式員還是前端程式員,都避免不了和Linux打交道。Linux的命令有很多,這裡僅介紹常用的20個,方便快速查看,也歡迎大家作補充。 1.mkdir 命令 make directories的縮寫,用來創建目錄創建目錄 語法格式 : mkdir [參數] [目錄] 常用參數: | 參數 | ...


無論你是後端程式員還是前端程式員,都避免不了和Linux打交道。Linux的命令有很多,這裡僅介紹常用的20個,方便快速查看,也歡迎大家作補充。

1.mkdir 命令

make directories的縮寫,用來創建目錄創建目錄

語法格式 : mkdir [參數] [目錄]

常用參數

參數 說明
-p 遞歸創建多級目錄
-m 建立目錄的同時設置目錄的許可權

參考實例

  • 在當前目錄下,創建一個名為 dir 的目錄
[root@wayne:~]# mkdir dir
  • 在目錄/usr/wayne下建立子目錄dir,並且設置文件屬主有讀、寫和執行許可權,其他人無權訪問
[root@wayne:~]# mkdir -m 700 /usr/wayne/dir
  • 同時創建兩個目錄
[root@wayne:~]# mkdir dir1 dir2
  • 遞歸創建目錄
[root@wayne:~]# mkdir -p dirs/subdir

2.rmdir 命令

remove directory 的縮寫,用來刪除空的目錄

語法格式 : rmdir [參數] [目錄名稱]

常用參數

參數 說明
-p 遞歸刪除指定的目錄路徑中的所有父級目錄,非空則報錯
-v 顯示命令的詳細執行過程

參考實例

  • 刪除空目錄
[root@wayne:~]# rmdir dir
  • 遞歸刪除指定的目錄樹
[root@wayne:~]# rmdir -p dirs/subdir/dir1
  • 顯示詳細執行過程
[root@wayne:~]# rmdir -p -v dirs/subdir/dir1
rmdir: removing directory, 'dirs/subdir/dir1/'
rmdir: removing directory, 'dirs/subdir'
rmdir: removing directory, 'dirs'

3.touch 命令

用來創建新的空文件,或者變已有文件的時間戳屬性

語法格式 : touch [參數] [文件]

常用參數

參數 說明
-a 改變檔案的讀取時間記錄
-m 改變檔案的修改時間記錄

參考實例

  • 創建空文件
[root@wayne:~]# touch myfile.txt
  • 批量創建文件
[root@wayne:~]# touch myfile{1..5}.txt
[root@wayne:~]# ls
myfile1.txt  myfile2.txt  myfile3.txt  myfile4.txt  myfile5.txt
  • 修改文件的access(訪問)時間
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:15:46.931368541 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:15:46.931368541 +0800

[root@wayne:~]# touch -a myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800
  • 修改文件的modify(修改)時間
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800

[root@wayne:~]# touch -m myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:19:08.223649598 +0800
Change: 2023-03-07 12:19:08.223649598 +0800

4.rm 命令

用來刪除一個目錄中的一個或多個文件(目錄)

語法格式 : rmdir [參數] [目錄名稱]

常用參數

參數 說明
-f 忽略不存在的文件,不會出現警告信息
-i 刪除前會詢問用戶是否操作
-r 遞歸刪除
-v 顯示指令的詳細執行過程

參考實例

  • 刪除前逐一詢問確認:
[root@wayne:~]# rm -i myfile.txt
rm: remove regular empty file 'myfile.txt'? 
  • 直接刪除,無任何提示:
[root@wayne:~]# rm -f myfile.txt
  • 遞歸刪除目錄及目錄下所有文件:
[root@wayne:~]# mkdir dirs/subdir/dir1 
[root@wayne:~]# rm -rf dirs/subdir/dir1 
  • 刪除當前目錄下所有文件:
[root@wayne:~]# rm -rf *
  • 清空系統中所有的文件(慎用):
[root@wayne:~]# rm -rf /*

5.mv 命令

move的縮寫,用來移動文件或對其改名

語法格式 : mv [參數]

常用參數

參數 說明
-i 如果存在同名文件,則向用戶詢問是否覆蓋
-f 覆蓋已有文件時,不進行任何提示
-b 當文件存在時,覆蓋前為其創建一個備份
-u 當源文件比目標文件新,或者目標文件不存在時,才執行移動操作

參考實例

  • 將文件file1重命名為file2:
[root@wayne:~]# mv file1 file2
  • 將文件myfile移動到目錄dir中 :
[root@wayne:~]# mv myfile /dir
  • 將目錄dir1移動目錄dir2中(目錄dir2已存在,若不存在則改名):
[root@wayne:~]# mv /dir1 /dir2
  • 將srcdir目錄下的所有文件移動到當前目錄中:
[root@wayne:~]# mv srcdir/* .

6.cp 命令

copy的縮寫,用來複制文件或目錄

語法格式 : cp [參數] [文件]

常用參數

參數 說明
-f 若目標文件已存在,則會直接覆蓋原文件
-i 若目標文件已存在,則會詢問是否覆蓋
-r 遞歸複製文件和目錄
-d 當複製符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄
-l 對源文件建立硬連接,而非複製文件
-s 對源文件建立符號連接,而非複製文件

參考實例

  • 複製目錄:
[root@wayne:~]# cp -r dir1 dir2/
  • 將文件srcfile 複製成文件dstfile:
[root@wayne:~]# cp srcfile  dstfile
  • 複製多個文件到dir目錄中:
[root@wayne:~]# cp -r file1 file2 file3 dir
  • 將 /usr/wayne 目錄中的所有.c文件複製到目錄 dstdir 中
[root@wayne:~]# cp -r /usr/wayne/*.c dstdir

7 cat 命令

用來顯示文件的內容

語法格式 : cat [參數] [文件]

常用參數

參數 說明
-n 對所有輸出的行數編號
-b 對於空白行不編號
-s 連續兩行以上的空白行,替換為一行的空白行

參考實例

  • 不帶行號列印文件內容:
[root@wayne:~]# cat file
  • 帶行號列印文件內容:
[root@wayne:~]# cat -n file

8.pwd 命令

print working directory 的縮寫,用來列印工作目錄

參考實例

查看當前工作目錄路徑:

[[root@wayne:~]# pwd
/home/wayne

9.ls 命令

list 的縮寫,用來列出指定目錄下的內容及其相關屬性信息

語法格式 : ls [參數] [文件]

常用參數

參數 說明
-a 顯示所有文件及目錄 (包括以“.”開頭的隱藏文件)
-A 同 -a ,但不列出 “.” (當前目錄) 及 “..” (父目錄)
-l 使用長格式列出文件及目錄信息
-r 將文件以相反次序顯示(預設依英文字母次序)
-t 根據最後的修改時間排序
-S 根據文件大小排序
-R 遞歸列出所有子目錄

參考實例

  • 查看當前目錄中的文件
[root@wayne:~]# ls -a
  • 查看當前目錄中的所有文件 (包括開頭為 . 的隱藏文件):
[root@wayne:~]# ls -a
  • 查看文件和目錄的詳細信息:
[root@wayne:~]# ls -l
  • 查看根目錄(/)下的所有文件:
[root@wayne:~]# ls / 
  • 列出當前工作目錄下所有名稱是 “s” 開頭的文件 :
[root@wayne:~]# ls -ltr s*
  • 列出 /bin 目錄下的所有目錄及文件的詳細信息 :
[root@wayne:~]# ls -lR /bin
  • 列出當前工作目錄下所有文件及目錄並以文件的大小進行排序 :
[root@wayne:~]# ls -AS

10.cd 命令

change directory的縮寫,用來切換到指定目錄

語法格式 : cd [參數] [目錄名]

常用參數

參數 說明
- 返回上次所在的目錄
~ 切換至當前用戶目錄
.. 切換到上一層目錄

參考實例

  • 當前工作目錄切換到dir目錄
[root@wayne:~]# cd dir
  • 切換到當前用戶目錄:
[root@wayne:~]# cd ~
  • 切換到上一級目錄:
[root@wayne:~]# cd ..
  • 切換到上兩級目錄:
[root@wayne:~]# cd ../..
  • 切換到根目錄:
[root@wayne:~]# cd /

———————————————————————————————

碼字不易,點個贊再走吧!也歡迎私信,一起交流!


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

-Advertisement-
Play Games
更多相關文章
  • slava是作者參與的一個github開源項目,該項目的目標是用Go語言構建一個高性能K-V雲資料庫。 在本文中,作者將介紹Slava中記憶體淘汰策略的實現。Slava中目前實現了四種記憶體淘汰策略,分別是maxMemoryLruAllKeys,maxMemoryLfuAllKeys,maxMemory ...
  • 很難預測Python,C ++,Swift或任何其他編程語言是否會取代Java作為最受歡迎的語言,但在不久的將來不太可能.以下是一些原因: 受歡迎程度並建立的用法:Java已經存在了25年以上,並且擁有大型且已建立的用戶群.它被廣泛用於企業軟體開發,Android應用程式開發以及許多其他領域,這使得 ...
  • 前言 最近才發現MAUI Blazor Android存在輸入框軟鍵盤遮擋這個問題,搜索了一番,原來這是安卓webview一個由來已久的問題,還好有大佬提出瞭解決方案 AndroidBug5497Workaround,但是這是Java代碼,MAUI中需要做一些小的修改,修改一些方法名還有類的明確引用 ...
  • 《C#與.NET6 開發從入門到實踐》正式出版,歡迎廣大網友前來圍觀!! 遙想我的上一篇文章,已經過去將近3年,期間斷更的主要原因就是忙於書稿編寫,也擔心博客和書稿可能出現一些意外衝突。現在,書已經正式出版,我又開始更新博客了。 這是我第一次受出版社邀請寫書,沒有經驗,中間經歷了許多意外,導致預定為 ...
  • 背景 公司里的某負責保存用戶文檔的子系統有時會忽然cpu很高,過了大約5分鐘後又恢復正常水平。領導協調讓我幫看一下 (我心裡是: 不熟悉這個子系統裡面的代碼,我儘力哈😓) 其實確實是這樣的,如果熟悉出問題的系統的代碼,會對診斷問題起到很大的幫助,否則就需要更多的利用對底層的理解了。 分析 打聽後知 ...
  • 2. 配置添加 配置系統可以讀取到配置文件中的信息,那必然有某個地方可以將配置文件添加到配置系統中。之前的文章中講到 ASP.NET Core 入口文件中,builder(WebApplicationBuilder 對象) 中有一個 Configuration 屬性,這裡就是我們擴展添加額外的配置的 ...
  • 1. 什麼是HTTPS? HTTPS(全稱:Hypertext Transfer Protocol Secure),是以安全為目標的 HTTP 通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性。HTTPS在HTTP的基礎下加入SSL,HTTPS的安全基礎是SSL,因此加密的詳細內 ...
  • element-plus官網實在是太不穩定了,所以自己搭建了一套在本地,流程如下: 環境安裝 yum install node yum install npm node install -g pnpm 從gitee拉取代碼 wget -P /opt/element-plus https://gite ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...