Tin tức và phân tích của tất cả các thiết bị di động

Cách sử dụng lệnh cd trong linux

Một số lệnh Linux quen thuộc đến mức chúng ta thậm chí không nhận thấy mình đang sử dụng chúng. Lệnh cd để thay đổi thư mục là một trong số đó. Có một vài thủ thuật có thể giúp bạn trở nên hiệu quả hơn với cd – hoặc bạn có thể bỏ qua nó hoàn toàn.

Một lệnh mà bạn hiếm khi nghĩ tới

Bạn chớp mắt cả ngày, mỗi ngày, nhưng hầu hết thời gian bạn không nhận thức được điều đó. Trừ khi có điều gì đó thu hút sự chú ý của bạn, nếu không bạn hiếm khi nghĩ về chuyển động nhỏ và thường xuyên đó. Một số lệnh Linux giống như thế này. Chúng trôi nổi trên rìa ý thức của bạn. Ngay cả khi bạn sử dụng chúng hàng ngày, chúng cũng không thu hút sự chú ý của bạn vì chúng quá nhỏ và đơn giản.

Trong giờ đầu tiên sử dụng PC Linux, bạn sẽ học cách sử dụng lệnh cd đi kèm với Bash và các shell khác. Có lẽ bạn đã có kinh nghiệm sử dụng nó trên một hệ điều hành khác và không cần giải thích. Nó thay đổi thư mục làm việc hiện tại, phải không? Điều gì khác đáng để biết?

Vâng, nhiều hơn bạn nghĩ. Dưới đây là một số mẹo và thủ thuật có thể cải thiện hiệu suất của bạn.

Hoạt động tiêu chuẩn trên đĩa CD

Để hoàn thiện, chúng ta hãy nhanh chóng xem xét các cách sử dụng tiêu chuẩn của cd.

Nếu chúng tôi đang ở trong thư mục chính, nhưng chúng tôi muốn thay đổi thư mục thành thư mục nằm trong /usr/lib/firefox/browser và sau đó quay lại thư mục chính, chúng tôi có thể sử dụng các lệnh sau:

cd /usr/lib/firefox/browser/
cd /home/dave

Bạn không cần phải gõ toàn bộ đường dẫn đến thư mục; bạn có thể sử dụng tự động hoàn thành. Với mỗi phần đường dẫn, sau khi gõ đủ các chữ cái để phân biệt tên thư mục với các tên khác, nhấn phím Tab để tên thư mục tự động hoàn thành.

Ví dụ: gõ lệnh sau tại dòng lệnh:

cd /usr/lib/fire

Bây giờ hãy nhấn Tab và trình bao sẽ điền vào phần còn lại của thư mục “firefox”. Nếu bạn thêm “/b” vào đường dẫn và nhấn lại Tab, nó sẽ thêm thư mục “browser” vào lệnh.

Shell thêm một dấu gạch chéo ở cuối để bạn có thể lặp lại quá trình hoàn thành tab. Do đó, có một dấu gạch chéo trong lệnh đầu tiên. Không có cái nào chồng lên cái kia vì cái này đã được gõ.

Bạn có thể sử dụng dấu ngã (~) như một cách viết tắt để nhanh chóng quay lại thư mục chính của mình từ bất kỳ đâu trong hệ thống tệp; chỉ loại:

đĩa ~

Tập tin

Đây là những ví dụ về đường dẫn tuyệt đối trong đó bạn chỉ định đường dẫn đầy đủ từ thư mục gốc của hệ thống tệp đến thư mục đích cho cd.

Đường dẫn tương đối được tham chiếu từ thư mục làm việc hiện tại. Trong thư mục chính có một thư mục được gọi là công việc. Bạn có thể sử dụng lệnh tree để xem cây thư mục bên trong thư mục làm việc của mình – chỉ cần gõ:

tree

Tập tin

Thư mục làm việc chứa một thư mục có tên là dev. Ngoài ra còn có một thư mục trong thư mục gốc của hệ thống tệp được gọi là dev. Bạn có thể sử dụng ls với -d (thư mục) để xem từng cái. Tùy chọn -hl (danh sách dài mà con người có thể đọc được) yêu cầu ls sử dụng các đơn vị dễ đọc để định cỡ thư mục và danh sách định dạng dài.

