Mẹo để nắm bắt với dòng lệnh [đóng]


29

Khi tôi lần đầu tiên di chuyển từ Windows sang Ubuntu, điều khó khăn nhất tôi phải làm là sử dụng dòng lệnh.

Nhập lệnh là một trải nghiệm xa lạ khi bạn chỉ quen với việc trỏ và nhấp.

Khi tôi nói chuyện với người dùng Ubuntu mới, họ thường không thoải mái với ý tưởng nói chuyện trực tiếp với máy tính của họ.

Có hướng dẫn đơn giản và thân thiện để giúp người dùng mới làm quen với dòng lệnh không?

Bạn có bất cứ lời khuyên để làm cho trải nghiệm dễ dàng hơn hoặc vui vẻ hơn?


4
Để biết giá trị của nó, Ubuntu cố gắng hết sức (ít nhất, khó hơn bất kỳ bản phân phối Linux nào khác) để không khiến bạn sử dụng dòng lệnh nếu bạn không muốn. Nhưng sẽ luôn có những thứ dễ dàng hơn / nhanh hơn để thực hiện trên dòng lệnh so với trong GUI. Vì vậy, đó là một ý tưởng tốt để tìm hiểu về nó (và một câu hỏi hay).
David Z

Câu trả lời:


17

Nếu bạn đang tìm kiếm một hướng dẫn tốt để tìm hiểu dòng lệnh, yêu thích của tôi là LinuxCommand.org

Hướng dẫn sẽ chỉ cho bạn những điều cơ bản của dòng lệnh và thậm chí sẽ hướng dẫn bạn viết các tập lệnh shell hữu ích.

Điều đó nói rằng, hầu hết người dùng sẽ không cần sử dụng dòng lệnh cho hầu hết các hoạt động hàng ngày. Tôi không nghĩ rằng dòng lệnh sẽ không khuyến khích người dùng chuyển sang Ubuntu. Nhưng một khi bạn học được sức mạnh của dòng lệnh, bạn sẽ không thể sống mà không có nó!


15

Dưới đây là một số lệnh phổ biến để thao tác hệ thống tập tin:

  • cp [src] [dest] - sao chép src sang mệnh
  • mv [src] [dest] - di chuyển src sang Dest (cũng được sử dụng để đổi tên)
  • cd [dir] - thay đổi thư mục hiện tại thành dir
  • pwd - in thư mục hiện tại
  • cat [file] - in nội dung của tập tin ra màn hình
  • rm [file]- xóa tệp 1
  • rmdir [dir] - xóa một thư mục trống

Tiền tố bất kỳ lệnh nào với sudonguyên nhân khiến lệnh được thực thi như người dùng root.

1 - không gõ sudo rm -rf /vì nó sẽ xóa hệ thống tập tin


5
Heh, +1 cho cảnh báo sudo rm :)
Nicholas Knight

2
Đừng quên một lưu ý về bộ xử lý khét tiếng ": () {: |: &};:" về cơ bản tạo ra vô số các quy trình mới và dần dần làm chậm hệ thống cho đến khi hết tài nguyên yêu cầu khởi động lại hệ thống. Để biết thêm thông tin, xem en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice

12

1) Hoàn thành tab:

Một tiết kiệm thời gian khổng lồ. Nếu bạn đang gõ một lệnh, bạn chỉ cần gõ đủ lệnh để cung cấp một phân đoạn ban đầu chỉ có thể được mở rộng theo một cách duy nhất và sau đó có thể nhấn TAB một lần để mở rộng phân đoạn ban đầu của bạn thành toàn bộ lệnh. Vì vậy, ví dụ, trên hệ thống của tôi umo TABmở rộng đến umount. (Trên hệ thống của tôi vì các phân đoạn ban đầu chỉ có thể mở rộng theo một cách là chức năng của những gì bạn đã cài đặt, v.v.) Nếu bạn không nhập đủ để làm cho việc hoàn thành không rõ ràng, TAB sẽ không mở rộng, nhưng TAB thứ hai sẽ hiển thị danh sách hoàn thành có thể. Vì vậy, trên hệ thống của tôi, um TAB TABsản lượng:

umask       umax_pp     umount      umount.hal

Hoàn thành tab cũng hoạt động trên các đường dẫn: cd /home/me/docs/reallylo TABsẽ, nếu duy nhất, mở rộng thành cd /home/me/docs/reallylongdirnamevà, nếu không phải là duy nhất, sẽ cung cấp một danh sách các phần tiếp theo của ứng viên như umtrên.

