Thứ Tư, 18 tháng 1, 2017

[Serie học Linux từ đầu ] _ Bài 1: Các lệnh cơ bản trong linux

 Bài 1: Các lệnh cơ bản trong linux
1.Tổng quan về lệnh trong linux
  • Cấu trúc lệnh trong linux gồm 3 phần: <comand>[options][argument]
    • Comand (Lệnh):
      •  Là tên file chứa mã lệnh. Thường là 1 động từ hoặc viết tắt đại diện cho chức năng của lệnh.
      • Tên lệnh phân biệt viết hoa và viết thường. 
                             VD: ls khác Ls
      • Mỗi lệnh kết thúc bởi phím Enter.
      • Dùng dấu ;  để phân cách 2 lệnh trên 1 dòng. Dùng |  nếu có gắn kết dữ liệu đầu vào.
                            VD:        cd /home; ls -l
                                           printenv | grep HOME
      • Dùng \ và phím enter để viết lệnh trên nhiều dòng. 
    • Options ( Tùy chọn)
      • Là tập ký tự định nghĩa trước để điều khiển lệnh theo ý muốn người dùng.
      • Không phân biệt thứ tự tham số. VD: ls -l -a tương đương ls -a -l
      • Gồm 2 loại:
        • Đơn ký tự: Đi ngay sau dấu "-"  lệnh sẽ tách các ký tự sau dấu "-" thành tham số.Dùng trong gõ lệnh nhanh.  VD: ls -la   tương đương ls -l -a
        • Đa ký tự: Đi ngay sau dấu "--" dùng để diễn giải ý nghĩa việc sự lựa chọn tùy chọn của người dùng.
    • Arguments ( Tham số) 
      • Là các từ ngữ có ý nghĩa nhưng chưa xác định khi lập trình, dùng để điều khiển lệnh nhừ options.
      • VD: cd /HOME  thì /HOME chính là tham số.
  • Đường dẫn:
    • Đường dẫn tuyệt  đối:
      • Là đường dẫn duy nhất tính từ thư mục gốc đến nó thông qua các thư mục trung gian.
    • Đường dẫn tương đối: 
      • Là đường dẫn khi kết hợp với thư mục hiện hành thành đường dẫn tuyệt đối:
        • Absolute Path = Working Dir + [ / ] + Relative Path
  • Cách gõ nhanh:
    • Dùng <TAB>. VD: Muốn gõ lệnh ls thì ta gõ l rồi gõ <TAB>
2. Các lệnh cơ bản trong linux
Để kiểm tra thông tin của các lệnh trong terminal ta có thể dùng một vài câu lệnh sử dụng thư viện sau:
  • man Tên_Lệnh .             VD man ls
  • Tên_Lệnh --help: more. VD: ls --help:more
  • info Tên_Lệnh                VD: info ls
  • whatis Tên_Lệnh             VD: whatis ls
Sau đây là một số lệnh thường dùng trong linux:
     1. useradd
    •  Tạo một người dùng mới
    • Vd: useradd linux
     2.su 
    • Chuyển người dùng từ user sang root hoặc từ root sang người dùng
    • VD: su  ( chuyển từ user sang tài khoản root sau khi nhập đúng password)
    • su linux  ( chuyển từ root sang user có tên là linux)
     3.ls
    • Liệt kê tên các thư mục, tập tin
    • VD: ls
    4.mkdir
    • Tạo thư mục mới 
    • VD: mkdir linux


   5.rmdir
    • Xóa thư mục có trong thư mục hiện tại
    • VD: rmdir linux

   6.rm

    • Xóa tập tin hoặc thư mục bất kỳ chỉ cần gõ đúng đường dẫn. 
    • rm <tên tập tin> _ Xóa tập tin
    • rm -r <thư mục> _ Xóa thư mục
    • rm -rf <thư mục > _ Xóa các file có bên trong thư mục
   7.cp 

    • cp <nguồn> <đích>
    • Sao chép tập tin/ thư mục 
    • Sử dụng cp -r <thư mục nguồn> <thư mục đích> để sao chép tất cả file bên trong thư mục
   8.mv

    • mv <nguồn><đích>
    • Di chuyển file/ thư mục từ vị trí này sang vị trí khác.
    • Dùng để đổi tên nếu nguồn và đích giống nhau.
    • VD: mv linux window

   9.pwd
    • Hiển thị thư mục hiện tại 
    • VD: pwd
  10.cd
    • Mở thư mục.
    • VD: cd /Desktop 
   11. cat

    • cat <tên tập tin>
    • Xem tập tin
    • VD: cat hello.php
   12. tail 

    • tail <tên tập tin> 
    • Mặc định in ra 10 dòng tập tin đó. 
    • Sử dụng tail -n N <tên tập tin> . N là số dòng cần in.
