Создать папку в debian

Обновлено: 05.07.2024

Для начала работы в терминале Linux не нужно быть гуру администрирования — достаточно знать список базовых команд для навигации и работы с файлами и папками.

Навигация

После подключения к серверу вы оказываетесь в домашней папке пользователя. Чтобы узнать точный путь к вашему текущему местонахождению, воспользуйтесь командой:

Она выведет текущую рабочую директорию (print working directory).

Если вам нужно перейти в другую папку, для этого используется команда cd (change directory) с указанием пути к нужной вам папке:

Говоря о навигации, нельзя не упомянуть сокращения для обозначения некоторых директорий:

текущая директория, в которой вы сейчас находитесь. Например, чтобы найти файл с именем hello.txt в текущей директории, можно использовать команду:

директория, расположенная на уровень выше текущей. Если вы находитесь в папке /home/user , то комбинация .. будет обозначать папку /home . То есть, чтобы вернуться на один уровень назад, необязательно вводить весь путь:

домашняя папка текущего пользователя. Например, запустить скрипт some-script.sh из домашней папки, когда вы находитесь в другой директории, можно так:

предыдущая посещённая директория. Представим, что вы перешли в папку /home , потом вам потребовалось изменить настройки в папке /etc . Чтобы вернуться назад, достаточно использовать команду:

Для навигации с помощью команды cd есть два формата указания пути к нужной папке: абсолютный и относительный.

Абсолютный путь — это полный путь от корневой папки сервера «/» . Например, вот такой:

Также к абсолютным относятся пути, в которых используется

— указание на домашнюю папку текущего пользователя. Например, при доступе к файлу

/.bash_profile он всегда будет открываться из одного и того же места: вместо

будет использоваться значение переменной окружения $HOME, которое не меняется.

Относительный путь — это неполный путь. Он указывается относительно какого-то объекта: например, текущей рабочей директории. То есть в начале отсутствует символ корневой папки «/» .

Представим, что мы сейчас работаем с файлами в папке /var/www/data/username . Нам нужно отредактировать содержимое в директории на уровень выше — /var/www/data . Чтобы управлять данными в этой папке, нам не обязательно постоянно указывать полный путь к ним — можно работать с относительным, начиная его с «../» .

Также относительные пути используются, когда нужно выполнить операцию над файлом или папкой в директории, в которой мы сейчас работаем. Для выполнения команды достаточно указать имя файла или папки — система поймёт, что мы имеем в виду файл из текущего каталога.

Чтобы отобразить список содержимого папки, можно использовать команду ls (list). Если дополнить её ключами -al , она покажет типы данных, разрешения и скрытые файлы. Следующий пример покажет названия файлов и папок текущей рабочей папки:

А этот выведет в терминал подробный список содержимого папки /etc:

Чтобы немного упростить себе жизнь, можно использовать консольные файловые менеджеры, например, mc .

Ubuntu и Debian:

CentOS:

Его особенность — примитивный графический интерфейс. Он позволяет быстро ориентироваться в структуре каталогов, перемещаться между ними, создавать новые директории. Интерфейс разбит на два окна, между которыми вы можете перемещать файлы и папки. Помимо прочего, в нём можно работать и с помощью мыши — перемещаться двойным кликом по папкам, использовать кнопки в нижней части панели.


Поиск

С помощью команды find можно найти на сервере папку или файл по набору условий. Структура команды проста:

Например, мы знаем название файла hello.txt , но не знаем, где именно на сервере он лежит. Найти его поможет конструкция:

  • / указывает, что искать надо, начиная с корневой папки сервера. Если вам известно, где может лежать искомый файл, можно задать путь точнее.
  • -name указывает, что искать надо строго по имени.
  • "hello.txt" — имя файла, который нам нужно найти. Если известна только часть имени, можно указать сокращённый вариант: "hello*" , "*.txt"

Кроме -name , команда find имеет множество опций, которые позволяют уточнить условия поиска подробнее. Вот список наиболее полезных параметров:

