歡迎光臨
每天分享高質量文章

在 Linux 上創建檔案的 10 個方法 | Linux 中國

我下麵將會介紹多個在 Linux 上創建檔案的方法。我建議你選擇幾個簡單高效的來輔助你的工作。

— Vinoth Kumar

 

我們都知道,在 Linux 上,包括設備在內的一切都是檔案。Linux 管理員每天應該會多次執行檔案創建活動(可能是 20 次,50 次,甚至是更多,這依賴於他們的環境)。如果你想 在Linux上創建一個特定大小的檔案[1],查看前面的這個鏈接。

高效創建一個檔案是非常重要的能力。為什麼我說高效?如果你瞭解一些高效進行你當前活動的方式,你就可以事半功倍。這將會節省你很多的時間。你可以把這些有用的時間用到到其他重要的事情上。

我下麵將會介紹多個在 Linux 上創建檔案的方法。我建議你選擇幾個簡單高效的來輔助你的工作。你不必安裝下列的任何一個命令,因為它們已經作為 Linux 核心工具的一部分安裝到你的系統上了。

創建檔案可以通過以下六個方式來完成。

◈ >:標準重定向符允許我們創建一個 0KB 的空檔案。
◈ touch:如果檔案不存在的話,touch 命令將會創建一個 0KB 的空檔案。
◈ echo:通過一個引數顯示文本的某行。
◈ printf:用於顯示在終端給定的文本。
◈ cat:它串聯並打印檔案到標準輸出。
◈ vi/vim:Vim 是一個向上兼容 Vi 的文本編輯器。它常用於編輯各種型別的純文本。
◈ nano:是一個簡小且用戶友好的編輯器。它複製了 pico 的外觀和優點,但它是自由軟體。
◈ head:用於打印一個檔案開頭的一部分。
◈ tail:用於打印一個檔案的最後一部分。
◈ truncate:用於縮小或者擴展檔案的尺寸到指定大小。

在 Linux 上使用重定向符(>)創建一個檔案

標準重定向符允許我們創建一個 0KB 的空檔案。它通常用於重定向一個命令的輸出到一個新檔案中。在沒有命令的情況下使用重定向符號時,它會創建一個檔案。

但是它不允許你在創建檔案時向其中輸入任何文本。然而它對於不是很勤勞的管理員是非常簡單有用的。只需要輸入重定向符後面跟著你想要的檔案名。

  1. $ > daygeek.txt

使用 ls 命令查看剛剛創建的檔案。

  1. $ ls -lh daygeek.txt
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:00 daygeek.txt

在 Linux 上使用 touch 命令創建一個檔案

touch 命令常用於將每個檔案的訪問和修改時間更新為當前時間。

如果指定的檔案名不存在,將會創建一個新的檔案。touch 不允許我們在創建檔案的同時向其中輸入一些文本。它預設創建一個 0KB 的空檔案。

  1. $ touch daygeek1.txt

使用 ls 命令查看剛剛創建的檔案。

  1. $ ls -lh daygeek1.txt
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:02 daygeek1.txt

在 Linux 上使用 echo 命令創建一個檔案

echo 內置於大多數的操作系統中。它常用於腳本、批處理檔案,以及作為插入文本的單個命令的一部分。

它允許你在創建一個檔案時就向其中輸入一些文本。當然也允許你在之後向其中輸入一些文本。

  1. $ echo "2daygeek.com is a best Linux blog to learn Linux" > daygeek2.txt

使用 ls 命令查看剛剛創建的檔案。

  1. $ ls -lh daygeek2.txt
  2. -rw-rw-r-- 1 daygeek daygeek 49 Feb 4 02:04 daygeek2.txt

可以使用 cat 命令查看檔案的內容。

  1. $ cat daygeek2.txt
  2. 2daygeek.com is a best Linux blog to learn Linux

你可以使用兩個重定向符 (>>) 添加其他內容到同一個檔案。

  1. $ echo "It's FIVE years old blog" >> daygeek2.txt

你可以使用 cat 命令查看添加的內容。

  1. $ cat daygeek2.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

在 Linux 上使用 printf 命令創建一個新的檔案

printf 命令也可以以類似 echo 的方式執行。

printf 命令常用來顯示在終端視窗給出的字串。printf 可以有格式說明符、轉義序列或普通字符。

  1. $ printf "2daygeek.com is a best Linux blog to learn Linux\n" > daygeek3.txt

使用 ls 命令查看剛剛創建的檔案。

  1. $ ls -lh daygeek3.txt
  2. -rw-rw-r-- 1 daygeek daygeek 48 Feb 4 02:12 daygeek3.txt

使用 cat 命令查看檔案的內容。

  1. $ cat daygeek3.txt
  2. 2daygeek.com is a best Linux blog to learn Linux

你可以使用兩個重定向符 (>>) 添加其他的內容到同一個檔案中去。

  1. $ printf "It's FIVE years old blog\n" >> daygeek3.txt

