Sử dụng dòng lệnh với chứng khó đọc


57

Tôi chưa quen với Linux và mắc chứng khó đọc, thấy việc làm việc từ một dòng lệnh là một thách thức. Những trợ giúp hoặc lời khuyên nào có sẵn để giúp làm việc với vấn đề này?


4
Khi bạn kéo một tập tin vào thiết bị đầu cuối, nó sẽ tự động in đường dẫn hoàn chỉnh. Khi bạn nhấn phím mũi tên lên, nó sẽ tự động in lệnh cuối cùng.
karel

21
Đó là một câu hỏi hay, nhưng tôi cảm thấy khó tưởng tượng vấn đề của bạn là gì. Vui lòng chỉnh sửa và giải thích chính xác những gì thách thức bạn nhất. Các giải pháp khả thi có thể đơn giản hơn bạn nghĩ (xem các bình luận khác).
tráng miệng

6
Phím tắt giúp ích rất nhiều , tìm những cái hữu ích ở đây: Askubfox.com/q/45521/507051askubfox.com/q/444708/507051
tráng miệng

4
Để tiết kiệm thời gian nhập một đường dẫn dài vào tệp, tôi kéo biểu tượng của tệp vào thiết bị đầu cuối để in đường dẫn của tệp và sau đó sao chép / dán vào lệnh tiếp theo.
karel

3
Zsh thực sự có thể tự động tráo đổi các chữ cái trong tên lệnh! (Các trang hướng dẫn có nhiều thông tin hơn.)
SilverWolf

Câu trả lời:


90

