Основные команды Bash (Linux Debian — Ubuntu)

Такая маленькая шпаргалочка по самым частоиспользуемым командам командной строки Bash 🙂

1. Команды, предназначенные для работы с файлами и директориями.

ls /path/ — вывести содержимое директории /path/. Например, ls /home/username/ выведет все файлы и директории, содержащиеся в папке /home/username/ . Просто ls выведет содержимое текущей директории. Так же очень часто используется ls -lh  — с такими параметрами эта команда выведет содержимое и укажет его размер в «человеческом виде» — human-readable, кроме размера так же будет указаны права доступа на файл, время его редактирования и пр.

cp /path1/file1 /path2/file2 — скопировать файл file1 из директории /path1/ в директорию /path2/ и назвать его там file2. Если не указывать file2, то он будет назван так же, если не указывать path2, то он скопируется в текущую директорию. Так же замечу, что очень использовать эту команду в виде cp /home/username/file{1,2} — она подействует точно так же, как «cp /home/username/file1 /home/username/file2». 

mv /path1/file1 /path2/file2 — переместить file1 из директории /path1/ в директорию /path2/ и назвать его там file2. При использовании аналогично команде cp.

du /path/- подсчитывает место в байтах, занятое директорией, действует рекурсивно, то есть выводит место, занятое каждой  из поддиректорий, их поддиректорий и т.д. Очень удобно использовать эту команду в виде du -sh /path/ — будет выведено только место в человеческом формате, занятое директорией /path/, без вывода поддиректорий. 

df  — выводит свободное место на всех дисках, с указанием, куда смонтированы диски. Используется чаще всего в виде df -h, тогда место выводится в человеческом виде.

2. Команды, предназначенные для чтения и редактирования текстовых файлов

cat /path/file- выводит содержимое файла /path/file на экран, после чего завершает свою работу, снова становится  доступен ввод команд.

less /path/file — просмотровщик файлов. Он запускается, отображает файл. Можно перемещаться по файлу вверх/вниз, осуществлять по нему поиск и многое, многое другое.

vim /path/file  — очень мощный, гибкий, многооконный редактор файлов. Сначала он отпугивает своей непривычностью, по сравнению, например, с блокнотом, но потом уже невозможно представить своей работы без него.

3. Прочее

ps — выводит информацию об процессах, запущенных из-под пользователя, активных на данный момент. Используется в виде ps -aux, тогда она выводит все процессы.

kill uid — послать процессу сигнал. При использовании без всяких опций посылает процессу с uid сигнал TERM. Так же часто используется kill -9 uid, тогда процессу посылается сигнал KILL, который никак не может быть заблокирован, и гарантированно процесс выключается.

echo «AAA» — выведет строку AAA на стандартный поток вывода (standart output).

grep «string» /path/file — поиск по файлам и не только. Ищет «string» в файле /path/file и выводит строку с ней на экран. В нем есть очень важные опции -i -o -с : -i — ищет строку без учета регистра, -o — выводит только «string», -с — выводит количество строк, содержащих «string». Кроме того, очень удобно использовать grep в комбинации с другими командами, например, ps aux | grep «process_name» покажет, запущен ли на данный момент процесс с именем process_name. Необходимо заметить, что в «string» могут быть регекспы.

sudo  command — запустить комманду command с правами супер-пользователя или другого пользователя. Чаще всего используется без всяких параметров, тогда осуществляется запуск с правами супер-пользователя, например, sudo less /home/another_user/secret_document.txt. Настройки, кто эту команду может использовать и как, лежат в файле /etc/sudoers

>>,> — эти команды перенаправляют поток вывода. Например, при команде echo «AAA» >> /home/username/bbb.txt в файл bbb.txt добавится строка AAA. Если же было бы >, а не >>, то тогда весь этот файл был бы заменен этой строкой. Еще пример — grep «aaa» /home/username/file1 >> /home/username/file2 — все строчки из file1, содержащие «aaa», будут добавлены в file2.

Автор: AlexWinner