Đã đi qua được phần (hy vọng bạn nuốt được

giới thiệu về shell Linux. Trong phần này ta sẽ đi qua một vài câu lệnh cơ bản để làm việc với shell Linux, bao gồm :
* Xem người dùng đang đăng nhập vào
* Trợ giúp man
* Trình xem và cộng file cat
* Lệnh tạo thư mục mkdir.
* Lệnh cắt file split và dùng cat để cộng file cắt
+) Xem người dùng đang dăng nhập vào
Để xem người dùng đang đăng nhập vào, ta có thể sử dụng lệnh
whoami. Đánh lệnh whoami không có tham số. Kết quả :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ whoami
scifi
+) Trợ giúp man
Man là câu lệnh mà người dùng Linux nào cũng cần phải biết. Nó chứa thông tin cần thiết để sử dụng một câu lệnh nào đó. Để sử dụng lệnh man hãy gõ “man” với tham số là câu lệnh cần tra. Ví dụ
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ man diff3
Bạn sẽ nhận được một màn hình hướng dẫn sử dụng lệnh. Dùng các phím mũi tên để di chuyển giữa các dòng hướng dẫn. Nhấn Q để kết thúc man và quay lại màn hình nhập lệnh. Để chuyển hướng lệnh vào một tệp tin nào đó, ví dụ _manual_grep :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ man diff3 ~>^C
scifi@scifi-945GZ-Micro-775-SE:~$ man diff3 > ~/_manual_grep
scifi@scifi-945GZ-Micro-775-SE:~$ cat ~/_ma*
DIFF3(1) User Commands DIFF3(1)
...
Câu lệnh man có một database riêng trong thư mục /usr, chia ra khoảng 9 (hay 8 trang gì đó). Khi bạn gõ lệnh man parameter nó sẽ tìm kiếm trong /usr hướng dẫn tương ứng. Bạn cũng có thể thêm vào hướng dẫn lệnh của riêng mình. Chú ý là các trang hướng dẫn của man được chia làm 8 hoặc 9 như trên là có ý nghĩa. Ví dụ, database của man mặc định là từ man1,man2,….,man8,man9. Giả sử (giả sử thôi) có hai lệnh reboot nằm trong cả hai trang man1 và man2. Khi bạn đánh man reboot [Enter] thì sẽ và chỉ một reboot được hiển thị. Nhưng bạn lại muốn xem nội dung của reboot bên trang man bên kia. Bạn sẽ đánh :
Trang : Trang cần xem lệnh
Lệnh : Lệnh cần ‘lục’ trong trang man tương ứng đã chỉ ra.
Trở lại ví dụ trên, nếu bạn muốn xem nội dung reboot của trang man số 2 :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ man 2 reboot
Công dụng chứa cùa từng trang sẽ được nói đến sau (tất nhiên, nếu không có nghĩa thì họ sẽ không chia ra từng trang mà để theo khối).
+) Trình xem và cộng file cat.
Nếu bạn đã từng “học đòi” Linux thì bạn sẽ thấy trong một Linux tutorial[s] nào đó họ có dùng lệnh cat để xem nội dung file X nào đó. Thực ra lệnh cat không tiện dụng và thực ra nó cũng không dùng cho việc xem file. Chúng ta sẽ xem xét một trình đọc file đó là nano (tích hợp trong distro *Ubuntu) và less (tích hợp trong mọi phiên bản distro nhân Linux) sau. Ngay bây giờ mình sẽ giải thích đơn giản lý do cat không thể dùng để đọc file. Cái chính là khi chạy lệnh cat với một file có dung lượng lớn, cat sẽ tua rất nhanh qua file, bạn chỉ thấy phần cuối. Như vậy không hiệu quả. Cat dùng để nối file thì đúng hơn.
Một ví dụ của cat :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ cat myfile yourfile > ourfile
Như bạn thấy, dãy lệnh trên và kết quả cho thấy cat có thể nối 2 (hay nhiều file nếu bạn muốn) vào một file. Để nối file với cat, ta dùng câu lệnh tổng quát :
Code:
cat file1 file2 > file3
Lúc này file3 sẽ chứa nội dung file1 và file2. Cat cũng là một trình soạn thảo đơn giản. Hãy thử chạy lệnh
cat>file và nhập vào đó một vài dòng, rồi Ctrl+C và xem nội dung file.
+) Lệnh tạo thư mục mkdir và xóa thư mục rmdir
Thư mục thực chất cũng là một file. Để tạo một thư mục trong Linux ở một đường dẫn nào đó ta dùng lệnh mkdir. Ví dụ :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ mkdir capsule
scifi@scifi-945GZ-Micro-775-SE:~$ ls
1 Desktop _manual_grep new file Public
32.jpg Documents Mint_Dew_Full_by_Zwopper.jpg ourfilemkdir Templates
capsule Downloads Music Pictures Videos
scifi@scifi-945GZ-Micro-775-SE:~$
Lệnh trên sẽ tạo ra thư mục bởi mkdir. Khi tạo một thư mục nào đó thì bản thân thư mục sẽ tạo ra hai liên kết : . và .. (một chấm và hai chấm). Một chấm dùng để chỉ chính thư mục đó. Hai chấm dùng để chỉ tới thư mục mẹ của nó. Như vậy, ta có thể dễ dàng di chuyển giữa các thư mục trong Linux, ví dụ như :
Lệnh này sẽ chạy lên thư mục mẹ rồi chuyển sang thư mục tarvzf. Hoặc :
Lệnh này sẽ vào thư mục _a của thư mục hiện tại, vào thư mục _b và trở ra thư mục _a.
Để tạo thư mục xuyên suốt thư mục (tức là tạo thư mục ngay trong đường dẫn), ta dùng mkdir với tùy chọn –p. Ví dụ, giả sử trong thư mục gốc / không có thư mục /opt/tars/var. Ta tạo nó :
Code:
scifi@scifi-945GZ-Micro-775-SE:~$ mkdir -p capsule/cap2/cap3
scifi@scifi-945GZ-Micro-775-SE:~$ ls ~/capsule
cap2
scifi@scifi-945GZ-Micro-775-SE:~$ ls ~/capsule/cap2
cap3
scifi@scifi-945GZ-Micro-775-SE:~$
Còn rất nhiều vấn đề nữa phải nói như triển khai biểu thức, sơ lược về filesystem của Linux, inode của thư mục/file, lệnh echo, environment variable,…nhưng chúng ta chỉ nói ngắn gọn ở đây. Hãy hỏi mình ở Visitor message nếu bạn muốn hiểu thêm. Ta chuyển qua phần tiếp theo.
+) Lệnh cắt file split và cộng (nối) file bằng cat.
Trong Linux, ngay cả những công việc thường cũng được tích hợp vào câu lệnh! (pwd,fsck,pwck,grep,wc,split,halt,bash,nano,…) và cắt ghép file cũng vậy. Để cắt một file nào đó thành nhưng file nhỏ, ta dùng lệnh split.
Cú pháp của split :
Code:
split option file file_cắt
option[s] : -a=N : Thêm độ dài của Prefix lên N chữ số (mặc định là 2). Prefix dùng để phân biệt file nối, thứ tự, ví dụ aa,ab,ac,ad...
-b size : Định kích thước size của mỗi file cắt. Cho ví dụ sẽ dễ hiểu hơn.
Cắt file thành các mảnh 120 Kbytes.
Cắt file thành các mảnh 500 Mbytes.
-d : Dùng prefix số thay cho prefix chữ.
F.e. :
Code:
scifi@scifi-945GZ-Micro-775-SE:~/Downloads$ split -d -b 500k When_Im_Gone_Eminem.mp3 test
Để cộng file đơn giản ta chỉ việc dùng cat cộng tất cả các file cắt lại thành một file hoàn chỉnh, thế là xong.
Code:
scifi@scifi-945GZ-Micro-775-SE:~/Downloads$ cat test00 test01 test02 test03 test04 test05 > test
Hoặc ngắn gọn :
Code:
scifi@scifi-945GZ-Micro-775-SE:~/Downloads$ cat test* > testb
Bài sau sẽ nói ngắn gọn về các lệnh pwd, grep, rmdir, rm, shutdown, reboot, cp/mv chia và khai triển lệnh. Hoặc nếu bây giờ bạn có hứng thú hảy thử tìm hiểu chúng trước