一分鐘學一個 Linux 命令 - mkdir 和 touch

来源:https://www.cnblogs.com/god23bin/archive/2023/06/05/linux-mkdir-touch.html
-Advertisement-
Play Games

大家好,我是god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,今天需要你花兩分鐘時間來學習下,因為今天要講的是兩個命令,mkdir 和 touch 命令。前一個命令是操作目錄的,後一個命令是操作文件的。 ...


前言

大家好,我是god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,今天需要你花兩分鐘時間來學習下,因為今天要講的是兩個命令,mkdirtouch 命令。前一個命令是操作目錄的,後一個命令是操作文件的。

建議學完手敲一篇加深記憶噢!

mkdir

什麼是 mkdir 命令?

mkdirmake directory 的縮寫,顧名思義,創建目錄(文件夾)。無論是在日常工作還是在編寫腳本時,創建新的目錄都是一項基礎而重要的操作。mkdir 命令允許我們在任意位置創建新的目錄。

如何使用 mkdir 命令?

使用 mkdir 命令非常簡單,只需要在終端輸入 mkdir,後面緊跟要創建的目錄的名稱就可以創建一個目錄了。執行該命令後,系統會在當前工作目錄下創建一個新的目錄。

基本語法:mkdir 目錄名

以下是一個示例:

mkdir gta6

執行上述命令後,系統將在當前工作目錄下創建一個名為 gta6 的新目錄。

image-20230604233337726

舉例說明

讓我們通過一些具體示例來更好地理解 mkdir 命令的使用。

  1. 創建多個目錄:
mkdir dir1 dir2 dir3

執行上述命令後,將在當前目錄下創建三個目錄,分別為dir1dir2dir3

image-20230604233805532

常用選項參數

-p:遞歸創建目錄,如果父目錄不存在則一併創建。

-m:創建目錄的同時設置許可權。

例子

  1. 遞歸創建目錄,即創建多級目錄,不存在的目錄也會一併創建。

假設當前所在目錄是 /opt/games,則我們為 gta6 目錄創建一個多級的子目錄:

mkdir -p gta6/model/objs

使用-p選項參數,mkdir命令可以創建多級目錄。上述命令將在/opt/games/gta6/model/路徑下創建一個名為objs的新目錄。如果路徑中的某個目錄不存在,系統會自動創建相應的目錄。

image-20230604234411712

  1. 創建具有特定許可權的目錄:
mkdir -m 700 importance

使用-m選項參數,我們可以為新創建的目錄指定特定的許可權。上述命令將在當前工作目錄下創建一個名為public的新目錄,並將其許可權設置為755

image-20230604234923473

touch

什麼是 touch 命令?

touch 命令是一個簡單而實用的命令,通過 touch 命令,我們可以創建一個新的空文件,或者修改現有文件的訪問時間、修改時間或創建時間。

可能有的人會註意到,touch 不是觸碰的意思嗎?為什麼會是創建一個新的文件呢?創建不應該是 create 嗎?或者為什麼不是 make file 這樣類似 make directory 呢?

我也是有這個疑惑的,綜合網上的說法,結論大致是這樣的:

為什麼linux 創建文件是touch 而不是create - 思否

image-20230605003912359

如何使用 touch 命令?

使用起來也是很簡單,基本語法如下:

touch 文件名

執行該命令後,系統會在當前工作目錄下創建一個空的文件了。

image-20230604235539025

舉例說明

讓我們通過一些示例來更好地理解 touch 命令的使用。

  1. 創建多個文件:
touch f1.txt f2.txt f3.txt

image-20230605000037672

  1. 修改文件的時間戳:
touch -c f1.txt

執行上述命令後,將修改 f1.txt 文件的訪問時間和修改時間為當前時間。如果文件不存在,則不創建新文件。

我們可以通過 stat 文件名.文件類型 查看一個文件的創建時間、訪問時間、修改時間:

stat f1.txt

輸出:

  File: ‘f1.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d      Inode: 103291361   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:usr_t:s0
Access: 2023-06-05 00:01:37.087062955 +0800
Modify: 2023-06-05 00:01:37.087062955 +0800
Change: 2023-06-05 00:01:37.087062955 +0800
 Birth: -

Access 表示訪問時間,Modify 表示修改時間,Change 表示狀態改動時間(簡單理解,就是文件發生改變時的時間)

image-20230605001058851

關於 Linux 下文件的時間,可以看這裡:Linux下文件的三種時間標記:訪問時間、修改時間、狀態改動時間

常用選項參數

