среда, 4 ноября 2009 г.

Основные команды 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.



Комментариев нет: