42 команды Linux: обязательный минимум
Содержание
Файлы и каталоги, пользователи и группы, права доступа
pwd
Команда pwd (print working directory) выводит полный путь к текущему каталогу.
$pwd /home/adam $
cd
С помощью команды cd (change directory) можно перемещаться по дереву каталогов. Для этой команды необходим один параметр — целевой каталог. Можно использовать относительный путь (относительно текущего каталога) и абсолютный (относительно корня). Абсолютный всегда начинается с корня и дальше по иерархии каталогов (/home/adam), а относительный — с одного из подкаталогов текущего каталога либо строки «..», которая обозначает переход в родительский каталог (как обычно, через «/» можно повторять эту комбинацию, перемещаясь всё выше по дереву каталогов).
$cd /usr/bin $pwd /usr/bin
С помощью тильды (~) можно ссылаться на домашнюю папку текущего пользователя.
$cd ~/video $pwd /home/adam/video
Чтобы перейти домашний каталог можно также (помимо ~) использовать cd без параметров.
$cd $pwd /home
ls
ls | отобразить содержимое текущей директории в алфавитном порядке |
ls -F | отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип |
ls -l | показать детализированное представление файлов и директорий в текущей директории |
ls -a | показать скрытые файлы и директории в текущей директории |
mkdir
mkdir (make) создает каталог. Ей передается один параметр — путь к каталогу:
mkdir directory
cp, mv, rm
cp - копировать (copy), требует два параметра — имена файлов: «что» копировать и «куда».
mv - перемещение (move) или переименование (переименование — это тоже перемещение, только в тоже место), параметры как и у команды cp.
rm - удаление (remove) файлов и каталогов.
С этими командами могут использоваться следующие ключи:
- -f — форсирует (force) задавание лишних вопросов, например если файл только для чтения, система потребует подтверждение на удаление;
- -i — работа в интерактивном режиме, система будет спрашивать разрешение на каждое действие;
- -b — создает резервную копию файла (для команд cp и mv);
- -r — рекурсивный режим (для команд cp и rm).
$ ls directory1 directory2 directory3 example.txt all_about_console.txt $ cp -R directory2/ directory3/ $ ls directory3/ directory2 $ rm -r directory3/ $ ls directory1 directory2 example.txt all_about_console.txt
Замечание. rm -r удалит все, даже не пустые каталоги.
rmdir
rmdir (remove удаляет каталог. Ей передается один параметр — путь к каталогу. rmdir можно применять только к пустым каталогам.
$ rmdir directory/ $ ls example.txt all_about_console.txt
ln
ln -s fileName lnk | создать символическую ссылку lnk на файл fileName или директорию |
ln file1 lnk1 | создать "жёсткую" (физическую) ссылку на файл fileName или директорию |
id
id выводит информацию об указанном пользователе USERNAME или текущем пользователе, который запустил данную команду и не указал явно имя пользователя. По умолчанию выводятся подлинные числовые идентификаторы пользователя (UID) и группы (GID), действующие (именные) идентификаторы пользователей и групп, а также идентификаторы других групп, в которых состоит пользователь.
id [OPTION]... [USERNAME]
$ id uid=500(aleksander) gid=500(aleksander) группы=500(aleksander),19(proc),22(cdrom),71(floppy), 80(cdwriter),81(audio),83(radio) $
-g, --group | выводит только подлинный числовой идентификатор группы |
-G, --groups | выводит все подлинные числовые идентификаторы групп, в которых состоит пользователь |
-n, --name | выводит действующие имена пользователей или групп. Используется совместно с опциями -ugG |
-r, --real | выводит подлинные числовые идентификаторы пользователей или групп. Используется совместно с опциями -ugG |
-u, --user | выводит только подлинный числовой идентификатор пользователя |
chmod
chmod изменяет режим доступа к файлу.
chmod <права доступа> <имя_файла> — изменить права доступа к файлу <имя_файла>.
Примеры
chmod a+r fileName | установить права доступа на чтение для файла fileName для всех (all=user+group+others) |
chmod o-x fileName | отобрать право доступа на исполнение файла fileName у всех кроме пользователя и группы |
chmod ugo+rwx fileName | дать всем пользователям полномочия полные права на файл fileName |
chmod a+rwx fileName | добавить всем пользователям полномочия полные права на файл fileName |
chmod go-rwx fileName | отобрать у всех, кроме владельца все полномочия на файл fileName |
chmod g=r fileName | разрешить группе только читать файл |
chown
chown — смена владельца указанного файла. Требуется доступ root.
chown user fileName | назначить владельцем файла fileName пользователя user |
chown -R user directory | назначить рекурсивно владельцем директории directory пользователя user |
chown user:group fileName | сменить владельца и группу-владельца файла fileName |
locate
locate "*.ps" — найти все файлы, содержащие в имени '.ps'.
find
find поиск файлов в текущем каталоге. Если указать путь, можно искать везде.
find <каталог> -name <имя_файла> — найти файл с именем <имя_файла> и отобразить результат поиска на экране. Поиск начинается с каталога <каталог>; <имя_файла> может содержать маску для поиска.
Примеры
find / -name file1 | найти файлы и директории с именем file1. Поиск начать с корня (/) |
find / -user user1 | найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/) |
find /home/user1 -name "*.bin" | Найти все файлы и директории, имена которых оканчиваются на '. bin'. Поиск начать с '/ home/user1' |
find /usr/bin -type f -atime +100 | найти все файлы в '/usr/bin', время последнего обращения к которым более 100 дней |
find /usr/bin -type f -mtime -10 | найти все файлы в '/usr/bin', созданные или изменённые в течении последних 10 дней |
xargs cp -av --target-directory=/home/backup/ --parents | поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию |
tar cv --files-from=- | bzip2 > log.tar.bz2 | поиск в /var/log всех файлов, имена которых оканчиваются на '.log', и создание bzip-архива из них |
Текстовые файлы
cat, cat > ..., cat >> ...
Команда cat может использоваться для создания или просмотра содержимого файлов.
cat <имя_файла> — вывод содержимого файла на стандартный вывод (по умолчанию — на экран).
Если использовать ключ -n, строки будут пронумерованы:
$cat -n file.txt 1 Very interesting text.
cat > перенаправляет поток ввода в файл и отображает поток ввода на стандартном потоке вывода. При этом, если файл не существовал, он создается, а если существовал, то перезаписывается. После окончания ввода следует нажать CTRL+<D>:
cat > <имя_файла> . . . CTRL+<D>
Так же эту команду можно использовать для объединения файлов, например:
cat file1 file2 file3 file4 file5 > file.iso
Чтобы записать вводимый текст в конец существующего файла следует использовать cat >>:
cat >> <имя_файла> . . . CTRL+<D>
Примеры
cat /proc/cpuinfo | отобразить информацию о процессоре |
cat /proc/interrupts | показать прерывания |
cat /proc/meminfo | проверить использование памяти |
cat /proc/swaps | показать файл(ы) подкачки |
cat /proc/version | вывести версию ядра |
cat /proc/net/dev | показать сетевые интерфейсы и статистику по ним |
cat /proc/mounts | отобразить смонтированные файловые системы |
cat file1 | вывести содержимое файла file1 на стандартное устройсво вывода |
[operation: sed, grep, awk, grep и т.п.] > result.txt | общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый |
[operazione: sed, grep, awk, grepи т.п.] >> result.txt | общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан |
cat -n file1 | пронумеровать строки при выводе содержимого файла |
awk 'NR%2==1' | при выводе содержимого файла, не выводить чётные строки файла |
less, ...|less
grep, ...|grep
head
tail
look
cut
sort
uniq
join
wc
wc — печатает число строк, слов и байт в файлах.
wc [ОПЦИЯ]... [ФАЙЛ]...
Печатает число переводов строк, слов и байт для каждого ФАЙЛА и их итоговое количество, если было задано несколько ФАЙЛОВ. Если ФАЙЛ не задан или задан как -, читает стандартный ввод.
Опции
-c, --bytes
- печать числа байтов
-m, --chars
- печать числа символов
-l, --lines
- печать числа строк
-L, --max-line-length
- печать количества символов в самой длинной строке
-w, --words
- печать количества слов
--help
- вывести справку и закончить работу
--version
- вывести информацию о версии и закончить работу
Процессы
ps
top
kill
Сеть
ping
traceroute
nslookup
ssh
Разное
man
date
cal
cal | вывести форматированный календарь на текущий месяц |
cal 2010 | вывести таблицу-календарь на 2010-ый год |