linux unix

Trong chương này, chúng ta sẽ thảo luận chi tiết về quản lý tệp trong Unix. Tất cả dữ liệu trong Unix được tổ chức thành các tệp. Tất cả các tệp được tổ chức thành các thư mục. Các thư mục này được tổ chức thành một cấu trúc dạng cây được gọi là hệ thống tệp.

Khi bạn làm việc với Unix, bằng cách này hay cách khác, bạn dành phần lớn thời gian của mình để làm việc với các tệp. Hướng dẫn này sẽ giúp bạn hiểu cách tạo và xóa tệp, sao chép và đổi tên chúng, tạo liên kết đến chúng, v.v.

Trong Unix, có ba loại tệp cơ bản:

  • Tệp thông thường – Tệp thông thường là tệp trên hệ thống chứa dữ liệu, văn bản hoặc hướng dẫn chương trình. Trong hướng dẫn này, bạn sẽ làm việc với các tệp thông thường.
  • Thư mục – Thư mục lưu trữ cả tệp đặc biệt và tệp thông thường. Đối với người dùng quen thuộc với Windows hoặc Mac OS, các thư mục Unix tương đương với các thư mục.
  • Tệp Đặc biệt – Một số tệp đặc biệt cung cấp quyền truy cập vào phần cứng như ổ cứng, ổ CD-ROM, modem và bộ điều hợp Ethernet. Các tệp đặc biệt khác tương tự như bí danh hoặc phím tắt và cho phép bạn truy cập vào một tệp duy nhất bằng các tên khác nhau.

Tp danh sách

Để liệt kê các tệp và thư mục được lưu trữ trong thư mục hiện tại, hãy sử dụng lệnh sau:

$ls

Đây là kết quả mẫu của lệnh trên:

$ls

bin hosts lib res.03
ch07 hw1 pub test_results
ch07.bak hw2 res.01 users
docs hw3 res.02 work

Lệnh ls hỗ trợ tùy chọn -l sẽ giúp bạn có thêm thông tin về các tệp được liệt kê

$ls -l
total 1962188

drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml
-rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpg
drwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univ
drwxr-xr-x 2 root root 4096 Dec 9 2007 urlspedia
-rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tar
drwxr-xr-x 8 root root 4096 Nov 25 2007 usr
drwxr-xr-x 2 200 300 4096 Nov 25 2007 webthumb-1.01
-rwxr-xr-x 1 root root 3192 Nov 25 2007 webthumb.php
-rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar
-rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid
-rw-rw-r-- 1 amrood amrood 166255 Aug 9 2007 yourfile.swf
drwxr-xr-x 11 amrood amrood 4096 May 29 2007 zlib-1.2.3
$

Đây là thông tin về tất cả các cột được liệt kê –

  • Cột đầu tiên – Đại diện cho loại tệp và quyền được cấp trên tệp. Dưới đây là mô tả của tất cả các loại tệp.
  • Cột thứ hai – Đại diện cho số khối bộ nhớ được lấy bởi tệp hoặc thư mục.
  • Cột thứ ba – Đại diện cho chủ sở hữu của tệp. Đây là người dùng Unix đã tạo tệp này.
  • Cột thứ tư – Đại diện cho nhóm của chủ sở hữu. Mỗi người dùng Unix sẽ có một nhóm được liên kết.
  • Cột thứ năm – Đại diện cho kích thước tệp tính bằng byte.
  • Cột thứ sáu – Đại diện cho ngày và giờ khi tệp này được tạo hoặc sửa đổi lần cuối cùng.
  • Cột thứ bảy – Đại diện cho tệp hoặc tên thư mục.

Trong ví dụ liệt kê ls -l , mọi dòng tệp đều bắt đầu bằng d ,  hoặc l . Các ký tự này cho biết loại tệp được liệt kê.

Sr.No.Tiền tố & Mô tả
1 Tệp thông thường, chẳng hạn như tệp văn bản ASCII, tệp thực thi nhị phân hoặc liên kết cứng.
2b Chặn tệp đặc biệt. Chặn tập tin thiết bị đầu vào / đầu ra chẳng hạn như ổ cứng vật lý.
3c Kí tự đặc biệt tệp. Tệp thiết bị đầu vào / đầu ra thô chẳng hạn như ổ cứng vật lý.
4d Tệp thư mục chứa danh sách các tệp và thư mục khác.
5l Tệp liên kết tượng trưng. Liên kết trên bất kỳ tệp thông thường nào.
6P Đường ống có tên. Một cơ chế giao tiếp giữa các quá trình.
7S Socket được sử dụng để giao tiếp giữa các quá trình.

