Основные команды Unix
Давайте изучим основные команды Unix. [] Выполните все следующие команды от имени непривелегированного пользователя penguin:
pwd
Отобразить имя текущего/рабочего каталога.
whoami
Отобразить имя текущего пользователя.
file foo
Отобразить тип файла foo.
type -p имя_команды
Отобразить месторасположение файла команды имя_команды.
Это же делает команда which имя_команды.
type имя_команды
Отобразить информацию по команде имя_команды.
apropos ключевое_слово
Найти команды, связанные с ключевым_словом.
Это же делает команда man -k ключевое_слово.
whatis имя_команды
Отобразить однострочное пояснение по команде имя_команды.
man -a имя_команды
Отобразить краткое пояснение по команде имя_команды. (Unix-стиль)
info имя_команды
Отобразить более полное объяснение по команде имя_команды. (стиль GNU)
ls
Вывести содержимое каталога. (нескрытые файлы и каталоги) [20]
ls -a
Вывести содержимое каталога. (все файлы и каталоги)
ls -A
Вывести содержимое каталога. (почти все файлы и каталоги, т.е. пропускаются файлы ".." и ".")
ls -la
Вывести все содержимое каталога с подробной информацией. Смотрите Концепция файловой системы в Debian, раздел 4.5.2.
ls -d
Выводит все подкаталоги каталоги в текущем каталоге.
lsof foo
Вывести состояние файла foo с точки зрения - открыт он или нет.
mkdir foo
Создать новый каталог foo в текущем каталоге.
rmdir foo
Удалить каталог foo в текущем каталоге.
cd foo
Перейти в каталог foo, находящийся в текущем каталоге или описанный в переменной CDPATH. Смотрите описание команды cd в builtins(7).
cd /
Перейти в корневой каталог.
cd
Перейти в домашний каталог текущего пользователя.
cd /foo
Перейти в каталог по полному пути /foo.
cd ..
Перейти в родительский каталог.
cd ~foo
Перейти в домашний каталог пользователя foo.
cd -
Перейти в предыдущий каталог.
</etc/motd pager
Отобразить содержимое файла /etc/motd, используя программу постраничного вывода по умолчанию. Смотрите команда < foo, раздел 4.3.10.9. []
touch junkfile
Создать пустой файл junkfile.
cp foo bar
Копировать существующий файл foo в новый файл bar.
rm junkfile
Удалить файл junkfile.
mv foo bar
Переименовать существующий файл foo в новый файл bar.
mv foo bar/baz
Переместить существующий файл foo в новое месторасположение под новым именем bar/baz. Каталог bar/ должен существовать.
chmod 600 foo
Сделать существующий файл foo недоступным для чтения и записи для всех пользователей, кроме владельца, и запретить выполнение для всех пользователей.
chmod 644 foo
Разрешить чтение и запретить запись в существующий файл foo всем пользователям, кроме владельца, выполнение запрещено всем.
chmod 755 foo
Разрешить чтение и запретить запись в существующий файл foo всем пользователям, кроме владельца, выполнение файла разрешено всем пользователям.
top
Показать информацию о процессах на весь экран. Используйте "q" для выхода.
ps aux | pager
Показать информацию о всех выполняющихся процессах в стиле вывода системы BSD. Смотрите .
ps -ef | pager
Показать информацию о всех выполняющихся процессах в стиле вывода системы Unix System-V.
ps aux | grep -e "[e]xim"
Показать все выполняющиеся процессы exim. Регулярные выражения для поиска можно изучить на man-странице grep(1), получить которую можно, набрав man grep.
ps axf | pager
Показать информацию о всех выполняющихся процессах, используя вывод в стиле "ASCII art".
kill 1234
Убить процесс по его идентификатору процесса: 1234. Смотрите Kill a process, раздел 8.5.1.
grep -e "образец" *.html
Найти "образец" во всех файлах, заканчивающихся на .html в текущем каталоге и показать их всех.
gzip foo
Сжать файл foo и создать файл foo.gz, используя кодирование Lempel-Ziv (LZ77).
gunzip foo.gz
Разжать файл foo.gz для создания файла foo.
bzip2 foo
Сжать файл foo и создать файл foo.bz2, используя алгоритм "Burrows-Wheeler block sorting text compression algorithm" и Huffman-кодирование. (Обеспечивает лучшее сжатие, чем gzip)
bunzip2 foo.bz2
Разжать файл foo. bz2 для создания файла foo.
tar -xvvf foo.tar
Извлечь файлы из архива foo.tar.
tar -xvvzf foo.tar.gz
Извлечь файлы из архива foo.tar.gz, сжатого gzip.
tar -xvvf --bzip2 foo.tar.bz2
Извлечь файлы из архива foo.tar.bz2. [22]
tar -cvvf foo.tar bar/
Архивировать содержимое каталога bar/ в архивный файл foo.tar.
tar -cvvzf foo.tar.gz bar/
Архивировать содержимое каталога bar/ в сжатый архивный файл foo.tar.gz.
tar -cvvf --bzip2 foo.tar.bz2 bar/
Архивировать содержимое каталога bar/ в сжатый архивный файл foo.tar.bz2. []
zcat README.gz | pager
Отобразить содержимое сжатого файла README.gz, используя программу постраничного вывода по умолчанию.
zcat README.gz > foo
Создать файл foo с разжатым содержимым файла README.gz.
zcat README.gz >> foo
Добавить разжатое содержимое файла README.gz в конец файла foo. (Если файл не существует, то сначало создать его.)
find . -name шаблон
Искать имена файлов, соответствующие шаблону шаблон. (медленно)
locate -d . шаблон
Искать имена файлов, соответствующие шаблону шаблон. (Работает быстрее благодаря использованию регулярно генерируемой базы данных)
Пожалуйста, походите по каталогам и изучите систему, используя ранее описанные команды, для тренировки. Если у Вас есть вопросы по любой из консольных команд, будьте добры прочесть соответствующую man-страницу. Например, данные команды хороши для старта:
$ man man $ man bash $ man ls
Также неплохо запустить vim и нажать клавишу F1. Вам нужно прочесть не менее 35 строк. Затем пройдите онлайновый курс обучения, передвинув курсор к |tutor| и нажав Ctrl-]. Смотрите Editors, Глава 11 для дополнительного изучения редакторов.
Пожалуйста заметьте, что многие Unix-команды, включая из GNU и BSD, будут показывать краткую справочную информацию, если Вы вызовете их одним из следующих способов (или, в некоторых случаях, без аргументов вовсе):
$ имя_команды --help $ имя_команды -h
Для самоподготовки также посмотрите примеры из .