Позволяет указать тип искомых данных: -type f — файлы, -type d — директории

Позволяет вывести файлы с определённым уровнем доступа. Например, - perm 777

Отображает только пустые файлы или папки

Позволяет искать данные среди файлов, принадлежащих конкретному пользователю: -user root

Позволяет искать данные среди файлов, принадлежащих определённой группе пользователей: -group www-data

Позволяет задать условие относительно времени изменения файлов:

Позволяет задать условие относительно времени последнего доступа к файлу, аналогично mtime

Позволяет уточнить размер (или диапазон размера) искомых файлов

Позволяет применить к найденным файлам команду COMMAND

Больше информации о возможностях find можно узнать в файлах документации:

Из встроенных инструментов поиска можно также отметить утилиту whereis . Она предназначена для поиска бинарных и системных файлов и директорий служб. Следующий пример выведет список всех файлов и папок, имеющих прямое отношение к php :

Работа с папками

Для создания новых директорий используется команда mkdir с указанием пути до создаваемой папки. Пример ниже создаст папку /new в существующей директории /home/user :

Если нужно создать несколько папок за раз, можно просто перечислить их через пробел:

Удалить папку можно с помощью команды rmdir с указанием пути. Папка будет удалена только в случае, если она пуста (можно использовать параметр --ignore-fail-on-non-empty , чтобы удалить папку в любом случае). Для удаления нескольких вложенных папок можно аналогично использовать параметр -p . Пример ниже удалит папку /photos и все каталоги внутри неё:

Для удаления есть более эффективный инструмент, rm , про который расскажем ниже.

Работа с файлами

Создание

В терминале есть несколько способов создания новых файлов.

Самый простой, одновременно создающий и файл, и недостающие папки — команда touch . Достаточно передать ей полный путь к файлу. Для примера создадим в папке docs папку copies , а внутри неё — файл copies-list.txt :

Несуществующая папка copies создастся автоматически.

Если нужно создать сразу несколько файлов, можно просто перечислить их через пробел:

Ещё один способ создания новых файлов — вызвать какой-нибудь консольный текстовый редактор с указанием полного пути к файлу. Однако все папки придётся создать заранее. Тогда редактор автоматически создаст файл и откроет его для редактирования. Если не сохранить файл в редакторе, даже пустой, он не будет создан. Команда ниже добавит новый файл с помощью редактора vi :

Для сохранения и выхода из файла в vi нужно нажать клавишу Esc , ввести сочетание :wq и нажать Enter . Для выхода без сохранения нужно также нажать Esc , ввести сочетание :q! и нажать Enter .

Ещё пара способов создания пустых файлов:

Редактирование

Для редактирования файлов используются консольные текстовые редакторы. Самые известные — vi и nano . В некоторых дистрибутивах vi заменён на vim ( vi improved, улучшенный vi ) или vim.tiny

Редактор vi будет доступен вам по умолчанию на большинстве Linux-систем.


А теперь к делу. Vi (более известен как Vim) — старый, очень гибкий и при этом не очень простой в плане управления редактор. Собственно, так он и попал в популярные программистские и админские шуточки.

Запуск редактора без аргументов откроет его в режиме справки:


Чтобы закрыть Vim (без сохранения), введите сочетание :q!

Если указать редактору путь к файлу, он откроет его для редактирования. Если файл не существовал, он будет создан:

При первом входе Vim открывает файл в режиме просмотра. Он не позволяет редактировать его содержимое, но можно вводить командные последовательности, перемещаться по тексту, выполнять поиск и пр.

Чтобы начать ввод, нужно перейти в режим редактирования с помощью клавиши I . Чтобы вернуться в режим просмотра, нажмите Esc .

Перемещение по тексту выполняется с клавиатуры:

  • перемещение в начало текста: Esc + дважды G
  • перемещение в конец текста: Shift + G
  • перемещение по строке горизонтально: стрелки ← →
  • перемещение по строкам вертикально: стрелки ↑ ↓
  • отображение номеров строк: Esc , введите :set number , нажмите Enter
  • перемещение по номерам строк: Esc , введите : номер строки, нажмите Enter

Для выхода с сохранением файла нажмите Esc и введите :wq!

Текстовый редактор vim — краткое руководство

Более современной и удобной альтернативой Vim считается редактор nano . Современные дистрибутивы включают его по умолчанию, но на ранних версиях устанавливать придётся вручную:

Ubuntu и Debian:

CentOS:

Вызов nano без аргументов откроет пустой редактор. Можно начать ввод (при сохранении вам будет предложено указать имя и сохранить файл) или вызвать режим помощи со списком доступных команд с помощью сочетания Ctrl + G .


Для сохранения файла нажмите Ctrl + O — редактор предложит ввести имя файла: введите имя и нажмите Enter . Если файл существовал, и имя изменять не требуется, просто нажмите Enter .

Для выхода из редактора нажмите Ctrl + X .

Чтение

Бывает, что нам нужно получить какую-то информацию из файла без необходимости редактировать его. В таком случае необязательно использовать текстовый редактор — есть более простые инструменты.

Команда cat позволяет вывести в терминал всё содержимое файла, который указан в качестве аргумента:


Однако, если мы заведомо знаем, что в файле большой объём информации, нет смысла выводить его целиком. Например, команды head и tail могут вывести часть содержимого с начала или конца файла соответственно. Если добавить к ним ключ -n , можно уточнить, сколько строк текста нужно вывести:



Помимо прочего, команда tail очень удобна для чтения логов с ключом -f . В таком режиме она открывает файл в режиме ожидания и выводит все добавляемые данные. Пригодится для тестирования или дебаггинга.

Иногда нам всё-таки нужно полностью просмотреть файл. При этом читать его вывод в терминале неудобно. На такие случаи есть команда less — она открывает файл (или переданный в неё вывод другой команды) в режиме чтения:

В режиме чтения less можно перемещаться, искать текст и многое другое. Все командные последовательности и горячие клавиши можно вывести с помощью параметра --help :

Для выхода из режима чтения введите q и нажмите Enter .

Удаление

Для удаления файлов используется команда rm . Она крайне опасна — неправильное применение грозит удалением всего содержимого сервера. Поэтому, как говорится, семь раз отмерь, один раз отрежь: категорически важно перепроверять путь, который вы указываете для удаления.

Самая простая версия rm удалит файл с предварительным подтверждением — для этого потребуется ввести y и нажать Enter :

Для полного же уничтожения всего и вся к команде добавляются параметры -rf . Первый отвечает за рекурсивное удаление данных (т.е. удаление вложенных файлов и папок), второй позволяет отключить подтверждение при удалении. Например, следующая команда удалит папку photos , размещённую в папке docs , и всё её содержимое:

Для шуток над неопытными администраторами им под тем или иным предлогом предлагают выполнить команду rm -rf [/] (без квадратных скобок). Она удаляет всё содержимое сервера от корня. Результат — все данные безвозвратно теряются, а сервер перестаёт работать.

Скачивание и загрузка

Для передачи файлов на сервер и с сервера есть много способов. Самые простые — использование wget , curl или scp .

С помощью параметра -P можно указать путь, куда нужно сохранить скачиваемый файл:

Полный список параметров wget можно посмотреть в справочной информации:

В современных дистрибутивах curl установлен по умолчанию. При необходимости установить его вручную можно следующим образом:

Для работы с curl нужно знать название и расположение файлов, которые необходимо скачать/загрузить. Например, так будет выглядеть команда на скачивание файла по ссылке:

В примере мы скачиваем архив latest-ru_RU.tar.gz по ссылке и сохраняем его в текущую рабочую директорию с таким же именем — за это отвечает ключ -O . Если использовать опцию -o , можно задать своё имя ( wp.tar.gz ) для сохраняемого файла:

Если нам нужно загрузить файл c нашего сервера на другой, используется следующая конструкция:

Остальные возможности curl можно узнать в справочной информации:

Утилита scp позволяет копировать файлы между двумя серверами, используя протокол SSH.

Например, для передачи файла filename.txt с нашего сервера на удалённый сервер 1.2.3.4 в папку new-documents пользователя username можно использовать следующую команду:

В процессе система запросит у нас пароль пользователя username для подключения к удалённому серверу. После авторизации файл будет скопирован на целевой сервер в указанную папку.

Чтобы скачать файл с удалённого сервера, достаточно немного видоизменить нашу команду:

Здесь мы в качестве источника для получения копии файла указали удалённый сервер, а в качестве цели для загрузки копии — папку на текущем сервере.

С помощью scp аналогичным образом можно копировать данные между двумя удалёнными серверами:

Запуск исполняемых bash-скриптов

Чтобы запустить скрипт script.sh на сервере, нужно выполнить два шага:

Настроить права на запуск файла для пользователей:

Запустить скрипт. Если вы находитесь в той же директории, где лежит скрипт, достаточно вызвать его по имени:

В некоторых случаях нужно использовать команду sh либо указать путь к исполняемому файлу командной оболочки:

Если вы находитесь в другой директории, для запуска нужно указать полный путь к скрипту.

Чтобы иметь возможность запускать скрипт из любого места на сервере одной простой командой, можно создать для него алиас — короткую команду (псевдоним), которая будет ассоциироваться системой с полным вызовом скрипта.

Весь список существующих алиасов системы можно вывести с помощью команды alias :


Создать свой постоянный алиас можно с помощью файла .bashrc , размещённого в домашнем каталоге вашего пользователя. Нужно открыть его для редактирования:

В соответствующем разделе нужно добавить ваш алиас в следующем формате:

Например, если нам потребуется создать псевдоним для скрипта выше, настройки будут выглядеть так:

Чтобы после добавления алиас сразу стал доступен, предварительно нужно обновить командную оболочку:

После этого вы сможете вызывать ваш скрипт с помощью короткой команды.

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

Как настроить cron по ssh

Переименование, перемещение и копирование файлов и папок

Скопировать файл в терминале можно с помощью команды:

C её помощью можно, к примеру, создать копию конфигурационного файла, который вы хотите изменить. Здесь мы создаём копию конфигурационного файла nginx.conf

Папки копируются аналогично. При необходимости скопировать каталог со всем содержимым (рекурсивно) можно добавить к команде ключ -r :

Здесь мы создаём копию папки docs со всем её содержимым с именем files .

Переместить или переименовать файл также просто:

Например, следующая команда переместит файл file.txt в папку new :

Переименовать файл не сложнее:

В этом примере файл file.txt переименовывается в todolist.txt

Аналогично можно перемещать и переименовывать директории.

Теперь, когда вы можете перемещаться по серверу и работать с файлами и папками, самое время познакомиться с файловой структурой Linux-систем.

Обязательные аргументы для длинных опций также обязательны для коротких.

-m, --mode=MODE - устанавливает права доступа (как в chmod), а не как umask (rwxrwxrwx)

-p, --parents - устанавливает родительские каталоги. Создает родительские директории, если необходимо.

--help - выводит подсказку

--version - выводит информацию о версии утилиты

cd - сменить директорию

Используйте cd чтобы переходить по директориям. Наберите cd с последующим указанием имени директории, чтобы перейти в эту директорию. Помните, что вы всегда находитесь в какой-то директории и можете перемещаться по директориям иерархически вверх или вниз.

mv - изменить имя директории

Наберите mv с последующим указанием имени директории и её нового имени.

Пример: mv testdir newnamedir

pwd - вывести имя директории в которой вы сейчас находитесь

Покажет вам полный путь к директории в которой вы сейчас находитесь. Очень полезная команда :-)

rmdir - удаляет существующую директорию

