Linux中國

5 個在 Linux 中管理文件類型和系統時間的有用命令

Linux 中管理文件類型和設置時間

請先查看我們 Linux 小技巧系列之前的文章:

在這篇文章中,我們打算看看終端中 5 個和文件以及時間相關的提示和技巧。

Linux 中的文件類型

在 Linux 中,一切皆文件,你的設備、目錄以及普通文件都認為是文件。

Linux 系統中文件有不同的類型:

  • 普通文件:可能包含命令、文檔、音頻文件、視頻、圖像,歸檔文件等。
  • 設備文件:系統用於訪問你硬體組件。

這裡有兩種表示存儲設備的設備文件:塊文件,例如硬碟,它們以塊讀取數據;字元文件,以逐個字元讀取數據。

  • 硬鏈接和軟鏈接:用於在 Linux 文件系統的任意地方訪問文件。
  • 命名管道和套接字:允許不同的進程之間進行交互。

1. 用 『file』 命令確定文件類型

你可以像下面這樣使用 file 命令確定文件的類型。下面的截圖顯示了用 file 命令確定不同文件類型的例子。

tecmint@tecmint ~/Linux-Tricks $ dir
BACKUP                    master.zip
crossroads-stable.tar.gz          num.txt
EDWARD-MAYA-2011-2012-NEW-REMIX.mp3   reggea.xspf
Linux-Security-Optimization-Book.gif  tmp-link

tecmint@tecmint ~/Linux-Tricks $ file BACKUP/
BACKUP/: directory 

tecmint@tecmint ~/Linux-Tricks $ file master.zip 
master.zip: Zip archive data, at least v1.0 to extract

tecmint@tecmint ~/Linux-Tricks $ file crossroads-stable.tar.gz
crossroads-stable.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr  5 15:15:20 2011

tecmint@tecmint ~/Linux-Tricks $ file Linux-Security-Optimization-Book.gif 
Linux-Security-Optimization-Book.gif: GIF image data, version 89a, 200 x 259

tecmint@tecmint ~/Linux-Tricks $ file EDWARD-MAYA-2011-2012-NEW-REMIX.mp3 
EDWARD-MAYA-2011-2012-NEW-REMIX.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo

tecmint@tecmint ~/Linux-Tricks $ file /dev/sda1
/dev/sda1: block special 

tecmint@tecmint ~/Linux-Tricks $ file /dev/tty1
/dev/tty1: character special 

2. 用 『ls』 和 『dir』 命令確定文件類型

確定文件類型的另一種方式是用 ls 和 dir 命令顯示一長串結果。

用 ls -l 確定一個文件的類型。

當你查看文件許可權時,第一個字元顯示了文件類型,其它字元顯示文件許可權。

tecmint@tecmint ~/Linux-Tricks $ ls -l
total 6908
drwxr-xr-x 2 tecmint tecmint    4096 Sep  9 11:46 BACKUP
-rw-r--r-- 1 tecmint tecmint 1075620 Sep  9 11:47 crossroads-stable.tar.gz
-rwxr----- 1 tecmint tecmint 5916085 Sep  9 11:49 EDWARD-MAYA-2011-2012-NEW-REMIX.mp3
-rw-r--r-- 1 tecmint tecmint   42122 Sep  9 11:49 Linux-Security-Optimization-Book.gif
-rw-r--r-- 1 tecmint tecmint   17627 Sep  9 11:46 master.zip
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:48 num.txt
-rw-r--r-- 1 tecmint tecmint       0 Sep  9 11:46 reggea.xspf
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:47 tmp-link

使用 ls -l 確定塊和字元文件

tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep  9 10:53 /dev/sda1

tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/tty1
crw-rw---- 1 root tty 4, 1 Sep  9 10:54 /dev/tty1

使用 dir -l 確定一個文件的類型。

tecmint@tecmint ~/Linux-Tricks $ dir -l
total 6908
drwxr-xr-x 2 tecmint tecmint    4096 Sep  9 11:46 BACKUP
-rw-r--r-- 1 tecmint tecmint 1075620 Sep  9 11:47 crossroads-stable.tar.gz
-rwxr----- 1 tecmint tecmint 5916085 Sep  9 11:49 EDWARD-MAYA-2011-2012-NEW-REMIX.mp3
-rw-r--r-- 1 tecmint tecmint   42122 Sep  9 11:49 Linux-Security-Optimization-Book.gif
-rw-r--r-- 1 tecmint tecmint   17627 Sep  9 11:46 master.zip
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:48 num.txt
-rw-r--r-- 1 tecmint tecmint       0 Sep  9 11:46 reggea.xspf
-rw-r--r-- 1 tecmint tecmint       5 Sep  9 11:47 tmp-link

3. 統計指定類型文件的數目

下面我們來看看在一個目錄中用 ls,grepwc 命令統計指定類型文件數目的技巧。命令之間的交互通過命名管道完成。

  • grep – 用戶根據給定模式或正則表達式進行搜索的命令。
  • wc – 用於統計行、字和字元的命令。

統計普通文件的數目

在 Linux 中,普通文件用符號 - 表示。

tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^- | wc -l
7

統計目錄的數目

在 Linux 中,目錄用符號 d 表示。

tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^d | wc -l
1

統計符號鏈接和硬鏈接的數目

在 Linux 中,符號鏈接和硬鏈接用符號 l 表示。