你可以使用 cat 命令查看這個檔案中添加的內容。

  1. $ cat daygeek3.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

在 Linux 中使用 cat 創建一個檔案

cat 表示串聯concatenate。在 Linux 經常用於讀取一個檔案中的資料。

cat 是在類 Unix 系統中最常使用的命令之一。它提供了三個與文本檔案相關的功能:顯示一個檔案的內容、組合多個檔案的內容到一個輸出以及創建一個新的檔案。(LCTT 譯註:如果 cat 命令後如果不帶任何檔案的話,下麵的命令在回車後也不會立刻結束,回車後的操作可以按 Ctrl-C或 Ctrl-D 來結束。)

  1. $ cat > daygeek4.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

使用 ls 命令查看創建的檔案。

  1. $ ls -lh daygeek4.txt
  2. -rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:18 daygeek4.txt

使用 cat 命令查看檔案的內容。

  1. $ cat daygeek4.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

如果你想向同一個檔案中添加其他內容,使用兩個連接的重定向符(>>)。

  1. $ cat >> daygeek4.txt
  2. This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

你可以使用 cat 命令查看添加的內容。

  1. $ cat daygeek4.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog
  4. This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

在 Linux 上使用 vi/vim 命令創建一個檔案

vim 是一個向上兼容 vi 的文本編輯器。它通常用來編輯所有種類的純文本。在編輯程式時特別有用。

vim 中有很多功能可以用於編輯單個檔案。

  1. $ vi daygeek5.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

使用 ls 查看剛纔創建的檔案。

  1. $ ls -lh daygeek5.txt
  2. -rw-rw-r-- 1 daygeek daygeek 75 Feb 4 02:23 daygeek5.txt

使用 cat 命令查看檔案的內容。

  1. $ cat daygeek5.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog

在 Linux 上使用 nano 命令創建一個檔案

nano 是一個編輯器,它是一個自由版本的 pico 克隆。nano 是一個小且用戶友好的編輯器。它複製了 pico 的外觀及優點,並且是一個自由軟體,它添加了 pico 缺乏的一系列特性,像是打開多個檔案、逐行滾動、撤銷/重做、語法高亮、行號等等。

  1. $ nano daygeek6.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog
  4. This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

使用 ls 命令查看創建的檔案。

  1. $ ls -lh daygeek6.txt
  2. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:26 daygeek6.txt

使用 cat 命令來查看一個檔案的內容。

  1. $ cat daygeek6.txt
  2. 2daygeek.com is a best Linux blog to learn Linux
  3. It's FIVE years old blog
  4. This website is maintained by Magesh M, It's licensed under CC BY-NC 4.0.

在 Linux 上使用 head 命令創建一個檔案

head 命令通常用於輸出一個檔案開頭的一部分。它預設會打印一個檔案的開頭 10 行到標準輸出。如果有多個檔案,則每個檔案前都會有一個標題,用來表示檔案名。

  1. $ head -c 0K /dev/zero > daygeek7.txt

使用 ls 命令查看創建的檔案。

  1. $ ls -lh daygeek7.txt
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:30 daygeek7.txt

在 Linux 上使用 tail 創建一個檔案

tail 命令通常用來輸出一個檔案最後的一部分。它預設會打印每個檔案的最後 10 行到標準輸出。如果有多個檔案,則每個檔案前都會有一個標題,用來表示檔案名。

  1. $ tail -c 0K /dev/zero > daygeek8.txt

使用 ls 命令查看創建的檔案。

  1. $ ls -lh daygeek8.txt
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:31 daygeek8.txt

在 Linux 上使用 truncate 命令創建一個檔案

truncate 命令通常用作將一個檔案的尺寸縮小或者擴展為某個指定的尺寸。

  1. $ truncate -s 0K daygeek9.txt

使用 ls 命令檢查創建的檔案。

  1. $ ls -lh daygeek9.txt
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:37 daygeek9.txt

在這篇文章中,我使用這十個命令分別創建了下麵的這十個檔案。

  1. $ ls -lh daygeek*
  2. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:02 daygeek1.txt
  3. -rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:07 daygeek2.txt
  4. -rw-rw-r-- 1 daygeek daygeek 74 Feb 4 02:15 daygeek3.txt
  5. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:20 daygeek4.txt
  6. -rw-rw-r-- 1 daygeek daygeek 75 Feb 4 02:23 daygeek5.txt
  7. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:26 daygeek6.txt
  8. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:32 daygeek7.txt
  9. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:32 daygeek8.txt
  10. -rw-rw-r-- 1 daygeek daygeek 148 Feb 4 02:38 daygeek9.txt
  11. -rw-rw-r-- 1 daygeek daygeek 0 Feb 4 02:00 daygeek.txt

via: https://www.2daygeek.com/linux-command-to-create-a-file/

作者:Vinoth Kumar[3] 選題:lujun9972 譯者:dianbanjiu 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

    閱讀原文

    赞(0)

    分享創造快樂