Metacharacters

Metacharacters có một ý nghĩa đặc biệt trong Unix. Ví dụ, * và là siêu nhân vật. Chúng tôi sử dụng * để khớp với 0 hoặc nhiều ký tự, dấu chấm hỏi ( ? ) Khớp với một ký tự duy nhất.

Ví dụ –

$ls ch*.doc

Hiển thị tất cả các tệp, tên của chúng bắt đầu bằng ch và kết thúc bằng .doc –

ch01-1.doc ch010.doc ch02.doc ch03-2.doc
ch04-1.doc ch040.doc ch05.doc ch06-2.doc
ch01-2.doc ch02-1.doc c

Ở đây, * hoạt động như một ký tự meta phù hợp với bất kỳ ký tự nào. Nếu bạn muốn hiển thị tất cả các tệp chỉ kết thúc bằng .doc , thì bạn có thể sử dụng lệnh sau:

$ls *.doc

Các tp n

Tệp ẩn là một, ký tự đầu tiên là dấu chấm hoặc ký tự dấu chấm (.). Các chương trình Unix (bao gồm cả shell) sử dụng hầu hết các tệp này để lưu trữ thông tin cấu hình.

Một số ví dụ phổ biến về các tệp ẩn bao gồm các tệp –

  • .profile – Tập lệnh khởi tạo Bourne shell (sh)
  • .kshrc – Tập lệnh khởi tạo trình bao Korn (ksh)
  • .cshrc – Tập lệnh khởi tạo C shell (csh)
  • .rhosts – Tệp cấu hình trình bao từ xa

Để liệt kê các tệp ẩn, hãy chỉ định tùy chọn -a thành ls

$ ls -a

. .profile docs lib test_results
.. .rhosts hosts pub users
.emacs bin hw1 res.01 work
.exrc ch07 hw2 res.02
.kshrc ch07.bak hw3 res.03
$
  • Dấu chấm đơn (.) – Điều này đại diện cho thư mục hiện tại.
  • Dấu chấm kép (..) – Điều này đại diện cho thư mục mẹ.

To tp

Bạn có thể sử dụng trình soạn thảo vi để tạo các tệp thông thường trên bất kỳ hệ thống Unix nào. Bạn chỉ cần đưa ra lệnh sau:

$ vi filename

Lệnh trên sẽ mở một tệp có tên tệp đã cho. Bây giờ, hãy nhấn phím i để vào chế độ chỉnh sửa. Khi bạn ở chế độ chỉnh sửa, bạn có thể bắt đầu ghi nội dung của mình vào tệp như trong chương trình sau:

This is unix file....I created it for the first time.....
I'm going to save this content in this file.

Khi bạn đã hoàn tất chương trình, hãy làm theo các bước sau:

  • Nhấn phím esc để thoát khỏi chế độ chỉnh sửa.
  • Nhấn hai phím Shift + ZZ cùng nhau để thoát hoàn toàn khỏi tệp.

Bây giờ bạn sẽ có một tệp được tạo với tên tệp trong thư mục hiện tại.

$ vi filename
$

Chnh sa tp

Bạn có thể chỉnh sửa tệp hiện có bằng trình chỉnh sửa vi . Chúng ta sẽ thảo luận ngắn gọn về cách mở một tệp hiện có –

$ vi filename

Sau khi tệp được mở, bạn có thể vào chế độ chỉnh sửa bằng cách nhấn phím i và sau đó bạn có thể tiếp tục bằng cách chỉnh sửa tệp. Nếu bạn muốn di chuyển ở đây và ở đó bên trong tệp, trước tiên bạn cần thoát khỏi chế độ chỉnh sửa bằng cách nhấn phím Esc . Sau đó, bạn có thể sử dụng các phím sau để di chuyển bên trong tệp:

  • phím l để di chuyển sang bên phải.
  • phím h để di chuyển sang phía bên trái.
  • phím k để di chuyển ngược lại trong tệp.
  • phím j để di chuyển xuống dưới trong tệp.