Bạn có thể thử một vài thứ để cải thiện trải nghiệm của mình với dòng lệnh.

  1. Sử dụng hoàn thành tab (tự động điền vào các lệnh được gõ một phần bằng cách nhấn Tab) bất cứ khi nào có thể.
  2. Nhấn (phím mũi tên lên) để tự động in lệnh cuối cùng và tiếp tục nhấn & (phím mũi tên lên & xuống) để chuyển qua lịch sử lệnh.
  3. Kéo tập tin vào thiết bị đầu cuối để tự động in đường dẫn hoàn chỉnh.
  4. Nhấn Alt+ .(dấu chấm) để chèn đối số cuối cùng từ lệnh cuối cùng bạn đã thực hiện (ví dụ hữu ích mkdirtheo sau cd).
  5. Sử dụng phím tắt (xem cái nàycái này ).
  6. Sử dụng bí danh Bash (xem cái nàycái này ).
  7. Sử dụng history, bạn có thể xem lịch sử lệnh và sau đó sử dụng số lệnh lịch sử để thực hiện lại lệnh (ví dụ: làm lại lệnh # 352 với !352). Bí danh nó chỉ đơn giản hđể truy cập nhanh chóng và dễ dàng.
  8. Sử dụng tìm kiếm đầu cuối đảo ngược ( Ctrl+ R, sau đó bắt đầu nhập) để khớp với các lệnh trước đó; đó là một cách nhanh chóng để tìm thấy những thứ từ trước đó.
  9. Sử dụng shell hoàn thành các lệnh và các đối số tùy chọn như Zsh hoặc fish .
  10. Sử dụng phông chữ làm tăng khả năng đọc cho người đọc mắc chứng khó đọc , ví dụ " OpenDyslexic ", trong Terminal.
  11. Nghe những gì trên màn hình khi bạn đang đọc; kích hoạt trình đọc màn hình như Orca . Bạn có thể yêu cầu nó chỉ đọc một từ, toàn bộ trang, đánh vần các từ từng chữ, thay đổi tốc độ, âm lượng, mức độ chi tiết, v.v.
  12. Phóng to một phần của màn hình khi bạn đang đọc; hãy xem các ứng dụng phóng to bằng phím tắt, như Công cụ phóng đại .
  13. Nâng cao: cá nhân hóa cách hiển thị đầu ra, như cài đặt màu văn bản có điều kiện. Bản phân phối Ubuntu mặc định cung cấp một số cải tiến cho Terminal. Khi bạn sử dụng lsđể liệt kê nội dung của một thư mục, ví dụ, thư mục con in màu xanh lam và tên tệp in màu trắng, giúp dễ dàng phân biệt hai thư mục này. Đối với các ví dụ khác, hãy xem nhiều cá nhân hóa mà mọi người đã chia sẻ. Một số chắc chắn là đáng để thử "như vậy". Một điểm khởi đầu tốt là kho lưu trữ dotfiles nổi tiếng .

1
@flith Nó được cho là !352thay vì history 352, bẩm sinh?
pomsky

2
Tôi đã thay đổi sang phông chữ khó đọc và kích hoạt màu sắc trong thiết bị đầu cuối. Điều đó đã giúp với việc đọc và một số đau đầu. Vẫn đang tiếp tục đọc những cuốn sách Ubuntu Unleashed và Linux Kinh Thánh. Vim và một số biên tập viên khác có thể cung cấp một số câu trả lời.
Dale Davidson

Ctrl + R - Tôi chưa bao giờ thấy điều đó trước đây. Điều đó thật hữu ích
Noel Evans

16

Tôi sẽ cố gắng trả lời toàn diện. Nếu tôi để lại một cái gì đó, xin vui lòng bình luận và tôi sẽ thêm nó.

Tab hoàn thành

Hoàn thành tab là sự giúp đỡ lớn nhất của bạn ở đây. Nhấn Tabsẽ hoàn thành lệnh đến mức có thể nhận dạng duy nhất. Nhấn Tabhai lần sẽ đưa ra một danh sách các tùy chọn. Nhập đủ ký tự để xác định tùy chọn nào bạn muốn và nhấn Tablại sẽ hoàn thành nó. Điều này cũng hoạt động với tên đường dẫn / tập tin.

Ví dụ: giả sử tôi có một người dùng tên Paul và anh ta có tệp text123.txt và text124.txt trong thư mục Tải xuống của anh ta:

Tôi có thể gõ / h Tabvà bash sẽ cung cấp cho tôi /home/. Sau đó gõ P Tabvà nhận /home/Paul/. Và tiếp tục theo cách này cho đến khi tôi có tập tin và đường dẫn đầy đủ.

Mở rộng tên đường dẫn / tệp

Tự động hoàn thành cũng chấp nhận thẻ hoang dã *?. ?phù hợp với một nhân vật và *phù hợp với tất cả các nhân vật (hoặc không có). Sử dụng ví dụ trên, tôi có thể gõ:

/h*/P*/Dow*/t*4*sau đó Tabvà bash sẽ cho tôi /home/Paul/Downloads/text124.txt. Nếu tôi chắc chắn rằng tôi đang khớp đúng tệp, tôi có thể nhấn Enterđể thực thi lệnh mà không mở rộng nó trước.

Một số tài liệu tham khảo thư mục phổ biến là:

  • ~ cho thư mục nhà của bạn.
  • .. thư mục mẹ
  • .thư mục hiện tại; trong trường hợp bạn muốn hoàn toàn chắc chắn rằng bash trông trong thư mục bên phải.

Các phím tắt bàn phím

Các phím mũi tên lên và mũi tên xuống cho phép bạn điều hướng qua một danh sách các lệnh được sử dụng gần đây. Nhấn Ctrl+ Gđể thoát khỏi chế độ tìm kiếm lịch sử. Alt+ .lặp lại đối số cuối cùng của lệnh trước đó.

Bí danh

Bash cho phép bạn chỉ định bí danh. Nếu bạn thấy rằng bạn thường gõ nhầm một lệnh theo cùng một cách, bạn có thể thêm các bí danh tùy chỉnh bằng cách chỉnh sửa ~/.bashrcvà thêm các dòng như thế này:

alias agi='apt-get install'
alias mkdri='mkdir'

Sau đó relogin để kích hoạt chúng.


4
~không phải là mộtalias , đó là thay vì mở rộng bằng cách bashnhư mô tả trong MỞ RỘNG / Tilde Expansion trongman bash - ~được mở rộng để $HOME, ~+đến $PWD~-để $OLDPWDlàm ví dụ. Bạn thực sự có thể thiết lập ví dụ alias ~='cd ~'và rất hữu ích để nhanh chóng quay lại thư mục chính, nhưng điều đó hoàn toàn khác với (và không làm tổn thương) việc mở rộng.
tráng miệng

Chà, man bashcó toàn bộ phần EXPANSIONBạn đã bao gồm một chút mở rộng tên đường dẫn.
tráng miệng

Trên hệ thống của tôi, tôi dường như không thể có được hầu hết các bản mở rộng khác để hoạt động trong CLI. Nhưng tôi sẽ tổ chức lại để sửa lời giải thích dấu ngã.
ravery

1
@WJAndrea: Shell có một số hỗ trợ đặc biệt cho ...; ví dụ, cd ..thực sự loại bỏ đoạn đường dẫn cuối cùng khỏi thư mục làm việc hiện tại, thay vì thêm một ..đoạn.
ruakh

1
@WJAndrea và ravery: Ctrl + G thoát khỏi tìm kiếm lịch sử lệnh mà bạn bắt đầu với Ctrl + R. Sau khi bắt đầu, chỉ cần gõ bắt đầu của một lệnh và nó sẽ hiển thị cho bạn lệnh phù hợp nhất hiện tại. Xem qua các lệnh khớp với Ctrl + R, chạy lệnh bằng Enter hoặc chỉnh sửa nó bằng một phím thay đổi vị trí con trỏ, ví dụ: Home, End, mũi tên, v.v. Chế độ tìm kiếm này cực kỳ hữu ích nếu bạn muốn tìm một lệnh gần đây bằng cách tên của nó - hãy thử nó, nó sẽ thổi vào tâm trí của bạn. ;)
tráng miệng

