Первая команда для этого поста — touch. Надеюсь, вас не слишком смущает название команды (но да, это действительно странное имя). touch означает создать файл.

touch new_file.txt

Выполнение этой команды создаст новый файл с именем new_file.txt в рабочем каталоге, в котором вы находитесь. Помните, всякий раз, когда вы вводите команду в интерфейсе командной строки (CLI), вы вводите ее из определенного рабочего каталог. (Если вы не помните, вы можете запустить pwd, чтобы распечатать рабочий каталог, в котором вы находитесь.)

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

mkdir — создать новый каталог

mkdir new_directory

mkdir означает создать каталог и эквивалентен touch для создания нового каталога.

После того, как каталог создан, вы можете cd войти в него и создать новые дочерние файлы или даже больше подкаталогов.

cd new_directory

Букварь о «флагах» и человеке

Допустим, у вас есть каталог с именем «directory_withtouchfiles» с 3 файлами в нем, и вы хотите удалить каталог вместе со всеми его файлами и подкаталогами. Как вы могли бы сделать это с помощью команды rm?

Если вы думали сделать это:

rm directory_with_3_files

Вы бы сделали самое логичное предположение, но rm так не работает.

# running this
rm directory_with_3_files

# outputs this error message
rm: directory_with_3_files: is a directory

Не волнуйтесь, я совершил ту же ошибку, когда впервые научился использовать CLI. Это просто очень специфическая причуда, которую, я полагаю, сделает большинство новичков.

Так как же удалить весь каталог вместе с его содержимым?

rm -r directory_with_3_files

# trying to cd into the folder
cd directory_with_3_files

# outputs
cd: no such file or directory: directory_with_3_files

Разница здесь во флаге -r. Он говорит команде rm работать «рекурсивно» (думаю, именно это означает «r») и удалять все внутри.

Чтобы быстро убедиться, что каталог действительно был удален, можно попробовать cd в него. Терминал должен пожаловаться, что каталог не существует!

Каждая команда может иметь несколько флагов. Чтобы узнать все параметры команды, которые переключаются передачей флагов, вы всегда можете запустить man <command>, например man rm.

man означает руководство, и у каждой встроенной команды есть удобное руководство в режиме ожидания, которое поможет вам, когда вам понадобятся подробности.

Чтобы передать несколько флагов, вы можете просто соединить их вместе, например rm -rf unwanted_directory. (Не стесняйтесь использовать man, чтобы узнать, что означает -rf!)

Хорошо, это все, что вам нужно знать о флагах! Теперь давайте вернемся к нашим регулярным программам…

cp — скопировать файл или каталог

# make a copy of original_file.txt in current directory and call it copied_file.txt
cp original_file.txt copied_file.txt

# pass in the -r flag to copy a directory
cp -r original_directory copied_directory

cp означает копия. По умолчанию команда cp работает с файлами. Вы можете использовать его в каталогах, передав флаг -r, о котором вы только что узнали!

mv — переместить файл или каталог

Хорошо, давайте выучим последнюю команду в этом посте: mv.

# move a file one directory up
mv file.txt ../file.txt

# move a directory one directory up
mv folder_name ../folder_name

# rename a file
mv new_file.txt renamed_file.txt
mv folder_name renamed_folder_name

Подведение итогов

Итак, если вы читали часть 1 и этот пост и сами пробовали некоторые команды в Терминале, теперь вы знаете эти команды:

  • пароль. Распечатать рабочий каталог
  • л. Список содержимого рабочего каталога
  • кд. Изменить каталог
  • гм. Удалить (навсегда) файл или каталог
  • коснитесь. Создать новый файл
  • мкдир. Создать новый каталог
  • цена. Скопировать файл или каталог
  • мв. Переместить файл или каталог
  • мужчина. Показать руководство для любой встроенной команды

Что дальше?

Я надеюсь, что этот пост и часть 1 помогли вам ознакомиться с некоторыми основными понятиями и командами, которые помогут вам начать работу с командной строкой! Если есть что-то, что, по вашему мнению, я упустил или о чем вы хотели бы узнать, оставьте комментарий, и я рефакторинг внесу их, когда смогу.

В любом случае, вы заметили странные символы ../ в этом посте? Я хотел оставить эти два поста в командной строке исключительно о командах, поэтому я не упомянул эти символы. Но тем не менее они важны для работы с командной строкой.

Для этого следите за предстоящим сообщением о paths. Чтобы получить представление о том, для чего еще программисты используют командную строку, ознакомьтесь с некоторыми из моих, других постов. До тех пор, есть день без ошибок!

Программирование небольшого размера — это сегмент, в котором я обсуждаю программирование по одной небольшой теме за раз на простом английском языке. Моя цель — поделиться советами, уроками и идеями, полученными в результате моей работы инженером-программистом, и тем самым сделать программирование доступным и увлекательным для всех, кто интересуется программированием. Присоединяйтесь к списку рассылки, чтобы получать последние сообщения в свой почтовый ящик, чтобы вы могли читать на ходу.

Первоначально опубликовано на сайте Nick Ang.