Kỹ Thuật Máy tính

Nghiên cứu – Phát triển – Rút ngắn khoảng cách

Những thói quen tốt với Linux command line

Đăng bởi dongthao on Tháng tám 1, 2007

Chắc các bạn cũng đã từng nghe nói: Để làm chủ và thấy được cái hay, cái đẹp, cái mạnh của Linux thì phải sử dụng chế độ dòng lệnh thật “pro”. Vậy thế nào là “pro”? Những thói quen tôi kể ra dưới đây làm tôi thấy “pro” hơn, bạn hãy thử xem. Không khó hiểu đâu, tin tôi đi, vì cũng như bạn, tôi chưa biết những “pro” làm gì, nhưng tôi biết những người chưa “pro” làm như thế nào. Hãy tập những thủ thuật này thành những thói quen tốt khi dùng dòng lệnh luôn nhé.

1. Tạo cây thư mục bằng một lệnh

Để tạo thư mục /home/a/b/c, tôi hay dùng:

~ $ cd /home
~/home $ mkdir a
~/home $ cd a
~/home/a $ mkdir b
~/home/a $ cd b
~/home/a/b/ $ mkdir c

Tốn thời gian và công sức. Hãy thay bằng chỉ một lệnh mkdir với tham số -p

~$ mkdir -p /home/a/b/c

OK, còn một lệnh sau đây sẽ tiết kiệm cho bạn bao nhiêu dòng lệnh tạo thư mục? Hãy thử xem nhé

~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

2. Đổi đường dẫn khi giải nén

Đừng di chuyển file đến thư mục cần rồi mới giải nén,

~$ cp newarc.tar.gz tmp/a/b/c

~$ cd tmp/a/b/c

~$ tar xvf newarc.tar.gz

hãy giải nén nó đến thư mục cần

~ $ tar xvf newarc.tar.gz -C /a/b/c

3. Kết hợp các lệnh bằng các toán tử điều khiển

&&: nếu lệnh 1 thực hiện thành công thì làm lệnh 2. Lệnh 1 fail thì không làm lệnh 2

~ $ cd tmp/a/b/c && tar xvf ~/archive.tar

||: nếu lệnh 1 thành công thì không làm lệnh 2. Lệnh 1 fail thì làm lệnh 2

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c

Kếthợp hai toán tử trên:

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar

4. Cẩn thận với các biến và dấu trích dẫn

Hãy xem các trường hợp sau:

~ $ ls tmp/
a b
~ $ VAR=”tmp/*”
~ $ echo $VAR
tmp/a tmp/b
~ $ echo “$VAR”
tmp/*
~ $ echo $VARa

~ $ echo “$VARa”

~ $ echo “${VAR}a”
tmp/*a
~ $ echo ${VAR}a
tmp/a

Nếu bạn muốn xuất ra chuỗi “tmp/*a” thì hãy sử dụng các dấu ngoặc cho hợp lý.

5. Dùng dấu back slash để quản lý dòng lệnh dài

~ $ cd tmp/a/b/c || \
> mkdir -p tmp/a/b/c && \
> tar xvf -C tmp/a/b/c ~/archive.tar

hoặc đẹp hơn:

~ $ cd tmp/a/b/c \
> || \
> mkdir -p tmp/a/b/c \
> && \
> tar xvf -C tmp/a/b/c ~/archive.tar

(còn tiếp)

Đông Thao

12 phản hồi tới “Những thói quen tốt với Linux command line”

  1. [...] Những thói quen tốt với Linux command line Chắc các bạn cũng đã từng nghe nói: Để làm chủ và thấy được cái hay, cái đẹp, cái mạnh c […] [...]

  2. ngoinhaso đã nói

    Sơ sài quá

  3. [...] Những thói quen tốt với Linux command line Chắc các bạn cũng đã từng nghe nói: Để làm chủ và thấy được cái hay, cái đẹp, cái mạnh c […] [...]

  4. [...] Những thói quen tốt với Linux command line Chắc các bạn cũng đã từng nghe nói: Để làm chủ và thấy được cái hay, cái đẹp, cái mạnh c […] [...]

  5. xagile đã nói

    Great, thanks a lot!

  6. kiennguyen đã nói

    Hay đấy, nhưng cái gì cũng có giá của nó. 1 câu lệnh ngắn gọn mà làm được nhiều việc thì thường rất khó nhớ.

  7. nohchicken đã nói

    Mình thấy bài này cũng được đấy chứ.
    Thực ra khi sử dụng Linux command, mình chủ yếu sử dụng theo cách mình đã quen chứ không chịu tìm hiểu thêm cách dùng khác. Nếu có những bài viết như thế này để chia sẻ thì mọi người sẽ sử dụng một cách hiệu quả hơn.

    Thanks!
    NoH chicken

  8. nano đã nói

    $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c

    ==>

    ( [ -d tmp/a/b/c/ ] || mkdir -p tmp/a/b/c/ ) && tar xfv -C tmp/a/b/c archive.tar

  9. www.nvlong.co.cc đã nói

    thuc ra van co the dung chuot de su dung linux… van rat manh va dep va tat nhien ” rat don gian “.toi thoi diem hien tai nay thi linux khong con dong nghia la nhung cau lenh nua

  10. tuyetkiem đã nói

    Đúng là GUI khiến người ta không cần nhớ lệnh. Tuy nhiên nhớ 1 lệnh như mkdir chẳng hạn với việc ngồi click hàng chục lần thì xem ra dùng lệnh vẫn nhanh hơn

  11. pro đã nói

    cung hay do chu, nhung phai cai thien nhieu hon. pro o cho nao vay po

  12. LSD đã nói

    Chào mọi người,
    Mình mới tìm hiểu về Linux. Nhờ các bạn chỉ giúp trong Linux có lệnh nào để kiểm tra card mạng nào đang active?
    LSD

Để lại hồi âm

XHTML: Bạn có thể sử dụng những thẻ sau: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>