[Linux для начинающих] Основные консольные команды
Здравствуйте. Попытаюсь в простой и доступной форме описать основные консольные команды, которые позволят новичку себя чувствовать в консоли уверенно.
Права пользователя
Первое, на что следует обратить внимание в консоли, это права текущего пользователя, под которым вы работаете.
user@kubuntu:~$
root@kubuntu:~#
Символы после тильды (~) $ и # явно указывают на ваши права. Соответственно $ - обычный пользователь, а # - root пользователь или иначе администратор.
Получение справочной информации
Практически у любой программы, команды и некоторых файлов существуют справочные страницы, дающие подробное описание по использованию. Прочитать их можно с помощью программы man. Что бы отобразить man-страницу необходимо набрать:
$ man имя_страницы
Все man-страницы разделены на категории:
- Основные команды;
- Системные вызовы;
- Библиотечные вызовы;
- Специальные файлы и драйверы;
- Форматы файлов и соглашения;
- Игры;
- Прочие страницы;
- Команды системного администрирования;
Зачастую существуют несколько man-страниц с одинаковыми именами, но в разных категориях. Поэтому что бы просмотреть man-страницу, необходимо указать категорию и имя man-страницы:
$ man 5 passwd
Эта команда отобразит man-страницу по файлу /etc/passwd вместо утилиты passwd. Если не указывать категорию, то по умолчанию используется первая категория.
Что бы отобразить краткое описание, а не полную man-страницу, можно воспользоваться командой whatis:
$ whatis passwd
Основные команды
Узнать текущую рабочую директорию (print working directory):
user@kubuntu:~$ pwd
/home/user
Просмотр папок и файлов в текущей директории (List file and folders):
user@kubuntu:~$ ls
Downloads Видео Документы Загрузки Изображения Музыка Общедоступные Рабочий стол Шаблоны
У этой команды есть различные опции, позволяющие вам организовать просмотр более удобно или подробно. Параметр -l отобразит детальную информацию, -a покажет все файлы, включая скрытые:
user@kubuntu:~$ ls -al
Справка по команде:
Смена директории (Change directory):
user@kubuntu:~$ pwd
/home/user
user@kubuntu:~$ ls
Downloads Видео Документы Загрузки Изображения Музыка Общедоступные Рабочий стол Шаблоны
user@kubuntu:~$ cd Документы
user@kubuntu:~/Документы$ pwd
/home/mad_max/Документы
Вернуться в родительский каталог можно командой:
user@kubuntu:~/Документы$ cd ..
user@kubuntu:~$
Копирование файлов и директорий (Copy):
user@kubuntu:~$ cp –ir sourcedir targetdir
Параметр -i включает интерактивный режим, то есть будут запросы на подтверждение при перезаписи папок и файлов. Параметр -r включает режим рекурсивного копирования, то есть будут скопированы все вложенные папки и файлы.
Перемещение файлов и директорий (Move):
user@kubuntu:~$ mv –i sourceFile targetFile
Параметр -i включает интерактивный режим, то есть будут запросы на подтверждение при перезаписи папок и файлов.
Удаление файлов и директорий (Remove):
user@kubuntu:~$ rm -i filename
Параметр -i включает интерактивный режим, то есть будут запросы на подтверждение удаления файлов или директорий.
Для удаления директорий необходимо всегда использовать ключь -r:
user@kubuntu:~$ rm -ir dirname
Создание новой директории ( Make directory):
user@kubuntu:~$ mkdir newdir
Удаление директории (Remove directory):
user@kubuntu:~$ remdir dirname
Смена владельца файла или директории (Change owner):
user@kubuntu:~$ chown –R user:user myDir
Параметр -R определяет рекурсивное изменение поддиректорий и файлов в них.
Смена прав доступа к файлу или директории (Change permission):
Существуют три типа прав:
- чтение (read), запись (write), выполнение (execute)
- Права определяются для трёх типов пользователей:
- владелец (user), группа (group), другие (others)
Пример:
user@kubuntu:~$ ls -l
-rwxr-xr-x 1 user user 94 апр 12 2017 cache.ext4
Как видно из записи текстовое представление прав состоит из 10 символов:
- rwx r-x r-x
0123456789
Символы в позиции «0»:
- «-» — обычный файл;
- «d» — папка;
- «l» — ссылка.
Символы в позиции «1-3»:
- rwx — права владельца (u — user).
Символы в позиции «4-6» (g — group):
- r-x — права для группы.
Символы в позиции «7-9» (o — other):
- r-x — права для всех остальных.
Права можно задать тремя различными вариантами:
двоичный |
восьмеричный |
символьный |
Права на файл |
Права на директорию |
---|---|---|---|---|
000 |
0 |
--- |
нет (доступ запрещён) |
нет (доступ запрещён) |
001 |
1 |
--x |
выполнение |
чтение файлов и их свойств |
010 |
2 |
-w- |
запись |
нет |
011 |
3 |
-wx |
запись и выполнение |
всё, кроме чтения списка файлов |
100 |
4 |
r-- |
чтение |
чтение имён файлов |
101 |
5 |
r-x |
чтение и выполнение |
доступ на чтение |
110 |
6 |
rw- |
чтение и запись |
чтение имён файлов |
111 |
7 |
rwx |
все права |
все права |
Таблица 1:
Как видно из таблицы, права легко вычисляются обычным суммированием: требуется выполнение (1) и чтение (4), итоговый результат 1+4=5.
Из первых четырёх пунктов обычно используется только «---», то есть полный запрет доступа к файлу. Для директорий обычно используется «0», «5», «7» - запрет, доступ на чтение, полный доступ.
Примеры:
- 644 — «u» чтение и запись, «g» чтение, «o» чтение;
- 755 — «u» все права, «g» чтение и выполнение, «o» чтение и выполнение.
Задание прав в символьном виде
Использование команды chmod в символьном виде позволяет задавать права более гибко. Для этого применяются следующие обозначения:
- u (user) — владелец файла;
- g (group) — группа владельца;
- o (others) — остальные пользователи;
- a (all) — все пользователи и группы (или ugo).
Примеры:
- chmod -R a+x foldername — выполнение для всех рекурсивно;
- сhmod o+rx filename — чтение и выполнение для остальных пользователей;
- chmod u+rx,g-rx filename — добавить владельцу права на чтение и выполнение, и убрать права у группы.
Поиск файлов
Команда locate осуществляет быстрый поиск файлов с помощью собственной базы данных, в которой содержится информация о файлах и их путях в системе:
user@kubuntu:~$ locate file
Команда locate зависит от базы данных, которая может быть обновлена командой updatedb.
Архивирование (tar) и сжатие файлов (gzip, bzip2)
Наиболее часто с коммандой tar применяются следующие параметры:
- -c - создать новый архив;
- -z — сжатие архива с помощью gzip (gzip — утилита сжатия и декомпрессии файлов, при сжатии добавляется суффикс .gz);
- -j — сжатие архива с помощью bzip2 ( bzip2 — утилита сжатия и декомпрессии файлов, при сжатии добавляется суффикс .bz2);
- -v — подробный режим, то есть вывод информации о проводимых действиях на экран;
- -f — запись выходных данных в файл, а не вывод на экран;
- -x — распаковка архива.
Примеры:
user@kubuntu:~$ tar -czvf myfiles.tar.gz myfiles
user@kubuntu:~$ tar -xzvf myfiles.tar.gz
Вывод содержимого файла на экран (cat - concatenate)
user@kubuntu:~$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
…
Отображение содержимого файла с возможностью прокрутки
Для прокрутки используются клавиши PgUp, PgDn, Home, End.
user@kubuntu:~$ less file
Поиск заданной строки в файлах (grep)
Наиболее часто с коммандой grep применяются следующие параметры:
- -R — рекурсивный поиск в поддиректориях;
- -i — игнорирование регистра символов при сравнениях;
- -l — отображение имён файлов, содержащих искомые строки.
Пример:
user@kubuntu:~$ grep -Ril programm /home
/home/user/.bashrc
Смена пароля пользователя
Во время ввода пароля он не отображается.
user@kubuntu:~$ passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Оценка занимаемого места файлом или каталогом (disk usage)
Наиболее часто с коммандой du применяются следующие параметры:
- -h — вывести информацию в человекочитаемом виде;
- -s — вывести суммарную информацию о занимаемом месте;
Пример:
user@kubuntu:~$ du -sh /home
37G /home
Перезагрузка системы
Команда reboot немедленно перезагрузит систему.
user@kubuntu:~$ reboot
Выключение системы (shutdown)
Эта команда позволяет завершить работу системы, указать время завершения работы, перезагрузить систему.
Наиболее часто с коммандой shutdown применяются следующие параметры:
- -H, --halt — отключить питание, не завершая процессы и не перемонтируя файловые системы. (не безопасно, лучше не использовать);
- -P, --poweroff — нормальное выключение;
- -r, --reboot — перезагрузка;
- -c — отменить ранее запланированное отключение.
Надеюсь эти команды вам помогут быстрее освоиться в командной строке.