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

简介:

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难。由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令。因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数一同使用。

在 Linux 中管理文件类型和设置时间

在 Linux 中管理文件类型和设置时间

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

在这篇文章中,我们打算看看终端中 5 个和文件以及时间相关的提示和技巧。

Linux 中的文件类型

在 Linux 中,一切皆文件,你的设备、目录以及普通文件都认为是文件。

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

  • 普通文件:可能包含命令、文档、音频文件、视频、图像,归档文件等。
  • 设备文件:系统用于访问你硬件组件。

这里有两种表示存储设备的设备文件:块文件,例如硬盘,它们以块读取数据;字符文件,以逐个字符读取数据。

  • 硬链接和软链接:用于在 Linux 文件系统的任意地方访问文件。
  • 命名管道和套接字:允许不同的进程之间进行交互。

1. 用 ‘file’ 命令确定文件类型

你可以像下面这样使用 file 命令确定文件的类型。下面的截图显示了用 file 命令确定不同文件类型的例子。

 
  1. tecmint@tecmint ~/Linux-Tricks $ dir
  2. BACKUP master.zip
  3. crossroads-stable.tar.gz num.txt
  4. EDWARD-MAYA-2011-2012-NEW-REMIX.mp3 reggea.xspf
  5. Linux-Security-Optimization-Book.gif tmp-link
  6. tecmint@tecmint ~/Linux-Tricks $ file BACKUP/
  7. BACKUP/: directory
  8. tecmint@tecmint ~/Linux-Tricks $ file master.zip
  9. master.zip: Zip archive data, at least v1.0 to extract
  10. tecmint@tecmint ~/Linux-Tricks $ file crossroads-stable.tar.gz
  11. crossroads-stable.tar.gz: gzip compressed data, from Unix, last modified: Tue Apr 5 15:15:20 2011
  12. tecmint@tecmint ~/Linux-Tricks $ file Linux-Security-Optimization-Book.gif
  13. Linux-Security-Optimization-Book.gif: GIF image data, version 89a, 200 x 259
  14. tecmint@tecmint ~/Linux-Tricks $ file EDWARD-MAYA-2011-2012-NEW-REMIX.mp3
  15. 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
  16. tecmint@tecmint ~/Linux-Tricks $ file /dev/sda1
  17. /dev/sda1: block special
  18. tecmint@tecmint ~/Linux-Tricks $ file /dev/tty1
  19. /dev/tty1: character special

2. 用 ‘ls’ 和 ‘dir’ 命令确定文件类型

确定文件类型的另一种方式是用 ls 和 dir 命令显示一长串结果。

用 ls -l 确定一个文件的类型。

当你查看文件权限时,第一个字符显示了文件类型,其它字符显示文件权限。

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

使用 ls -l 确定块和字符文件

 
  1. tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/sda1
  2. brw-rw---- 1 root disk 8, 1 Sep 9 10:53 /dev/sda1
  3. tecmint@tecmint ~/Linux-Tricks $ ls -l /dev/tty1
  4. crw-rw---- 1 root tty 4, 1 Sep 9 10:54 /dev/tty1

使用 dir -l 确定一个文件的类型。

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

3. 统计指定类型文件的数目

下面我们来看看在一个目录中用 ls,grep 和 wc 命令统计指定类型文件数目的技巧。命令之间的交互通过命名管道完成。

  • grep – 用户根据给定模式或正则表达式进行搜索的命令。
  • wc – 用于统计行、字和字符的命令。

统计普通文件的数目

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

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

统计目录的数目

在 Linux 中,目录用符号 d 表示。

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

统计符号链接和硬链接的数目

在 Linux 中,符号链接和硬链接用符号 l 表示。

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

统计块文件和字符文件的数目

在 Linux 中,块和字符文件用符号 b 和 c 表示。

 
  1. tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^b | wc -l
  2. 37
  3. tecmint@tecmint ~/Linux-Tricks $ ls -l /dev | grep ^c | wc -l
  4. 159

4. 在 Linux 系统中查找文件

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

用 locate 命令查找文件

在下面的输出中,我想要定位系统中的 Samba 服务器配置文件

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

用 find 命令查找文件

想要学习如何在 Linux 中使用 find 命令,你可以阅读我们以下的文章,里面列出了 find 命令的 30 多个例子和使用方法。

用 whatis 命令定位命令

