Tự học LPI 1,2: Bài 4. Thao tác trên tập tin và thư mục

108

Mỗi phần chúng ta sẽ có một nhóm lệnh dành riêng cho phần đó. Phần này sẽ giúp bạn làm quen với những lệnh cơ bản làm việc với tập tin, các thư mục cũng như có các ví dụ kèm theo.Tự học LPI 1,2: Bài 4. Thao tác trên tập tin và thư mục

Nội dung bài viết:

Sử dụng trợ giúp man

Thao tác trên thư mục

Thao tác trên tập tin

Các tập tin chuẩn trong Linux

Đường ống

Bài tập

1/ Sử dụng trợ giúp man

Linux cung cấp cho bạn một hệ thống thư viện giúp đỡ bạn tìm các thông tin theo từ khóa bạn nhập vào. Trong Linux có rất nhiều lệnh và tùy chọn mà chúng ta không thể nhớ hết được, Linux cung cấp trình trợ giúp man.

$man [từ-khóa]

Bạn dùng các phím điều khiển lên, xuống để xem trang man. Nếu muốn xem từng trang dùng phím space. Để thoát khỏi man: chọn phím q.

2/ Thao tác trên thư mục

Một thư mục hoặc một file có thể truy cập bằng đường dẫn tuyệt đối bắt đầu từ thư mục gốc (/) hoặc đường dẫn tương đối bắt đầu từ thư mục hiện thời.

Đường dẫn tuyệt đối: độc lập với thư mục hiện thời của người dùng và bắt đầu với /

Đường dẫn tương đối: phụ thuộc vào thư mục hiện thời của người dùng và không  bắt đầu với /

Linux dùng ký hiệu “.” chỉ thư mục hiện hành và ký hiệu “..” chỉ thư mục cha của thư mục hiện hành

pwd: Cho phép xác định vị trí của thư mục hiện hành.

[[email protected] bin]$ pwd

/usr/local/bin

cd: Cho phép thay đổi thư mục.

[[email protected] ~]$ cd /etc

ls: Cho phép liệt kê nội dung thư mục.

Cú pháp: ls [tùy chọn] [thư mục]

ls -x hiện thị nhiều cột

ls -l hiện thị chi tiết các thông tin của tập tin

ls -a hiện thị tất cả các tập tin kể cả tập tin ẩn

[[email protected] /]$ ls -l /etc

mkdir: Cho phép tạo thư mục

Cú pháp: mkdir [tùy-chọn] [thư mục]

[[email protected] ~]$ mkdir tuhocmang

rmdir: Cho phép xóa thư mục rỗng

[[email protected] ~]$ rmdir tuhocmang

3/ Thao tác trên tập tin

cat: dùng để hiển thị nội dung của tập tin dạng văn bản.

Cú pháp: cat [tên_tập_tin]

[[email protected] ~]$ cat tuhocmang1

Cat cũng được dùng để tạo và soạn thảo văn bản dạng text. Trong trường hợp này chúng ta sử dụng dấu > hay >> đi theo sau. Nếu tập tin đã tồn tại, dấu > sẽ xóa nội dung của tập tin và ghi nội dung mới vào, dấu >> sẽ ghi nối nội dụng mới vào sau nội dung cũ của tập tin.

[[email protected] ~]$ cat > [tên_tập tin]

> Nhập các dòng dữ liệu

>…

[Ctrl-d: kết thúc]

more: cho phép xem nội dung tập tin theo từng trang màn hình

Cú pháp: more [tên_tập_tin]

[[email protected] ~]$ more /etc/passwd

cp: cho phép sao chép tập tin

Cú pháp: cp [tùy chọn] <tập_tin_nguồn> <tâp tin đích>

cp -r: sao chép tất cả nội dung trong thư mục nguồn

[[email protected] ~]$ cp /etc/passwd /root/passwd

mv: cho phép thay đổi tên tập tin và di chuyển vị trí của tập tin

Cú pháp: mv <tên_tập_tin_cũ> <tên_tập_tin_mới>

[[email protected] ~]$ mv /etc/passwd /root/pwd

rm: cho phép xóa tập tin, thư mục.

Cú pháp: rm [tùy_chọn] [tên_tập_tin/thư_mục]

Các tùy chọn:

rm -i: xóa có cảnh báo

rm -f: xóa không có cảnh báo

rm -rf: xóa tất cả các nội dung trong thư mục hiện hành, cần lưu ý khi xài lệnh này.

[[email protected] ~]$ rm -i /root/pwd

touch: dùng để thay đổi thời gian sau các biến đổi với tập tin. Với lệnh này, bạn có thể kiểm soát dấu hiệu thay đổi từng thời điểm tập tin (Thời gian cho phép sử dụng, thời gian lần đầu thay đổi, lần cuối thay đổi). Nếu tập tin chỉ ra không tồn tại thì touch tạo ra một tập tin rỗng với tên như đã chỉ ra.

Cú pháp: touch [tùy-chọn]  [tên_tập_tin]

[[email protected] ~]$ touch mylife

grep: cho phép tìm kiếm một chuỗi nào đó trong nôi dung tập tin.

Cú pháp: grep [biểu_thức_tìm_kiếm] [tên_tập_tin]

