5 lệnh để quản lý các loại tệp và thời gian hệ thống trong Linux - Phần 3

Trong bài viết này, chúng ta sẽ tìm hiểu một số mẹo và thủ thuật sử dụng 5 lệnh quản lý các loại tệp và thời gian hệ thống trên terminal.

Các loại tệp tin trong Linux

Trong Linux, mọi thứ được coi là một tệp tin, các thiết bị, thư mục và các tệp tin thông thường đều được coi là các tệp tin.

Có các loại tệp tin khác nhau trong hệ thống Linux:

  • Tệp tin thông thường có thể bao gồm các lệnh, tài liệu, tệp âm nhạc, phim, hình ảnh, lưu trữ và nhiều hơn nữa.
  • Tệp tin thiết bị: được hệ thống sử dụng để truy cập vào các thành phần phần cứng của bạn.

Có hai loại tệp tin thiết bị: tệp tin khối đại diện cho các thiết bị lưu trữ như ổ cứng, chúng đọc dữ liệu theo khối, và tệp tin ký tự đọc dữ liệu theo từng ký tự.

  • Liên kết cứng và liên kết mềm: được sử dụng để truy cập tệp tin từ bất kỳ đâu trên hệ thống tệp tin Linux.
  • Ống đặt tên và socket: cho phép các quy trình khác nhau giao tiếp với nhau.

Xác định loại tệp tin bằng lệnh 'file'

Bạn có thể xác định loại tệp tin bằng cách sử dụng lệnh 'file' như sau. Ảnh chụp màn hình dưới đây cho thấy các ví dụ khác nhau về việc sử dụng lệnh 'file' để xác định loại các tệp tin khác nhau.

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 

Xác định loại tệp tin bằng lệnh 'ls' và 'dir'

Một cách khác để xác định loại tệp tin là thực hiện một danh sách chi tiết bằng cách sử dụng các lệnh 'ls' và 'dir'.

Sử dụng 'ls -l' để xác định loại tệp tin.

Khi bạn xem quyền truy cập của tệp tin, ký tự đầu tiên cho thấy loại tệp tin và các ký tự khác cho thấy quyền truy cập vào tệp tin. 

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

Sử dụng 'ls -l' để xác định tệp tin khối và ký tự. 

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

Sử dụng 'dir -l' để xác định loại tệp tin.

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

Đếm số lượng tệp tin của một loại cụ thể

Chúng ta sẽ tiếp tục với các mẹo đếm số lượng tệp tin của một loại cụ thể trong một thư mục đã cho bằng cách sử dụng các lệnh 'ls', 'grep' và 'wc'. Giao tiếp giữa các lệnh được thực hiện thông qua named piping.

  • grep - lệnh tìm kiếm theo một mẫu hoặc biểu thức chính quy đã cho.
  • wc - lệnh đếm số dòng, từ và ký tự.

Đếm số lượng tệp tin thông thường. Trong Linux, tệp tin thông thường được biểu thị bằng ký tự - . 

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

Đếm số lượng thư mục. Trong Linux, các thư mục được biểu thị bằng ký tự d.

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

Đếm số lượng liên kết mềm và liên kết cứng. Trong Linux, liên kết mềm và liên kết cứng được biểu thị bằng ký tự l . 

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

Đếm số lượng tệp tin khối và ký tự. Trong Linux, tệp tin khối và ký tự được biểu thị bằng các ký tự b và c tương ứng.

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

Tìm kiếm tệp tin trên hệ thống Linux

Tiếp theo, chúng ta sẽ xem một số lệnh mà bạn có thể sử dụng để tìm kiếm tệp tin trên hệ thống Linux, bao gồm các lệnh locate, find, whatis và which.

Sử dụng lệnh locate để tìm kiếm tệp tin. Trong đầu ra dưới đây, tôi đang cố gắng tìm vị trí cấu hình máy chủ Samba cho hệ thống của tôi.

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

Sử dụng lệnh whatis để xác định các lệnh

Lệnh whatis thường được sử dụng để xác định các lệnh và nó đặc biệt vì nó cung cấp thông tin về một lệnh, nó cũng tìm các tệp cấu hình và mục lục hướng dẫn cho một lệnh.

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

Sử dụng lệnh which để xác định các lệnh. Lệnh which được sử dụng để xác định các lệnh trên hệ thống tệp tin.

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

Làm việc với thời gian trên hệ thống Linux của bạn

Khi làm việc trong một môi trường mạng, việc giữ thời gian chính xác trên hệ thống Linux của bạn là một thực hành tốt. Có một số dịch vụ trên hệ thống Linux yêu cầu thời gian chính xác để hoạt động hiệu quả trên mạng.

Chúng ta sẽ xem các lệnh bạn có thể sử dụng để quản lý thời gian trên máy tính của bạn. Trong Linux, thời gian được quản lý theo hai cách: thời gian hệ thống và thời gian phần cứng.

Thời gian hệ thống được quản lý bởi một đồng hồ hệ thống và thời gian phần cứng được quản lý bởi một đồng hồ phần cứng.

Để xem thời gian hệ thống, ngày và múi giờ của bạn, sử dụng lệnh date như sau. 

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

Đặt thời gian hệ thống của bạn bằng cách sử dụng date -s hoặc date --set="STRING" như sau. 

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

Bạn cũng có thể đặt ngày và giờ như sau:

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

Xem ngày hiện tại từ lịch bằng lệnh 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     

Để xem thời gian của đồng hồ phần cứng, bạn có thể sử dụng lệnh "hwclock". 

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

Để đặt thời gian cho đồng hồ phần cứng, bạn có thể sử dụng lệnh "hwclock -set -date="STRING"" như sau.

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

Thời gian hệ thống được đặt bởi đồng hồ phần cứng trong quá trình khởi động và khi hệ thống tắt, thời gian phần cứng được đồng bộ lại với thời gian hệ thống.

Do đó, khi bạn xem thời gian hệ thống và thời gian phần cứng, chúng giống nhau trừ khi bạn thay đổi thời gian hệ thống. Thời gian phần cứng của bạn có thể không chính xác khi pin CMOS yếu.

Bạn cũng có thể đặt thời gian hệ thống của mình bằng thời gian từ đồng hồ phần cứng như sau. 

$ sudo hwclock --hctosys

Cũng có thể đặt thời gian đồng hồ phần cứng bằng thời gian từ hệ thống như sau.

$ sudo hwclock --systohc

Để xem thời gian hoạt động của hệ thống Linux của bạn, sử dụng lệnh 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