rm -r, удаляет директории и файлы внутри директории рекурсивно (то есть вместе с поддиректориями). Чтобы система не запрашивала подтверждение удаления каждого файла, добавьте параметры -f.

chown - меняет владельца и группу файла.

chown [OPTION] OWNER[:[GROUP]] FILE

chown [OPTION] :GROUP FILE

chown [OPTION] --reference=RFILE FILE

Изменяет владельца и/или группу каждого файла на указанных владельца и/или группу (OWNER и GROUP). С параметром --reference, меняет владельца и группу каждого файла на таких же, как у указанного файла (RFILE).

-c, --change - выводит дополнительную информацию как verbose, но только после того как изменения уже сделаны,

--dereference - изменяет файл, на который указывает символьная ссылка, а не саму ссылку (по умолчанию)

-h, --no-dereference - изменяет каждую символьную ссылку вместо вместо файлов, на которые они указывают (полезно только в системах, которые могут менять владельца символьной ссылки)

--from=CURRENT_OWNER:CURRENT_GROUP - меняет владельца и/или группу каждого файла только если их текущий владелец и/или группа удовлетворяют тем, которые указаны в параметре. Как группа, так и владелец могут быть опущены, в этом случае совпадение для данного атрибута не обязательно.

--no-preserve-root - не обрабатывать '/' особо (по умолчанию)

--preserve-root - отказываться рекурсивно обрабатывать '/'

--reference=RFILE использовать владельца и группу указанного файла (RFILE), вместо того чтобы указывать значения Владелец:Группа

-R, -recursive - обрабатывать файлы и директории рекурсивно

-v, --verbose - выводить информацию по каждому обработанному файлу

Следующие опции управляют тем, как проходится иерархия директорий, когда указан параметр -R. Если несколько опций указано, то сработает только последняя.

-H - если аргумент командной строки является символьной ссылкой на директорию, то пройти по ней

-L - перейти по каждой символьной ссылке на директорию

-P - не переходить по символьным ссылкам (по умолчанию)

chmod - изменение прав доступа к файлам

chmod [-R] permissions filenames

-R - меняет права на файлы, которые находятся в поддиректориях той директории, в которой вы сейчас находитесь (то есть меняет права рекурсивно).

permissions - указывает права, которые будут выданы. Ниже можно найти различные наборы прав, которые могут быть выданы в буквенном и цифровом виде.

filenames - файл или директория, для которой происходит смена прав.

Права в буквенном виде задаются строкой типа [ugoa] [rwx], где первый набор символов указывает для кого меняются права, а второй набор - собственно набор прав:

Права в числовом виде:

400 - чтение владельцем
040 - чтение группой
004 - чтение кем угодно (прочими)
200 - запись владельцем
020 - запись группой
002 - запись кем угодно (прочими)
100 - запуск владельцем
010 - запуск группой
001 - запуск кем угодно (прочими)

Возможно их сумма, к примеру: 777 - права на чтение, запись и исполнение для владельца, группы и всех остальных, 774 - владелец и группа могут читать, записывать в файл и исполнять его, а все остальные только читать файл.

ls - краткий список содержимого директории

-a, --all - показывать скрытые файлы
-d, --directory - выводить имя текущей директории
-F, --classify - в списке помечать директории значком '/', а исполняемые файлы значком '*'
-g - показывать группу файла (но не владельца) в расширенном выводе
-i, --inode - выводить индекс каждого файла
-l - расширенный вывод, показывающий детали о файлах и директориях
-R, --recursive - выводить все найденные поддиректории (рекурсивный вывод)
-t - сортировка по дате изменения, вместо сортировки по имени

cp - копирование файлов

cp myfile yourfile

Скопировать файл "myfile" в файл "yourfile" в текущей рабочей директории. Эта команда создает файл "yourfile", если он не существует. По умолчанию, файл перезаписывается если он существует.

Когда установлен параметр "-i", если файл "yourfile" существует, система выдаст запрос перед тем, как его перезаписать.

cp -i /data/myfile

