Первая команда для этого поста — touch
. Надеюсь, вас не слишком смущает название команды (но да, это действительно странное имя). touch
означает создать файл.
touch new_file.txt
Выполнение этой команды создаст новый файл с именем new_file.txt в рабочем каталоге, в котором вы находитесь. Помните, всякий раз, когда вы вводите команду в интерфейсе командной строки (CLI), вы вводите ее из определенного рабочего каталог. (Если вы не помните, вы можете запустить pwd
, чтобы распечатать рабочий каталог, в котором вы находитесь.)
Обратите внимание, что по умолчанию этот новый файл всегда будет пустым.
mkdir — создать новый каталог
mkdir new_directory
mkdir
означает создать каталог и эквивалентен touch
для создания нового каталога.
После того, как каталог создан, вы можете cd
войти в него и создать новые дочерние файлы или даже больше подкаталогов.
cd new_directory
Букварь о «флагах» и человеке
Допустим, у вас есть каталог с именем «directory_withtouch
files» с 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.