Các lệnh trên Shell(P1)

 

 

Các thao tác cơ bản trên Terminal

Hôm nay mình sẽ giới thiệu các thao tác trên terminal. Các bạn đọc bài giới thiệu của mình tại đây.

Giao diện sau khi mở của Terminal sẽ khác nhau đôi chút tùy vào hệ điều hành bạn sử dụng. Ví dụ Elementary OS nó sẽ trông như thế này:

cr0ss@cr0ss-X455LA:~$

Đầu tiên, ta test thử bàn phím trên Terminal bằng cách nhập 1 chuỗi ký tự bất kỳ, ví dụ

cr0ss@cr0ss-X455LA:~$ lskdjslakjfl

Terminal sẽ trả về kết quả như sau:

lskdjslakjfl: command not found

Nếu bạn nhận lại dòng lệnh như trên thì đừng lo lắng, mọi thứ đang vận hành tốt.

Ngoài bàn phím, bạn cũng có thể sử dụng chuột trên Terminal bằng cách cuộn trang lên-xuống, bôi đen kí tự, dòng,…

Ok, tất cả đã sẵn sàng cho các dòng lệnh đầu tiên trên Shell

Nhóm lệnh điều hướng (Nagavition) trên Shell: pwd (in ra thư mục làm việc hiện hành – print working directory), cd (chuyển thư mục – change directory), và ls (in ra danh sách các file và thư mục có trong thư mục đang làm việc), file (xác định kiểu dữ liệu được chứa trong file và in nó ra)

pwd

Trước tiên, các bạn xem cấu trúc thư mục của Linux và các hệ điều hành Unix-like

filesystem-structure

Về ý nghĩa và công dụng của các tên thư mục trong cây thư mục mình sẽ giải thích ở bài sau, giờ chúng ta sẽ tìm hiểu cách thao tác các lệnh cơ bản, nên mình nói sơ lược, hệ thống thư mục trên Linux bắt đầu bằng thư mục /, nó là thư mục gốc, các thư mục khác là thư mục con của nó. Thông thường khi các bạn mở Terminal lên, thư mục làm việc của các bạn sẽ là /home/user_name.  Các bạn có thể dùng lênh pwd để kiểm tra:

cr0ss@cr0ss-X455LA:~$ pwd

và kết quả sẽ là

/home/cr0ss

cd

Lệnh cd chuyển thư mục làm việc tới một thư mục nào đó bất kỳ tồn tại trên hệ thống. Cú pháp như sau: cd  _directory, trong đó, directory là đường dẫn tới một thư mục. Ví dụ:

cr0ss@cr0ss-X455LA:~$ cd /mnt   #mình chuyển tới thư mục /mnt
cr0ss@cr0ss-X455LA:/mnt$  #bây giờ thư mục làm việc sẽ chuyển đến đây

cr0ss@cr0ss-X455LA:/mnt$ pwd  #in ra thư mục hiện hành
/mnt

các câu sau dấu “#” trong đoạn demo trên là các comment, Shell sẽ bỏ qua các kí tự sau dấu #. Về sau mình sẽ nói rõ trong phần trong phần viết một Shell script.

Khi cd tới một thư mục không tồn tại trên hệ thống thì sẽ báo lỗi, ví dụ:

cr0ss@cr0ss-X455LA:/mnt$ cd /home/cr0ss/adad
bash: cd: /home/cr0ss/adad: No such file or directory

––> Lưu ý phím tắt cho thư mục /home/user_name sẽ là ~/, ví dụ mình sẽ chuyển thư mục làm việc của mình tới thư mục /home/cr0ss/Dowloads bằng cách sử dụng phím tắt:

cr0ss@cr0ss-X455LA:~$ cd ~/Downloads
cr0ss@cr0ss-X455LA:~/Downloads$

––> Ngoài ra còn có thể  chuyển thư mục làm việc ra  thư mục cha của nó bằng cách dùng lệnh cd ..

cr0ss@cr0ss-X455LA:~/Downloads$ cd ..
cr0ss@cr0ss-X455LA:~$

––> Lưu ý trong lệnh cd, kí hiệu “.” chính là thư mục đó tự tham chiếu đến chính nó, ví dụ khi đang ở thư mục làm việc là /home/user_name, bạn dùng lệnh “cd .” chính là chuyển thư mục làm việc đến chính nó, “cd ./directory” là chuyển thư mục làm việc tới thư mục con nằm trong /home/user_name.  Ví dụ:

cr0ss@cr0ss-X455LA:~$ cd .
cr0ss@cr0ss-X455LA:~$ pwd
/home/cr0ss

cr0ss@cr0ss-X455LA:~$ cd ./Downloads
cr0ss@cr0ss-X455LA:~/Downloads$

ls