Копирует файл "/data/myfile" в текущую рабочую директорию и называет его "myfile". Выдаст запрос прежде чем перезаписать файл.

cp -dpr srcdir destdir

Копирует все файлы из директории "srcdir" в директорию "destdir" сохраняя ссылки (-d option), атрибуты файлов (-p option) и копируя рекурсивно (-r option). С этими опциями, вся директория и всё её содержимое могут быть скопированы в другую директорию.

ln - создает символьную ссылку на файл.

ln -s test symlink

Создает символьную ссылку с именем "symlink", которая ведет на файл "test". Команда "ls -i test symlink" покажет два файла отличающиеся значениями индексов (inode). Команда "ls -l test symlink" покажет, что симлинк указывает на файл "test".

locate - быстрый поиск файлов на основе базы данных.

updatedb

Эта команда создает базу данных mlocate. Потребуется некоторое время для выполнения этой команды. Она должна выполняться перед поиском файлов, однако cron выполняет эту команду периодически на большинстве систем.

locate whereis

Выведет все файлы (директории), чьи имена содержат строку "whereis".

more - позволяет организовать постраничный вывод на экран содержимого файла или результата работы команды.

less - организует построчный вывод.

Например: ls --help | less

cat - отправляет содержимое файла на стандартный выход. Это способ вывести содержимое короткого файла на экран. Отлично работает с перенаправлением.

whereis - сообщает все известные экземпляры команды.

wc - печатает число переводов строк, слов и байт для заданного файла.

bg jobs

Переводит текущую задачу (или, используя альтернативную форму, указанные задачи) в фоновое состояние, приостанавливая её выполнение так, что новое приглашение командной строки появляется незамедлительно. Используйте команду jobs чтобы выяснить идентификаторы фоновых задач.

cal month year - выводит календарь для указанного месяца указанного года.

cat files - выводит содержимое указанных файлов.

clear - очищает экран терминала.

cmp file1 file2 - сравнивает два файла, сообщая об отличиях. Похожа на команду diff, но отличается формат вывода.

diff file1 file2 - сравнивает два файла, сообщая об отличиях. Похожа на команду cmp, но отличается формат вывода.

fg jobs - выводит текущую задачу (или указанные задачи) на передний план.

file files - определяет и выводит описание типа каждого указанного файла.

find path -name pattern -print

Ищет по указанному пути файлы с именами удовлетворяющими указанному паттерну (обычно заключенному в одинарные кавычки) и выводит их имена. Команда "find" имеет много других аргументов и функций, используйте "man find".

free - выводит информацию о количестве использованной и свободной системной памяти.

ftp hostname - открывает соединение на указанный хост, разрешая передачу файлов. Программа ftp предоставляет подкоманды для организации передачи файлов, смотри документацию в интернете.

head files - выводит на экран первые несколько строк каждого указанного файла.

ispell files - проверяет орфографию указанных файлов.

kill process_ids

kill -l - убивает указанные процессы, посылает указанным процессам указанные сигналы (в виде номера или имени) или выводит список доступных сигналов.

killall program

Убивает все процессы, которые являются экземплярами указанной программы или отправляет указанный сигнал всем процессам, являющимся экземплярами указанной программы.

man section title - выводит заданную страницу системы помощи man.

ping host - отправляет эхо-запрос с помощью TCP/IP на указанный хост. Ответ на запрос подтверждает, что хост в рабочем состоянии.

reboot - перезагружает систему (требуются привилегии суперпользователя).

shutdown minutes

Выключает систему через указанное количество минут (требуются привилегии суперпользователя). Опция "-r" заставляет систему перезагрузиться вместо выключения.

sleep time - заставляет командный интерпретатор приостановить работу на заданное количество секунд.

sort files - сортирует указанные файлы. Команда имеет много полезных аргументов. Смотри документацию в интернете.

split file - делит файл на несколько меньших файлов. Команда имеет много полезных аргументов. Смотри документацию в интернете.

sync - завершает все ожидающие операции ввода/вывода (требуются привилегии суперпользователя).

