Mẹo cực kỳ hữu ích nếu bạn sử dụng thiết bị đầu cuối (Hợp nhất CD lệnh với LS ... và nhiều hơn nữa)

Tôi là một trong những người sử dụng rất nhiều thời gian thiết bị đầu cuối (console, bash, shell, bất cứ thứ gì bạn muốn gọi nó), vì lý do X hoặc Y, tôi phải liên tục thay đổi thư mục, xử lý nó 

Trong phần lớn các trường hợp, thay đổi thư mục (Ví dụ: cd / opt /) và tôi cũng muốn biết những gì có trong thư mục đó, để biết thứ hai này tôi sử dụng ls.

Đó là, nó sẽ như thế này:

kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nesus

Tôi đã nói nhiều lần rồi ... Tôi khá lười biếng, tôi thích làm ít bước nhất trong thiết bị đầu cuối, đó là lý do tại sao sau rất nhiều thử nghiệm, tôi đã đạt được những gì tôi muốn.

Xem phần sau, không có gì khác hơn là tôi nhập / opt / với lệnh đơn giản cd / opt /:

Như bạn có thể thấy, trong một bước (cd / opt /) Tôi vào thư mục và CŨNG nó liệt kê nội dung của thư mục đó, và... nếu vẫn chưa đủ, nó sẽ hiển thị cho tôi bằng màu sắc 

Đây là ví dụ về việc tôi truy cập /Vân vân/ với cd / vv/:


Màu sắc rất dễ hiểu:

Không màu = Tệp
Màu xanh lam = Thư mục
Màu xanh lục = Các tệp có quyền thực thi

Nhưng, hãy chuyển sang vấn đề chính ... Làm thế quái nào mà chỉ sử dụng cd mà tôi cũng có thể tự động liệt kê thư mục mà tôi truy cập?

Kho lưu trữ của chúng tôi .bashrc (nằm trong nhà hoặc thư mục cá nhân của chúng tôi) sẽ giúp chúng ta làm điều này, trước tiên chúng ta phải khai báo một hàm, mà chúng ta sẽ gọi CĐLS:

function cdls {cd "$ 1"; ls –color;}

Chúng tôi đặt dòng này ở hai bên của .bashrc ... đây là lệnh để làm điều đó:

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc

Bạn KHÔNG nhất thiết phải làm điều đó với lệnh này, mục tiêu là tệp .bashrc chứa dòng này, vì vậy chỉ cần chỉnh sửa tệp này bằng trình soạn thảo văn bản ưa thích của bạn (bàn di chuột, kate, gedit, nano, vi, v.v.) và thêm nó.
Họ lưu thay đổi, đóng thiết bị đầu cuối mà họ đã mở và mở một thiết bị mới.

Trong đó chúng tôi sẽ viết như sau và nhấn [Đi vào]:

cdls $HOME

Điều này đủ để truy cập thư mục cá nhân của chúng tôi trong thiết bị đầu cuối đó và nó cũng sẽ liệt kê nội dung của nó (với màu sắc và mọi thứ).

Ý tôi là, cái gì CĐLS nó đã làm những gì chúng ta muốn ... bây giờ chúng ta chỉ có thể đạt được điều tương tự nhưng với cd

Đối với điều này, chúng tôi thêm vào tệp .bashrc dòng sau:

alias cd='cdls'

Điều này sẽ làm cho khi chúng tôi viết cd … Hành động mà chúng tôi xác định sẽ thực sự được thực thi cho CĐLS

Tôi để lại cho bạn lệnh sẽ tự động đặt dòng trước này:

echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc

Nhưng cũng giống như tôi đã nói trước đây, mục đích là thêm dòng này vào cùng một tệp, bạn có thể sử dụng trình soạn thảo văn bản mà bạn chọn cho nó.

Khi việc này được thực hiện xong, hãy đóng thiết bị đầu cuối và mở một thiết bị đầu cuối mới ... trong đó viết nội dung sau và nhấn [Đi vào]:

cd /etc/

Và chơi lô tô, họ sẽ vào / Etc/ và nội dung của thư mục này cũng sẽ được liệt kê và có màu  (giống như trong ảnh trước)

Nó có ích gì? 

Đối với những người tò mò tự hỏi chức năng này có nghĩa là gì? … Tôi để lại cho bạn lời giải thích đơn giản:

cdls hàm = Ở đây chúng tôi xác định rằng chúng tôi đang tạo một hàm mới và nó sẽ được gọi là cdls
cd "$ 1" = Và những gì hàm này sẽ làm (nó sẽ làm mỗi khi chúng ta gọi, sử dụng hoặc thực thi nó) là thực hiện một cd (enter) đối với tham số đầu tiên, đó là ... - »« cd / home / »,« $ 1 »có nghĩa là« những gì chúng tôi viết sau cd ", trong ví dụ này, tham số đầu tiên là" / home / ".
; = Điều này có nghĩa là lệnh đó kết thúc ở đó, hoặc hành động để thực thi ... nhưng một hàm có thể có nhiều hành động hơn để thực hiện và chúng ta sẽ xác định hành động thứ hai ngay bây giờ.
ls – màu; = Có nghĩa là ngoài bất kỳ hành động nào đã khai báo trước đó, nó cũng sẽ tạo ra một "ls" ở nơi chúng ta đang ở, và "ls" sẽ thực hiện điều đó với màu (–color).

Điều cuối cùng ... những người thông minh nhất, họ sẽ nhận ra rằng logic này (lấy một chức năng và cấu hình nó để thực thi một số hành động) có rất nhiều tiềm năng, ví dụ như ... nếu tôi muốn nhập một thư mục, và cũng xóa một cái khác, tức là tôi muốn nhập vào /nhà/ và cũng xóa / opt / temp / chức năng cho điều này sẽ là:

function asdasd { cd "$1"; rm -Rv "$2"; }

Và nhập vào một thiết bị đầu cuối asdasd / home / / opt / test / nó sẽ, bởi vì nó sẽ nhập tham số đầu tiên (/nhà/) và xóa phần thứ hai (/ opt / temp /).

Dù sao, điều này thực sự có RẤT NHIỀU tiềm năng hehe, bạn có thể tận dụng nó nhiều nhất có thể.

Nếu bạn có bất kỳ nghi ngờ, câu hỏi, khiếu nại hoặc đề xuất nào, tôi sẽ sẵn lòng giúp đỡ bạn, tôi thậm chí không phải là chuyên gia từ xa nhưng ít nhất tôi muốn giúp đỡ 

Liên quan