Теперь, когда вы знаете как перемещаться по каталогам, пришло время взглянуть на содержимое этих каталогов.
Введите ls и нажмите [Enter] . Вы должны увидеть содержимое вашего текущего каталога или, как минимум, его часть.
Команда ls сама по себе не показывает всех файлов в вашем каталоге Чтобы увидеть всё, вы должны указать ещё один или два параметра.
Команда ls воспринимает множество параметров.
Прочитайте в man страницу команды ls
Если вы хотите увидеть все параметры команды ls , вы можете прочитать страницы руководства, выполнив в приглашении оболочки man ls . Если вы хотите распечатать страницу руководства, введите в приглашении man ls | col -b | lpr .
Зачем так много параметров? Все они помогают отсортировать информацию, так как вам это нужно. Например, вы можете указать как отображать файлы, показывать ли разрешения и многое другое.
Рисунок 10-6. ls с параметром -a
Введите ls -a . Теперь вы видите файлы, начинающиеся с точек. Такие файлы называются скрытыми.
Скрытые файлы чаще всего представляют собой конфигурационные файлы, задающие настройки для программ, оконных менеджеров, оболочек и т.д. Они сделаны скрытыми, чтобы предотвратить случайное их повреждение пользователем. Кроме этого, если вы ищете в каталоге что-то, обычно вас не интересуют эти конфигурационные файлы, а так как они скрыты, они не загромождают ваш экран.
Просматривая список файлов с помощью команды ( ls -a ) вы получаете много информации, но указав еще дополнительные параметры, вы сможете увидеть ещё больше.
Если вы хотите увидеть размер файла или каталога, время создания и другие сведения, просто добавьте параметр «long» (длинный) ( -l ) в команду ls -a :
Эта команда покажет дату создания файла, его размер, владельца, разрешения и т.д.
Вы не обязаны находиться в каталоге, содержимое которого вы просматриваете с помощью команды ls .
Посмотрите, что находится в каталоге /etc выполнив:
Вы получите массу информации о содержимом каталога /etc .
Ниже приводится список некоторых часто используемых параметров команды ls . Не забывайте о том, что вы можете получить полный список параметров в руководстве, на странице ls ( man ls ).
-a — all (все). Показывает все файлы в каталоге, включая скрытые файлы ( .filename ). Каталоги .. и . вверху этого списка обозначают родительский и текущий каталог соответственно.
-l — long (длинный). Выводит информацию о содержимом, включая разрешения (режимы), владельца, группу, размер, дату создания, является ли этот файл ссылкой на что-то другое в системе, и если да, то куда указывает эта ссылка.
-F — file type (тип файла). Добавляет в конце каждой строки определённый символ. Это может быть символ / , обозначающий каталог; @ , обозначающий ссылку на другой файл; и * , обозначающий исполняемый файл.
-r — reverse (обратный). Показывает содержимое каталога от конца к началу.
-R — recursive (рекурсивный). Этот параметр также показывает содержимое всех каталогов, вложенных в текущий.
-S — size (размер). Сортирует файлы по их размеру.
Чуть позже в этой главе, когда вы познакомитесь с перенаправлением ввода/вывода, вы откроете для себя другие способы просмотреть содержимое каталога.
Источник
Linux посмотреть содержимое папок
Чтобы просмотреть содержимое подкаталога `work’ в текущем каталоге, введите:
Чтобы просмотреть содержимое каталога `/usr/doc’, введите:
$ ls /usr/doc [Enter]
Из листинга по умолчанию Вы не сможете отличить каталоги и исполняемые файлы от обычных. Используйте ключ `-F’, который заставит ls поместить символ `/’ после имен подкаталогов и символ `*’ после имен исполняемых файлов:
В этом примере текущий рабочий каталог содержит исполняемый файл `repeat’, каталог `words’, и несколько файлов других типов `test1′ и `test2′.
Еще один способ просмотра содержимого каталогов — использование «менеджера файлов» , которых для Linux создано достаточно много; наиболее популярным является «Midnight Commander» или mc.
Чтобы вывести более подробный листинг каталога, используйте ls с ключом `-l’ («long»). Листинг будет содержать размер каждого файла в байтах, время последней модификации, тип файла, имя владельца и права доступа.
Для вывода подробной информации о каталоге `/usr/doc/bash’, введите: Первая строка содержит информацию о полном объеме занимаемого каталогом дискового пространства в блоках по 1024 байта (в данном случае 72). Каждая последующая строка содержит несколько колонок с информацией о каждом файле.
Первая колонка указывает тип файла и права доступа к нему. Первый символ в этой колонке определяет тип файла; тире (`-‘) означает обычный файл (по умолчанию). Каталоги обозначаются буквой `d’, а символические ссылки — буквой `l’. Остальные девять символов в первой колонке указывают права доступа к файлу. Вторая колонка указывает количество жестких ссылов на файл. Третья и четвертая колонки указывают пользователя и группу, которые владеют этим файлом. Пятая колонка содержит размер файла в байтах, шестая — время и дату последней модификации файла, а в последней колонке указано имя файла, к которому относится информация.
Чтобы просмотреть каталог рекурсивно, то есть со всеми содержащимися в нем подкаталогами, используйте опцию `-R’. Например, для текущего каталога введите: В данном примере текущий рабочий каталог содержит два подкаталога, `work’ и `play’, но не содержит файлов. Каждый из подкаталогов содержит файл `notes’.
Чтобы вывести полное оглавление все файловой системы, наберите:
Обычно этот ключ комбинируют с опцией `-l’, чтобы вывести наиболее полный листинг файлов системы:
Примечание: Некоторые каталоги могут не попасть в листинг, если у Вас нет права доступа к ним.
Чтобы отсортировать список файлов в каталоге по времени создания или модификации, используйте опцию `-t’. Например, чтобы вывести список файлов в каталоге `/usr/tmp’, чтобы самые новые файлы были вверху списка, введите:
$ ls -t /usr/tmp [Enter]
По умолчанию, ls не выводит имена файлов, начинающиеся с символа «точка» (`.’). Чтобы уменьшить листинг, многие приложения «скрывают» файлы конфигурации в Вашем домашнем каталоге, присваивая им имена, начинающиеся с точки; они называются dot-файлы, или «скрытые» . Каждый каталог имеет два специальных dot-файла: `..’ — родительский каталог и `.’ — сам этот каталог.
Чтобы увидеть все файлы в каталоге, включая скрытые, используйте опцию `-a’. Например, для текущего каталога:
Чтобы увидеть все файлы, исключая специальные `..’ и `.’, используйте опцию `’-A:
Чтобы увидеть цветной листинг каталога, используйте ls с ключом `—color’ ; тогда все имена файлов будут выведены разными цветами, в зависимости от их содержания. По умолчанию каталоги выводятся синим, текстовые файлы — белым, исполняемые — зеленым и т.д.
Примечание: Обычно для команды `ls -color’ создается псевдоним `ls’, так что листинг выводится в цвете по умолчанию.
Для того, чтобы вывести граф иерархии каталогов, используйте утилиту tree. Например, для вывода дерева каталогов, начиная с текущего, наберите:
В этом примере выводится дерево каталогов, в котором текущий каталог содержит два подкаталога `projects’ и `trip’; а каталог `projects’, в свою очередь, содержит подкаталоги `current’ и `old’.
Чтобы вывести дерево каталогов для определенного каталога, укажите его имя в качестве аргумента tree. Например, для Вашего домашнего каталога, введите:
Чтобы вывести дерево каталогов, в котором будут присутствовать только имена каталогов, используйте опцию `-d’. Это полезно при выводе полного дерева каталогов системы:
$ tree -d / > tree [Enter]
Команда ls имеет много опций для управления листингом и отображаемой информацией о файлах; приведенная таблица описывает некоторые из них.
Опция
Описание
—color
Вывод имен файлов в цвете, в зависимости от их типа.
-R
Рекурсивный список файлов.
-a
Вывод всех файлов, включая скрытые.
-d
Вывод только имен каталогов, без промсмотра их содержимого.
-f
Вывод содержимого каталога в том порядке, в котором оно записано на диск.
-l
Подробный листинг.
-r
Сортировка содержимого каталога в обратном порядке.
-s
Вывод размера — в блоках по 1K — для каждого файла.
-t
Сортировка по времени создания или модификации файла.
Примечание: Вы можете комбинировать опции в любом порядке; например, чтобы вывести список файлов, отсортированный по времени, со всеми атрибутами, введите `-lt’. Чтобы рекурсивно отобразить все скрытые файлы и их атрибуты, используйте `-lRa’. Порядок опций не имеет значения, так что `-lRa’ означает то же самое, что и `-alR’.
Next: Копирование файлов и каталогов Up: Работа с файлами Previous: Перемещение по каталогам Contents Index Alex Otwagin 2002-12-16
Источник
Команды linux для работы с файловой системой
В этой статье приведен список часто используемых команд для работы с каталогами и файловой системой llinux.Терминал, консоль.
Команды линукс для перехода по директориям системы:
Команда cd используется для перехода в домашний каталог (директорию) /home пользователя.
user для перехода в домашний каталог пользователя можно воспользоваться и этой командой.
Для перехода в любой другой каталог пропишите команду cd и через пробел путь к нужному каталогу.
Например введя в консоли команду cd /home перейдем в каталог /
cd… команда для перехода в каталог уровнем выше того, в котором сейчас находитесь.
cd . /… команда для перехода в каталог двумя уровнями выше того, в котором сейчас находитесь.
cd — переход в каталог в котором вы находились до перехода в текущий каталог.
Команды linux для просмотра содержимого каталогов:
pwd эта команда linux показывает полный путь к каталогу в котором вы сейчас находитесь.
ls команда показывает все содержимое текущего каталога, т.е. каталога в котором вы сейчас находитесь.
ls -F отображает все содержимое текущего каталога и добавляет к файлам и подкаталогам символы, характеризующие их тип.
ls -l кроме содержимого каталога показывает время создания файлов, размер, права доступа и количество файлов в подкаталогах.
ls -a команда отображает скрытые файлы в вашем текущем каталоге.
ls *3* команда показывает список файлов и директорий, содержащие в своем имени цифры.
tree показывает древовидный список файлов и каталогов в вашем текущем каталоге. Также подсчитывает их количество. В зависимости от количества файлов подсчет файлов может занять некоторое время.
dir показывает содержимое вашего текущего каталога в алфавитном порядке и с учётом регистра названий.
df выводит в консоли количество занятого и свободного места на жестком диске для каждого каталога системы.
А команда du покажет вам количество блоков диска, занятых каждым файлов в вашем текущем каталоге.
Команды linux для работы с файлами и каталогами:
(небольшое примечание: Для работы с файлами нужно иметь права доступа к ним. Что это такое можно почитать здесь)
mkdir dir1 создает
каталог с именем dir1
mkdir dir1 dir2 создает два каталога с именами dir1 и dir2
mkdir -p /home/dir1/dir2 создает в каталоге /home дерево директорий. Это значит что создается каталог dir1 с находящимся внутри него каталогом dir2.
rm -f file1 команда линукс для удаления файла с именем file1
rmdir dir1 команда для удаления каталога с именем dir1
rm -rf dir1 удаляет каталог с именем dir1 вместе со всем его содержимым.
rm -rf dir1 dir2 одновременно удаляет два каталога dir1 и dir2 вместе с их содержимым.
Используя linux команду mv можно перемещать и переименовывать файлы и каталоги.
mv dir1 new_dir эта команда перемещает либо переименовывает файл или каталог из dir1 в new_dir
Команды linux для копирования файлов:
cp file1 file2 команда для копирования файла file1 в файл file2
копирует все файлы из каталога dir в текущий каталог.
cp -a /tmp/dir1 команда копирует каталог dir1 из /tmp/ со всем своим содержимым в ваш текущий каталог.
cp -a dir1 dir2 данная команда копирует каталог dir1 в каталог dir2
ln -s file1 lnk1 при помощи этой команды создается символическая ссылка на файл file1 или на каталог.
ln file1 lnk1 а этой командой создается так называемая «жёсткая» (физическая) ссылка на файл file1 или на каталог.
ЗЫ: Список команд линукс будет пополнятся. Постепенно
Источник
Первые шаги в командной строке
Для начала работы в терминале 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 7 — файлы, менявшиеся в течение последних 7 дней;
-mtime +7 — файлы, менявшиеся в срок более чем 7 дней назад;
-mtime -14 — файлы, менявшиеся в срок менее чем 14 дней назад.
Позволяет задать условие относительно времени последнего доступа к файлу, аналогично mtime
Позволяет уточнить размер (или диапазон размера) искомых файлов
Позволяет применить к найденным файлам команду COMMAND
Больше информации о возможностях find можно узнать в файлах документации:
Из встроенных инструментов поиска можно также отметить утилиту whereis . Она предназначена для поиска бинарных и системных файлов и директорий служб. Следующий пример выведет список всех файлов и папок, имеющих прямое отношение к php :
Работа с папками
Для создания новых директорий используется команда mkdir с указанием пути до создаваемой папки. Пример ниже создаст папку /new в существующей директории /home/user :
Если нужно создать сразу несколько вложенных папок, можно использовать параметр -p . В таком случае все несуществующие директории, указанные в пути, будут созданы автоматически. Представим, что нам нужно создать вложенные папки docs/photos/2020-08-17 в текущей директории — это будет выглядеть так:
Если нужно создать несколько папок за раз, можно просто перечислить их через пробел:
Удалить папку можно с помощью команды rmdir с указанием пути. Папка будет удалена только в случае, если она пуста (можно использовать параметр —ignore-fail-on-non-empty , чтобы удалить папку в любом случае). Для удаления нескольких вложенных папок можно аналогично использовать параметр -p . Пример ниже удалит папку /photos и все каталоги внутри неё:
Для удаления есть более эффективный инструмент, rm , про который расскажем ниже.
Работа с файлами
Создание
В терминале есть несколько способов создания новых файлов.
Самый простой, одновременно создающий и файл, и недостающие папки — команда touch . Достаточно передать ей полный путь к файлу. Для примера создадим в папке docs папку copies , а внутри неё — файл copies-list.txt :
Если нужно создать сразу несколько файлов, можно просто перечислить их через пробел:
Ещё один способ создания новых файлов — вызвать какой-нибудь консольный текстовый редактор с указанием полного пути к файлу. Однако все папки придётся создать заранее. Тогда редактор автоматически создаст файл и откроет его для редактирования. Если не сохранить файл в редакторе, даже пустой, он не будет создан. Команда ниже добавит новый файл с помощью редактора 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 .
wget позволяет скачивать данные на сервер. Он поддерживает HTTP, HTTPS и FTP протоколы.
Скачать файл по ссылке в вашу текущую рабочую директорию можно с помощью команды:
С помощью параметра -P можно указать путь, куда нужно сохранить скачиваемый файл:
Полный список параметров wget можно посмотреть в справочной информации:
curl используется как для скачивания файлов на ваш сервер, так и для передачи данных с него на другие серверы / хранилища. Он универсальнее wget благодаря огромному количеству поддерживаемых протоколов: FTP, HTTP, HTTPS, IMAP, POP3, SCP, SFTP, SMB, SMTP, Telnet и др.
В современных дистрибутивах curl установлен по умолчанию. При необходимости установить его вручную можно следующим образом:
Ubuntu и Debian: apt -y install curl
CentOS: yum -y install curl
Для работы с curl нужно знать название и расположение файлов, которые необходимо скачать/загрузить. Например, так будет выглядеть команда на скачивание файла по ссылке:
В примере мы скачиваем архив latest-ru_RU.tar.gz по ссылке и сохраняем его в текущую рабочую директорию с таким же именем — за это отвечает ключ -O . Если использовать опцию -o , можно задать своё имя ( wp.tar.gz ) для сохраняемого файла:
Если нам нужно загрузить файл c нашего сервера на другой, используется следующая конструкция:
Здесь файл filename.txt из текущей рабочей директории загружается на сайт example.com в папку downloads/ и сохраняется с именем filename.txt . Пример подразумевает, что у нас есть права на запись в указанный каталог.
Остальные возможности 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-систем.