13. less

    • less <tên tập tin>
    • In toàn bộ tập tin với nhiều trang.
14. grep 

    • grep <từ khóa> <tên file>
    • Dùng để tìm từ khóa cần tìm trong 1 file
    • grep -i <từ khóa > <tên file> tìm phân biệt hoa thường
    • grep -r <từ khóa><tên file> tìm kiếm tất cả trong file

15 .du -sh

    • du -sh <tên file> : Kiểm tra kích thước  của file
    • du -sh *: Liệt kê kích thước tất cả các file trong thư mục
16. find

    • find <thư mục để tìm>  -name<tên file cần tìm> : Tìm file ở trong thư mục
    • thêm -iname để tìm file không phân biệt hoa thường.
17.tar

    • tar -cvf <tên file nén> <file1 <dấu cách> file2>    : nén file
    • tar -tvf <tên file nén.tar>                                        : xem file nén
    • tar -xvf <tên file nén.tar>                                        : giải nén file tar
18. gzip
    • gzip <tên file>  để nén file
    • gzip -d <tên file> : để giải nén file
19. unzip
    • unzip<tên file cần giải nén.zip> để giải nén file zip
    • unzip -l <tên file cần giải nén.zip> để xem file zip mà không cần giải nén
    • zip <tên thư mục nén> <file1 <dấu cách> file2> để nén một file
    • zip <tên thư mục nén> <thư mục nén> để nén thư mục
20.bzip2 
    • Tương tự gzip nhưng dung lượng lớn hơn
21. apropos 
    • whatis là tìm trang hướng dẫn với từ khóa đưa ra. 
    • Còn apropos liệt kê các trang hướng dẫn có chứa từ khóa cần tìm.
22. which
    • Liệt kê các đường dẫn mà câu lệnh thực hiện. 
    • which ls
23. wc
    • print newline, word, and byte counts for each file
24.head
    • Đưa ra phần đầu của file
25.poweroff
    • Tắt máy
3. Thực hành
Bài 1:
Hãy sử dụng những lệnh đã biết ở bài 2 để tạo cấu trúc thư mục sau bằng số lệnh ít nhất có thể, số lần gõ bàn phím ít nhất có thể:
 /-
  |-/lab
    |-/data
    |     |- file1.txt
    |     |- file2.txt
    |-/project
Lưu ý: Các file được tạo có nội dung được chép từ file  /etc/passwd .


Bài làm:


mkdir lab

cd lab

mkdir data project

cd data

cp /etc/passwd file1.txt

cp /etc/passwd file2.txt


Bài 2:
Xóa, di chuyển, sao chép file và thư mục

Hãy sao chép thư mục /lab ở bài 3 thành thư mục /backup (lưu ý thư mục /backup chưa tồn tại) sau đó tạo thêm hai file có nội dung giống như hai file trước có tên là /lab/project/more1.txt và /lab/data/more2.txt . Lại sao chép thư mục /lab ở trên thành thư mục /backup (lưu ý lúc này đã có thư mục này) với yêu cầu là không phải trả lời các câu hỏi có ghi đè không mà ghi đè trực tiếp không hỏi, sau đó xóa thư mục /lab


Bài làm

cp -r /lab /backup

cd /backup/project

cp /etc/passwd more1.txt

cd /backup/data

cp /etc/passwd more2.txt

cp -r /lab/*  /backup

rm /lab

Bài 3:

Tập hợp, nén, giải nén thư mục

Tạo file /root/backup.tar.bz2 là bản backup dạng nén của thư mục backup trong bài 4. Sau đó giải nén file này thành thư mục /lab với cấu trúc thư mục như /backup .

Bài làm

yum install bzip2

tar backup.tar backup && bzip2 backup.tar

mkdir lab

tar -cvf backup.tar -C /lab



Bài 4:


Lọc dữ liệu dạng đơn giản

Sử dụng lệnh ls để liệt kê tất cả các file/thư mục trong hệ thống file tính từ thư mục gốc “/” sau đó dùng lệnh grep để lọc ra tất cả các file có phần đuôi là “.txt”

Cũng yêu cầu trên, làm lại nhưng lọc kết quả là các file có phần đầu là “dat”.

Bài làm

ls / | grep  .txt 

ls / | grep  data*






Không có nhận xét nào:

Đăng nhận xét