Wednesday, 25 February 2015

[cmd] mối quan hệ giữa du, sudo và "SH"

1. du
$ du -csh Github/ Pictures/
2.3G    Github/
6.6G    Pictures/
8.9G    total
có vài option cần chú ý của lệnh này
-s  --summarize
Chỉ hiện các giá trị là tổng dung lượng của mỗi argument

Tức nếu dùng du với 2 argument thì kết quả sẽ chỉ có 2 dòng (nếu argument là 1 directory, nó sẽ tính dung lượng tổng của directory đó thay vì của từng file)

-c --total
Hiển thị tổng dung lượng của các argument đã gán cho du. Như ví dụ trên, dòng cuối cùng là 8.9 G, tổng dung lượng của 2 thư mục đầu vào.

-h --human-readable
In ra dung lượng ở dạng thân thiện với người dùng (thay vì mặc định in ra số byte - thường khá lớn)

2. sudo

dùng sudo -sH sẽ giúp chuyển sang user root với biến môi trường HOME của user root (tức /root) - do một số hệ điều hành như Ubuntu, khi chỉ chạy sudo -s sẽ vẫn dùng HOME của user chạy lệnh sudo, có thể dẫn tới một số vấn đề không đáng có khi các chương trình sử dụng biến HOME.
Ví dụ, pip sẽ sử dụng HOME để tìm file config, thay vì sử dụng /root/.pip thì nó sẽ sử dụng file config pip trong thư mục của user chạy lệnh sudo (mà không có -H)

Kết luận: dù là xe hay là lệnh thì sh luôn có giá trị :3

Hết.
PS: bài viết dựa trên manpage của Ubuntu 12.04