touch 命令還提供了一些常用的選項參數,用於進一步控制其行為。以下是一些常用選項參數及其示例:

  • -a:僅修改文件的訪問時間,由於修改了文件的訪問時間,所以狀態改動時間也會跟著更新。

    touch -a f1.txt
    

image-20230605001541851

  • -m:僅修改文件的修改時間,同理,狀態改動時間也會跟著更新。

    touch -m f1.txt
    

image-20230605001902786

  • -r:根據參考文件的時間戳修改文件的時間戳。

    touch -r reference.txt file.txt
    

image-20230605002203192

總結

通過本文的介紹,我們學習了 mkdir 命令和 touch 命令在 Linux 中的作用和使用方法。

mkdir 命令允許我們快速創建新的目錄,方便組織和管理文件。我們學會了基本的使用方法,包括在當前工作目錄下創建目錄、創建多級目錄(即使不存在也創建)和設置許可權並創建目錄。

touch 命令用於創建空文件或修改文件的時間戳,是一個非常實用的命令。還有我們可以通過 stat 文件名.文件類型 來查看一個文件的時間戳。

現在,相信你聰明的你已經學會了!希望本文能夠幫助大家更好地理解和應用 mkdirtouch 命令。如果你對其他 Linux 命令也感興趣,敬請期待我後續的文章。謝謝大家的閱讀!

最後的最後

希望各位屏幕前的靚仔靚女們給個三連!你輕輕地點了個贊,那將在我的心裡世界增添一顆明亮而耀眼的星!

咱們下期再見!


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

-Advertisement-
Play Games
更多相關文章
  • # 文件的基本使用 ### 一、文件 - **什麼是文件** 文件是保存數據的地方,比如word文檔,txt文件,excel文件……都是文件。即可以保存一張圖片,也可以保持視頻,聲音…… - **文件流** 文件在程式中是以流的形式來操作的 ![文件流](https://img2023.cnblog ...
  • groovy 3.0.7 ### DES加密簡介 加密分為對稱加密和非對稱加密。非對稱加密,加解密使用不同的密鑰,如RSA;對稱加密,加解密使用相同的密鑰,如DES(Data Encryption Standard,即數據加密標準)。相對而言,非對稱加密安全性更高,但是計算過程複雜耗時,一般只應用於 ...
  • # 1.列表切片 前面學習的是如何處理列表的所有數據元素。python還可以處理列表的部分元素,python稱之為切片。 ## 1.1創建切片 創建切片,可指定要使用的第一個數據元素的索引和最後一個數據元素的索引。與range函數一樣,python在到達指定的第二個索引前面的數據元素後停止。比如要輸 ...
  • 本文作者從評判標準、功能評測、性能評測等多方面剖析三方庫哪些家強,並給出了比較務實的建議。 引言 為了小伙伴理解,彙總了一下文章中會提及的術語名詞解釋,請放心品讀,歡迎一起討論交流! 你真的瞭解 Go 標準庫嗎? 問題一:標準庫可以反序列化普通的字元串嗎?執行下麵的代碼會報錯嗎? var s str ...
  • 經過前幾篇文章的講解,初步瞭解ASP.NET Core MVC項目創建,啟動運行,以及命名約定,創建控制器,視圖,模型,接收參數,傳遞數據ViewData,ViewBag,路由,頁面佈局,wwwroot和客戶端庫,Razor語法,EnityFrameworkCore與資料庫,HttpContext,... ...
  • 摘要:基於.NET Core 7.0WebApi後端架構實戰【2-介入IOC控制反轉】 2023/04/09, ASP.NET Core 7.0, VS2022 引言 Inversion of Control,簡稱IOC,即控制反轉。記得當初剛實習的時候公司的帶我的人和我提到過IOC這個概念,當初完 ...
  • # 圖片介面JWT鑒權實現 # 前言 之前做了個返回圖片鏈接的介面,然後沒做授權,然後今天鍵盤到了,也是用JWT來做介面的許可權控制。 然後JTW網上已經有很多文章來說怎麼用了,這裡就不做多的解釋了,如果不懂的可以參考下列鏈接的 文章。 圖片介面文章:[還在愁個人博客沒有圖片放?](https://w ...
  • 網上很多方法都試過,什麼“修複”,關掉進程,重啟都試過了,但是想保留數據所以不想重置 **最後發現打不開的原因:C盤空間滿了** 但是我在安裝的時候明明設置在別的盤 ![image](https://img2023.cnblogs.com/blog/2580807/202306/2580807-20 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...