15 июня, 2014, обновлено 23 июля, 2016

Linux

Unix команды напоминалка

  • ls — список всех файлов и каталогов;
  • cd — изменения текущего рабочего каталога;
  • mkdir — создание новых каталогов;
  • chmod — изменения прав доступа к файлам и директориям;
  • cat — файлы в поток;
  • less — для просмотра содержимого текстовых файлов;
  • find — поиск файлов;
  • rm — удаления файлов;
  • mv — перемещения или переименования файлов и каталогов;
  • cp — копирование файлов и каталогов;
  • ln — создать символическую ссылку на папку, файл;
  • tar — работа с архивами;
  • scp — копирование файлов через SSH;
  • ssh — подключение…;
  • help — help;
  • apt — (Advanced Packaging Tool) управления программными пакетами;
  • pwd — вывести полный путь до текущей директории;

ls

  • -a — выводит список всех файлов каталога, в том числе скрытые файлы. .. и . в верхней части списка относятся к каталогу на уровень выше текущего и текущему, соответственно;
  • -l — выводит информацию о содержимом каталога, включая права доступа, владельца, группу, размер, время создания, является ли файл символьной ссылкой на другой файл и на какой именно;
  • -F — добавляет символ в конце строк вывода: / — означает каталог, @ — символьную ссылку на другой файл и * — означает, что файл является исполняемым;
  • -r — выводит список содержимого каталога в обратном порядке;
  • -R — будет выведено также содержимое всех подкаталогов текущего каталога рекурсивным образом;
  • -S — сортирует файлы по размеру;
  • -x — вывод в 4 колонки;
  • -t — имена файлов сортируются не по алфавиту, а по времени последнего изменения;

Примеры

ls

ls -la

cd

Примеры

cd ~

cd .

cd ..

cd ~/foo

cd foo

cd ../foo/bar/baz

cd ../..

mkdir

  • -m — установить код доступа (как в chmod);
  • -p — не выдавать ошибок если существует, создавать родительские каталоги если необходимо;
  • -v — печатать сообщение о каждом созданном каталоге;

Примеры

mkdir foo — создает каталог foo в текущем каталоге.

mkdir -p foo/bar/baz qux — создает каталоги foo, qux в текущем каталоге и подкаталоги bar/baz в foo, без вывода предупреждений о несуществовании или существовании оных.

mkdir -m 644 my42.

chmod

Права записываются одной строкой сразу для трёх типов пользователей: владелец, группа, остальные. Права могут быть записаны в числовом ([0-7][0-7][0-7]) и в символьном виде ([r-][w-][x-][r-][w-][x-][r-][w-][x-]).

Права числовым видом 644 и в символьном виде: rw-r--r--. В двоичном виде эти права выглядели бы так 110100100, что означает: владелец имеет право на чтение и запись, а группа и остальные имеют право только на чтение.

Примеры

chmod 600 ~/.ssh/config.

cat

Команду cat удобно использовать для создания коротких файлов или добавления Небольшого объема текста в существующий файл (просто создать пустой файл: touch filename).

Примеры

cat filename или cat < filename — открывает filename на чтение, выводится все содержимое файла.

cat > filename — открывает / создаёт файл для перезаписи. Если файл существует, он обнулится! Пишем Hello World! жмём Enter и Ctrl + Z или Ctrl + D.

Ввод буферизован: накопление 512 (обычно) знаков и потом ввод. Небуферизованный (лучше, на случай сбоев) ввод: с ключом -u (unbuffered).

cat >> filename — открывает файл для записи в конец файла.

less

  • -g — highlights just the current match of any searched string;
  • -I — case-insensitive searches;
  • -M — shows more detailed prompt, including file position;
  • -N — shows line numbers (useful for source code viewing);
  • -S — disables line wrap ("chop long lines"). Long lines can be seen by side scrolling;
  • -? — shows help;
  • +F — follow mode for log;

Примеры

less -M readme.txt					# Read "readme.txt."
less +F /var/log/mail.log			# Follow mode for log
file * | less						# Easier file analysis.
less -I -p void *.c					# Case insensitive search for "void" in all .c files