Lệnh ls có nghĩa là in ra danh sách các file và  thư mục trong thư mục đang làm việc. ls có một số dạng như sau:

  1. ls: in ra danh sách các file và thư mục chứa trong thư mục hiện đang làm việc
  2. ls _directory: in ra danh sách các file trong _directory
  3. ls -l: in ra danh sách các file trong thư mục hiện hành theo dạng đầy đủ
  4. ls -l _directory: in ra danh sách các file trong _directory dưới dạng đầy đủ
  5. ls -la .. : in ra danh sách các file (gồm cả các file ẩn –  file ẩn  hoặc thư mục ẩn trên linux  bắt đầu bằng dấu chấm, bạn có thể xem bằng cách bấm Ctrl+H trong ứng dụng Files) trong thư mục cha đang làm việc với định dạng đầy đủ

Ví dụ:

ls

cr0ss@cr0ss-X455LA:~$ ls
cocos2d-x-3.10   Dropbox   opencv   Qt   Videos
Documents   Music   Pictures   sketchbook   WP_backup_codespdf
Downloads   MyData   Public   Templates

ls ~/Downloads

cr0ss@cr0ss-X455LA:~$ ls ~/Downloads
android-sdk_r24.4.1-linux.tgz   filesystem-structure.png
arduino-1.6.8-linux64.tar.xz   thuat-toan-horner.doc
codeblocks_16.01.tar.gz   vlc-2.2.1.tar.xz
cr0ss@cr0ss-X455LA:~$

ls -l

cr0ss@cr0ss-X455LA:~$ ls -l
total 112
drwxrwxr-x 15 cr0ss cr0ss 4096 Th03 3 18:11 cocos2d-x-3.10
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Documents
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 28 15:42 Downloads
drwx—— 6 cr0ss cr0ss 4096 Th03 28 13:56 Dropbox
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Music
drwx—— 4 cr0ss cr0ss 4096 Th03 3 13:24 MyData
drwxrwxr-x 13 cr0ss cr0ss 4096 Th03 3 16:38 opencv
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 13 20:24 Pictures
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Public
drwxrwxrwx 8 cr0ss cr0ss 4096 Th03 3 16:28 Qt
drwxrwxr-x 3 cr0ss cr0ss 4096 Th03 20 02:41 sketchbook
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Templates
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Videos
-rw——- 1 cr0ss cr0ss 57940 Th03 28 01:53 WP_backup_codespdf

ls -l ~/Downloads

cr0ss@cr0ss-X455LA:~$ ls -l ~/Downloads
total 453040
-rw-rw-r– 1 cr0ss cr0ss 326412652 Th03 11 03:25 android-sdk_r24.4.1-linux.tgz
-rw-rw-r– 1 cr0ss cr0ss 96036772 Th03 19 23:56 arduino-1.6.8-linux64.tar.xz
-rw-rw-r– 1 cr0ss cr0ss 20250097 Th03 10 16:43 codeblocks_16.01.tar.gz
-rw-rw-r– 1 cr0ss cr0ss 68472 Th03 28 15:42 filesystem-structure.png
-rw-rw-r– 1 cr0ss cr0ss 161280 Th03 28 01:04 thuat-toan-horner.doc
-rw-rw-r– 1 cr0ss cr0ss 20940288 Th03 25 21:55 vlc-2.2.1.tar.xz
cr0ss@cr0ss-X455LA:~$

ls -la ..

cr0ss@cr0ss-X455LA:~$ ls -la ..
total 12
drwxr-xr-x 3 root root 4096 Th03 3 12:03 .
drwxr-xr-x 23 root root 4096 Th03 23 14:24 ..
drwxr-xr-x 31 cr0ss cr0ss 4096 Th03 28 13:55 cr0ss
cr0ss@cr0ss-X455LA:~$

––> Lưu ý, các thư mục hay file mà ls in ra có màu khác nhau đối với từng loại.

file

Lệnh file được dùng theo cú pháp như sau: file name_of_file. Nó sẽ in ra xem xét thông tin về kiểu dữ liệu mà file đang chứa. Dưới đây là bảng mô tả các loại file trên Linux

Capture

––> Lưu ý trong phần ví dụ in ra của lệnh ls -l, ls -l ~/Downloads có các đoạn như:

drwxrwxr-x 15 cr0ss cr0ss 4096 Th03 3 18:11 cocos2d-x-3.10
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Documents
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 28 15:42 Downloads
drwx—— 6 cr0ss cr0ss 4096 Th03 28 13:56 Dropbox
drwxr-xr-x 2 cr0ss cr0ss 4096 Th03 3 12:15 Music
drwx—— 4 cr0ss cr0ss 4096 Th03 3 13:24 MyData
drwxrwxr-x 13 cr0ss cr0ss 4096 Th03 3 16:38 opencv
-rw——- 1 cr0ss cr0ss 57940 Th03 28 01:53 WP_backup_codespdf

các bạn để ý những chỗ mình underline, phần sau mình sẽ phân tích chi tiết về những kí tự này, sơ lược thì những chữ được underline ở đầu các dòng đó là “permissions” nôm na là quyền truy cập file, còn những số mình gạch dưới đó là kích thước (byte) của thư mục/file đó

Nguồn hình ảnh: sưu tầm

 

 

Advertisements

Author: phuoctv

My name is Phuoc. I'm interested in computer programming and sharing the knowledge. My email: phuoctv14@gmail.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s