In ra đường dẫn thư mục hiện hành linux
Bạn đang thao tác với terminal. Bạn đang “lạc trôi” với các lệnh linux. Bạn gõ “cd” một hồi và không thể xác định phương hướng được nữa. Đã đến lúc xem đường dẫn thư mục đang làm việc trên terminal Linux/Unix. Tại sao ư? Biết được đường dẫn hay địa chỉ thư mục mà bạn đang ở đó cũng giống như việc bạn hỏi được xã phường thị trấn quận huyện mà bạn đang đặt chân đến vậy 😀 Show
Giới thiệu Để xem được đường dẫn (địa chỉ) thư mục đang làm việc, bạn có thể sử dụng lệnh Lệnh pwd trên linux/unixpwd là lệnh hầu như hay được sử dụng trên linux/unix. Nó có thể sử dụng được cho Mac OS X, UNIX và các hệ điều hành Linux như Ubuntu, Linux Mint,… Trên terminal bạn gõ: $ pwd Kết quả: Như hình trên (hiện tại mình đang ở thư mục home) Tham khảo
5 1 vote Đánh giá bài viết Mình là dev quằn tại một công ty nọ. Là đứa thích chia sẻ. Từ những điều nhỏ nhặt nhất Trong linux, khi làm việc trên server hay đơn giản hơn là làm việc trên ternimal, ít nhiều bạn cũng phải rớ tới các file và thư mục, bay nhảy qua lại. Nhưng 1 điều bạn nhất định phải biết, đó là đường dẫn. Đường dẫn tuyệt đối của một tệp tin hay thư mục luôn bắt đầu bởi / (root) và tiếp theo sau đó là chuỗi các thư mục mà nó đi xuyên qua cho đến khi tới đích. Tóm lại, một đường dẫn tuyệt đối
là đường dẫn bắt đầu bởi / (root)
Chốt: đường dẫn tuyệt đối bắt đầu bằng dấu / Đường dẫn tương đốiĐối với đường dẫn tương đối thì người sử dụng không đòi hỏi phải bắt đầu từ / (root). Đường dẫn tương đối bắt đầu đi từ thư mục hiện tại. Một đường dẫn tương đối thường bắt đầu với tên của một thư mục hoặc tệp tin, kết hợp với các thư mục đặt biệt sau
Ví dụ: ráng đọc từng dòng shell nha =]] Ví dụ khác: KếtVề thư mục gốc
Nhảy đến 1 vị trí bất kì khi biết địa chỉ tuyệt đối
Di chuyển đến thư mục con nằm trong thư mục hiện tại Di chuyển đến thư mục mẹ Bây giờ, giả sử bạn đang làm việc trong thư mục /mnt/data/linux. Sau đó bạn chuyển sang thư mục /etc/sysconfig. Để quay trở lại thư mục /mnt/data/linux, bạn gõ: Lệnh cd không có tham số, sẽ đưa bạn về nhà, dù bất kể bạn đang ở đâu
Tương tự vậy, thư mục ~ cũng cho phép bạn về nhà bằng cách này
BonusMọi thắc mắc, bạn có thể comment bên dưới, liên hệ qua mail (lvduit08 at gmail.com). I hope it will be useful for you :)) ---- Xin chào các bạn, chúng ta sẽ đến 1 bài viết cơ bản với nội dung nhằm tìm kiếm xác định được đường dẫn tuyệt đối của 1 lệnh trên Linux, để thực hiện được điều đó chúng ta sẽ sử dụng 2 chương trình lệnh gồm : “whereis” và “which“. Bây giờ chúng ta cùng tìm hiểu qua 2 chương trình này nhé. Contents
Chương trình “which” là một chương trình đơn giản và nhỏ gọn có mục đích xác định đường dẫn các file chương trình thực thi. Nó cho phép người dùng có thể sử dụng output của chương trình làm thông tin đường dẫn tuyệt đối thành input cho các lệnh hay shell script khác. “which” sẽ chỉ tìm đường dẫn các file chương trình nào nằm trong các directory được liệt kê ở biến môi trường $PATH. # echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/easy/bin:/root/bin:/root/.local/bin:/root/bin:/bin which [-option] [command] A.1. Hiển thị cơ bản# which cat /bin/cat # which ls gdb open grep /bin/ls /usr/bin/gdb /bin/open /bin/grep A.2. Hiển thị toàn bộ đường dẫn của chương trìnhĐối với ví dụ ở phần ví dụ 1 “Hiển thị cơ bản” thì “which” mặc định chỉ xuất ra thông tin đường dẫn đầu tiên mà chương trình tìm thấy trong các thư mục của biến môi trường $PATH. Điều này dẫn đến việc có thể bỏ sót các thông tin đường dẫn khác hay chương trình cùng loại nhưng khác phiên bản trên cùng hệ thống. Vậy để hiển thị toàn bộ các đường dẫn file chương trình được tìm thấy trong các thư mục thì ta thêm option “-a“. # which -a echo /usr/sbin/echo /bin/echo B. Chương trình lệnh “whereis”“whereis” là 1 chương trình giúp cho chúng ta tìm được 3 thông tin sau về 1 chương trình hoặc 1 lệnh trên Linux : “whereis”
sẽ tìm ở đâu ? # man whereis FILES /{bin,sbin,etc} /usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,X386,TeX,g++-include} /usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs} Cấu trúc lệnh # whereis [options] program/command # whereis -BMS /directory -f command/program
B.1. Tìm đường dẫn chương trình– Mặc định whereis sẽ tìm cả 3 thông tin liên quan nếu bạn không chỉ định giới hạn loại thông tin cho whereis, như ví dụ dưới thì whereis xuất ra được thông tin đường dẫn file binary và file manual của lệnh “date“. # whereis date date: /bin/date /usr/share/man/man1/date.1.gz # whereis df df: /bin/df /usr/share/man/man1/df.1.gz B.2. Chỉ định loại thông tin cần tìm kiếm– Bạn có thể chỉ định rõ loại thông tin mình cần tìm kiếm, không cần tìm hết cả 3 loại thông tin. Một số option sau : # whereis -b perl whereis: /usr/sbin/perl /usr/bin/X11/perl # whereis -m bash /usr/share/man/man1/bash.1.gz # whereis -s rsync rsync: B.3. Giới hạn tìm kiếm ở thư mục cụ thể“whereis” hỗ trợ bạn giới hạn thư mục được chỉ định để tìm kiếm các thông tin liên quan đến file binary, source code và manual file bằng các option sau : -B /path/dir : giới hạn tìm kiếm file binary ở thư mục được chỉ định. -M /path/dir : giới hạn tìm kiếm file manual ở thư mục được chỉ định. -S /path/dir : giới hạn tìm kiếm file binary ở thư mục được chỉ định. Nhưng bạn phải thêm option “-f” để chỉ định tên chương trình/lệnh mà bạn cần tìm khi kết hợp với 3 option quy định thư mục cần tìm kiếm ở trên. # whereis -B /bin -f python -> “whereis” sẽ tìm chương trình file binary “python” trong thư mục /bin mà thôi. # whereis -M /usr/share/man/man1 -f open open: /bin/open /usr/share/man/man1/open.1.gz C. Sự khác nhau giữa “whereis” và “which”Chương trình “whereis” sẽ liệt kê cho bạn đường dẫn vị trí của các file binary, source code và file manual liên quan đến chương trình lệnh đó. Trong khi đó “which” chỉ liệt kê cho bạn đường dẫn file binary của chương trình lệnh thôi. “whereis” sẽ tìm kiếm trong danh sách các thư mục đã được quy định để tìm file binary, source và trang manual, thông tin về các thư mục này được tìm thấy thêm ở phần thông tin FILES nằm ở trang manual của chương trình lệnh “whereis“. Còn “which” chỉ tìm kiếm trong các thư mục được liệt kê ở biến môi trường $PATH mà thôi. Nếu bạn cài đặt chương trình ngoài các thư mục được quy định trong manual của chương trình lệnh “whereis” hoặc ngoài thư mục được khai báo ở biến môi trường $PATH của chương trình lệnh “which” thì hoàn toàn có khả năng cả 2 lệnh trên không thể xuất ra thông tin bạn muốn biết. |