Vì vậy, bằng cách sử dụng các phím trên, bạn có thể định vị con trỏ của mình ở bất kỳ đâu bạn muốn chỉnh sửa. Khi đã định vị xong, bạn có thể sử dụng phím i để vào chế độ chỉnh sửa. Khi bạn đã hoàn tất việc chỉnh sửa trong tệp của mình, hãy nhấn Esc và cuối cùng nhấn hai phím Shift + ZZ cùng nhau để thoát ra khỏi tệp hoàn toàn.

Hin th ni dung ca mt tp

Bạn có thể sử dụng lệnh cat để xem nội dung của tệp. Sau đây là một ví dụ đơn giản để xem nội dung của tệp đã tạo ở trên:

$ cat filename
This is unix file....I created it for the first time.....
I'm going to save this content in this file.
$

Bạn có thể hiển thị số dòng bằng cách sử dụng tùy chọn -b cùng với lệnh cat như sau:

$ cat -b filename
1 This is unix file....I created it for the first time.....
2 I'm going to save this content in this file.
$

Đếm t trong tp

Bạn có thể sử dụng lệnh wc để đếm tổng số dòng, từ và ký tự có trong một tệp. Sau đây là một ví dụ đơn giản để xem thông tin về tệp được tạo ở trên:

$ wc filename
2 19 103 filename
$

Đây là chi tiết của tất cả bốn cột –

  • Cột đầu tiên – Đại diện cho tổng số dòng trong tệp.
  • Cột thứ hai – Đại diện cho tổng số từ trong tệp.
  • Cột thứ ba – Đại diện cho tổng số byte trong tệp. Đây là kích thước thực của tệp.
  • Cột thứ tư – Đại diện cho tên tệp.

Bạn có thể cung cấp nhiều tệp và nhận thông tin về các tệp đó cùng một lúc. Sau đây là cú pháp đơn giản

$ wc filename1 filename2 filename3

Sao chép các tp tin

Để tạo bản sao của tệp, hãy sử dụng lệnh cp . Cú pháp cơ bản của lệnh là:

$ cp source_file destination_file

Dưới đây là ví dụ để tạo một bản sao của tên tệp hiện  .

$ cp filename copyfile
$

Bây giờ bạn sẽ tìm thấy một tệp copyfile nữa trong thư mục hiện tại của bạn. Tệp này sẽ hoàn toàn giống với tên tệp gốc .

Đổi tên tp

Để thay đổi tên của tệp, hãy sử dụng lệnh mv . Sau đây là cú pháp cơ bản:

$ mv old_file new_file

Chương trình sau sẽ đổi tên tên tệp hiện có thành tệp mới 

$ mv filename newfile
$

Lệnh mv sẽ di chuyển hoàn toàn tệp hiện có sang tệp mới. Trong trường hợp này, bạn sẽ chỉ tìm thấy tệp mới trong thư mục hiện tại của mình.

Xóa tp

Để xóa một tệp hiện có, hãy sử dụng lệnh rm . Sau đây là cú pháp cơ bản:

$ rm filename

Thận trọng – Một tệp có thể chứa thông tin hữu ích. Bạn nên cẩn thận khi sử dụng lệnh Delete này. Tốt hơn là sử dụng tùy chọn -i cùng với lệnh rm .

Sau đây là ví dụ cho thấy cách xóa hoàn toàn tên tệp hiện  .

$ rm filename
$

Bạn có thể xóa nhiều tệp cùng một lúc bằng lệnh dưới đây:

$ rm filename1 filename2 filename3
$

Lung Unix tiêu chun

Trong trường hợp bình thường, mọi chương trình Unix đều có ba luồng (tệp) được mở cho nó khi nó khởi động –

  • stdin – Đây được gọi là đầu vào tiêu chuẩn và bộ mô tả tệp liên quan là 0. Điều này cũng được biểu thị là STDIN. Chương trình Unix sẽ đọc đầu vào mặc định từ STDIN.
  • stdout – Đây được gọi là đầu ra tiêu chuẩn và bộ mô tả tệp liên quan là 1. Điều này cũng được biểu diễn dưới dạng STDOUT. Chương trình Unix sẽ ghi đầu ra mặc định tại STDOUT
  • stderr – Đây được gọi là lỗi tiêu chuẩn và bộ mô tả tệp liên quan là 2. Lỗi này cũng được biểu diễn dưới dạng STDERR. Chương trình Unix sẽ viết tất cả các thông báo lỗi tại STDERR.

Unix / Linux – Quản lý thư mục (xem thêm)

Để lại một bình luận