Menu bài viết
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.
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.