12

Trình bao Zsh (hoặc ít nhất là phiên bản tôi đang sử dụng, Oh-my-ZSH ) có một tính năng sửa lỗi cho bạn nếu bạn mắc lỗi chính tả nhỏ trong tên lệnh và tệp:

$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...

Bạn có thể bật nó với dòng sau trong .zshrc:

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"

nó có thể được thực hiện tự động? tôi biết nó đang yêu cầu sự cố, mr fr- ./ -oe--rvoeorrpne-st->zsh: automatically correcting to rm -rf / --no-preserve-root
con mèo

1
@cat Không xa như tôi biết. Lý do bạn đưa ra là một lý do tại sao nhưng nó cũng sẽ ngăn bạn làm những việc hợp pháp như thế mv file1 file1.old, bởi vì nó sẽ sửa tên tệp thứ hai thành tên thứ nhất, làm cho nó không có tác dụng.
Graodes


11

Bạn có thể thử sử dụng phông chữ khó đọc mở trong thiết bị đầu cuối của bạn. Nó có thể giúp đọc văn bản. Điều này giả định rằng bạn đang sử dụng thiết bị đầu cuối Ubuntu mặc định, mà tôi hy vọng giống như thiết bị đầu cuối Gnome.

https://opendyslexic.org/

  1. Tải về nó.
  2. Cài đặt phông chữ.
  3. Mở một thiết bị đầu cuối điều hướng đến thanh thực đơn và chọn Chỉnh sửa-> Tùy chọn hồ sơ
  4. Bật phông chữ tùy chỉnh và chọn phông chữ đơn ngữ khó mở.

Cài đặt có thể được thực hiện với sudo apt install fonts-opendyslexic.
Chai T. Rex

2

Để hoàn thành câu trả lời của @pomsky, tôi muốn thêm một số điểm:

  • Tìm hiểu làm thế nào để tự động hóa mọi thứ, đặc biệt là học cách forvòng làm việc, làm thế nào readcác công trình, làm thế nào ifcác công trình, những gì đang [ ][[ ]], sử dụng bash chế độ nghiêm ngặt không chính thức , bởi vì một khi một kịch bản có giá trị, nó là dễ dàng hơn không làm cho những sai lầm.

  • nếu bạn có thể, hãy cài đặt gói hoàn thành bash (có thể đi kèm với các tên khác nhau theo phiên bản)

  • Sử dụng rmvới công -itắc khi ở trong tình huống nguy hiểm (như với sudo), hoặc có thể cài đặt và sử dụng rmtrash(sẽ bỏ rác vào thùng rác)

  • Sử dụng cpvới công -ntắc, sẽ không ghi đè lên các tệp hiện có khi sao chép. (Tất nhiên, hữu ích hơn khi sao chép đệ quy)

  • Tìm hiểu làm thế nào để sử dụng các ~/.bashrctập tin, nó có thể làm cho các $PS1biến rõ ràng hơn cho bạn.

