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?
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?
Câu trả lời:
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.
mkdir
theo sau cd
).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.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 .!352
thay vì history 352
, bẩm sinh?
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ó.
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 đủ.
Tự động hoàn thành cũng chấp nhận thẻ hoang dã *
và ?
. ?
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 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 đó.
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 ~/.bashrc
và 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.
~
không phải là mộtalias
, đó là thay vì mở rộng bằng cách bash
như mô tả trong MỞ RỘNG / Tilde Expansion trongman bash
- ~
được mở rộng để $HOME
, ~+
đến $PWD
và ~-
để $OLDPWD
là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.
man bash
có toàn bộ phần EXPANSION
Bạn đã bao gồm một chút mở rộng tên đường dẫn.
..
và .
; 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.
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"
mr fr- ./ -oe--rvoeorrpne-st
->zsh: automatically correcting to rm -rf / --no-preserve-root
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.
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.
sudo apt install fonts-opendyslexic
.
Để 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 for
vòng làm việc, làm thế nào read
các công trình, làm thế nào if
các công trình, những gì đang [ ]
và [[ ]]
, 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 rm
với công -i
tắ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 cp
với công -n
tắ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 ~/.bashrc
tập tin, nó có thể làm cho các $PS1
biế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.
$CXXFLAGS
trong ~/.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.cpp
và 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.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ó.
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
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ó.