telnet host - открывает сессию доступа к указанному хосту.

top - выводит информацию о системных процессах, которая постоянно обновляется до тех пор, пока пользователь не нажмет клавишу "q".

traceroute host - использует эхо-запросы для определения и вывода сетевого пути до хоста.

uptime - выводит информацию о том, сколько времени прошло с последней перезагрузки.

w - выводит список пользователей, подключенных к системе в данный момент.

man - эта команда выводит справочную информация по нужной вам команде, такую как синтаксис, ключи, описание и т.д. Синоним info.
sudo - переход в режим суперпользователя (после первой команды sudo необходимо ввести пароль пользователя).
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo. Пример: sudo reboot

Команды для работы с файлами

pwd – показать текущий каталог
cd - переход в заданную папку
ls - показывает список файлов текущей папки, с ключом -l показывает дополнительные сведения о файлах
cp - копирование файлов/папок
mv - перемещение файлов/папок
rm - удаление файлов/папок, с ключем -R удаляет и все вложенные папки
mkdir - создать папку
rmdir - удаление пустой папки
chmod - изменить права доступа к файлу.

Команды для работы с пакетами

Это одна команда (утилита) с разными ключами.
apt-get update - обновление информации о пакетах из репозиториев
apt-get upgrade - обновление всех пакетов
apt-get clean - очищает локальный репозиторий, т.е. удаляет всё, что вы ранее скачивали. Очень полезно иногда прогонять для очистки диска.
apt-get autoremove - удаление ранее скачаных, но более ненужных пакетов
apt-get remove - удаление пакета из системы, с сохранением его конфигурационных файлов
apt-get purge - удаление пакета со всеми зависимостями
apt-get install - установка пакета.

Управление процессами

ps - показывает текущие активные процессы
kill - команда отправляет сигнал прекращения работы тому или иному процессу, используется для прекращения работы зависшего приложения
killall - прекращение работы всех процессов, соответствующих заданным параметрам
top - интерактивный список текущих процессов, отсортированных по % использования центрального процессора.

Сетевые команды

ifconfig - выводит информацию о сетевых интерфейсах (в windows используется ipconfig)
pppoeconf - комманда настройки подключения к интернет
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
route host - показать путь прохождения пакетов, от вас к host
wget file – скачать file
ssh user@host – подключится к host как user
ufw enable - включить фаервол
ufw disable - выключить фаервол.

Если интересуетесь ОС Debian, рекомендую обратиться к тегу Debian на моем блоге.

Debian. Шпаргалка сисадмина. Работа с файлами и каталогами

Команды сгруппированы по выполняемым изменениям.

Создание, изменение и удаление файлов и каталогов

touch

Изменяет временные штампы файла

Если заданный файл еще не существует, то он создается (как пустой файл с правами доступа 0666, с учетом umask), если не задана опция -c.

Создание файла file_test01 в текущем каталоге:

touch file_test01

Создание файла с указанием метки времени:

touch -t 200701310846.26 file_test01

Можно указать и будущую дату.

Файл будет создаy в том случае, если будет не пустым.
Создание файла file_test02 в текущем каталоге:

nano file_test02

Вообще самым элегантным способом создания пустого файла мне показался вариант простого вывода данных в текстовый файл, этот способ есть в упомянутой выше статье.

Создание пустого файла file_test03 в текущем каталоге:

> file_test03

Про создание файлов на этом все.

mkdir

Создать каталог testdir01 в /root/:

mkdir /root/testdir01

Создать каталог testdir02 в /root/ с полными правами доступа только у владельца, у остальных нет прав даже на чтение (о правах доступа см. ниже):

mkdir -m 700 /root/testdir02

Для удаления файлов и каталогов можно воспользоваться командами ниже.

Удаляет файлы или каталоги

Удалить файл testfile01 из каталога /root/:

rm /root/testfile01

Каталог этой командой без дополнительных аргументов удалить не получится:

rm testdir01

