Учебник bitesize Unix (с пиксельной графикой)

Хотя это, возможно, не для всех, но командная строка Unix невероятно полезна для изучения. Операционные системы на основе Unix находятся под капотом всего, от телефонов Android до Chromebook, Macbook и даже игровых приставок, поэтому очень высока вероятность, что вы когда-то использовали устройство на базе * nix.

Изучение командной строки Unix предлагает вам быстрый и эффективный способ выполнения таких задач, как управление файлами, устранение неполадок и настройка. Кроме того, в следующий раз, когда вы будете смотреть «Мистер Робот», вы действительно сможете понять кое-что из того, что печатает Эллиот!

Вдохновленный обложками журналов по программированию Джулии Эванс, я создал учебное пособие, объясняющее большинство часто используемых команд Unix, а также сопровождающее их пиксельное искусство, специально разработанное для людей, которые не Я не хочу скучать на изучении Unix 😉.

Entrée - Список файлов и каталогов.

Чтобы начать использовать Unix, важно знать, как ориентироваться в файловой системе и ее различных каталогах:

ls (сегменты списка - как лимон!) - перечисляет файлы и каталоги в вашем текущем рабочем каталоге. Вы можете использовать различные параметры с ls для сортировки или отображения дополнительной информации:

  • ls -l: отображает файлы + разрешения, владельца, группу, размер, время и имя.
  • ls -t: сортирует файлы по времени.
  • ls -r: файлы сортируются в обратном порядке.

cd (сменить каталог) - сменить текущий рабочий каталог на другую папку. Вы можете указать путь к файлу, к которому хотите перейти, следующим образом:

cd /usr/folder/subfolder

Вы можете вернуться в предыдущий каталог с помощью cd - или переместиться на одну папку вверх с помощью: cd .. или переместиться на три папки вверх с помощью cd ../../..

pwd (печать рабочего каталога) - отображает путь к текущему рабочему каталогу, в котором вы находитесь. На самом деле не используется ни для чего другого, просто хороший способ узнать, где вы находитесь, если заблудитесь!

mkdir (создать каталог) - создает каталог, если он еще не существует. Например, чтобы создать каталог под названием «вещи»:

mkdir stuff

Вы также можете создавать подкаталоги, используя параметр -p:

mkdir -p /home/stuff/morestuff

Вы также можете использовать rmdir для удаления каталога.

Стартер - Файловые операции

Следующие вещи, с которыми нужно ознакомиться, - это копирование, перемещение, создание и удаление вещей:

cp (копия) - создает копию файла или каталога. Чтобы использовать его, введите cp, затем исходный файл и новое имя файла:

cp myfile1.txt myfile2.txt

Или введите имя исходного файла и местоположение, в котором вы хотите создать копию. Например:

cp myfile.txt /Users/your.name/Documents

mv (переместить) - переместить один или несколько файлов или каталогов из одного места в другое. Как и cp, он соответствует формату mv sourcefile destination. Например:

mv ~/Desktop/myfile.text ~/MyFolder

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

touch filename.text

Если файл с таким именем уже существует, touch обновляет время доступа к файлу (последний раз, когда он был прочитан), время модификации (последний раз, когда было изменено содержимое) и время изменения (последний раз, когда были изменены метаданные файла).

rm (удалить) - удалить файлы. Введите команду и расположение файла:

rm /home/Desktop/-file.txt

Имейте в виду, что rm может быть довольно опасной командой для использования, если вы не знаете, что делаете. Единственное, чего действительно следует избегать, - это ужасный rm -rf /, который по существу удаляет все файлы в вашей системе Unix. Блогер по Linux Уэйн Ричардсон опубликовал видео о том, что происходит, если запустить его, если вам интересно:

Главное - поиск файлов, разрешения и владение.

Вы можете искать файлы и каталоги, а также изменять права и права собственности для разных файлов и каталогов:

find - находить файлы и каталоги в вашей системе. Например:

find ./directoryname -name file.txt

Вы также можете найти все файлы с определенным шаблоном. Например, все файлы с расширением .txt:

find ./directoryname -name *.txt

grep (печать глобального регулярного выражения) - поиск текста или поиск в указанном файле текста, соответствующего заданной строке. Вы можете связать его с -i, чтобы выполнять поиск без учета регистра:

$grep -i "grape" wine.txt

Это вернет:

Grape varieties includes cultivated grape, whether used for wine, or eating as a table grape, fresh or dried (raisin, currant, sultana). The term grape probably comes from graper from a Frankish or other Germanic word for "hook".

Вы также можете использовать grep, чтобы подсчитать, сколько раз слово появляется в файле:

$grep -c "grape" wine.txt

Для этого файла вывод будет 4.

chmod (режим изменения) - изменяет права доступа к файлам и каталогам. Вы определяете разрешения для трех классов: Владелец (владелец файла), Группа (пользователи одной группы) и Другие (все остальные). Вы вводите одно из следующих чисел для каждого класса при запуске chmod:

0 - Нет разрешения.
1 - Выполнить.
2 - Запись.
3 - Запись и выполнение.
4 - Чтение.
5 - Чтение и выполнение. < br /> 6 - чтение и запись.
7 - чтение, запись и выполнение.

Например, chmod 777 предоставляет разрешения на чтение, запись и выполнение всем классам, а chmod 755 предоставляет все разрешения владельцу файла, но только разрешения на чтение и выполнение для других пользователей.

chown (изменить владельца) - меняет владельца файлов и каталогов в вашей файловой системе. Чтобы изменить владельца текстового файла:

sudo chown myuser myfile.txt

Дополнительно - Сравнение, связывание, отслеживание и убийство.

Вы можете сравнивать файлы, связывать файлы, выводить хвост файлов и уничтожать процессы:

cmp - сравнивайте байты в разных файлах. Если между двумя файлами нет различий, выходные данные не возвращаются. Формат использования cmp:

cmp -b textfile1.txt textfile2.txt

Вывод для файлов с несколькими отличиями:

textfile1.txt textfile2.txt differ: byte 20, line 1 is  56 . 162 r

cat (объединение) - используйте его для создания файла, связывания нескольких файлов вместе или отображения содержимого файла. Например, чтобы связать или «объединить» два текстовых файла (file1.txt и file2.txt) для создания нового текстового файла:

cat file1.txt file2.txt > file3.txt

tail - вывод «хвоста», последней части файла. По умолчанию tail выводит последние 10 строк файла. Вы можете использовать tail следующим образом:

tail textfile.txt

Чтобы вывести большее количество строк, вы можете использовать опцию -n:

tail -n 50 textfile.txt

kill - завершает процесс. Чтобы увидеть сигналы, которые вы можете убить, выполните: kill -l. Вы можете завершить определенный процесс следующим образом:

kill -s signalName PID

Десерты - More, Curl, SSH и Sudo.

Некоторые дополнительные команды, которые вы можете использовать в Unix, включают more, cURL, SSH и Sudo:

more - отображать больше текста на экране. Чтобы использоватьmore для отображения содержимого файла, начиная со строки 10:

more +10 myfile.txt

curl (Client URL) - инструмент командной строки для передачи данных по различным протоколам (HTTP, SMTP, LDAP, SCP и т. Д.). Он встроен в MacOS и большинство операционных систем на базе Linux.

Вы можете использовать cURL для отправки данных или получения данных через HTTP с помощью запроса API. Например, если вы настроили веб-перехватчик в Slack, вы можете использовать cURL для отправки сообщения на канал Slack:

curl -X POST -H 'Content-type: application/json' --data '{"text":"Good morning everyone!"}' your_webhook_url

ssh (Secure Shell) - используйте его для безопасной работы в незащищенной сети. Синтаксис использования ssh для входа на удаленный хост следующий:

ssh remote_host

В качестве альтернативы ssh на удаленный хост в качестве пользователя root. Например, это может быть полезно, если вы хотите отредактировать файлы конфигурации в системе на виртуальной машине:

ssh root@remote_host

sudo (суперпользователь do) - позволяет выполнять команды от имени суперпользователя. Вы можете использовать sudo, если знаете пароль root для вашей системы Unix. Например, чтобы выключить компьютер с помощью sudo:

sudo shutdown -r now

Напитки - Текстовые редакторы.

Существует ряд основных текстовых редакторов, которые вы можете использовать в операционных системах на базе Unix:

vi - оригинальный текстовый редактор, созданный для Unix разработчиком Bill Joy. Несмотря на то, что он был выпущен еще в 1976 году, он до сих пор остается одним из самых популярных текстовых редакторов для систем на базе Linux.

vim (сокращение от Vi Improved) - это клон оригинального редактора Vi. Улучшения в Vim - это включение плагинов, сравнение и объединение файлов, а также возможность редактировать сжатые файлы в таких форматах, как gzip, zip и tar.

emacs (Editor MACroS) - еще один старожил текстового редактора. Как и Vi, он также был выпущен в 1976 году и является одним из старейших проектов с открытым исходным кодом, все еще находящихся в разработке.

Один полезный совет при запуске Emacs: если вы нажмете Esc, наберете x и наберете pong, запустится игра в понг:

Это также работает с тетрисом, змейкой и пасьянсом (игра в мрамор, а не карточная игра!).

nano - еще один редактор для Unix-подобных операционных систем. GNU nano, впервые выпущенный в июне 2000 года, представляет собой простой текстовый редактор, очень удобный для новичков.

Вы также можете использовать текстовые редакторы с открытым исходным кодом, такие как Atom или Sublime, если хотите. В них гораздо больше наворотов (например, линтеры для проверки отсутствия синтаксических или стилистических ошибок в вашем коде). Надеюсь, часть этого урока была полезной. Удачи вам в приключениях * nix и не забудьте быть осторожным с rm!

Примечание. Вот полное меню пиксельной графики, если вы хотите его скачать.