Những dòng lệnh Linux hữu ích (Useful linux tools)

Useful linux tools

Nếu ai đó chưa sử dụng hoặc chưa quen với giao diện dòng lệnh trong terminal.app của các bản phân phối Linux (Ubuntu, Fedora, Linux Mint …) hoặc Mac OS X, thì điều đó sẽ khiến bạn thấy chút khó chịu bởi chúng thiếu đồ họa trực quan. Tuy nhiên nếu bạn thường xuyên thực hiện các thao tác lặp đi lặp lại giống nhau, bạn sẽ thấy chúng rất hữu ích và tiết kiện thời gian giống như các phím tắt trong soạn thảo văn bản vậy. Và khi sử dụng một máy tính hiệu năng cao cho các phần mềm khoa học (Quantum ESPRESSO, VASP, LAMMPS, …), chúng ta sẽ cần phải thao tác trên một giao diện dòng lệnh như vậy. Dưới đây là danh sách các lệnh phổ biến có thể hữu ích cho công việc của bạn.

1. Thao tác trên tập tin và thư mục trong hệ thống:
Một số dòng lệch hữu ích giúp thao tác trên tập tin và thư mục trong Terminal.

ls: liệt kê tất cả các tập tin có thể nhìn thấy trong thư mục hiện hành.
– ls .*
liệt kê tất cả các tập tin bao gồm cả tập tin ẩn bắt đầu bằng “.” như .bashrc, nếu “.” được thay bằng kí tự “a” bất kì, khi đó chỉ liệt kê các tập tin bắt đầu bằng kí tự “a”.
– ls */*
liệt kê tất cả các tập tin trong thư mục con đầu tiên.
– ls path/
liệt kê tất cả các tập tin trong thư mục mà đường dẫn (path) chỉ tới.
– ls -ltrh
liệt kê tập tin với các thông số (l), nếu có (t) các tệp tin sắp xếp theo thứ tự ngày chỉnh sửa, nếu có (r) thứ tự các tập tin sẽ được đảo ngược, nếu có (h) các tập tin được liệt kê với dung lượng theo đơn vị (GB/MB/KB).

cd: Thay đổi thư mục.
– cd ~/
di chuyển tới thư mục “home”.
– cd -
quay về thư mục trước đó.
– cd ../
di chuyển tới thư mục trên (thư mục bao gồm thư mục hiện hành).
– cd path/
di chuyển tới thư mục mà đường dẫn (path) chỉ tới.

mkdir: Tạo thư mục mới.

pwd: Xem đường dẫn của thư mục hiện hành.

ln: Tạo liên kết mới cho thư mục.
Giả sử bạn có một đường dẫn dài để chỉ tới thư mục “intel” như sau: /usr/local/source/file/compiler/bin/intel/, bạn muốn tạo một đường dẫn ngắn gọn hơn để dễ thao tác trong như mục hiện hành. Dòng lệnh thực hiện như sau: ln -s  /usr/local/source/file/compiler/bin/intel/ abc. Khi đó bạn đã tạo ra một thư mục con “abc” trong thư mục hiện hành mà liên kết với thư mục intel. Khi đó đường dẫn abc/ là tương đương với đường dẫn /usr/local/source/file/compiler/bin/intel/. Muốn xóa đường dẫn này đi bạn sử dụng lệnh rm (bên dưới).

df: Xem có bao nhiêu dung lượng trống để có thể sử dụng.
– df -h
xem có bao nhiêu dung lượng trống trong ổ đĩa (đơn vị GB/MB/KB).

cp/mv: Sao chép hoặc di chuyển tệp tin từ nơi này đến nơi khác.
– cp a1.txt path/ hoặc mv a1.txt path/
sao chép hoặc di chuyển tập tin a1.txt tới thư mục đường dẫn chỉ tới.
– cp -i a1.txt a2.txt hoặc mv -i a1.txt a2.txt
nếu có (i), khi đó nếu tập tin a2.txt tồn tại, nó sẽ hỏi bạn có ghi đè lên không.
– cp -f a1.txt a2.txt hoặc mv -f a1.txt a2.txt
ghi đè ngay cả tập tin a2.txt tồn tại.
– cp -r path1/ path2/ hoặc mv -r path1/ path2/
sao chép hoặc di chuyển tất cả các tập tin trong thư mục 1 tới tới thư mục 2.

rm: Xóa tệp tin hoặc thư mục.
– rm -i a1.txt
nếu có (i), sẽ hỏi có xóa hay không.
– rm -f path/
xóa toàn bộ thư mục (hãy chắc chắn rằng bạn tất cả các tập tin trong thu mục bạn muốn xóa).

vi/nano: Chỉnh sửa hoặc xem tập tin.
– nano a1.txt hoặc vi a1.txt
(nano) được sử dụng khi cần chỉnh sửa nhanh chóng và đơn giản. Trong khi đó (vi) có nhiểu câu lệnh cho các chỉnh sửa phức tạp hơn. Tham khảo thêm về vinano.

tail: Hiển thị phần cuối cùng của tập tin.
– tail a1.txt

chmod: Thay đổi quyền thao tác tập tin.
u: người đang dùng                      r: đọc
g: nhóm                                              w: viết
o: người dùng khác                       x: thực thi (execute permission)
a: cho tất cả người dùng
– chmod u+x a1.txt    hoặc    chmod u-rx a1.txt
file a1.txt thành file thực thi hoặc loại bỏ quyền đọc và thực thi của file a1.txt đối với người dùng.
– chmod a+x a1.txt   hoặc   chmod +x a1.txt
hai lệnh này là tương đương, cho phép file a1.txt được thực thi với tất cả người dùng

locate: Kiểm tra cơ sở dự liệu trong thư mục hiện hành.
– locate ABC
tìm kiếm và xem tất cả các đường dẫn và tập tin có tên bao gồm cụm từ đại diện “ABC”.

tar: Nén và giải nén tập tin.
– tar zxvf a1.tgz
giải nén tập tin a1.tgz.
– tar cvzf a1.tgz a1.txt
nén tập tin a1.txt thành tập tin a1.tgz.

2. Thao tác với kết nối:
Một số lệnh hữu ích trong việc kết nối giữa các máy khác nhau hoặc giữa máy trạm với máy chủ.

ssh: Đăng nhập vào máy chủ từ máy trạm.
– ssh iccms@192.168.1.1
đăng nhập vào máy chủ có IP là 192.168.1.1, chú ý là bạn có thể sử dụng bí danh trong .bashrc bằng lệnh sau: alias abc=”ssh iccms@192.168.1.1″. Sử dụng bí danh sẽ giúp rút gọn lệnh phải sử dụng thường xuyên.

scp: Sao chép tập tin từ máy chủ xuống máy trạm.
– scp iccms@192.168.1.1:/path1/a1.txt path2/
sao chép tập tin a1.txt trong thư mục 1 từ máy chủ xuống thư mục 2 trong máy trạm.

wget: Tải tập tin từ trang web.
– wget http://www.example.com/file.zip
tải tập tin file.zip từ trang web example.com

3. Thao tác với hệ thống:

top/ps: Liệt kê các chương trình đang thực thi.

kill/killall: Tắt một chương trình đang thực thi.
– kill -9 <process id> hoặc killall <process name>
Tắt một chương trình với ưu tiên cao nhất.

lscpu: Xem thông tin về CPU của máy.

4. Phân tích dữ liệu với dòng lệnh:Những dòng lệnh sau rất hữu ích khi bạn muốn phân tích dữ liệu ngay trên Terminal.

clear: Làm sạch của sổ terminal.

grep: Tìm kiếm trong tập tin.
– grep abc a1.txt
liệt kê các dòng có chứa các kí tự đại diện “abc” trong tập tin a1.txt.
– grep -l abc *.*
liệt kê các tập tin có chứa các kí tự đại diện “abc” trong thư mục hiện hành.

tail: Xem phần cuối cùng của tập tin.
– tail -50 a1.txt
liệt kê 50 dòng tính từ cuối lên trong tập tin a1.txt.

cat: Xem toàn bộ nội dung tập tin.
– cat a1.txt
hiện thị toàn bộ nội dung của tập tin a1.txt trong terminal.
– cat a1.txt >> a2.txt
bổ sung toàn bộ nội dung của tập tin a1.txt vào sau tập tin a2.txt.
– cat a1.txt a2.txt > a.txt
ghép nội dung của tập tin a1.txt và a2.txt thành tập tin a.txt.
– cat a1.txt | sort
hiện thị nội dung trong tập tin a1.txt theo thứ tự bảng chữ cái.
– cat a1.txt | wc
hiện thị lần lượt số dòng, số từ và số kí tự trong tập tin a1.txt.

bc: Tính toán đơn giản trên terminal.
– echo 0.72*1.54 | bc -l
sẽ cho bạn kết quả bằng 1.1088 trên terminal.
– echo “scale=2; 0.72*1.54″ | bc
sẽ cho bạn kết quả bằng 1.10 trên terminal.

5. Tạo biến môi trường trong Linux.
Để tạo các biến môi trường để thuận tiện trong quá trình sử dụng bạn làm như sau:
– nano .bashrc
– export PATH=$PATH:/path/
source ~/.bashrc

Hi vọng hướng dẫn này sẽ hữu ích cho các bạn. :D.

About these ads

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