whatis 命令通常用于定位命令,它很特殊,因为它给出关于一个命令的信息,它还能查找配置文件和命令的帮助手册条目。

 
  1. tecmint@tecmint ~/Linux-Tricks $ whatis bash
  2. bash (1) - GNU Bourne-Again SHell
  3. tecmint@tecmint ~/Linux-Tricks $ whatis find
  4. find (1) - search for files in a directory hierarchy
  5. tecmint@tecmint ~/Linux-Tricks $ whatis ls
  6. ls (1) - list directory contents

用 which 命令定位命令

which 命令用于定位文件系统中的命令。

 
  1. tecmint@tecmint ~/Linux-Tricks $ which mkdir
  2. /bin/mkdir
  3. tecmint@tecmint ~/Linux-Tricks $ which bash
  4. /bin/bash
  5. tecmint@tecmint ~/Linux-Tricks $ which find
  6. /usr/bin/find
  7. tecmint@tecmint ~/Linux-Tricks $ $ which ls
  8. /bin/ls

5.处理 Linux 系统的时间

在联网环境中,保持你 Linux 系统时间准确是一个好的习惯。Linux 系统中有很多服务要求时间正确才能在联网条件下正常工作。

让我们来看看你可以用来管理你机器时间的命令。在 Linux 中,有两种方式管理时间:系统时间和硬件时间。

系统时间由系统时钟管理,硬件时间由硬件时钟管理。

要查看你的系统时间、日期和时区,像下面这样使用 date 命令。

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

像下面这样用 date -s 或 date -set=“STRING” 设置系统时间。

 
  1. tecmint@tecmint ~/Linux-Tricks $ sudo date -s "12:27:00"
  2. Wed Sep 9 12:27:00 IST 2015
  3. tecmint@tecmint ~/Linux-Tricks $ sudo date --set="12:27:00"
  4. Wed Sep 9 12:27:00 IST 2015

你也可以像下面这样设置时间和日期。

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

使用 cal 命令从日历中查看当前日期。

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

使用 hwclock 命令查看硬件时钟时间。

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

要设置硬件时钟时间,像下面这样使用 hwclock –set –date=“STRING” 命令。

 
  1. tecmint@tecmint ~/Linux-Tricks $ sudo hwclock --set --date="09/09/2015 12:33:00"
  2. tecmint@tecmint ~/Linux-Tricks $ sudo hwclock
  3. Wednesday 09 September 2015 12:33:11 PM IST -0.891163 seconds

系统时间是由硬件时钟时间在启动时设置的,系统关闭时,硬件时间被重置为系统时间。

因此你查看系统时间和硬件时间时,它们是一样的,除非你更改了系统时间。当你的 CMOS 电量不足时,硬件时间可能不正确。

你也可以像下面这样使用硬件时钟的时间设置系统时间。

 
  1. $ sudo hwclock --hctosys

也可以像下面这样用系统时钟时间设置硬件时钟时间。

 
  1. $ sudo hwclock --systohc

要查看你的 Linux 系统已经运行了多长时间,可以使用 uptime 命令。

 
  1. tecmint@tecmint ~/Linux-Tricks $ uptime
  2. 12:36:27 up 1:43, 2 users, load average: 1.39, 1.34, 1.45
  3. tecmint@tecmint ~/Linux-Tricks $ uptime -p
  4. up 1 hour, 43 minutes
  5. tecmint@tecmint ~/Linux-Tricks $ uptime -s
  6. 2015-09-09 10:52:47

总结

对于初学者来说理解 Linux 中的文件类型是一个好的尝试,同时时间管理也非常重要,尤其是在需要可靠有效地管理服务的服务器上。希望这篇指南能对你有所帮助。

本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-10-08

目录
相关文章
|
1天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
8 0
|
2天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
20 6
Linux 中的 Nslookup 命令怎么使用?
|
3天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
4天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
4天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
48 0
|
Shell Linux
12.13 Linux工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。也就是说,我们登陆了一个终端,已经在执行一个操作,那么是否可以在不关闭当前操作的情况下执行其他操作呢?
110 0
12.13 Linux工作管理
|
Linux Shell Windows
Linux系统管理-工作管理(后台程序管理)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/77857203 简介 工作管理指的是在当个登陆终端中同时管理多个工作的行为。
1117 0
|
11天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令