2) man some-commandhoặc some-command --helphoặc some-command -h:

Nếu bạn không thể nhớ lại cách một lệnh hoạt động, bạn có thể lấy tài liệu ngay trong shell. manthường cung cấp chi tiết nhất. Thông thường một hoặc cả hai --helpvà các -hđối số cho một lệnh cung cấp một bản tóm tắt ngắn.

3) head:

man some-commandtiếp quản thiết bị đầu cuối và ngăn bạn nhập lệnh trong khi văn bản man được hiển thị. man some-command | headsẽ hiển thị 10 dòng đầu tiên. man some-command | head -nsẽ hiển thị n dòng đầu tiên. Trong cả hai trường hợp, bạn sẽ nhận lại lời nhắc của mình để bạn có thể có văn bản người đàn ông trên màn hình khi bạn nhập lệnh của mình.


Khi tôi sử dụng man some-command, con người cho phép tôi cuộn lên xuống trang. Điều đó có bình thường không?
Michael Crenshaw

@ mac9416: Thật vậy. Tôi chưa bao giờ thử điều đó trước đây: - [Sửa đổi câu trả lời để tính đến điều này. Cảm ơn!
vanden

Có, mansử dụng một máy nhắn tin (thường less). Nếu bạn muốn kiểm tra một tệp theo cách tương tự, hãy nhập less somefile. Nếu bạn đã quen vim, bạn có thể sử dụng jkcác phím để cuộn.
Umang

Trong tất cả các công bằng, hoàn thành tab không có sẵn trong tất cả các shell.
Nathan Osman

@George Edison: Đúng vậy. Nhưng, nếu đó là một người dùng mới có vấn đề (như trong câu hỏi), họ sẽ không có khả năng thay đổi trình bao từ mặc định và do đó sẽ hoàn thành tab.
vanden

7

Chuyển sang zsh!

Mặc dù rất giống với bash, nó có rất nhiều tính năng bổ sung tuyệt vời (ví dụ như sửa lỗi chính tả, ngay cả trong một thành phần đường dẫn trước hoặc một tiện ích hữu ích để gọi trợ giúp cho lệnh hiện tại (thông qua trợ giúp; Tôi nhấn ESC-h sau khi đã nhập mplayer, và nó sẽ mở trang man. Sau khi đóng nó, tôi quay lại dòng cũ)).

Tôi giới thiệu cuốn sách sau, bao gồm zsh, bash và một số shell khác:
Từ Bash đến Z Shell: Chinh phục dòng lệnh . Mặc dù nó đã được vài năm tuổi, tôi rất vui vì điều này đã không khiến tôi rời bỏ việc mua nó. Khuyến nghị này cũng được giữ nếu bạn không muốn chuyển sang zsh.

Tôi đã sử dụng dòng lệnh rất nhiều trong một vài năm (cục bộ và thông qua SSH), gần đây tôi mới thực hiện chuyển đổi sang zsh (chủ yếu là do dấu nhắc bash tùy chỉnh của tôi, không tương thích). Đây là cấu hình zsh của tôi (được tích hợp trong kho lưu trữ dotfiles của tôi ).

Bạn có thể sử dụng chsh -s /bin/zshđể chuyển đổi trình bao của mình (thông qua / etc / passwd) hoặc chỉ gọi nó từ trình bao hiện tại của bạn, tức là nhập zshvào dấu nhắc bash của bạn (bạn có thể phải cài đặt nó trước ( sudo apt-get install zsh).


5

"Apropos" (hoặc tương đương: "man -k") để tìm lệnh thực hiện điều gì đó.

$ apropos [my query]

Ví dụ, để tìm lệnh sao chép tệp:

$ apropos copy

sẽ liệt kê một loạt các lệnh, trong đó

cp (1) - copy files and directories

là một.

"cp" là lệnh và "1" là phần trong sách hướng dẫn nơi nó xuất hiện. Phần 1 là các lệnh người dùng chung (các phần khác bao gồm những thứ như các cuộc gọi thư viện mà bạn sẽ không quan tâm). Để hạn chế tìm kiếm chỉ trong phần 1, hãy sử dụng:

$ apropos -s1 [my query]

Để sau đó tìm hiểu thêm về lệnh sử dụng "người đàn ông". ví dụ

$ man cp

+1 vì là người đầu tiên đề cập man. Bravo!
jathanism

4

Thử dùng cá

fish là một trình vỏ dòng lệnh thân thiện với người dùng cho các hệ điều hành giống như UNIX như Linux.

Trong số những thứ khác, nó có tính năng hoàn thành tab nâng cao hơn bash có thể rất hữu ích trong khi học.

văn bản thay thế

https://www.pableumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php


1
Tôi yêu tính năng tìm kiếm lịch sử. Chỉ cần gõ bất cứ điều gì, nhấn phím mũi tên lên và bạn đang tìm kiếm trong lịch sử của mình cho những từ tương tự. Tiết kiệm thời gian tuyệt vời.
Javier Rivera

liên kết đến fishshell.org đã lỗi thời. fishshell.com là một cái mới.
NES

2

history | grep SOMETHING - tìm thấy lệnh bạn đã sử dụng trước đó có chứa SOMETHING.

fortune - ---)


2
Đối với điều này, tôi sử dụng Ctrl+R SOMETHING(với sự khác biệt mà điều này mang lại lần xuất hiện cuối cùng ). Lặp lại Ctrl+Rđể tìm thêm lần xuất hiện SOMETHINGtrong lịch sử lệnh.
Bert Van Vreckem

2

Để tìm hiểu cách sử dụng lệnh, hãy thêm một khoảng trắng và sau đó "--help" vào cuối của nó - điều này cho bạn biết cách sử dụng nó và đưa ra một danh sách các tùy chọn.

ví dụ

cp --help

Cảnh báo, điều này không hoạt động với tất cả các lệnh!
SilverWolf - Phục hồi lại

2

Các Ubuntu Pocket Guide và tham khảo các tính năng một chương về sử dụng dòng lệnh. Nó sẽ nhanh chóng giúp bạn đứng dậy và chạy với dòng lệnh.

Ngoài ra nó là miễn phí để tải về hoặc đọc trực tuyến.


2

Tôi khuyên bạn nên sử dụng CLI Companion :

Đồng hành CLI là một công cụ để lưu trữ và chạy các lệnh Terminal từ GUI. Những người không quen thuộc với Terminal sẽ tìm thấy CLI Companion một cách hữu ích để làm quen với Terminal và mở khóa tiềm năng của nó. Người dùng có kinh nghiệm có thể sử dụng CLI Companion để lưu trữ danh sách lệnh rộng lớn của họ trong danh sách có thể tìm kiếm.

nhập mô tả hình ảnh ở đây

Bạn có được nó bằng cách chạy:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Nếu bạn không muốn thêm PPA, hãy thử tệp này trong 12.04 (phiên bản mới nhất 1.1-6, được phát hành vào ngày 2012-04-14 - kiểm tra trang này để biết các phiên bản mới hơn.) - hoặc xóa PPA sau khi cài đặt sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


1

Tìm một cuốn sách Ubuntu có chỉ số dòng lệnh tốt, zerox nó và đặt nó gần máy tính. Buộc mình sử dụng nó. Một tài nguyên tốt là cuốn sách "Các lệnh hơn 1000 hộp công cụ Ubuntu Linux", bao gồm tất cả những gì bạn cần biết (http://www.amazon.com/Ubfox-Linux-Toolbox-Commands-Debian/dp/0470082933)

Tuy nhiên, nếu bạn không chạy máy chủ, trong máy tính để bàn Ubuntu, hầu hết mọi thứ đều có sẵn với GUI.


0

Tôi đã học được rất nhiều về việc sử dụng dòng lệnh và cảm thấy thoải mái khi làm việc trong đó từ việc đọc The Bash Cookbook từ O'Reilly và Associates. Đó là một cuốn sách về Bash scripting, nhưng các đoạn có kích thước cắn của định dạng sách nấu ăn làm cho nó rất dễ tiếp cận. Là một lợi ích phụ, nếu bạn nghĩ "Gee, tôi chắc chắn muốn làm X, nhưng tôi không biết làm thế nào", bạn có thể sử dụng mục lục để tra cứu X (và Y và Z cho vấn đề đó) và có một ý tưởng tốt về cách thực hiện (và một lời giải thích hợp lý về cách nó hoạt động với con trỏ đến các công thức và tài nguyên khác có thể mở rộng thêm sự hiểu biết của bạn).


0

Tôi đã đọc Sách máy chủ Ubuntu chính thức, (Phiên bản 2) để học quản trị hệ thống và tôi không chỉ trở nên thành thạo hơn trong việc sử dụng dòng lệnh, mà tôi cũng bắt đầu tìm hiểu hoạt động bên trong của chính hệ điều hành.

Sử dụng Ubuntu Server Edition giúp tôi tìm hiểu dòng lệnh dễ dàng hơn vì tôi không có GUI để dự phòng.

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.