Подробнее на Wiki.

find

  • -name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.
  • -type — тип искомого: f=файл, d=каталог, l=ссылка (link), p=канал (pipe), s=сокет.
  • -user — владелец: имя пользователя или UID.
  • -group — владелец: группа пользователя или GID.
  • -perm — указываются права доступа.
  • -size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).
  • -atime — время последнего обращения к файлу (в днях).
  • -amin — время последнего обращения к файлу (в минутах).
  • -ctime — время последнего изменения владельца или прав доступа к файлу (в днях).
  • -cmin — время последнего изменения владельца или прав доступа к файлу (в минутах).
  • -mtime — время последнего изменения файла (в днях).
  • -mmin — время последнего изменения файла (в минутах).
  • -newer другой_файл — искать файлы созданные позже, чем другой_файл.
  • -delete — удалять найденные файлы.
  • -ls — генерирует вывод как команда ls -dgils.
  • -print — показывает на экране найденные файлы.
  • -exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.
  • -ok — перед выполнением команды указанной в -exec, выдаёт запрос.
  • -depth или -d — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.
  • -maxdepth — максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом.
  • -prune — используется, когда вы хотите исключить из поиска определённые каталоги.
  • -mount или -xdev — не переходить на другие файловые системы.
  • -regex — искать по имени файла используя регулярные выражения.
  • -regextype тип — указание типа используемых регулярных выражений.
  • -P — не разворачивать символические ссылки (поведение по умолчанию).
  • -L — разворачивать символические ссылки.
  • -empty — только пустые каталоги.

Примеры

find . -name '_notes' -type d -exec rm -rf {} \; — найти в текущем каталоге (и подкаталогах) каталоги с именем _notes и выполнить над ними команду: рекурсивно удалить без вопросов.

rm

  • -r — обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ -r не влияет на команду rm.
  • -i — выводить запрос на подтверждение каждой операции удаления.
  • -f — не возвращать код ошибочного завершения, если ошибки были вызваны несуществующими файлами; не запрашивать подтверждения операций.

Примеры

rm -r ./* — рекурсивно удалить всё из папки (не удаляет .htaccess)

rm .htaccess — удалить файл .htaccess

rm -rf mydir — рекурсивно удалить без подтверждения и кода ошибочного завершения файл (или директорию) mydir.

mv

  • –f, не запрашивать подтверждения операций.
  • –i, выводить запрос на подтверждение операции, когда существует файл, в который происходит переименование или перемещение.
  • ––, завершает список ключей. Применяется для использования с файлами, имена которых начинаются на .

Примеры

mv foo bar — переименовывает файл foo в bar.

mv foobar ./baz/ — перемещает файл 'foobar' в 'baz' относительно текущего каталога.

mv ./foo baz — перемещает каталог 'foo' в каталог 'baz'.

cp

  • -r — копировать директории рекурсивно (то есть все поддиректории и все файлы в поддиректориях).
  • -f — разрешает удаление целевого файла, в который производится копирование, если он не может быть открыт для записи.
  • -H — используйте этот ключ, чтобы копировать символические ссылки. По умолчанию команда переходит по символическим ссылкам и копирует файлы, на которые те указывают.
  • -i — команда будет запрашивать, следует ли перезаписывать конечный файл, имя которого совпадает с именем исходного, то есть если в параметре целевой_каталог или целевой_файл встречается такое же имя файла, какое было задано в параметре исходный_файл или исходная_директория, то запрашивается подтверждение. Для того, чтобы перезаписать файл, следует ввести y или его эквивалент для данной локали. Ввод любого другого символа приведёт к отмене перезаписи данного файла.

в некоторых системах назначен alias cp='cp -i', т.е. по умолчанию команда cp будет спрашивать о перезаписи

  • -p — повторяет следующие свойства исходного файла или директории у целевого файла или директории:
    • Время последнего изменения и последнего доступа.
    • Идентификатор пользователя и группы.
    • Права доступа и биты SUID и SGID.

Примеры

cp foo bar — сделать копию foo с именем bar.

cp foo bar baz или cp foo bar ./baz — скопировать файл или файлы (foo и bar) в другой каталог (baz).

cp -r ./baz ./qux — скопировать каталог baz в другой каталог qux (./qux/baz).

ln

ln -s /path_to_folder /path_from_folder/linkName

  • /path_to_folder - на что будем указывать
  • /path_from_folder_link - папка в которой создадим ссылку
  • /linkName - название ссылки

Если в названии пути есть пробелы, то их необходимо экранировать обратным слешем.

Подробно о ключах и форматах ln --help.

tar

  • -c — создать архив;
  • -f — на диске, а не на магнитной ленте;
  • -x — извлекать файлы из архива;
  • -z — через gzip (.tar.gz, .tgz, .tar.gzip);
  • -j — через bzip2 (.tar.bz2, .tar.bzip2, .tbz2, .tb2, .tbz);
  • -v — вывод информации во время обработки;
  • -t — просмотреть содержимое архива;
  • -r — добавить в архив;

Примеры

tar -cf filename.tar — создать несжатый архив.

tar -czf filename.tar.gz — создать сжатый gzip-ом архив.

tar -xf filename.tar.gz — извлечь.

scp

Примеры

scp username@hostname:~/filename.tar.gz ./web.tar.gz — копирования файла filename.tar.gz с удалённого хоста к себе спереименованием.

scp filename.tar.gz username@hostname:~/folder/name — копирования локального файла filename.tar.gz на удалённый хост.

ssh

ssh MYHOST -t 'cd MYPATH; bash --login'
#!/bin/bash
ssh user@remote_host -L localhost:3303:127.0.0.1:3306

ssh туннель – проброс локального порта localhost:3303 на удаленную машину remote_host, на удаленной машине выход 127.0.0.1:3306

help

$ help
$ help help #### )))))))
$ help alias
$ ssh --help
$ scp --help
$ scp --?
$ scp help #### проходит не у всех команд, юзать --help
$ scp ?

apt

Часто используемые команды apt-get:

  • Обновить список пакетов, имеющихся в источниках:

     apt-get update

    (вы должны регулярно запускать эту команду для обновления списка пакетов)

  • Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов):

     apt-get upgrade
  • Установить пакет foo и все его зависимости:

     apt-get install foo
  • Удалить пакет из системы:

     apt-get remove foo
  • Удалить из системы пакет и все его файлы настроек:

     apt-get --purge remove foo
  • Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета:

     apt-get dist-upgrade

    (Команда upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда dist-upgrade менее консервативна.)

Учтите, что для выполнения каких бы то ни было команд для изменения пакетов в системе вам нужно иметь права суперпользователя.

Обратите внимание, что в настоящее время apt-get по умолчанию устанавливает рекомендуемые пакеты, и эта программа является предпочтительной для управления пакетами из консоли при выполнении установки или больших обновлений системы вследствие её ошибкоустойчивости.

В комплект инструментов apt входит также программа для обработки запросов по списку пакетов apt-cache. Её можно использовать для поиска пакетов, имеющих определённую функциональность, с помощью простых текстовых запросов или регулярных выражений, а также для получения списка зависимостей из системы управления пакетами. Часто используемые команды apt-cache:

  • Найти пакеты, содержащие в своём описании слово:

     apt-cache search слово
  • Показать подробную информацию о пакете:

     apt-cache show пакет
  • Показать зависимости пакета:

     apt-cache depends пакет
  • Показать подробную информацию о доступных версиях пакета и о пакетах, от него зависящих (об обратных зависимостях пакета):

     apt-cache showpkg пакет

pwd

Вывести полный путь до текущей директории.

Примеры

user@server ~/some/path/from/user/folder $ pwd
/home/user/some/path/from/user/folder

Добавить комментарий

2010–2018 Блог Максима Златова, контакты

PHP execution time: 0.0151 s.
SQL execution time: 0.0003 s. (select publication with comments)

Яндекс.Метрика