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


Top Posts -Tiếng Việt - Wordpress « Ngôi nhà số đã nói
[...] 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 […] [...]
ngoinhaso đã nói
Sơ sài quá
Top Post Wordpress.com Tiếng Việt - Cập nhật 5h00 - 03/08/2007 - Ngôi nhà số « Ngôi nhà số đã nói
[...] 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 […] [...]
Top Post Wordpress.com Tiếng Việt - Cập nhật 17h00 - 03/08/2007 - Ngôi nhà số « Ngôi nhà số đã nói
[...] 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 […] [...]
xagile đã nói
Great, thanks a lot!
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ớ.
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
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
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
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
pro đã nói
cung hay do chu, nhung phai cai thien nhieu hon. pro o cho nao vay po
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