Содержание
- 1 Примечания
- 2 Как открыть командную строку Windows?
- 3 Команды XCOPY
- 4 ПРИМЕРЫ КОПИРОВАНИЯ ФАЙЛОВ В LINUX
- 5 Как сохранить атрибуты при копировании
- 6 Создание бэкапа с помощью Командной строки
- 7 Запуск, закрытие программ
- 8 Основные команды, синтаксис и примеры использования батников
- 9 Примеры
- 10 Работа с файлами и папками из командной строки
- 11 Как создать bat файл и использовать его
- 12 ПримерыExamples
- 13 Что происходит при копировании символьных ссылок в Linux
- 14 Команда DIR
Примечания
- Использование параметра /v
Начиная с Windows XP эта команда не используется.
Она предназначена для обеспечения совместимости с файлами MS-DOS - Использование параметра /exclude
Построчный вывод всех строк в каждом файле. При соответствии выведенной строки части пути
копируемого файла, он исключается из процесса копирования. Например, если указана строка
«\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана
строка «.obj», исключается все файлы с расширением .obj. - Использование параметра /z
Если во время фазы копирования теряется сетевое подключение (например, если сервер
переходит автономный режим, разрывая подключение), копирование возобновляется после
восстановления подключения. Использование параметра /z команды вызывает также
отображение доли (в процентах) завершенной операции копирования для каждого файла. - Использование параметра /y в переменной среде COPYCMD.
Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть
переопределена использованием параметра /-y в командной строке. По умолчанию если
команда copy выполняется не в пакетной программе, при замене требуется
подтверждение. - Копирование зашифрованных файлов
При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS),
возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том,
поддерживающий EFS. - Добавление файлов
Чтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с
помощью подстановочных знаков или формата файл1+файл2+файл3). - Значение по умолчанию для результата
Если параметр результат не задан, xcopy будет копировать файлы в текущий
каталог. - Указание в качестве результата файла или каталога
Если параметр результат не содержит существующий каталок или не заканчивается
обратной чертой(\), выводится следующее сообщение:Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы
должны копироваться в каталог.Чтобы устранить вывод этого сообщения, используйте параметр /i. В результате чего,
команда xcopy предполагает, что результат является каталогом, если источник
представляет собой несколько файлов или каталогов. - Использование команды xcopy для установки атрибута «архивный» для файлов
результатаКоманда xcopy создает файлы с установленным атрибутом «архивный», независимо от
состояния этого атрибута у исходных файлов. Для получения дополнительных сведений об
атрибутах файлов команде
attrib. - Сравнение команд xcopy и diskcopy
Команда xcopy должна быть использована вместо diskcopy при копировании
файлов и подкаталогов на диск другого формата. Так как команда diskcopy копирует
диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый
формат. Для команды xcopy это требование не нужно. Обычно следует использовать
команду xcopy, если только не требуется получить два диска с одинаковыми образами. - Коды завершения программы xcopy
Для анализа кодов завершения, выведенных командой xcopy, используйте параметр
уровень_ошибки в командной строке if пакетных программ. Чтобы увидеть
пример пакетной программы, обрабатывающей коды завершения с помощью
if.
В следующей таблице перечислены коды завершения с кратким описанием.Код завершения Описание Файлы скопированы без ошибок 1 Файлы для копирования не найдены 2 Нажата комбинация CTRL+C для остановки команды xcopy 4 Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено
неверное имя диска или неверный синтаксис вызова команды5 Диск защищен от записи
Как открыть командную строку Windows?
Команды XCOPY
Всё готово к финальному шагу: пока ещё работающий жёсткий диск и плюсом к нему свеженький винчестер с увеличенным объёмом готовы к работе. Переходим к командам исполнения. Запускаем командную консоль cmd от имени администратора:
xcopy C: D: /s /e
где буквы С и D – условные буквы присвоенным дискам (обратите внимание – последовательность аргументов произвольная). Копирование диска завершено
Однако эта команда самый простой из вариантов. С помощью следующей можно скопировать в том числе скрытые файлы из папки Данные диска D в папку Документы диска Е:
xcopy /s /i /e /h D:\Данные E:\Документы
Далее, если вам необходимо скопировать данные, включив лишь созданные на какую-то конкретную дату, xcopy это тоже сможет:
xcopy /d:01-03-16 /i E:\Данные E:\Папка
Этим вы скопируете всё, что было создан на диске E в папке Данные в папку Папка того же диска, начиная с 1 марта 2016-го. При этом можно исключать некоторые файлы:
xcopy D:\docs E:\newdocs /EXCLUDE:Блокнот.txt
Напомню, эта операция доступна не только для HDD или SSD. Потренироваться в быстром копировании содержимого можно на USB флешках и SD-картах. Например, имеем флешку, которая содержит некую информацию, для нас крайне важную. Но искать ту среди прочих не хочется за неимением времени. Так что принимается решение разобраться с этим делом после в спокойной обстановке. И для этого нужна лишь флешка подходящего под нужный объём размера – мы даже “состав” флешки смотреть не станем:
Фиксируем буквы дисков. Мне нужно содержимое флешки F перенести на флешку Е. В консоли так и пишем:
Успехов
ПРИМЕРЫ КОПИРОВАНИЯ ФАЙЛОВ В LINUX
Как сохранить атрибуты при копировании
Когда вы копируете файл в новое место, его атрибуты, такие как права доступа к файлам и временные метки файла, изменяются.
Если вы хотите сохранить атрибуты исходного файла, вы можете скопировать файлы с помощью опции -p.
Давайте посмотрим на пример.
ls -l /etc/services -rw-r — r— 1 root root 19183 12 Jan 2018 /etc/services
Если я попытаюсь скопировать этот файл, его атрибуты будут изменены:
ls -l /etc/services -rw-r—r— 1 root root 19183 Jan 12 2018 /etc/services
Но если мы используем параметр p, скопированный файл сохранит режим, право собственности и отметку времени.
cp /etc/services . ls -l services -rwxrwxrwx 1 andreyex andreyex 19183 Nov 27 23:16 services
Как вы можете видеть, вы сохранили режим доступа и временную метку исходного файла с опцией -p.
Но подождите! Разве это не должно было сохранить право собственности на исходные файлы? Но вот владелец (root) исходного файла был изменен на andreyex,
Это связано с тем, что только root имеет разрешение на изменение права собственности на файл, принадлежащий root. Если вы используете опцию -p с файлом, не принадлежащим root, он сохранит право собственности. Или вы можете запустить команду с помощью sudo, это сохранит право собственности на файл, принадлежащий root.
Вы также можете указать атрибуты, которые хотите сохранить. Но тогда вам придется использовать опцию -preserve.
cp —preserve=timestamp /etc/services . ls -l services -rw-r—r— 1 andreyex andreyex 19183 Jan 12 2018 services
Как видно из вышеприведенного вывода, команда сохранила только временную метку исходного файла.
Примеры, показанные здесь, являются наиболее распространенными, которые вы будете использовать в качестве пользователя Linux, сисадмина или разработчика программного обеспечения.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Создание бэкапа с помощью Командной строки
Метод №1 Использование Командной строки и Блокнота для бэкапа данных на внешний носитель
Выполнение бэкапа по своей сути является простым переносом данных с одного места в другое. Сейчас мы запустим ваш компьютер в систему командной строки, найдем ваши файлы и сохраним их. Для тех же, кто из вас не знаком с командами, которые предлагает Командная строка, то вы можете использовать Блокнот для запуска графического интерфейса пользователя.
- Включите ваш компьютер, нажимайте во время запуска системы на клавишу F8, перейдите в пункт «Дополнительные варианты загрузки».
- Далее выберите пункт «Устранение неполадок компьютера». Если вы не можете найти опцию «Устранение неполадок компьютера» в пункте «Дополнительные варианты загрузки», то вам придется использовать ваш установочный диск.
- Если вы используете установочный диск или флеш-носитель, то нажмите на любую кнопку, когда от вас того потребуют. Windows начнет загружать файлы с установочного носителя и вы увидите сообщение «Windows загружает файлы».
- Выберите нужный вам язык, тип раскладки и нажмите кнопку «Далее».
- На следующем экране вы должны будете увидеть кнопку «Установить». Данная кнопка нам не понадобится. Нам понадобится кнопка «Восстановление системы», которая расположена ниже в этом же окне. Нажмите на нее.
- Теперь вам нужно выбрать вашу операционную систему и нажать на кнопку «Далее», чтобы перейти к инструментарию Восстановления.
- Выберите пункт «Командная строка».
- В Командной строке введите команду Notepad.exe и нажмите Enter для запуска Блокнота.
- Как только вы откроете Блокнот, то нажмите на «Файл – Сохранить как…»
- Найдите те файлы, которые вы хотите сохранить на внешний накопитель.
- Подключите внешний накопитель к компьютеру, допустим, у вас это флеш-накопитель.
- Нажмите правой кнопкой мыши на файлах или папках, которые вы собрались копировать на флешку, и выберите «Отправить – ваша флешка(или иной другой накопитель)»
Как вы уже могли понять из описанных выше действий, данный метод является очень хитрым способом простого копирования, которые бы вы смогли сделать, если бы ваша операционная система могла нормально функционировать. Теперь же давайте рассмотрим способ создания бэкапа с помощью исключительно Командной строки.
Метод №2 Использование Командной строки и Блокнота для бэкапа данных на внешний носитель
В данном методе вместо комбинации из Командной строки и Блокнота, мы будем использовать только возможности Командной строки.
- Доберитесь до Командной строки точно также, как это было описано в первом методе этой статьи.
- Далее впишите команду diskpart и нажмите Enter.
- Теперь впишите команду list volumes нажмите Enter, чтобы получить список доступных разделов и их букв. Теперь вставьте флеш-носитель или иной носитель в систему, а затем снова введите команду list volumes. Появившаяся новая буква и будет ваших внешним носителем.
- Впишите команду exit и нажмите Enter, чтобы закрыть просмотр разделов диска.
- Далее впишите букву раздела, с которого вы хотите скопировать нужные вам данные. Например, впишите C: и нажмите Enter.
- Затем впишите dir, чтобы рассмотреть все папки и файлы, которые находятся в данном разделе.
- Для того, чтобы перейти в папку, впишите cd имя папки и нажмите Enter. Чтобы вернуться в предыдущую папку, впишите cd.. и нажмите Enter.
- Для копирования определенной папки или файла на внешний носитель, впишите xcopy директория копирования директория для вставки копируемого\ /E. Например, команда xcopy C:\Users\ /E копирует файлы пользователя и папки на носитель E(замените букву E на другую, которая будет оглавлять ваш внешний накопитель).
Вот и все. Как можно было заметить, использовать Блокнот для создания бэкапа куда более простая задача, нежели использовать только Командную строку. Однако, выбор остается за вами, но мы лично рекомендуем использовать для этого простой Блокнот. Как только вы выполните копирование своих данных, то можете спокойно начинать переустанавливать Windows, а затем проводить восстановление личных данных и файлов из созданного бэкапа.
3
2
Запуск, закрытие программ
Основные команды, синтаксис и примеры использования батников
Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.
Открываем пустой батник и вставляем в него такие команды:
start "" "C:/Program Files/Google/Chrome/Application/chrome.exe" timeout /t 05 start "" "C:/Program Files/Mozilla Firefox/firefox.exe" timeout /t 05 start "" "C:/Program Files/VideoLAN/VLC/vlc.exe"
Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками
Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь
При запуске скрипта будет последовательно открыто четыре окна консоли, это нормальное явление, по выполнении команд все они автоматически закроются, впрочем, можно сделать так, чтобы открывалось только первое окно. Для этого код запуска приложения следует изменить следующим образом:
start /b "" "путь"
Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.
start /b "" "путь" pause
Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:
@echo off chcp 1251 echo "Вы действительно хотите выключить компьютер?" pause shutdown /s /t 0
Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.
Если вместо русского текста при выполнении команды вы увидите крякозябры, попробуйте преобразовать файл скрипта в ANSI.
Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:
del /A /F /Q "D:/data"
А можно и так:
forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path"
В отличие от первой, вторая команда удаляет файлы рекурсивно, то есть в папке data будут удалены все файлы плюс те, которые лежат во вложенных каталогах.
А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:
robocopy C:/data D:/backup /e pause
Запустив такой батник на исполнение, вы скопируете все содержимое папки data в папку backup, включая вложенные каталоги, пустые и с файлами. К слову, команда robocopy имеет много параметров, позволяющих очень гибко настраивать параметры копирования.
Примеры
Для первого примера, скопируем файл /root/katalog/dokument в папку, которая называется «newpapka».
Копирование нескольких файлов в одну директорию.
Cкопируем «dokument» и «file» в каталог «newpapka».
Часто бывает так, когда копируешь несколько файлов, желательно выводить информацию, что происходит. В этом поможет опция «-v».
Команда cp устроена так, что все отправляемые с ее помощью файлы перезаписываются, однако программу можно заставить спрашивать пользователя о том, нужно ли перезаписывать старые данные, для этого есть специальная команда:
Существует альтернатива данной функции, благодаря запросу «-n» можно сказать программе, чтобы она вообще не перезаписывала файлы.
Данная возможность будет полезна при следующей ситуации: пользователю известно, что в определенном месте для копирования уже содержится тот же файл, но с устаревшей версией, а с помощью функции «-u» можно безболезненно перезаписать старые данные:
Скопировать директорию
Для копирование папки со всем ее содержимом необходимо использовать параметр -r.
Если нужно только сделать копию всех файлов без папки, то опция -r не подойдет.
Можно сделать так:
Как видно из примера выше, команда cp работает со знаками «*» и «?», следующий запрос, займется копированием всех файлов, чье название начинается с new:
Для ввода команд быстрее есть возможность применять фигурные скобки, чтобы заиметь копию файла для резерва следует ввести данную команду:
С ее помощью появится резервный файл, который имеет расширение, указанное в скобках.
Одним из неудобств функции cp является то, что она не показывает количество скопированной информации, это мешает, особенно когда приходится работать с тяжелыми файлами. Полоску прогресса можно увидеть, если использовать функцию cv.
Регулярные выражения
Для выполнения других, более сложных функций, придется использовать вместе с cp такие утилиты find и egrep.
С помощью утилиты find есть возможность использовать команды для выявления расположения файлов. Пользователь может найти данные с использованием find, а затем скопировать их, используя функция для копирования.
Вот пример, в нем проводится копирование файлов, которые содержат цифры от 1 до 5:
Здесь:
- /root — каталог где производить поиск.
- -name — критерии поиска.
- — что искать, в данном случаи от одного до пяти.
- -exec — аргумент, который говорит, что нужно запустить команду.
- {} — подставляет имя каждого файла.
Сделать то же самое можно и не прибегая к find, можно обратиться к утилите ls, выбрать нужные файлы, используя регулярные выражения egrep, затем отправить их под контроль cp, применяя при этом xargs:
Данный способ не отличается особым удобством, однако использовать его можно. При работе с ним начнется копирование файлов из основной директории, чьи имена содержат лишь цифры от 1 до 5.
Копирование при помощи перенаправления вывода
В операционной системе Linux есть специальный символ «>», который означает перенаправление вывода.
Благодаря этой возможности можно не только переносить файлы, но и работать с их составляющими. Есть возможность соединить несколько файлов или наоборот разрезать их.
Используя cat можно выводить на экран основные данные файла, а затем, используя bash, пользователь сможет переносить составляющие файла из одного места в другое.
Вот пример:
TAR
Одной из особенностью Linux является то, что в нем одно и то же действие можно выполнять, используя несколько различных команд.
Скопировать данные можно не только с помощью cp. Когда важные системные файлы отправляются в другое место или происходит создание резервных копий данных, нужно, чтобы такие вещи как атрибуты, владельцы данных, ссылки-символы были сохранены без каких-либо изменений.
С помощью cp так делать можно, однако на помощь придется позвать утилиту tar, чтобы она начала работу следует написать в cp «-p».
В качестве примера будет приведен туннель – одна часть запроса архивирует файл и отправляет его, другая – разархивирует и отправляет в нужное место:
С помощью данной команды все из папки /lfc отправляется в папку /epl/lfc. Таким способом можно скопировать любую информацию с компьютера, даже если это операционная система.
Итог
Теперь почти каждый пользователь знает, как копировать файлы в ОС. С помощью терминала делать это можно быстро, главное – запомнить все нужные команды.
Работа с файлами и папками из командной строки
Как создать bat файл и использовать его
Давайте подготовим небольшое тестовое поле, чтобы было на базе чего экспериментировать. Откройте мой компьютер и создайте на диске C:\ папочку test. Зайдите в неё и создайте в ней папку testcopy.
Накидайте туда файлов (штук 5-10) — фотки, документы и тд и тп (любых короче). Поле для экспериментов готово. Далее нам надо создать, собственно, сам bat файл по нажатию на который у нас будет происходить копирование папки C:\test\testcopy в, скажем, папку C:\test\backup. Создавать вторую папку (которая backup) не надо — она будет появляться автоматически.
Создать bat очень просто
Жмем правой кнопкой мышки там где хотим его создать (расположение не важно — можно прямо на рабочем столе) и выбираем «Создать» — «Текстовый документ»
Задаем созданному файлу название и открываем его блокнотом или любым другим текстовым редактором. Т.е. на данный момент мы имеем открытый текстовый файлик, который называется, допустим, копирование.txt.
ПримерыExamples
1. чтобы скопировать все файлы и подкаталоги (включая все пустые подкаталоги) с диска A на диск B, введите:1. To copy all the files and subdirectories (including any empty subdirectories) from drive A to drive B, type:
2. чтобы включить в предыдущий пример все системные или скрытые файлы, добавьте параметр командной строки/h следующим образом:2. To include any system or hidden files in the previous example, add the/h command-line option as follows:
3. чтобы обновить файлы в каталоге \репортс с файлами в каталоге \равдата, которые были изменены с 29 декабря 1993 г., введите:3. To update files in the \Reports directory with the files in the \Rawdata directory that have changed since December 29, 1993, type:
4. чтобы обновить все файлы, существующие в \репортс в предыдущем примере, независимо от даты, введите:4. To update all the files that exist in \Reports in the previous example, regardless of date, type:
5. чтобы получить список файлов для копирования с помощью предыдущей команды (т. е. без фактического копирования файлов), введите:5. To obtain a list of the files to be copied by the previous command (that is, without actually copying the files), type:
Файл xcopy. out содержит список всех копируемых файлов.The file xcopy.out lists every file that is to be copied.
6. чтобы скопировать каталог \кустомер и все подкаталоги в каталог \ \ публик\аддресс на сетевом диске H:, оставьте атрибут «только для чтения» и при создании нового файла в H: введите:6. To copy the \Customer directory and all subdirectories to the directory \\Public\Address on network drive H:, retain the read-only attribute, and be prompted when a new file is created on H:, type:
7. чтобы выполнить предыдущую команду, убедитесь, что команда xcopy создает каталог \аддресс, если он не существует, и подавление сообщения, отображаемого при создании нового каталога, добавьте параметр командной строки /i следующим образом:7. To issue the previous command, ensure that xcopy creates the \Address directory if it does not exist, and suppress the message that appears when you create a new directory, add the /i command-line option as follows:
8. можно создать пакетную программу для выполнения операций xcopy и использовать пакет If для обработки кода выхода при возникновении ошибки.8. You can create a batch program to perform xcopy operations and use the batch if command to process the exit code if an error occurs. Например, в следующей пакетной программе для параметров источника и назначения xcopy используются заменяемые параметры:For example, the following batch program uses replaceable parameters for the xcopy source and destination parameters:
Чтобы использовать предыдущую пакетную программу для копирования всех файлов в каталоге К:\пргмкоде и его подкаталогов на диск B, введите:To use the preceding batch program to copy all files in the C:\Prgmcode directory and its subdirectories to drive B, type:
Интерпретатор команд подставляет к:\пргмкоде для %1 и B: для %2, затем использует xcopy с параметрами командной строки /e и /s .The command interpreter substitutes C:\Prgmcode for %1 and B: for %2, then uses xcopy with the /e and /s command-line options. Если при работе команды xcopy возникает ошибка, пакетная программа считывает код выхода и переходит к метке, указанной в соответствующей инструкции If ERRORLEVEL , а затем отображает соответствующее сообщение и завершает работу из пакетной программы.If xcopy encounters an error, the batch program reads the exit code and goes to the label indicated in the appropriate IF ERRORLEVEL statement, then displays the appropriate message and exits from the batch program.
9. в этом примере копируются все непустые каталоги, а также файлы, имя которых соответствует шаблону, заданному с помощью символа звездочки.9. This example copies all the non-empty directories, plus files whose name match the pattern given with the asterisk symbol.
В предыдущем примере это конкретное значение исходного параметра . \ TOC * . yml копирует те же три файла, даже если их два символа \ пути были удалены.In the preceding example, this particular source parameter value .\toc*.yml copies the same 3 files even if its two path characters .\ were removed. Однако файлы не копируются, если шаблон звездочки был удален из параметра source, что делает его простым . \ TOC. yml.However, no files would be copied if the asterisk wildcard was removed from the source parameter, making it just .\toc.yml.
Что происходит при копировании символьных ссылок в Linux
Символическая ссылка немного походит на ярлык на рабочем столе. Содержимое символической ссылки является адрес физического файла.
Представьте себе, вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- folder_two
- folder3
- documents
- andreyex
Посмотрите на следующую команду:
cp ~/documents/folder_one/file_one ~/documents/folder3/file_one
Здесь не должно быть ничего нового, так как он копирует физический файл из одной папки в другую.
Что происходит, однако, если скопировать символическую ссылку из folder_two в folder3?
cp ~/documents/folder_two/file_one ~/documents/folder3/file_one
Файл, который копируется в folder3 не будет символической ссылкой. Это на самом деле файл, на который указывает символическая ссылка, так на самом деле вы получите тот же результат, как если бы путем копирования file_one из folder_one.
Кстати вы можете получить тот же результат с помощью следующей команды:
cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one
Просто чтобы быть уверенным, хотя есть еще один переключатель, который абсолютно заставляет копировать файл, а не символическую ссылку:
cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one
Если вы хотите скопировать символическую ссылку необходимо указать следующую команду:
cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one
Чтобы символическую ссылку скопировать, а не физический файл с помощью следующей команды:
cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one
Команда DIR
Еще одной очень полезной командой является DIR , которая используется для вывода информации о содержимом дисков и каталогов. Параметр задает диск и каталог, содержимое которого нужно вывести на экран. Параметр задает файл или группу файлов, которые нужно включить в список. Например, команда
DIR C:\*.bat
выведет на экран все файлы с расширением bat в корневом каталоге диска C:. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена (в коротком и длинном вариантах) файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске. Например:
Том в устройстве C имеет метку PHYS1_PART2 Серийный номер тома: 366D-6107 Содержимое папки C:\aditor . <ПАПКА> 25.01.00 17:15 . .. <ПАПКА> 25.01.00 17:15 .. TEMPLT02 DAT 227 07.08.98 1:00 templt02.dat UNINST1 000 1 093 02.03.99 8:36 UNINST1.000 HILITE DAT 1 082 18.09.98 18:55 hilite.dat TEMPLT01 DAT 48 07.08.98 1:00 templt01.dat UNINST0 000 40 960 15.04.98 2:08 UNINST0.000 TTABLE DAT 357 07.08.98 1:00 ttable.dat ADITOR EXE 461 312 01.12.99 23:13 aditor.exe README TXT 3 974 25.01.00 17:26 readme.txt ADITOR HLP 24 594 08.10.98 23:12 aditor.hlp ТЕКСТО~1 TXT 0 11.03.01 9:02 Текстовый файл.txt 11 файлов 533 647 байт 2 папок 143 261 696 байт свободно
С помощью ключей команды DIR можно задать различные режимы расположения, фильтрации и сортировки. Например, при использовании ключа /W перечень файлов выводится в широком формате с максимально возможным числом имен файлов или каталогов на каждой строке. Например:
Том в устройстве C имеет метку PHYS1_PART2 Серийный номер тома: 366D-6107 Содержимое папки C:\aditor TEMPLT02.DAT UNINST1.000 HILITE.DAT TEMPLT01.DAT UNINST0.000 TTABLE.DAT ADITOR.EXE README.TXT ADITOR.HLP ТЕКСТО~1.TXT 11 файлов 533 647 байт 2 папок 143 257 600 байт свободно
С помощью ключа /Aатрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R — «Только чтение», A — «Архивный», S — «Системный», H — «Скрытый», префикс «–» имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и системными, можно задать команду
DIR C:\ /A:HS
а для вывода всех файлов, кроме скрытых — команду
DIR C:\ /A:-H
Отметим здесь, что атрибуту каталога соответствует буква D, то есть для того, чтобы, например, вывести список всех каталогов диска C:, нужно задать команду
DIR C: /A:D
Ключ /Oсортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен, DIR печатает имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения: N — по имени (алфавитная), S — по размеру (начиная с меньших), E — по расширению (алфавитная), D — по дате (начиная с более старых), A — по дате загрузки (начиная с более старых), G — начать список с каталогов. Префикс «–» означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.
Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.
Ключ /B перечисляет только названия каталогов и имена файлов (в длинном формате) по одному на строку, включая расширение. При этом выводится только основная информация, без итоговой. Например:
templt02.dat UNINST1.000 hilite.dat templt01.dat UNINST0.000 ttable.dat aditor.exe readme.txt aditor.hlp Текстовый файл.txt