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-ый год

uname

hostname

which

env

tar

gzip

gunzip