Nếu bạn nhập dev, trình bao sẽ cho rằng bạn có nghĩa là “dev” trong thư mục hiện tại. Để buộc nó xem “dev” trong thư mục gốc, chỉ cần thêm một dấu gạch chéo trước biểu thị thư mục gốc của hệ thống tệp, như minh họa bên dưới:

ls -d dev -hl
ls -d /dev -hl

Tập tin

Lệnh cd hoạt động giống như ls về mặt này. Nếu bạn đề cập đến một thư mục là dev như hình dưới đây, thì có nghĩa là bạn muốn nói đến một thư mục trong thư mục làm việc của bạn:

cd dev

Tập tin

Nếu không có dấu gạch chéo ở đầu, giả định rằng các đường dẫn dài hơn cũng bắt đầu từ thư mục làm việc hiện tại, như minh họa bên dưới:

cd dev/mobile/android

Tập tin

Thay đổi thư mục bằng dấu chấm đôi

Mã định danh hai dấu chấm đại diện cho thư mục mẹ của thư mục hiện đang chạy. Nếu bạn đang ở trong một thư mục con được lồng sâu, bạn có thể sử dụng .. with cd để chuyển đến thư mục mẹ của thư mục bạn đang ở.

Điều này sẽ di chuyển lên hai thư mục trong cây thư mục. Nếu bạn thêm more … vào lệnh, nó sẽ cho phép bạn di chuyển bất kỳ số cấp nào lên trên cây thư mục.

Nhập các thông tin sau:

cd ..
cd ../..

Tập tin

Bạn cũng có thể tạo một bộ bí danh để thực hiện các thao tác này cho mình bằng cách nhập:

alias .2="cd ../.."
alias .3="cd ../../.."

bí danh.2 =

Bạn có thể sử dụng chúng theo cách tương tự như chính các lệnh.

bí danh .2 =

Để giữ bí danh nhất quán trong các lần khởi động lại, bạn cần thêm chúng vào tệp .bashrc hoặc .bash_aliases của mình.

Dễ dàng chuyển đổi giữa hai thư mục

Dấu gạch ngang (-) là một ký hiệu khác có chức năng đặc biệt. Thay đổi thư mục trở lại thư mục bạn vừa đến.

Trong ví dụ này, giả sử bạn đang ở trong thư mục “c”. Bạn có thể sử dụng cd để chuyển đến thư mục “chuyển tiếp”. Sau đó, bạn có thể sử dụng cd – để chuyển giữa hai thư mục.

Để làm điều này, hãy nhập:

cd ../sau đó

ĐĨA CD –

ĐĨA CD –

Tập tin 

Tên của thư mục bạn đang chuyển đến sẽ xuất hiện trước khi bạn điều hướng đến nó.

Một loại họ hàng khác

Shell sử dụng thư mục làm việc hiện tại làm thư mục gốc hoặc thư mục cơ sở cho các đường dẫn tương đối. Bạn có thể sử dụng biến môi trường CDPATH để đặt một vị trí khác làm thư mục cơ sở cho các đường dẫn tương đối. Nếu bạn dành phần lớn thời gian của mình cho một phần cụ thể của cây hệ thống tệp, bạn có thể tiết kiệm được rất nhiều lần nhấn phím (và thời gian) mỗi ngày.

Hãy nhập thông tin sau để biến work / dev / project thành thư mục cơ sở cho các đường dẫn tương đối:

export CDPATH=/home/dave/work/dev/projects

Tập tin

Giờ đây, mỗi khi bạn sử dụng lệnh dc, vị trí trong biến môi trường CDPATH trước tiên sẽ được kiểm tra để tìm tên thư mục khớp. Nếu bất kỳ mục tiêu nào khớp với mục tiêu được đưa ra trong lệnh cd, bạn sẽ được đưa đến thư mục đó.

Bây giờ, bất kể bạn đang ở đâu trong hệ thống tệp, khi bạn sử dụng lệnh cd, trình bao sẽ kiểm tra xem thư mục đích có nằm trong thư mục cơ sở hay không. Nếu vậy, bạn sẽ được chuyển đến thư mục đích đó.

Nếu thư mục đích bắt đầu bằng dấu gạch chéo (/) ở đầu, nghĩa là đó là một đường dẫn tuyệt đối, nó sẽ không bị ảnh hưởng bởi biến môi trường CDPATH.

Để chứng minh điều này, chúng tôi gõ:

cd c
cd prolog
cd /usr
cd forth

Tập tin

Biến môi trường CDPATH thực sự là một đường dẫn và biến môi trường PATH cũng vậy. Khi bạn nhập một lệnh, shell sẽ tìm kiếm các vị trí PATH để khớp. Khi sử dụng CDPATH, trình bao sẽ tìm kiếm các vị trí trong biến môi trường CDPATH để khớp. Giống như PATH, CDPATH có thể chứa nhiều vị trí.

Để trình bao tìm kiếm thư mục hiện tại trước các vị trí khác trong biến môi trường CDPATH, chỉ cần thêm dấu chấm (.) vào đầu đường dẫn, như sau:

export CDPATH=.:/home/dave/work/dev/projects

Để đặt cài đặt của bạn vĩnh viễn, bạn cần thêm chúng vào tệp cấu hình, chẳng hạn như .bashrc.

Một điều cần lưu ý: nếu bạn đặt thư mục cơ sở, nó cũng sẽ ảnh hưởng đến những thay đổi thư mục được thực hiện trong tập lệnh. Để tránh điều này, bạn có thể sử dụng đường dẫn tuyệt đối trong tập lệnh của mình hoặc thử nghiệm trong tệp .bashrc khi chỉ định CDPATH như minh họa bên dưới:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Thao tác này sẽ chạy thử nghiệm để xem biến dòng lệnh $PS1 đã được đặt chưa. Biến môi trường CDPATH sẽ chỉ được đặt nếu thử nghiệm thành công.

Sử dụng shopt từ cd

Với lệnh shopt, bạn có thể đặt các tùy chọn trình bao cụ thể. Một số trong số họ có thể cải thiện việc sử dụng đĩa CD. Để đặt chúng, hãy sử dụng tùy chọn -s (enable) với shopt để chuyển tên tùy chọn cho nó.

Tùy chọn cdspell kiểm tra tên thư mục và sửa một số lỗi chính tả phổ biến, bao gồm các ký tự bị chuyển vị hoặc bị thiếu hoặc tên có quá nhiều ký tự. Nếu nó tìm thấy một thư mục khớp với bất kỳ bản vá nào, thì đường dẫn đã sửa sẽ được in và hành động cd được thực hiện.

Ví dụ: chúng tôi nhập lệnh sau để đặt tùy chọn cdspell và viết sai chính tả “Desktop” để xem trình bao có sửa lỗi đó cho chúng tôi không:

shopt -s cdspell
cd Desktpo

Tập tin

Shell đã bắt lỗi, sửa lỗi và chuyển đến thư mục “Desktop”.

Một tùy chọn shopt khác mà bạn có thể sử dụng với cd là autocd. Loại bỏ hoàn toàn nhu cầu gõ cd. Bất kỳ thứ gì bạn nhập không phải là lệnh, tập lệnh hoặc tệp thực thi khác (chẳng hạn như bí danh) đều được sử dụng làm thư mục đích. Nếu bạn có thể di chuyển đến thư mục đó, nó sẽ được in trong cửa sổ đầu cuối và bạn sẽ được chuyển đến thư mục đó.

Như một ví dụ, nhập:

shopt -s autocd
/usr/local/games
/etc
~

Tập tin

Nhìn thấy! Bạn có thể nhảy khắp hệ thống tập tin mà không cần sử dụng cd!

Cài đặt đã thay đổi với shopt chỉ áp dụng cho trình bao tương tác, không áp dụng cho tập lệnh.

bộ sưu tập đĩa CD

Bạn có thể sẽ không áp dụng tất cả. Tuy nhiên, bạn có thể tìm thấy điều gì đó thú vị hoặc có lợi ở đây. Rốt cuộc, bất cứ điều gì tăng tốc hoặc đơn giản hóa điều hướng dòng lệnh đều tốt!