Tìm trong tập tin có tên [tên_tập_tin] những dữ liệu thỏa mãn [biểu_thức_tìm_kiếm]

[[email protected] ~]$ grep “root” /etc/passwd

dd: sao chép và chuyển đổi tập tin.

dd if=/mnt/cdrom/images/boot.img of=/dev/fd0

(if là input, of là output)

find: cho phép tìm kiếm tập tin thỏa mãn điều kiền

Cú pháp: find [đường_dẫn] [biểu_thức_tìm_kiếm]

Đường_dẫn: là đường dẫn thư mục tìm kiếm

Biếu_thức_tìm_kiếm: tìm các tập tin hợp với điều kiện tìm

Tìm 1 tập tin xác định:

find [thư_mục] -name [tên_tập_tin]

[[email protected] ~] #find /etc -name passwd

/etc/passwd

/etc/pam.d/passwd

Ngoài ra, bạn có thể sử dụng những ký hiệu sau:

“*”: viết tắt cho một nhóm ký tự

“?”: viết tắt cho một ký tự

[[email protected] ~] #find /etc -name pass*

4/ Các tập tin chuẩn trong Linux

Khi khởi dộng chương trình Linux, nó giao tiếp với người dùng thông qua việc hiện thi thông tin ra màn hình. Thông tin hiển thị màn hình có thể là dữ liệu của chương trình hay lỗi phát sinh khi có lỗi xảy ra. Người dùng giao tiếp với chương trình qua các kí tự gõ bàn phím. Lường dữ liệu vào từ bàn phím gọi là nhập chuẩn. Luồng dữ liệu ra màn hình gọi là xuất chuẩn, còn luồng dữ liệu thông báo lỗi là lỗi chuẩn.

Sử dụng lệnh cat để soạn thảo, chúng ta gõ:

cat > filename

… Nhập_nội_dung

[Ctrl-d].

Tất cả các dữ liệu chúng ta đưa vào từ bàn phím được xem là tập tin nhập chuẩn. Dùng lệnh ls bạn sẽ nhận được dữ liệu ra màn hình, đó là tập tin xuất chuẩn.

Một thông báo lỗi xuất hiện ở màn hình khi chúng ta gõ lệnh sai hoặc truy xuất vào các tập tin hay thư mục không có quyền chính là tập tin lỗi chuẩn.

a/ Chuyển hướng (redirection)

Chuyển hướng là hình thức thay đổi luồng dữ liệu của các nhập, xuất và lỗi chuẩn. Khi sử dụng chuyển hướng, nhập chuẩn có thể nhận dữ liệu từ tập tin thay vì bàn phím, xuất và lỗi chuẩn có thể xuất ra tập tin…

Chuyển hướng nhập (Input redirection)

Chuyển hướng xuất (Output redirection)

Chuyển hướng lỗi (Error redirection)

b/ Chuyển hướng nhập

Theo quy ước thì các lệnh lấy dữ liệu từ thiết bị nhập chuẩn (bàn phím). Để lệnh lấy dữ liệu từ tập tin chúng ta dùng ký hiệu <:

Cú pháp: $ lệnh < tập_tin

Dấu “<” chỉ hướng chuyển dữ liệu.

Ví dụ: $cat < /etc/passwd.

c/ Chuyển hướng xuất:

Kết quả của các lệnh thông thường được hiển thị trên màn hình. Để xuất kết quả này ra tập tin bàn dùng dấu “>”:

Cú pháp:$ lệnh > tập_tin

Ví dụ: Liệt kê nội dung thư mục và chuyển kết quả ra tập tin

$ ls -l > tm.txt

Để chèn thêm dữ liệu vào cuối tập tin đã tồn tại bạn dùng dấu “>>” thay cho dấu “>”

Cú pháp: $ lệnh >> tập tin

Ví dụ: $ cat a.txt >> sum.txt

5/ Đường ống (Pipe)

Pipe còn gọi là truyền thẳng. Nó là cách truyền dữ liệu sử dụng kết hợp 2 chuyển tiếp. Pepi sử dụng kết xuất của một chương trình làm dữ liệu nhập cho một chương trình khác.

Ví dụ: $history |more

history: cho biết những lệnh đã được thực thi trước đó.

Kết quả của lệnh history không xuất ra màn hình mà chuyển qua cho lệnh more xử lý như dữ liệu đầu vào.

6/ Bài tập

Sử dụng đúng 1 câu lệnh để tạo ra 1 cây thư mục như sau:

/public

/tailieu

/linux

/windows

Thư mục /public là cha của thủ mục /tailieu, thư mục /tailieu là cha của thư mục /linux và /windows

Gới ý: mkdir [tùy chọn] ……. Bạn sử dụng lệnh man để hiểu rõ về lệnh mkdir.

Bài này có 2 cách giải quyết:

Kỹ năng tìm kiếm, vì lệnh mkdir có hỗ trợ.

Vận dụng các kiến thức cớ bản đã nói ở phần trên.

Trên đây tôi đã tổng hợp lại những kiến thức cơ bản vể thao tác với tập tin và thư mục. Các bạn nên sử dụng lệnh man để biết thêm các thông tin về các lệnh trên.

BÌNH LUẬN

Please enter your comment!
Please enter your name here