tecmint@tecmint ~/Linux-Tricks $ ls -l | grep ^l | wc -l
0

統計塊文件和字元文件的數目

在 Linux 中,塊和字元文件用符號 bc 表示。

tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^b | wc -l
37
tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^c | wc -l
159

4. 在 Linux 系統中查找文件

下面我們來看看在 Linux 系統中查找文件一些命令,它們包括 locate、find、whatis 和 which 命令。

用 locate 命令查找文件

在下面的輸出中,我想要定位系統中的 Samba 伺服器配置文件

tecmint@tecmint ~/Linux-Tricks $ locate samba.conf
/usr/lib/tmpfiles.d/samba.conf
/var/lib/dpkg/info/samba.conffiles

用 find 命令查找文件

想要學習如何在 Linux 中使用 find 命令,你可以閱讀我們以下的文章,裡面列出了 find 命令的 30 多個例子和使用方法。

用 whatis 命令定位命令

whatis 命令通常用於定位命令,它很特殊,因為它給出關於一個命令的信息,它還能查找配置文件和命令的幫助手冊條目。

tecmint@tecmint ~/Linux-Tricks $ whatis bash
bash (1)             - GNU Bourne-Again SHell

tecmint@tecmint ~/Linux-Tricks $ whatis find
find (1)             - search for files in a directory hierarchy

tecmint@tecmint ~/Linux-Tricks $ whatis ls
ls (1)               - list directory contents

用 which 命令定位命令

which 命令用於定位文件系統中的命令。

tecmint@tecmint ~/Linux-Tricks $ which mkdir
/bin/mkdir

tecmint@tecmint ~/Linux-Tricks $ which bash
/bin/bash

tecmint@tecmint ~/Linux-Tricks $ which find
/usr/bin/find

tecmint@tecmint ~/Linux-Tricks $ $ which ls
/bin/ls

5.處理 Linux 系統的時間

在聯網環境中,保持你 Linux 系統時間準確是一個好的習慣。Linux 系統中有很多服務要求時間正確才能在聯網條件下正常工作。

讓我們來看看你可以用來管理你機器時間的命令。在 Linux 中,有兩種方式管理時間:系統時間和硬體時間。

系統時間由系統時鐘管理,硬體時間由硬體時鐘管理。

要查看你的系統時間、日期和時區,像下面這樣使用 date 命令。

tecmint@tecmint ~/Linux-Tricks $ date
Wed Sep  9 12:25:40 IST 2015

像下面這樣用 date -s 或 date -set=「STRING」 設置系統時間。

tecmint@tecmint ~/Linux-Tricks $ sudo date -s "12:27:00"
Wed Sep  9 12:27:00 IST 2015

tecmint@tecmint ~/Linux-Tricks $ sudo date --set="12:27:00"
Wed Sep  9 12:27:00 IST 2015

你也可以像下面這樣設置時間和日期。

tecmint@tecmint ~/Linux-Tricks $ sudo date 090912302015
Wed Sep  9 12:30:00 IST 2015

使用 cal 命令從日曆中查看當前日期。

tecmint@tecmint ~/Linux-Tricks $ cal
   September 2015     
Su Mo Tu We Th Fr Sa  
       1  2  3  4  5  
 6  7  8  9 10 11 12  
13 14 15 16 17 18 19  
20 21 22 23 24 25 26  
27 28 29 30      

使用 hwclock 命令查看硬體時鐘時間。

tecmint@tecmint ~/Linux-Tricks $ sudo hwclock
Wednesday 09 September 2015 06:02:58 PM IST  -0.200081 seconds

要設置硬體時鐘時間,像下面這樣使用 hwclock –set –date=「STRING」 命令。

tecmint@tecmint ~/Linux-Tricks $ sudo hwclock --set --date="09/09/2015 12:33:00"

tecmint@tecmint ~/Linux-Tricks $ sudo hwclock
Wednesday 09 September 2015 12:33:11 PM IST  -0.891163 seconds

系統時間是由硬體時鐘時間在啟動時設置的,系統關閉時,硬體時間被重置為系統時間。

因此你查看系統時間和硬體時間時,它們是一樣的,除非你更改了系統時間。當你的 CMOS 電量不足時,硬體時間可能不正確。

你也可以像下面這樣使用硬體時鐘的時間設置系統時間。

$ sudo hwclock --hctosys

也可以像下面這樣用系統時鐘時間設置硬體時鐘時間。

$ sudo hwclock --systohc

要查看你的 Linux 系統已經運行了多長時間,可以使用 uptime 命令。

tecmint@tecmint ~/Linux-Tricks $ uptime
12:36:27 up  1:43,  2 users,  load average: 1.39, 1.34, 1.45

tecmint@tecmint ~/Linux-Tricks $ uptime -p
up 1 hour, 43 minutes

tecmint@tecmint ~/Linux-Tricks $ uptime -s
2015-09-09 10:52:47

總結

對於初學者來說理解 Linux 中的文件類型是一個好的嘗試,同時時間管理也非常重要,尤其是在需要可靠有效地管理服務的伺服器上。希望這篇指南能對你有所幫助。如果你有任何反饋,別忘了給我們寫評論。和我們保持聯繫。

via: http://www.tecmint.com/manage-file-types-and-set-system-time-in-linux/

作者:Aaron Kili 譯者:ictlyh 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國