Và có lẽ khó nhất nếu bạn còn trẻ:

  • Hãy cố gắng để biết rõ hơn một chút về các công cụ hiện đại và phổ biến của những gì bạn đang làm.

    • Ví dụ, nếu bạn là sinh viên đang học cách phát triển với c ++, hãy thử thiết lập $CXXFLAGStrong ~/.bashrc. (Ví dụ: export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "theo phiên bản c ++ của bạn, vì vậy tôi đoán c ++ 11 cho ubfox), sau đó biên dịch với make main.cppvà các tùy chọn của bạn sẽ được chuyển sang. Lưu ý rằng bộ tùy chọn này khá khắc nghiệt: mọi thứ đều chính xác và nổi bật sẽ được coi là một lỗi và ngăn bạn biên dịch.

2

Hãy thử "FISH" Shell tương tác thân thiện. Có sẵn trong các repos.

Tôi đã từng vật lộn với dòng lệnh bằng BASH. Cá nhớ tất cả các lệnh cuối cùng và cung cấp hoàn thành. sudo apt cài đặt cá sau đó trong loại bash; cá. Nếu bạn thích nó hãy tìm hướng dẫn về cách biến nó thành vỏ mặc định của bạn. Có vỏ khác có sẵn; CÁ là sự lựa chọn của tôi. Một khi bạn bắt đầu, bạn có thể thích nó.


2

Tôi đã học được rằng tôi mắc chứng khó đọc sau khi là một kỹ sư Unix và là người sử dụng thành thạo trong nhiều năm trên nhiều nền tảng khác nhau (Linux, AIX và Solaris).

Chứng khó đọc ảnh hưởng đến những người khác nhau ở các mức độ khác nhau, vì vậy, giả định rằng "chúng tôi thấy mọi thứ không theo thứ tự" có thể là một sự đơn giản hóa và bực bội nếu nó không ảnh hưởng đến bạn theo cách đó - tôi thực sự thấy phông chữ có chiều rộng cố định mặc định rất dễ đọc ( trắng-đen có vẻ tốt cho tôi)

Shell rất khó học với nhiều từ viết tắt và quy ước không trực quan để điều hướng, điều này thường gây khó khăn cho những người thích những từ đơn giản với các mẫu thông thường.

Bây giờ tôi hiểu rằng hầu hết các chứng khó đọc học và ghi nhớ từ kinh nghiệm đầu tay. Chúng ta rất kém trong việc học vẹt hoặc tiêu thụ vô số lý thuyết dài dòng. Tuy nhiên, một khi chúng ta đã tiêu hóa lý thuyết bằng ứng dụng, nó thường bám sát với sự hiểu biết sâu sắc bên trong. Để kết thúc này, Tập trung vào việc tìm các ví dụ shell và thử chúng bằng cách gõ chúng bằng tay và hiểu những gì mỗi dòng làm. Thử nghiệm, phá vỡ mọi thứ, thức suốt đêm để sửa nó.

Theo thời gian, bạn sẽ nhớ ngày càng nhiều lệnh và mẫu phát hiện theo cách các nhà phát triển đã triển khai các chương trình của họ có thể được áp dụng cho lệnh tiếp theo. Tuy nhiên, không phải tất cả các lệnh đều tuân theo các quy ước giống nhau khi truyền đối số / tham số nên sẽ mất một thời gian để tìm hiểu các lệnh tương tự nhau.

Giống như bất kỳ ai khác, sau một vài năm, nó sẽ trở thành bản chất thứ hai. Tuy nhiên, theo thời gian, bạn có thể đạt được lợi thế về chứng khó đọc khi bạn trực giác biết cách giải quyết các giải pháp và thực hiện phân tích nguyên nhân gốc phức tạp bằng cách sử dụng khả năng giống như giác quan thứ 6 của bạn để phát hiện các mẫu hoặc phá vỡ các mẫu.

Ngoại trừ việc hoàn thành tab và lời khuyên chính, tôi thấy hầu hết các câu trả lời sẽ chỉ khiến trải nghiệm trở nên áp đảo hơn. Mặc kệ họ. Đơn giản hóa là chìa khóa


2

Có một công cụ, nằm giữa một trò đùa và một người trợ giúp vô giá.

https://github.com/nvbn/thefuck

Bạn có thể thử nó ngoài các khuyến nghị khác trong chủ đề này. Ý tưởng chính là khi bạn viết một cái gì đó và nhận lệnh không xác định hoặc bất cứ điều gì, công cụ này sẽ sửa và thực hiện lại nó.

Nó không phải là một viên đạn bạc, nhưng có thể đáng để thử nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.