Linux編程 4 (創建文件touch,複製文件cp,tab補全,鏈接文件ln)

来源:https://www.cnblogs.com/MrHSR/archive/2018/09/04/9588242.html
-Advertisement-
Play Games

一.創建文件 使用touch 可以創建空文件,例如opt目錄下創建test2.txt文件。這種一般是有些程式必須要先創建文件,才能使用。 二. 複製文件 2.1 使用cp命令來複制文件,需要兩個參數 源對象和目標對象。例如在opt目錄下將test2.txt複製一份為test3.txt。 2.2 使用 ...


一.創建文件

  使用touch 可以創建空文件,例如opt目錄下創建test2.txt文件。這種一般是有些程式必須要先創建文件,才能使用。
        

二. 複製文件

  2.1 使用cp命令來複制文件,需要兩個參數-----源對象和目標對象。例如在opt目錄下將test2.txt複製一份為test3.txt。
        

  2.2 使用cp –R參數,可以一條命令將整個目錄內容遞歸複製,例如將/opt目錄及目錄下所有文件複製到/usr下, 查看 /usr/opt 內容已全部複製過來。
        

      下麵是刪除/usr/opt目錄及目錄下所有文件

         

   2.3 也可以在cp命令中使用通配符,例如將opt目錄下的以.txt結尾的文件全部複製到/usr目錄下。
        

 三.  製表鍵自動補全  

    當命令字元太長,很容易輸錯命令。可以使用tab鍵自動補全。例如關機命令shutdown。可以按下shut按tab來補全,文件目錄太長用法也是一樣。自動補全在於要給shell足夠的信息,使其與其他名字區別。

    如果按下tab無法補全,可以再按一下tab,將顯示以輸入命令開頭的文件名,例如輸入sh, 按一下tab沒有作用,再按一下tab,將顯示sh開頭的所有信息。
        

 四.鏈接文件 ln(共用文件)   

    鏈接文件是linux文件系統的一個優勢,如需要在系統上維護同一個文件的兩份或多份副本,除了保存多份單獨的物理文件副本之外,還可以採用保存一份物理文件副本和多個虛擬副本的方法。虛擬副本叫鏈接。鏈接是目錄中指向文件真實位置的點位符。分二種類型文件鏈接類型: 一是符號鏈接又叫軟鏈接, 二是硬鏈接。
    4.1 符號鏈接就是一個實實在在的文件,它指向存放在虛擬目錄結構中某個地方的另一個文件,這兩個通過符號鏈接在一起的文件,彼此的內容並不相同。

      使用ln命令以及-s選項來創建符號鏈接,下麵是在etc目錄下,給my.cnf創建符號鏈接在本目錄。
      

      如下所示:ls_my.cnf只有6位元組,它只是指向my.cnf而已。
      

      嘗試隨意使用vim修改某個配置個文件,都會在另一文件中修改,因為是符號鏈接。
      

      鏈接文件為 Linux 系統解決了文件的共用使用,還帶來了隱藏文件路徑、增加許可權安全及節省存儲等好處。

    4.2 硬鏈接會創建獨立的虛擬文件,其中包含了原始文件的信息及位置,引用硬鏈接文件等同於引用了源文件。ln命令不需要加額外參數。

      使用ln命令來創建硬鏈接,還是使用etc下的my.cnf來演示:
      

      上圖使用了ls –li 命令顯示了inode編號,列表第一列(文件的唯一標識,它用來區別同一個文件而非是文件名來區別)以及長列表。帶有硬鏈接的文件共用inode編號。因為它們終歸是同一個文件,鏈接計數顯示2(列表中第三項),顯示兩個文件都有兩個鏈接,另外它們文件大小也一模一樣。

      

      嘗試隨意某個配置文件,都會在另一文件中修改,因為是一個完全相同的副本. 是一個 inode 號對應多個文件名, 硬鏈接就是同一個文件使用了多個別名

總結:

  硬鏈接以下幾點特性:

    文件有相同的 inode;

    只能對已存在的文件進行創建;

    不能交叉文件系統進行硬鏈接的創建;

    不能對目錄進行創建,只可對文件創建;

    刪除一個硬鏈接文件並不影響其他有相同 inode 號的文件;

  軟鏈接以下幾點特性:

    軟鏈接有自己的文件屬性及許可權等;

    可對不存在的文件或目錄創建軟鏈接;

    軟鏈接可交叉文件系統;

    軟鏈接可對文件或目錄創建;

    創建軟鏈接時,鏈接計數 i_nlink 不會增加;

    刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)

 


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

-Advertisement-
Play Games
更多相關文章
  • 1 DateTime beginTime = DateTime.Now.Date; 2 Console.WriteLine(beginTime); 3 DateTime endTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, Dat ...
  • 用 .net core 寫的 滑動+點擊漢字的驗證碼,代碼比較簡單就不做說明瞭。 github地址 https://github.com/wangchengqun/NetCoreVerificationCode ...
  • 前言 我想,有一部分程式員應該是在二三線城市的,雖然不知道占比,但想來應該不在少數。 我是這部分人群中的一份子。 我們這群人,面對的客戶,大多是國內中小企業,或者政府的小部門。這類客戶的特點是,資金有限,人力有限。 什麼意思呢?就是你如果敢給他安一臺Linux伺服器,客戶的信息員和測試員會把你堵在牆 ...
  • 第1章 CentOS7的使用 1.1 為什麼要使用CentOS7版本 CentOS7是在CentOS6基礎上發佈的新版本,與之前的版本相比,主要的更新包括: 1、內核更新到3.10.0 2、支持Linux容器 3、LVM快照支持ext4和XFS 4、轉用systemd、firewalld和GRUB2 ...
  • 版權聲明:本文為博主原創文章,未經允許,不得轉載。 head head 命令可以將一段文本的開頭一部分輸出到標準輸出。 head命令既可以處理文本文件也可以處理標準輸入。 基本應用 處理文本文件: 當有多個文件輸入時,head會順序處理並輸出: 處理標準輸入: 當沒有其他參數時,head預設輸出前1 ...
  • 星期三, 05. 九月 2018 02:03上午 beautifulzzzz ![][ bar] 1、前言 上一篇講瞭如何編譯安裝BlueZ 5,本篇主要在於玩BlueZ,用命令行去操作BLE設備: [ [BlueZ] 1、Download install and use the BlueZ and ...
  • 在Windows 10中截取截圖的6種方式 簡介 截圖對於不同的目的很重要。它可以用於捕獲筆記本電腦上的任何內容的截圖。所以,如果你使用Windows 10,你可能不知道如何截圖,因為它是比較新的。因此,我們展示了5種方式,您可以屏蔽任何東西,特別是如果您使用Windows 10.這裡有6種方式在W ...
  • 版權聲明:本文為博主原創文章,未經允許不得轉載。 ffmpeg是Linux中轉換音頻視頻文件的常用工具。 mp4 to mp3: -i: 表示輸入的音頻或視頻 -ac: channel 設置通道3, 預設為1 -ar: sample rate 設置音頻採樣率 -acodec: 使用codec編解碼 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...