10 dòng lệnh Linux hữu ích (P. 1) Có thể bạn biết nhiều lệnh Linux, nhưng liệu bạn có biết những bí ẩn nằm sau các kí tự đặc biệt. Bài viết cung cấp 10 thủ thuật hữu ích cho những câu lệnh đơn giản bạn đã biết. 1. Chạy lại câu lệnh trước với quyền root Đôi khi một câu lệnh yêu cầu quyền root, nhưng bạn lại quên thêm sudo vào. Làm sao đây? Bấm phím mũi tên lên, di chuyển con trỏ về đầu dòng, gõ thêm sudo. Có cách khác nhanh hơn: $ sudo !! Đây là viết tắt của lệnh sudo !-1, nó sẽ thực hiện lệnh trước đó với quyền root. Trong trường hợp tổng quát, dùng lệnh sudo !-n. Lưu ý rằng đây là lệnh dành riêng cho bash. 2. Khởi động ngay máy chủ Web Bạn có thể chạy một máy chủ Web đơn giản, hiển thị thư mục hiện tại ở địa chỉ http://localhost:8000 bằng câu lệnh sau: $ python -m SimpleHTTPServer Câu lệnh này sẽ chạy module SimpleHTTPServer.py của Python, có nhiệm vụ tạo một máy chủ Web đơn giản ở cổng 8000. Bạn có thể chọn cổng khác, thí dụ cổng 8080 bằng lệnh: $ python -m SimpleHTTPServer 8080 3. Lưu tập tin trong vim với quyền root Tương tự như trường hợp 1, bạn thay đổi một tập tin, và không thể lưu được vì không có quyền. Thay vì lưu ra một tập tin khác, sau đó chép trở lại bằng câu lệnh thích hợp, thì có thể dùng cách sau: :w !sudo tee % Hãy cùng phân tích một chút, thao tác trên yêu cầu vim chuyển dữ liệu hiện tại vào lệnh sudo tee %, bản thân lệnh này lại thực hiện lệnh tee % với quyền root. Lệnh tee lấy dữ liệu vào và ghi dữ liệu ra tập tin %. Bản thân % lại là giá trị đặc biệt trong vim, được thay thế bằng tên tập tin hiện tại khi thực hiện lệnh. 4. Chuyển về thư mục trước Tất nhiên bạn phải thực hiện lệnh cd. Thư mục trước đó được lưu trong biến $OLDPWD, do đó bạn có thể gõ lệnh cd $OLDPWD, hoặc dùng lệnh tắt: $ cd - Thế nếu thư mục có tên là – thì sao? Như trong các trường hợp đặc biệt khác, bạn dùng dấu ngoặc kép cd "-" hoặc ghi rõ đường dẫn cd ./- là ổn. 5. Thi hành lệnh trước đây, thay foo bởi bar Bạn đã biết tác dụng của !! ở trên, do đó câu lệnh sẽ là !!:s/foo/bar/ (tham khảo thêm sed). Lệnh tắt là: $ ^foo^bar^ Lệnh trên chỉ thay foo bằng bar một lần duy nhất, để thay toàn bộ bạn cần dùng bổ tố g: !!gs:/foo/bar/ Chúc bạn nghiên cứu và thực hành tốt trước khi qua phần 2. Theo Catonmat.net