Советы по работе с командной строкой [закрыто]


29

Когда я впервые перешел с Windows на Ubuntu, самой сложной вещью, которую мне пришлось сделать, было использование командной строки.

Ввод команд - это инопланетный опыт, когда вы когда-либо привыкли указывать и нажимать.

Когда я общаюсь с новыми пользователями Ubuntu, им часто не нравится идея общаться напрямую со своим компьютером.

Существует ли простое и понятное руководство, чтобы помочь новым пользователям познакомиться с командной строкой?

Есть ли у вас какие-либо советы, чтобы сделать опыт проще или веселее?


4
Для чего это стоит, Ubuntu старается (по крайней мере, тяжелее, чем любой другой дистрибутив Linux), чтобы не заставить вас использовать командную строку, если вы этого не хотите. Но всегда будут вещи, которые намного проще / быстрее сделать в командной строке, чем в графическом интерфейсе. Так что это хорошая идея, чтобы узнать об этом (и хороший вопрос).
Дэвид З,

Ответы:


17

Если вы ищете хорошее руководство по изучению командной строки, мой любимый LinuxCommand.org

Руководство покажет вам основы командной строки и даже поможет вам написать полезные сценарии оболочки.

Тем не менее, большинству пользователей не нужно будет использовать командную строку для большинства повседневных операций. Я не думаю, что командная строка должна отговаривать пользователей от перехода на Ubuntu. Но как только вы изучите силу командной строки, вы не сможете жить без нее!


15

Вот некоторые общие команды для управления файловой системой:

  • cp [src] [dest] - копирует src в dest
  • mv [src] [dest] - перемещает src в dest (также используется для переименования)
  • cd [dir] - изменяет текущий каталог на каталог
  • pwd - печатает текущий каталог
  • cat [file] - выводит содержимое файла на экран
  • rm [file]- удаляет файл 1
  • rmdir [dir] - удаляет пустой каталог

Префикс любой из команд sudoприводит к выполнению команды от имени пользователя root.

1 - не печатать, sudo rm -rf /поскольку это сотрет файловую систему


5
Хех, +1 за предупреждение sudo rm :)
Николас Найт

2
Не забудьте записку о печально известной бомбе-форке ": () {: |: &} ;:", которая по сути разветвляет бесконечное число новых процессов и постепенно замедляет работу системы до тех пор, пока у нее не закончатся ресурсы, требующие перезагрузки системы. Для получения дополнительной информации см. En.wikipedia.org/wiki/Fork_bomb .
Эван Плейс

12

1) Завершение вкладки:

Гигантская экономия времени. Если вы набираете команду, вам нужно только набрать достаточно команды, чтобы указать начальный сегмент, который можно расширить только одним способом, а затем один раз нажмите клавишу TAB, чтобы развернуть начальный сегмент до всей команды. Так, например, в моей системе umo TABрасширяется до umount. (В моей системе то, что начальные сегменты могут быть расширены только одним способом, зависит от того, что вы установили и т. Д.) Если вы не наберете достаточно текста, чтобы сделать завершение однозначным, TAB не развернется, но второй TAB отобразит список возможных доработок. Итак, в моей системе um TAB TABвыдает:

umask       umax_pp     umount      umount.hal

Завершение с помощью вкладки также работает с путями: cd /home/me/docs/reallylo TABесли уникально, расширится cd /home/me/docs/reallylongdirnameи, если не уникально, предложит список возможных вариантов продолжения, как umописано выше.

2) man some-commandили some-command --helpили some-command -h:

Если вы не можете вспомнить, как работает команда, вы можете получить документацию прямо в оболочке. manобычно предоставляет наиболее подробно. Обычно один или оба --helpи -hаргументы команды содержит краткое резюме.

3) head:

man some-commandзахватывает терминал и не позволяет вводить команды, пока отображается текст man. man some-command | headотобразит первые 10 строк. man some-command | head -nотобразит первые n строк. В обоих случаях вы получаете подсказку обратно, чтобы при вводе команды вы могли видеть текст man на экране.


Когда я использую man some-command, мужчина позволяет мне прокручивать страницу вверх и вниз. Это не обычно?
Майкл Креншоу

@ mac9416: Действительно. Я никогда не пробовал этого раньше: - [Изменил ответ, чтобы учесть это. Благодарность!
Ванден

Да, manиспользует пейджер (обычно less). Если вы хотите проверить файл аналогичным образом, введите less somefile. Если вы привыкнете vim, вы можете использовать jkклавиши для прокрутки.
Уманг

Честно говоря, завершение табуляции доступно не во всех оболочках.
Натан Осман

@ Джордж Эдисон: Достаточно верно. Но, если речь идет о новом пользователе (как и в вопросе), он вряд ли изменит оболочку по умолчанию и, таким образом, будет иметь завершение вкладки.
Ванден

7

Переключиться на Zsh!

Хотя он очень похож на bash, он имеет много полезных дополнительных функций, таких как, например, исправление опечаток, даже в предыдущем компоненте пути или полезный виджет для вызова справки для текущей команды (через run-help; Я нажимаю ESC-h после того, как, например, набрал текст mplayer, и он открывает страницу руководства. После закрытия я возвращаюсь к старой строке)).

Я рекомендую следующую книгу, которая охватывает zsh, bash и некоторые другие оболочки:
От Bash до Z Shell: Завоевание командной строки . Хотя ему уже несколько лет, я рад, что это не отвратило меня от его покупки. Эта рекомендация также справедлива, если вы не хотите переключаться на zsh.

Я много лет использую командную строку (локально и через SSH), я только недавно переключился на zsh сам (в основном из-за моей собственной подсказки bash, которая не совместима). Вот мой конфиг zsh (встроенный в мой репозиторий dotfiles ).

Вы можете использовать chsh -s /bin/zshдля переключения вашей оболочки (через / etc / passwd), или просто вызвать ее из текущей оболочки, то есть набрать zshв приглашении bash (хотя вам, вероятно, придется сначала ее установить ( sudo apt-get install zsh).


5

"apropos" (или его эквивалент: "man -k"), чтобы найти команду что-то сделать.

$ apropos [my query]

Например, чтобы найти команду для копирования файлов:

$ apropos copy

перечислю кучу команд, из которых

cp (1) - copy files and directories

это один.

«cp» - это команда, а «1» - раздел из руководств, где она появляется. Раздел 1 - это общие пользовательские команды (другие разделы включают в себя такие вещи, как вызовы библиотеки, которые вас не интересуют). Чтобы ограничить поиск только разделом 1, используйте:

$ apropos -s1 [my query]

Чтобы узнать больше о команде, используйте «man». например

$ man cp

+1 за то, что упомянул первым man. Браво!
Яфанизм

4

Попробуйте использовать рыбу

fish - это удобная оболочка командной строки для UNIX-подобных операционных систем, таких как Linux.

Помимо прочего, он имеет более продвинутую завершенность вкладок, чем bash, что может быть очень полезно при обучении

альтернативный текст

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

http://fishshell.org/index.php


1
Я люблю функцию поиска истории. Просто введите что-нибудь, нажмите клавишу со стрелкой вверх, и вы ищете в своей истории те же слова. Отличная экономия времени.
Хавьер Ривера

ссылка на fishshell.org устарела. fishshell.com - новый.
NES

2

history | grep SOMETHING - находит команду, которую вы использовали до этого, содержит что-то.

fortune - :-)


2
Для этого я использую Ctrl+R SOMETHING(с той разницей, что это дает последнее вхождение). Повторите, Ctrl+Rчтобы найти больше вхождений SOMETHINGв истории команд.
Берт Ван Врекем



2

Я рекомендую использовать CLI Companion :

CLI Companion - это инструмент для хранения и запуска команд терминала из графического интерфейса. Люди, незнакомые с Терминалом, найдут CLI Companion полезным способом познакомиться с Терминалом и раскрыть его потенциал. Опытные пользователи могут использовать CLI Companion для хранения своего обширного списка команд в списке с возможностью поиска.

введите описание изображения здесь

Вы получаете это, запустив:

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

Если вы не хотите добавлять PPA, попробуйте этот файл для 12.04 (последняя версия 1.1-6, выпущенная 2012-04-14 - проверьте эту страницу на наличие новых версий.) - или удалите PPA после установки с помощью sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


1

Найдите книгу об Ubuntu с хорошим индексом командной строки, обнулите ее и поместите рядом с компьютером. Заставь себя использовать это. Хорошим ресурсом является книга «Команды Ubuntu Linux Toolbox 1000+», которая охватывает все, что вам нужно знать (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

Однако, если вы не запускаете сервер, на рабочем столе Ubuntu почти все доступно с графическим интерфейсом.


0

Я многое узнал об использовании командной строки и о том, как работать с ней, прочитав «Поваренную книгу Bash» от O'Reilly and Associates. Это книга о сценариях Bash, но куски размером с кусочек формата поваренной книги делают ее очень доступной. В качестве дополнительного преимущества, если вы думаете «Ну и дела, я бы хотел сделать X, но я не знаю, как», вы можете использовать оглавление, чтобы найти X (и Y и Z в этом отношении) и получить хорошее представление о том, как это сделать (и достойное объяснение того, как это работает с указателями на другие рецепты и ресурсы, которые могут еще больше расширить ваше понимание).


0

Я читал Официальную Книгу Серверов Ubuntu, (2-е издание), чтобы изучить системное администрирование, и я не только стал более опытным в использовании командной строки, но и начал изучать внутреннюю работу самой ОС.

Использование Ubuntu Server Edition помогает мне легче освоить командную строку, потому что у меня нет графического интерфейса для отката.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.