42 команды Linux: обязательный минимум — различия между версиями
Avalanche (обсуждение | вклад) |
(→cp, mv, rm) |
||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 3: | Строка 3: | ||
Команда '''pwd''' (print working directory) выводит полный путь к текущему каталогу. | Команда '''pwd''' (print working directory) выводит полный путь к текущему каталогу. | ||
− | <pre> | + | <pre>$pwd |
/home/adam | /home/adam | ||
− | + | $</pre> | |
===cd=== | ===cd=== | ||
− | С помощью команды '''cd''' (change directory) можно перемещаться по дереву каталогов. Для этой команды необходим один параметр — целевой каталог. Можно использовать относительный путь (относительно текущего каталога) и абсолютный (относительно корня). Абсолютный всегда начинается с корня и дальше по иерархии каталогов (/home/adam), а относительный | + | С помощью команды '''cd''' (change directory) можно перемещаться по дереву каталогов. Для этой команды необходим один параметр — целевой каталог. Можно использовать относительный путь (относительно текущего каталога) и абсолютный (относительно корня). Абсолютный всегда начинается с корня и дальше по иерархии каталогов (/home/adam), а относительный — с одного из подкаталогов текущего каталога либо строки «..», которая обозначает переход в родительский каталог (как обычно, через «/» можно повторять эту комбинацию, перемещаясь всё выше по дереву каталогов). |
− | <pre> | + | <pre>$cd /usr/bin |
− | + | $pwd | |
/usr/bin</pre> | /usr/bin</pre> | ||
− | + | С помощью тильды (~) можно ссылаться на домашнюю папку текущего пользователя. | |
− | <pre> | + | <pre>$cd ~/video |
− | + | $pwd | |
− | /home/adam</pre> | + | /home/adam/video</pre> |
− | Чтобы перейти | + | Чтобы перейти домашний каталог можно также (помимо ~) использовать cd без параметров. |
− | <pre> | + | <pre>$cd |
− | + | $pwd | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
/home</pre> | /home</pre> | ||
===ls=== | ===ls=== | ||
+ | {| {{prettytable}} | ||
+ | | ls | ||
+ | | отобразить содержимое текущей директории в алфавитном порядке | ||
+ | |- | ||
+ | | ls -F | ||
+ | | отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип | ||
+ | |- | ||
+ | | ls -l | ||
+ | | показать детализированное представление файлов и директорий в текущей директории | ||
+ | |- | ||
+ | | ls -a | ||
+ | | показать скрытые файлы и директории в текущей директории | ||
+ | |- | ||
+ | | ls *[0-9]* | ||
+ | | показать файлы и директории содержащие в имени цифры | ||
+ | | | ||
+ | |- | ||
+ | | ls -t | ||
+ | | показать файлы, отсортировав их по времени последнего обновления | ||
+ | |- | ||
+ | | ls -r | ||
+ | | показать файлы, отсортировав их в обратном порядке от выбранного | ||
+ | |} | ||
+ | |||
===mkdir=== | ===mkdir=== | ||
'''mkdir''' (make) создает каталог. Ей передается один параметр — путь к каталогу. | '''mkdir''' (make) создает каталог. Ей передается один параметр — путь к каталогу. | ||
− | + | {| {{prettytable}} | |
− | + | |+ Примеры | |
− | + | | mkdir dir1 | |
+ | | создать директорию с именем 'dir1' | ||
+ | |- | ||
+ | | mkdir dir1 dir2 | ||
+ | | создать две директории одновременно | ||
+ | |- | ||
+ | | mkdir -p /tmp/dir1/dir2 | ||
+ | | создать дерево директорий | ||
+ | |} | ||
===cp, mv, rm=== | ===cp, mv, rm=== | ||
'''cp''' - копировать (copy), требует два параметра — имена файлов: «что» копировать и «куда». | '''cp''' - копировать (copy), требует два параметра — имена файлов: «что» копировать и «куда». | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | cp file1 file2 | ||
+ | | сопировать файл file1 в файл file2 | ||
+ | |- | ||
+ | | cp dir/* . | ||
+ | | копировать все файлы директории dir в текущую директорию | ||
+ | |- | ||
+ | | cp -a /tmp/dir1 . | ||
+ | | копировать директорию dir1 со всем содержимым в текущую директорию | ||
+ | |} | ||
+ | |||
'''mv''' - перемещение (move) или переименование (переименование — это тоже перемещение, только в тоже место), параметры как и у команды cp. | '''mv''' - перемещение (move) или переименование (переименование — это тоже перемещение, только в тоже место), параметры как и у команды cp. | ||
+ | |||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | Переименование: | ||
+ | | mv dir1 new_dir | ||
+ | |- | ||
+ | | Перемещение: | ||
+ | | mv file1 file2 file3 dir/ | ||
+ | |- | ||
+ | | '''Не забывайте для надёжности ставить завершающий "слеш" в случаях, описываемых вторым примером!''' | ||
+ | |} | ||
'''rm''' - удаление (remove) файлов и каталогов. <!--Наверное, здесь не стоит различать файлы и каталоги--> | '''rm''' - удаление (remove) файлов и каталогов. <!--Наверное, здесь не стоит различать файлы и каталоги--> | ||
+ | |||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | rm -f file1 | ||
+ | | удалить файл с именем 'file1' | ||
+ | |- | ||
+ | | rmdir dir1 | ||
+ | | удалить директорию с именем 'dir1' | ||
+ | |- | ||
+ | | rm -rf dir1 | ||
+ | | удалить директорию с именем 'dir1' и рекурсивно всё её содержимое | ||
+ | |- | ||
+ | | rm -rf dir1 dir2 | ||
+ | | удалить две директории и рекурсивно их содержимое | ||
+ | |} | ||
С этими командами могут использоваться следующие ключи: | С этими командами могут использоваться следующие ключи: | ||
Строка 53: | Строка 117: | ||
* -r — рекурсивный режим (для команд cp и rm). | * -r — рекурсивный режим (для команд cp и rm). | ||
− | <pre> | + | '''По возможности не используйте переменные среды внутри потенциально необратимых команд, например удаления или перемещения! |
+ | ''' | ||
+ | <pre>$ ls | ||
directory1 directory2 directory3 example.txt all_about_console.txt | directory1 directory2 directory3 example.txt all_about_console.txt | ||
− | + | $ cp -R directory2/ directory3/ | |
− | + | $ ls directory3/ | |
directory2 | directory2 | ||
− | + | $ rm -r directory3/ | |
− | + | $ ls | |
directory1 directory2 example.txt all_about_console.txt</pre> | directory1 directory2 example.txt all_about_console.txt</pre> | ||
− | '''Замечание.''' rm -r удалит все, даже | + | '''Замечание.''' rm -r удалит все, даже непустые каталоги. |
===rmdir=== | ===rmdir=== | ||
'''rmdir''' (remove удаляет каталог. Ей передается один параметр — путь к каталогу. rmdir можно применять только к пустым каталогам. | '''rmdir''' (remove удаляет каталог. Ей передается один параметр — путь к каталогу. rmdir можно применять только к пустым каталогам. | ||
− | <pre> | + | <pre>$ rmdir directory/ |
− | + | $ ls | |
example.txt all_about_console.txt</pre> | example.txt all_about_console.txt</pre> | ||
===ln=== | ===ln=== | ||
+ | {| {{prettytable}} | ||
+ | | ln -s fileName lnk | ||
+ | | создать символическую ссылку lnk на файл fileName или директорию | ||
+ | |- | ||
+ | | ln file1 lnk1 | ||
+ | | создать "жёсткую" (физическую) ссылку на файл fileName или директорию | ||
+ | |} | ||
+ | |||
===id=== | ===id=== | ||
+ | '''id''' выводит информацию об указанном пользователе USERNAME или текущем пользователе, который запустил данную команду и не указал явно имя пользователя. По умолчанию выводятся подлинные числовые идентификаторы пользователя (UID) и группы (GID), действующие (именные) идентификаторы пользователей и групп, а также идентификаторы других групп, в которых состоит пользователь. | ||
+ | |||
+ | id [OPTION]... [USERNAME] | ||
+ | |||
+ | <pre>$ id | ||
+ | uid=500(aleksander) gid=500(aleksander) группы=500(aleksander),19(proc),22(cdrom),71(floppy), 80(cdwriter),81(audio),83(radio) | ||
+ | $</pre> | ||
+ | |||
+ | {| {{prettytable}} | ||
+ | | -g, --group | ||
+ | | выводит только подлинный числовой идентификатор группы | ||
+ | |- | ||
+ | | -G, --groups | ||
+ | | выводит все подлинные числовые идентификаторы групп, в которых состоит пользователь | ||
+ | |- | ||
+ | | -n, --name | ||
+ | | выводит действующие имена пользователей или групп. Используется совместно с опциями -ugG | ||
+ | |- | ||
+ | | -r, --real | ||
+ | | выводит подлинные числовые идентификаторы пользователей или групп. Используется совместно с опциями -ugG | ||
+ | |- | ||
+ | | -u, --user | ||
+ | | выводит только подлинный числовой идентификатор пользователя | ||
+ | |} | ||
+ | |||
===chmod=== | ===chmod=== | ||
+ | '''chmod''' изменяет режим доступа к файлу. | ||
+ | |||
+ | chmod <права доступа> <имя_файла> — изменить права доступа к файлу <имя_файла>. | ||
+ | |||
+ | '''Примеры''' | ||
+ | {| {{prettytable}} | ||
+ | | 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=== | ||
+ | chown — смена владельца указанного файла. Требуется доступ root. | ||
+ | |||
+ | {| {{prettytable}} | ||
+ | | chown user fileName | ||
+ | | назначить владельцем файла fileName пользователя user | ||
+ | |- | ||
+ | | chown -R user directory | ||
+ | | назначить рекурсивно владельцем директории directory пользователя user | ||
+ | |- | ||
+ | | chown user:group fileName | ||
+ | |сменить владельца и группу-владельца файла fileName | ||
+ | |} | ||
+ | |||
===locate=== | ===locate=== | ||
+ | locate "*.ps" — найти все файлы, содержащие в имени '.ps'. | ||
+ | |||
===find=== | ===find=== | ||
+ | find поиск файлов в текущем каталоге. Если указать путь, можно искать везде. | ||
+ | |||
+ | find <каталог> -name <имя_файла> — найти файл с именем <имя_файла> и отобразить результат поиска на экране. Поиск начинается с каталога <каталог>; <имя_файла> может содержать маску для поиска. | ||
+ | |||
+ | '''Примеры''' | ||
+ | {| {{prettytable}} | ||
+ | | 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 дней | ||
+ | |- | ||
+ | | find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents | ||
+ | | поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию | ||
+ | |- | ||
+ | | find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 | ||
+ | | поиск в /var/log всех файлов, имена которых оканчиваются на '.log', и создание bzip-архива из них | ||
+ | |} | ||
==Текстовые файлы== | ==Текстовые файлы== | ||
===cat, cat > ..., cat >> ...=== | ===cat, cat > ..., cat >> ...=== | ||
− | + | Команда '''cat''' может использоваться для создания или просмотра содержимого файлов. | |
− | |||
− | < | + | cat <имя_файла> — вывод содержимого файла на стандартный вывод (по умолчанию — на экран). |
− | |||
− | + | Если использовать ключ -n, строки будут пронумерованы: | |
+ | <pre>$cat -n file.txt | ||
+ | 1 Very interesting text.</pre> | ||
− | <pre> | + | '''cat >''' перенаправляет поток ввода в файл и отображает поток ввода на стандартном потоке вывода. При этом, если файл не существовал, он создается, а если существовал, то перезаписывается. После окончания ввода следует нажать CTRL+<D>: |
− | + | <pre>cat > <имя_файла> | |
+ | . | ||
+ | . | ||
+ | . | ||
+ | CTRL+<D></pre> | ||
− | + | Так же эту команду можно использовать для объединения файлов, например: | |
+ | <pre>cat file1 file2 file3 file4 file5 > file.iso</pre> | ||
− | <pre> | + | Чтобы записать вводимый текст в конец существующего файла следует использовать '''cat >>''': |
− | + | <pre>cat >> <имя_файла> | |
+ | . | ||
+ | . | ||
+ | . | ||
+ | CTRL+<D></pre> | ||
− | + | '''Примеры''' | |
+ | {| {{prettytable}} | ||
+ | | 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 на стандартное устройство вывода | ||
+ | |- | ||
+ | | cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt | ||
+ | | общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый | ||
+ | |- | ||
+ | | cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> result.txt | ||
+ | | общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан | ||
+ | |- | ||
+ | | cat -n file1 | ||
+ | | пронумеровать строки при выводе содержимого файла | ||
+ | |- | ||
+ | | cat example.txt | awk 'NR%2==1' | ||
+ | | при выводе содержимого файла, не выводить чётные строки файла | ||
+ | |} | ||
− | + | ===less, ...|less=== | |
+ | less file1 постраничный вывод файла file1 на устройство вывода, но с возможностью пролистывания (вверх-вниз), поиска по содержимому. | ||
− | |||
===grep, ...|grep=== | ===grep, ...|grep=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | grep Aug /var/log/messages | ||
+ | | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug" | ||
+ | |- | ||
+ | | grep ^Aug /var/log/messages | ||
+ | | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на "Aug" | ||
+ | |- | ||
+ | | grep [0-9] /var/log/messages | ||
+ | | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры | ||
+ | |- | ||
+ | | grep Aug -R /var/log/* | ||
+ | | отобрать и вывести на устройство вывода строки, содержащие "Aug", во всех файлах, находящихся в директории /var/log и ниже | ||
+ | |} | ||
+ | |||
===head=== | ===head=== | ||
+ | head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк | ||
+ | |||
===tail=== | ===tail=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | tail -2 file1 | ||
+ | | вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк | ||
+ | |- | ||
+ | | tail -f /var/log/messages | ||
+ | | выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста | ||
+ | |- | ||
+ | | tail /var/log/dmesg | ||
+ | | вывести десять последних записей из журнала загрузки ядра | ||
+ | |- | ||
+ | | tail /var/log/messages | ||
+ | | вывести десять последних записей из системного журнала | ||
+ | |} | ||
+ | |||
===look=== | ===look=== | ||
+ | look reference Быстрый поиск (сортированный) словаря по префиксу | ||
+ | |||
===cut=== | ===cut=== | ||
+ | cut -d: -f1,3 /etc/passwd Поставить в соответствие идентификаторам пользователей их входные имена | ||
+ | |||
===sort=== | ===sort=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | sort file1 file2 | ||
+ | | отсортировать содержимое двух файлов | ||
+ | |- | ||
+ | | sort file1 file2 | uniq | ||
+ | | отсортировать содержимое двух файлов, не отображая повторов | ||
+ | |- | ||
+ | | sort file1 file2 | uniq -u | ||
+ | | отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода) | ||
+ | |- | ||
+ | | sort file1 file2 | uniq -d | ||
+ | | отсортировать содержимое двух файлов, отображая только повторяющиеся строки | ||
+ | |- | ||
+ | | sort file1 file2 | uniq -u | ||
+ | | симметрическая разность неотсортированных файлов | ||
+ | |} | ||
+ | |||
===uniq=== | ===uniq=== | ||
+ | |||
===join=== | ===join=== | ||
+ | |||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | join -t'\0' -a1 -a2 file1 file2 | ||
+ | | Объединение отсортированных файлов | ||
+ | |- | ||
+ | | join -t'\0' file1 file2 | ||
+ | | Пересечение отсортированных файлов | ||
+ | |- | ||
+ | | join -t'\0' -v2 file1 file2 | ||
+ | | Разность отсортированных файлов | ||
+ | |- | ||
+ | | join -t'\0' -v1 -v2 file1 file2 | ||
+ | | Симметрическая разность отсортированных файлов | ||
+ | |} | ||
+ | |||
===wc=== | ===wc=== | ||
+ | wc — печатает число строк, слов и байт в файлах. | ||
+ | |||
+ | wc [ОПЦИЯ]... [ФАЙЛ]... | ||
+ | |||
+ | Печатает число переводов строк, слов и байт для каждого ФАЙЛА и их итоговое количество, если было задано несколько ФАЙЛОВ. Если ФАЙЛ не задан или задан как -, читает стандартный ввод. | ||
+ | |||
+ | ====Опции==== | ||
+ | -c, --bytes | ||
+ | :печать числа байтов | ||
+ | -m, --chars | ||
+ | :печать числа символов | ||
+ | -l, --lines | ||
+ | :печать числа строк | ||
+ | -L, --max-line-length | ||
+ | :печать количества символов в самой длинной строке | ||
+ | -w, --words | ||
+ | :печать количества слов | ||
+ | --help | ||
+ | :вывести справку и закончить работу | ||
+ | --version | ||
+ | :вывести информацию о версии и закончить работу | ||
==Процессы== | ==Процессы== | ||
===ps=== | ===ps=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | ps -eafw | ||
+ | | отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды) | ||
+ | |- | ||
+ | | ps -e -o pid,args --forest | ||
+ | | вывести PID'ы и процессы в виде дерева | ||
+ | |- | ||
+ | | pstree | ||
+ | | отобразить дерево процессов | ||
+ | |} | ||
+ | |||
===top=== | ===top=== | ||
+ | top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных) | ||
+ | |||
===kill=== | ===kill=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | kill -9 98989 | ||
+ | | "убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных) | ||
+ | |- | ||
+ | | kill -TERM 98989 | ||
+ | | Корректно завершить процесс с PID 98989 | ||
+ | |- | ||
+ | | kill -1 98989 | ||
+ | | заставить процесс с PID 98989 перепрочитать файл конфигурации | ||
+ | |} | ||
==Сеть== | ==Сеть== | ||
===ping=== | ===ping=== | ||
+ | ping [имя_машины] Есть или нет контакта с другой машиной (в качестве параметре имя машины или IP адрес), нажмите <Ctrl>-C когда вся требуемая информация будет получена. | ||
+ | |||
===traceroute=== | ===traceroute=== | ||
+ | traceroute www.slackware.com Каждый из хостов будет показан, вместе со временем ответа | ||
+ | |||
===nslookup=== | ===nslookup=== | ||
+ | nslookup linuxforum.org | ||
+ | |||
===ssh=== | ===ssh=== | ||
− | + | {| {{prettytable}} | |
+ | |+ Примеры | ||
+ | | ssh -g -L 8080:localhost:80 root@$HOST | ||
+ | | Перенаправить соединения к $HOSTNAME:8080 наружу к $HOST:80 | ||
+ | |- | ||
+ | | ssh -R 1434:imap:143 root@$HOST | ||
+ | | Перенаправить соединения от $HOST:1434 к внутр. imap:143 | ||
+ | |- | ||
+ | | ssh $USER@$HOST command | ||
+ | | Запустить команду command на удаленном хосте $HOST от имени пользователя $USER | ||
+ | |- | ||
+ | | ssh -f -Y $USER@$HOSTNAME xeyes | ||
+ | | Запустить GUI команду на удаленном хосте $HOST от имени пользователя $USER | ||
+ | |} | ||
+ | |||
==Разное== | ==Разное== | ||
===man=== | ===man=== | ||
+ | man ping вызов руководства по работе с программой, в данном случае, - ping | ||
+ | |||
===date=== | ===date=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | date | ||
+ | | вывести системную дату | ||
+ | |- | ||
+ | | date 041217002007.00 | ||
+ | | установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды) | ||
+ | |} | ||
+ | |||
===cal=== | ===cal=== | ||
+ | {| {{prettytable}} | ||
+ | | cal | ||
+ | | вывести форматированный календарь на текущий месяц | ||
+ | |- | ||
+ | | cal 2010 | ||
+ | | вывести таблицу-календарь на 2010-ый год | ||
+ | |} | ||
+ | |||
===uname=== | ===uname=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | uname -m | ||
+ | | отобразить архитектуру компьютера | ||
+ | |- | ||
+ | | uname -r | ||
+ | | отобразить используемую версию ядра | ||
+ | |} | ||
+ | |||
===hostname=== | ===hostname=== | ||
+ | hostname отобразить имя компьютера | ||
+ | |||
===which=== | ===which=== | ||
+ | which halt отображает полный путь к файлу 'halt' | ||
+ | |||
===env=== | ===env=== | ||
+ | env [ПАРАМЕТР]... [-] [ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ]... [КОМАНДА [АРГУМЕНТЫ]...] исполняет команду с изменением окружения | ||
+ | |||
===tar=== | ===tar=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | tar -Puf backup.tar /home/user | ||
+ | | создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий | ||
+ | |- | ||
+ | | ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' | ||
+ | | копирование /home на удалённый компьютер через ssh-туннель в /home/backup-home | ||
+ | |- | ||
+ | | tar cf - . | (cd /tmp/backup ; tar xf - ) | ||
+ | | копирование одной директории в другую с сохранением полномочий и линков | ||
+ | |- | ||
+ | | tar -cvf archive.tar file1 | ||
+ | | создать tar-архив archive.tar, содержащий файл file1 | ||
+ | |- | ||
+ | | tar -cvf archive.tar file1 file2 dir1 | ||
+ | | создать tar-архив archive.tar, содержащий файл file1, file2 и dir1 | ||
+ | |- | ||
+ | | tar -tf archive.tar | ||
+ | | показать содержимое архива | ||
+ | |- | ||
+ | | tar -xvf archive.tar | ||
+ | | распаковать архив | ||
+ | |- | ||
+ | | tar -xvf archive.tar -C /tmp | ||
+ | | распаковать архив в /tmp | ||
+ | |- | ||
+ | | tar -cvfj archive.tar.bz2 dir1 | ||
+ | | создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах) | ||
+ | |- | ||
+ | | tar -xvfj archive.tar.bz2 | ||
+ | | разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах) | ||
+ | |- | ||
+ | | tar -cvfz archive.tar.gz dir1 | ||
+ | | создать архив и сжать его с помощью gzip | ||
+ | |- | ||
+ | | tar -xvfz archive.tar.gz | ||
+ | | разжать архив и распаковать его | ||
+ | |} | ||
+ | |||
===gzip=== | ===gzip=== | ||
+ | {| {{prettytable}} | ||
+ | |+ Примеры | ||
+ | | gzip file1 | ||
+ | | сжимает файл 'file1' | ||
+ | |- | ||
+ | | gzip -9 file1 | ||
+ | | сжать файл file1 с максимальным сжатием | ||
+ | |} | ||
+ | |||
===gunzip=== | ===gunzip=== | ||
+ | gunzip file1.gzразжимает файл 'file1.gz' | ||
− | |||
[[Категория:Linux]] | [[Категория:Linux]] |
Текущая версия на 12:53, 15 октября 2009
Содержание
Файлы и каталоги, пользователи и группы, права доступа
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 | показать скрытые файлы и директории в текущей директории | |
ls *[0-9]* | показать файлы и директории содержащие в имени цифры | |
ls -t | показать файлы, отсортировав их по времени последнего обновления | |
ls -r | показать файлы, отсортировав их в обратном порядке от выбранного |
mkdir
mkdir (make) создает каталог. Ей передается один параметр — путь к каталогу.
mkdir dir1 | создать директорию с именем 'dir1' |
mkdir dir1 dir2 | создать две директории одновременно |
mkdir -p /tmp/dir1/dir2 | создать дерево директорий |
cp, mv, rm
cp - копировать (copy), требует два параметра — имена файлов: «что» копировать и «куда».
cp file1 file2 | сопировать файл file1 в файл file2 |
cp dir/* . | копировать все файлы директории dir в текущую директорию |
cp -a /tmp/dir1 . | копировать директорию dir1 со всем содержимым в текущую директорию |
mv - перемещение (move) или переименование (переименование — это тоже перемещение, только в тоже место), параметры как и у команды cp.
Переименование: | mv dir1 new_dir |
Перемещение: | mv file1 file2 file3 dir/ |
Не забывайте для надёжности ставить завершающий "слеш" в случаях, описываемых вторым примером! |
rm - удаление (remove) файлов и каталогов.
rm -f file1 | удалить файл с именем 'file1' |
rmdir dir1 | удалить директорию с именем 'dir1' |
rm -rf dir1 | удалить директорию с именем 'dir1' и рекурсивно всё её содержимое |
rm -rf dir1 dir2 | удалить две директории и рекурсивно их содержимое |
С этими командами могут использоваться следующие ключи:
- -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
less file1 постраничный вывод файла file1 на устройство вывода, но с возможностью пролистывания (вверх-вниз), поиска по содержимому.
grep, ...|grep
grep Aug /var/log/messages | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug" |
grep ^Aug /var/log/messages | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на "Aug" |
grep [0-9] /var/log/messages | из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры |
grep Aug -R /var/log/* | отобрать и вывести на устройство вывода строки, содержащие "Aug", во всех файлах, находящихся в директории /var/log и ниже |
head
head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail
tail -2 file1 | вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк |
tail -f /var/log/messages | выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста |
tail /var/log/dmesg | вывести десять последних записей из журнала загрузки ядра |
tail /var/log/messages | вывести десять последних записей из системного журнала |
look
look reference Быстрый поиск (сортированный) словаря по префиксу
cut
cut -d: -f1,3 /etc/passwd Поставить в соответствие идентификаторам пользователей их входные имена
sort
sort file1 file2 | отсортировать содержимое двух файлов |
uniq | отсортировать содержимое двух файлов, не отображая повторов |
uniq -u | отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода) |
uniq -d | отсортировать содержимое двух файлов, отображая только повторяющиеся строки |
uniq -u | симметрическая разность неотсортированных файлов |
uniq
join
join -t'\0' -a1 -a2 file1 file2 | Объединение отсортированных файлов |
join -t'\0' file1 file2 | Пересечение отсортированных файлов |
join -t'\0' -v2 file1 file2 | Разность отсортированных файлов |
join -t'\0' -v1 -v2 file1 file2 | Симметрическая разность отсортированных файлов |
wc
wc — печатает число строк, слов и байт в файлах.
wc [ОПЦИЯ]... [ФАЙЛ]...
Печатает число переводов строк, слов и байт для каждого ФАЙЛА и их итоговое количество, если было задано несколько ФАЙЛОВ. Если ФАЙЛ не задан или задан как -, читает стандартный ввод.
Опции
-c, --bytes
- печать числа байтов
-m, --chars
- печать числа символов
-l, --lines
- печать числа строк
-L, --max-line-length
- печать количества символов в самой длинной строке
-w, --words
- печать количества слов
--help
- вывести справку и закончить работу
--version
- вывести информацию о версии и закончить работу
Процессы
ps
ps -eafw | отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды) |
ps -e -o pid,args --forest | вывести PID'ы и процессы в виде дерева |
pstree | отобразить дерево процессов |
top
top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
kill
kill -9 98989 | "убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных) |
kill -TERM 98989 | Корректно завершить процесс с PID 98989 |
kill -1 98989 | заставить процесс с PID 98989 перепрочитать файл конфигурации |
Сеть
ping
ping [имя_машины] Есть или нет контакта с другой машиной (в качестве параметре имя машины или IP адрес), нажмите <Ctrl>-C когда вся требуемая информация будет получена.
traceroute
traceroute www.slackware.com Каждый из хостов будет показан, вместе со временем ответа
nslookup
nslookup linuxforum.org
ssh
ssh -g -L 8080:localhost:80 root@$HOST | Перенаправить соединения к $HOSTNAME:8080 наружу к $HOST:80 |
ssh -R 1434:imap:143 root@$HOST | Перенаправить соединения от $HOST:1434 к внутр. imap:143 |
ssh $USER@$HOST command | Запустить команду command на удаленном хосте $HOST от имени пользователя $USER |
ssh -f -Y $USER@$HOSTNAME xeyes | Запустить GUI команду на удаленном хосте $HOST от имени пользователя $USER |
Разное
man
man ping вызов руководства по работе с программой, в данном случае, - ping
date
date | вывести системную дату |
date 041217002007.00 | установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды) |
cal
cal | вывести форматированный календарь на текущий месяц |
cal 2010 | вывести таблицу-календарь на 2010-ый год |
uname
uname -m | отобразить архитектуру компьютера |
uname -r | отобразить используемую версию ядра |
hostname
hostname отобразить имя компьютера
which
which halt отображает полный путь к файлу 'halt'
env
env [ПАРАМЕТР]... [-] [ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ]... [КОМАНДА [АРГУМЕНТЫ]...] исполняет команду с изменением окружения
tar
tar -Puf backup.tar /home/user | создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий |
ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' | копирование /home на удалённый компьютер через ssh-туннель в /home/backup-home |
(cd /tmp/backup ; tar xf - ) | копирование одной директории в другую с сохранением полномочий и линков |
tar -cvf archive.tar file1 | создать tar-архив archive.tar, содержащий файл file1 |
tar -cvf archive.tar file1 file2 dir1 | создать tar-архив archive.tar, содержащий файл file1, file2 и dir1 |
tar -tf archive.tar | показать содержимое архива |
tar -xvf archive.tar | распаковать архив |
tar -xvf archive.tar -C /tmp | распаковать архив в /tmp |
tar -cvfj archive.tar.bz2 dir1 | создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -xvfj archive.tar.bz2 | разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -cvfz archive.tar.gz dir1 | создать архив и сжать его с помощью gzip |
tar -xvfz archive.tar.gz | разжать архив и распаковать его |
gzip
gzip file1 | сжимает файл 'file1' |
gzip -9 file1 | сжать файл file1 с максимальным сжатием |
gunzip
gunzip file1.gzразжимает файл 'file1.gz'