网站搜索

在 Linux 中管理文件类型和系统时间的 5 个有用命令 - 第 3 部分


对于想要学习 Linux 的初学者来说,适应使用命令行或终端可能非常困难。由于终端比 GUI 程序对 Linux 系统提供更多控制,因此必须习惯在终端上运行命令。因此,要记住 Linux 中的不同命令,您应该每天使用终端来了解命令如何与不同的选项和参数一起使用。

请仔细阅读本 Linux 技巧系列的前几部分。

  1. Linux 中 5 个有趣的命令行提示和技巧 – 第 1 部分
  2. 对新手来说 10 个有用的命令行技巧 – 第 2 部分

在本文中,我们将介绍使用 10 个命令在终端上处理文件和时间的一些提示和技巧。

Linux 中的文件类型

在Linux中,一切都被视为文件,您的设备、目录和常规文件都被视为文件。

Linux系统中有不同类型的文件:

  1. 常规文件,可能包括命令、文档、音乐文件、电影、图像、档案等。
  2. 设备文件:系统使用它们来访问您的硬件组件。

设备文件有两种类型:块文件代表存储设备,例如硬盘,它们以块的形式读取数据,字符文件以逐个字符的方式读取数据。

  1. 硬链接和软链接:它们用于从 Linux 文件系统上的任何位置访问文件。
  2. 命名管道和套接字:允许不同的进程相互通信。

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、grep 和 wc 命令计算给定目录中特定类型文件数量的技巧。命令之间的通信是通过命名管道实现的。

  1. grep – 根据给定模式或正则表达式进行搜索的命令。
  2. 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 系统上查找文件的命令,其中包括 locatefindwhatis >哪个命令。

使用locate命令查找文件

在下面的输出中,我尝试找到我的系统的 Samba 服务器配置。


tecmint@tecmint ~/Linux-Tricks $ locate samba.conf
/usr/lib/tmpfiles.d/samba.conf
/var/lib/dpkg/info/samba.conffiles
使用find命令查找文件

要了解如何在 Linux 中使用 find 命令,您可以阅读我们的以下文章,其中展示了超过 30+ 个 Linux 中 find 命令的实际示例和用法。

  1. Linux 中“find”命令的 35 个示例
使用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 -sdate –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 的文件类型对于初学者来说是一个很好的实践,而且管理时间也至关重要,尤其是在服务器上,以可靠、高效地管理服务。希望本指南对您有所帮助。如果您有任何其他信息,请不要忘记发表评论。与Howtoing保持联系。