103.3 Урок 1
Сертифікат: |
LPIC-1 |
---|---|
Версія: |
5.0 |
Розділ: |
103 GNU та команди Unix |
Тема: |
103.3 Основи роботи з файлами |
Урок: |
1 з 2 |
Вступ
Все в Linux є файлом, тому знати, як ними маніпулювати, дуже важливо. У цьому уроці ми розглянемо основні операції з файлами.
Загалом, як користувачу Linux, вам потрібно буде переміщатися по файловій системі, копіювати файли з одного місця в інше та видаляти їх. Ми також розглянемо команди, пов’язані з керуванням файлами.
Файл – це об’єкт, який зберігає дані та програми. Він складається із вмісту та метаданих (розмір файлу, власник, дата створення, дозволи). Файли організовані в каталоги. Каталог – це файл, у якому зберігаються інші файли.
Серед різних типів файлів:
- Звичайні файли
-
в них зберігаються дані та програми.
- Каталоги
-
містять інші файли.
- Спеціальні файли
-
використовуються при введенні та виведенні.
Звичайно, існують інші види файлів, але вони виходять за рамки цього уроку. Пізніше ми обговоримо, як визначити ці різні типи файлів.
Маніпулювання файлами
Використання ls
для перегляду списку файлів
Команда ls
є одним із найважливіших інструментів командного рядка, який ви повинні вивчити для навігації по файловій системі.
У своїй базовій формі ls
виведе лише імена файлів і каталогів:
$ ls Desktop Downloads emp_salary file1 Music Public Videos Documents emp_name examples.desktop file2 Pictures Templates
При використанні з опцією -l
, ви отримуєте дані у форматі «деталізованого списку» , який показує права на файл або каталог, власника, розмір, дату, час та ім’я файлу:
$ ls -l total 60 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8980 Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Music drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Public drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Videos
Перший символ у виведенні вказує на тип файлу:
-
-
для звичайного файлу.
d
-
для каталогу.
c
-
для спеціального файлу.
Щоб показати розміри файлів у форматі, доступному для читання людиною, додайте параметр -h
:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
Щоб вивести всі файли, включно з прихованими файлами (які починаються з .
), використовуйте параметр -a
:
$ ls -a . .dbus file1 .profile .. Desktop file2 Public .bash_history .dmrc .gconf .sudo_as_admin_successful
Файли конфігурації, такі як .bash_history
, що за замовчуванням приховані, тепер видимі.
Загалом, синтаксис команди ls
задається так:
ls OPTIONS FILE
Де OPTIONS
– це будь-яка з опцій, показаних раніше (щоб переглянути всі можливі опції, запустіть man ls
), а FILE
– це ім’я файлу або каталогу, інформацію про який ви хочете вивести.
Note
|
Якщо |
Створення, копіювання, переміщення та видалення файлів
Створення файлів за допомогою touch
Команда touch
є найпростішим способом створення нових порожніх файлів. Ви також можете використовувати її, щоб змінити часові позначки (тобто час модифікації) існуючих файлів і каталогів. Синтаксис використання touch
такий:
touch OPTIONS FILE_NAME(S)
Без будь-яких опцій touch
створюватиме нові файли для будь-яких імен файлів, які надаються як аргументи, за умови, що файли з такими іменами ще не існують. touch
може створювати будь-яку кількість файлів одночасно:
$ touch file1 file2 file3
Це створить три нові порожні файли з іменами file1
, file2
та file3
.
Кілька опцій touch
спеціально розроблені, щоб дозволити користувачеві змінювати часові позначки для файлів. Наприклад, параметр -a
змінює лише час доступу, тоді як параметр -m
змінює лише час модифікації. Використання обох варіантів разом змінює час доступу і модифікації на поточний час:
$ touch -am file3
Копіювання файлів за допомогою cp
Як користувач Linux, ви часто копіюєте файли з одного місця до іншого. Незалежно від того, чи це музичний файл переміщається з одного каталогу до іншого чи системний файл, використовуйте cp
для виконання всіх завдань копіювання:
$ cp file1 dir2
Цю команду можна буквально інтерпретувати як копіювати file1
до каталогу dir2
. Результатом є наявність file1
всередині dir2
. Щоб ця команда була успішно виконана, у поточному каталозі користувача має існувати file1
. В іншому випадку система повідомляє про помилку з повідомленням No such file or directory
(такий файл або каталог відсутній).
$ cp dir1/file1 dir2
У цьому випадку зверніть увагу, що шлях до file1
є більш чітким. Шлях джерела може бути виражений як відносний або абсолютний шлях. Відносні шляхи наводяться відноснно певного каталогу, тоді як абсолютні шляхи такої прив’язки не мають. Нижче ми додатково пояснимо ці поняття.
На даний момент просто зверніть увагу, що ця команда копіює file1
до каталогу dir2
. Шлях до file1
наведено більш детально, оскільки користувач наразі не знаходиться в dir1
.
$ cp /home/frank/Documents/file2 /home/frank/Documents/Backup
У третьому випадку file2
, розташований за адресою /home/frank/Documents
, копіюється до каталогу /home/frank/Documents/Backup
. Наданий тут вихідний шлях — абсолютний. У двох прикладах вище вихідні шляхи відносні. Коли шлях починається з символу /
, це абсолютний шлях, інакше це відносний шлях.
Загальний синтаксис для cp
такий:
cp OPTIONS SOURCE DESTINATION
SOURCE
– це файл для копіювання, а DESTINATION
– каталог, до якого буде скопійований файл. SOURCE
та DESTINATION
можна вказати як абсолютні або відносні шляхи.
Переміщення файлів за допомогою mv
Як і cp
для копіювання, Linux надає команду для переміщення та перейменування файлів. Вона називається mv
.
Операція переміщення аналогічна операції вирізання та вставки, яку ви зазвичай виконуєте через графічний інтерфейс користувача (GUI, Graphical User Interface).
Якщо ви хочете перемістити файл до нового місця, використовуйте mv
таким чином:
mv FILENAME DESTINATION_DIRECTORY
Приклад нижче:
$ mv myfile.txt /home/frank/Documents
В результаті myfile.txt
переміщується до місц призначення /home/frank/Documents
.
Щоб перейменувати файл, використайте mv
таким чином:
$ mv old_file_name new_file_name
Це змінить назву файлу з old_file_name
на new_file_name
.
За замовчуванням mv
не буде очікувати вашого підтвердження (технічно кажучи «не запитуватиме»), якщо ви хочете перезаписати (перейменувати) існуючий файл. Однак ви можете дозволити системі вас запитувати, використовуючи опцію -i
:
$ mv -i old_file_name new_file_name mv: overwrite 'new_file_name'?
Ця команда запитує дозвіл користувача перед перезаписом old_file_name
на new_file_name
.
І навпаки, при використанні -f
:
$ mv -f old_file_name new_file_name
буде примусово перезаписано файл, не запитуючи жодного дозволу.
Видалення файлів за допомогою rm
rm
використовується для видалення файлів. Подумайте про це як про скорочену форму слова “remove” (перемістити). Зауважте, що дія видалення файлу зазвичай необоротна, тому цю команду слід використовувати з обережністю.
$ rm file1
Ця команда видалить file1
.
$ rm -i file1 rm: remove regular file 'file1'?
Ця команда запитує у користувача підтвердження перед видаленням file1
. Пам’ятайте, що ми вже бачили опцію -i
під час використання mv
вище.
$ rm -f file1
Ця команда примусово видаляє file1
, не очікуючи вашого підтвердження.
Одночасно можна видалити кілька файлів:
$ rm file1 file2 file3
У цьому прикладі file1
, file2
та file3
видаляються одночасно.
Синтаксис для rm
зазвичай має наступний вигляд:
rm OPTIONS FILE
Створення та видалення каталогів
Створення каталогів за допомогою mkdir
Створення каталогів має вирішальне значення для організації ваших файлів і папок. Файли можна згрупувати логічним чином, зберігаючи їх у каталозі. Щоб створити каталог, використовуйте mkdir
:
mkdir OPTIONS DIRECTORY_NAME
де DIRECTORY_NAME
- ім’я каталогу, який потрібно створити. Одночасно можна створити будь-яку кількість каталогів:
$ mkdir dir1
створить каталог dir1
у поточному каталозі користувача.
$ mkdir dir1 dir2 dir3
Попередня команда створила б три каталоги dir1
, dir2
та dir3
одночасно.
Щоб створити каталог разом з його підкаталогами, використовуйте параметр -p
(“parents”):
$ mkdir -p parents/children
Ця команда створить структуру каталогів parents/children
, тобто вона створить каталоги parents
та children
. children
будуть розташовані всередині каталогу parents
.
Видалення каталогів за допомогою rmdir
rmdir
видаляє каталог, якщо він порожній. Його синтаксис задається наступним чином:
rmdir OPTIONS DIRECTORY
де DIRECTORY
може бути одним аргументом або списком аргументів.
$ rmdir dir1
Ця команда видалить dir1
.
$ rmdir dir1 dir2
Ця команда одночасно видалить dir1
і dir2
.
Ви можете видалити каталог з його підкаталогом:
$ rmdir -p parents/children
Це призведе до видалення структури каталогів parents/children
. Зауважте, що якщо будь-який з каталогів не порожній, його не буде видалено.
Рекурсивне маніпулювання файлами та каталогами
Щоб маніпулювати каталогом та його вмістом, потрібно застосувати рекурсію. Рекурсія означає виконати дію і повторити цю дію по всьому дереву каталогів. У Linux опції -r
або -R
або --recursive
зазвичай асоціюються з рекурсією.
Наступний сценарій допоможе вам краще зрозуміти рекурсію:
Ви виводите вміст каталогу students
, який містить два підкаталоги level 1
і level 2
і файл з іменем frank
. Застосовуючи рекурсію, команда ls
виводить вміст students
, тобто level 1
, level 2
та frank
, але не закінчується на цьому. Вона так само входить до підкаталогів level 1
і level 2
і виводить їх вміст і так далі вниз по дереву каталогів.
Рекурсивне виведення за допомогою ls -R
ls -R
використовується для відображення вмісту каталогу разом з його підкаталогами та файлами.
$ ls -R mydirectory mydirectory/: file1 newdirectory mydirectory/newdirectory:
У наведеному вище списку перелічено mydirectory
, включно з усім його вмістом. Ви можете помітити, що каталог mydirectory
містить підкаталог newdirectory
та файл file1
. Каталог newdirectory
порожній, тому вміст не відображається.
Загалом, щоб вивести вміст каталогу, включаючи його підкаталоги, використовуйте:
ls -R DIRECTORY_NAME
Додавання кінцевої косої риски до DIRECTORY_NAME
не має ефекту:
$ ls -R animal
схоже на
$ ls -R animal/
Рекурсивне копіювання з cp -r
cp -r
(або -R
або --recursive
) дозволяє скопіювати каталог разом з усіма його підкаталогами та файлами.
$ tree mydir mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 3 directories, 2 files $ mkdir newcopy $ cp mydir newcopy cp: omitting directory 'mydir' $ cp -r mydir newcopy * tree newcopy newcopy |_mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 4 directories, 2 files
У наведеному вище списку ми помічаємо, що намагаючись скопіювати mydir
у newcopy
, використовуючи cp
без -r
, система відображає повідомлення cp: omitting directory 'mydir'
. Однак, додавши параметр -r
, весь вміст mydir
, включно з ним самим, копіюється до newcopy
.
Щоб скопіювати каталоги та підкаталоги, використовуйте:
cp -r SOURCE DESTINATION
Рекурсивне видалення з rm -r
rm -r
видалить каталог та весь його вміст (підкаталоги та файли).
Warning
|
Будьте дуже обережні з |
При спробі видалити каталог без використання -r
система повідомить про помилку:
$ rm newcopy/ rm: cannot remove 'newcopy/': Is a directory $ rm -r newcopy/
Ви повинні додати -r
, як показано у другій команді, щоб видалення набуло чинності.
Note
|
Вам може бути цікаво, чому ми не використовуємо |
Додайте опцію -i
, щоб отримати запит на підтвердження перед видаленням файлу:
$ rm -ri mydir/ rm: remove directory 'mydir/'?
Перед спробою видалити каталог mydir
система робить запит.
Шаблони пошуку файлів і замінні знаки
Шаблони пошуку файлів — це функція, надана оболонкою Unix/Linux для представлення імен файлів за допомогою спеціальних символів, які називаються символами підстановки.
Символи підстановки, по суті, є символами, які можуть використовуватися для заміни одного або кількох символів. Вони дозволяють, наприклад, показати всі файли, які починаються на літеру A
або всі файли, які закінчуються літерами .conf
.
Замінні знаки дуже корисні, оскільки їх можна використовувати з такими командами, як cp
, ls
або rm
.
Нижче наведено кілька прикладів шаблонів пошуку файлів:
rm *
-
Видалити всі файли в поточному робочому каталозі.
ls l?st
-
Вивести перелік усіх файлів з іменами, які починаються з
l
, за яким слідує будь-який один символ і закінчується наst
. rmdir [a-z]*
-
Видалити всі каталоги, назва яких починається з літери.
Типи символів підстановки
Є три символи, які можна використовувати як замінні знаки в Linux:
*
(зірочка)-
представляє нуль, один або кілька входжень будь-якого символу.
?
(знак питання)-
представляє одиничне входження будь-якого символу.
[ ]
(символи в дужках)-
представляє будь-яке входження символу(ів), узятого у квадратні дужки. Можна використовувати різні типи символів, будь то цифри, літери, інші спеціальні символи. Наприклад, вираз
[0-9]
відповідає всім цифрам.
Зірочка
Зірочка (*
) відповідає нулю, одному або кільком входженням будь-якого символу.
Наприклад:
$ find /home -name *.png
Це дозволить знайти всі файли, які закінчуються на .png
, наприклад, photo.png
, cat.png
, frank.png
. Команда find
буде розглянута далі в наступному уроці.
Аналогічно:
$ ls lpic-*.txt
буде виводити всі текстові файли, які починаються з символів lpic-
, за якими слідує будь-яка кількість символів і закінчуються на .txt
, наприклад, lpic-1.txt
та lpic-2.txt
.
Символ підстановки зірочка можна використовувати для маніпулювання (копіювання, видалення або переміщення) усім вмістом каталогу:
$ cp -r animal/* forest
У цьому прикладі весь вміст animal
скопійовано в forest
.
Загалом, щоб скопіювати весь вміст каталогу, ми використовуємо:
cp -r SOURCE_PATH/* DEST_PATH
де SOURCE_PATH
можна опустити, якщо ми вже знаходимося в потрібному каталозі.
Зірочку, як і будь-який інший символ підстановки, можна використовувати багаторазово в одній команді та в будь-якому місці:
$ rm *ate*
Назви файлів із префіксом нуля, одним або кількома входженням будь-якого символу, за якими слідують літери ate
і закінчуються нуль, одним або кількома входженнями будь-якого символу будуть видалені.
Знак питання
Знак питання (?
) відповідає одному входженню символу.
Розглянемо виведений список:
$ ls last.txt lest.txt list.txt third.txt past.txt
Щоб вивести лише файли, які починаються з l
, за яким слідує будь-який одиничний символ та символи st.txt
, ми використовуємо знак питання (?
):
$ ls l?st.txt last.txt lest.txt list.txt
Відображаються лише файли last.txt
, lest.txt
та list.txt
, оскільки вони відповідають заданим критеріям.
Аналогічно,
$ ls ??st.txt last.txt lest.txt list.txt past.txt
вихідні файли, які мають префікс з будь-яких двох символів, за якими слідує текст st.txt
.
Квадратні дужки
Символи підстановки в квадратних дужках відповідають будь-якому входженню символу(ів), укладеному в ці дужки:
$ ls l[aef]st.txt last.txt lest.txt
Ця команда виводить список всіх файлів, які починаються з l
, за яким слідує будь-який із символів у наборі aef
і закінчується st.txt
.
Квадратні дужки також можуть приймати діапазони:
$ ls l[a-z]st.txt last.txt lest.txt list.txt
Це виведе всі файли з іменами, які починаються з l
, за яким слідує будь-яка маленька літера в діапазоні від a
до z
і закінчується st.txt
.
У квадратних дужках також можна застосувати кілька діапазонів:
$ ls student-1A.txt student-2A.txt student-3.txt $ ls student-[0-9][A-Z].txt student-1A.text student-2A.txt
У виведеному списку показано шкільний довідник зі списком зареєстрованих учнів. Виведено лише тих студентів, чиї реєстраційні номери відповідають наступним критеріям:
-
починається зі
student-
-
за яким слідує цифра та символ верхнього регістру
-
і закінчується на
.txt
Комбінування символів підстановки
Символи підстановки можна комбінувати, наприклад:
$ ls last.txt lest.txt list.txt third.txt past.txt $ ls [plf]?st* last.txt lest.txt list.txt past.txt
Перший компонент підстановки ([plf]
) відповідає будь-якому із символів p
, l
або f
. Другий компонент підстановки (?
) відповідає будь-якому окремому символу. Третій компонент підстановки (*
) відповідає нулю, одному або кільком входженням будь-якого символу.
$ ls file1.txt file.txt file23.txt fom23.txt $ ls f*[0-9].txt file1.txt file23.txt fom23.txt
Попередня команда відображає всі файли, які починаються з літери f
, за якими слідує будь-який набір літер, принаймні одна цифра й закінчується на .txt
. Зауважте, що file.txt
не відображається, оскільки не відповідає цим критеріям.
Вправи до посібника
-
Розгляньте наведений нижче результат виведення:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Що означає символ
d
у виведенні? -
Чому розміри наведено у форматі, зрозумілому людині?
-
Яка була б різниця у виведенні, якби
ls
використовувався без опції?
-
-
Розглянемо команду нижче:
$ cp /home/frank/emp_name /home/frank/backup
-
Що станеться з файлом
emp_name
, якщо цю команду буде виконано успішно? -
Якщо
emp_name
був би каталогом, яку опцію слід додати доcp
, щоб виконати команду? -
Якщо
cp
змінити наmv
, які результати ви очікуєте?
-
-
Погляньте на список:
$ ls file1.txt file2.txt file3.txt file4.txt
Який символ підстановки допоможе видалити весь вміст цього каталогу?
-
Виходячи з попереднього списку, які файли відображатимуться за допомогою наступної команди?
$ ls file*.txt
-
Виконайте команду, додавши відповідні цифри та символи у квадратні дужки, щоб вивести весь вміст, показаний вище::
$ ls file[].txt
Дослідницькі вправи
-
У своєму домашньому каталозі створіть файли під назвою
dog
іcat
. -
Залишаючись у своєму домашньому каталозі, створіть каталог під назвою
animal
. Перемістітьdog
іcat
доanimal
. -
Перейдіть до папки
Documents
, що знаходиться у вашому домашньому каталозі, і всередині створіть каталогbackup
. -
Скопіюйте
animal
та його вміст доbackup
. -
Перейменуйте
animal
уbackup
наanimal.bkup
. -
Каталог
/home/lpi/databases
містить багато файлів, серед яких:db-1.tar.gz
,db-2.tar.gz
таdb-3.tar.gz
. Яку команду можна використати, щоб вивести лише згадані вище файли? -
Погляньте на результат виведення:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Яка команда видалить лише файли PDF із використанням одного символу шаблону пошуку?
Підсумки
У цьому уроці ми досліджували, як переглянути те, що знаходиться в каталозі за допомогою команди ls
, як копіювати (cp
) файли та папки, а також як перемістити (mv
) їх. Ми також розглянули, як можна створити нові каталоги за допомогою команди mkdir
. Також обговорювалися команди для видалення файлів (rm
) і папок (rmdir
).
На цьому уроці ви також дізналися про шаблони пошуку файлів і символи підстановки. Шаблони пошуку файлів використовуються для представлення імен файлів за допомогою спеціальних символів, які називаються символами підстановки. Основні символи підстановки та їх значення:
?
(знак питання)-
представляє одиничне входження символу.
[ ]
(квадратні дужки)-
представляє будь-який символ(и), укладений у квадратні дужки.
*
(зірочка)-
представляє нуль, один або кілька входжень будь-якого символу.
Ви можете комбінувати будь-які з цих символів підстановки в одному операторі.
Відповіді на вправи до посібника
-
Розгляньте наведений нижче результат виведення:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Що означає символ
d
у виведенні?d
- це символ, який ідентифікує каталог. -
Чому розміри наведено у форматі, зрозумілому людині?
Завдяки опції
-h
. -
Яка була б різниця у виведенні, якби
ls
використовувався без опції?Буде надано лише імена каталогів і файлів.
-
-
Розглянемо команду нижче:
$ cp /home/frank/emp_name /home/frank/backup
-
Що станеться з файлом
emp_name
, якщо цю команду буде виконано успішно?emp_name
буде скопійовано доbackup
. -
Якщо
emp_name
був би каталогом, яку опцію слід додати доcp
, щоб виконати команду?-r
-
Якщо
cp
змінити наmv
, які результати ви очікуєте?emp_name
буде переміщено доbackup
. Він більше не буде присутнім у домашньому каталозі користувачаfrank
.
-
-
Погляньте на список:
$ ls file1.txt file2.txt file3.txt file4.txt
Який символ підстановки допоможе видалити весь вміст цього каталогу?
Зірочка
*
. -
Виходячи з попереднього списку, які файли відображатимуться за допомогою наступної команди?
$ ls file*.txt
Усі, оскільки символ зірочки позначає будь-яку кількість символів.
-
Виконайте команду, додавши відповідні цифри та символи у квадратні дужки, щоб вивести весь вміст, показаний вище:
$ ls file[].txt
file[0-9].txt
Відповіді до дослідницьких вправ
-
У своєму домашньому каталозі створіть файли під назвою
dog
іcat
.$ touch dog cat
-
Залишаючись у своєму домашньому каталозі, створіть каталог під назвою
animal
. Перемістітьdog
іcat
доanimal
.$ mkdir animal $ mv dog cat -t animal/
-
Перейдіть до папки
Documents
, що знаходиться у вашому домашньому каталозі, і всередині створіть каталогbackup
.$ cd ~/Documents $ mkdir backup
-
Скопіюйте
animal
та його вміст доbackup
.$ cp -r animal ~/Documents/backup
-
Перейменуйте
animal
уbackup
наanimal.bkup
.$ mv animal/ animal.bkup
-
Каталог
/home/lpi/databases
містить багато файлів, серед яких:db-1.tar.gz
,db-2.tar.gz
таdb-3.tar.gz
. Яку команду можна використати, щоб вивести лише згадані вище файли?$ ls db-[1-3].tar.gz
-
Погляньте на результат виведення:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Яка команда видалить лише файли PDF із використанням одного символу шаблону пошуку?
$ rm *.pdf