rm: невозможно удалить «testdir01»: Это каталог

rm -r testdir01

rmdir

Удаляет пустые каталоги

Удалить каталог testdir04 из текущего расположения:

rmdir testdir04

Непустые каталоги удалить не получится:

rmdir /root/testdir02

rmdir : не удалось удалить « / root / testdir02 » : Каталог не пуст

Придется использовать rm, как описано выше.

Копирование, переименование и перемещение файлов и каталогов

Перемещает (переименовывает) файлы

mv /root/file_primer03 /root/testdir02/fileprimer031

Хотя для изменения имени файла существует и другая команда.

Для копирования файлов воспользуйтесь другой командой.

Копирование файлов и каталогов

Копирование файла test_file01 из текущего расположения в каталог testdir02:

cp test_file01 testdir02/test_file01

Рекурсивное копирование каталога testdir02 из текущего расположения в новый каталог testdir02_copy:

cp -r testdir02 testdir02_copy

Очень интересное описание параметра:

Просмотр и редактирование

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

Concatenate files and print on the standard output

Отображение содержимого файла test_file01:

cat test_file01

Объединение файла test_file01 с файлом test_file02, результат записывается в файл test_file03 в текущем расположении:

cat test_file01 test_file02 > test_file03

Sort lines of text files

Output the first part of files

Отображение первых строчек файла test_file01 (по умолчанию последние 10 строчек):

head test_file01

Отображение первых 4 строчек файла test_file01:

head -n 4 test_file01

Output the last part of files

Отображение последних строчек файла test_file01 (по умолчанию последние 10 строчек):

tail test_file01

Отображение последних 4 строчек файла test_file01:

tail -n 4 test_file01

-n - output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth

Read from standard input and write to standard output and files

Удобная команда, предназначеня для одновременного вывода информации на экран и в файл.

О всех описанных выше командах можно подробнее прочитать в статье "Операции с файлами и фильтрация".

grep, egrep, fgrep, rgrep

Print lines matching a pattern

О данных командах, в частности речь идет о grep, в некотором будущем я планирую написать отдельную статью, т.к. модели их применения достаточно объемны.

ls, dir, vdir

Выводит содержимое каталога

Отобразить список файлов в текущем расположении:

ls -l
-l - Выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.

Отобразить список файлов в текущем расположении рекурсивно:

ls -lR

-R - Рекурсивно выдавать список содержимого всех каталогов.

Подробнее о команде ls можно прочитать в статье "15 базовых примеров команды ls в Linux"

Поиск файлов

Search for files in a directory hierarchy

Поиск файлов, начинающихся на testf, с корневого каталога:

find / -name "testf*"

locate

Find files by name

Описание с официального сайта:

Команда updatedb создаёт индекс всех файлов и папок, имеющихся в системе. Команда locate позволяет быстро находить файлы в системе по этому индексу без необходимости сканирования всей файловой системы каждый раз. Также см. пакеты mlocate и slocate.

whereis

Locate the binary, source, and manual page files for a command

Команду удобно использовать для определения месторасположения исходных файлов, ман-страниц.
Информация о консольном редакторе nano:

whereis nano

which

Locate a command

Также прочитать подробнее о командах поиска можно в статье "5 способов поиска файлов в Linux, используя терминал.".

Другие команды

Помимо описанных выше существует множество других полезных команд, о которых можно прочитать ниже.

pwd - print name of current/working directory/

Очень полезная команда, которая наиболее часто используется вообще без каких-либо аргументов.

cd - используется для перехода между каталогами.

Для перехода в домашний каталог:

cd

Для перехода в каталог /usr/bin/:

cd /usr/bin/

Переход на один уровень вверх:

cd ..

ln - создает ссылки между файлами

du - оценка места на диске, занимаемого файлом

Вывести размер текущего каталога:

du -sh

На этом пока все, по мере необходимости буду дополнять статью другими командами.

Помимо упомянутых выше, при написании статьи использовались следующие источники:

Читайте также: