
Linux – це відкрита операційна система, яка забезпечує широкий спектр можливостей для хакерів. Вона заснована на UNIX і відома своєю стабільністю, надійністю та безпекою. Лінукс має багатий набір інструментів, які дозволяють хакерам виконувати різноманітні завдання, включаючи перехоплення пакетів, аналіз безпеки мережі, відновлення паролів та багато іншого. Однією з основних переваг Linux для хакерів є його гнучкість та можливість налаштування під власні потреби. Ви можете налаштувати свою операційну систему самостійно, вибрати необхідний інтерфейс користувача, додатки та середовище розробки. Це дозволяє зосередитися на потребах хакерів і створювати оптимальне робоче середовище. Крім того, Linux має потужну командну оболонку, що називається “Bash”.
Це дозволяє хакерам використовувати скрипти для автоматизації рутинних задач та збільшення продуктивності. Командна оболонка Bash також підтримує широкий спектр утиліт та програм, які полегшують роботу з мережами, файловими системами, процесами та іншими компонентами операційної системи. Навчання основам Linux для хакерів є кроком вперед у світі кібербезпеки. Ви зможете використовувати різноманітні інструменти, такі як Metasploit, Wireshark, Nmap та інші, для здійснення тестування на проникнення, аналізу вразливостей та розробки власних скриптів. “Основи Linux для хакерів” надають чітку та зрозумілу інформацію про установку, налаштування та використання Linux у кібербезпеці. Ви дізнаєтеся про команди Linux, файлову систему, мережеві налаштування та безпекові аспекти. Отримайте необхідні навички для розуміння та використання Linux у сфері кібербезпеки. “Основи Linux для хакерів” – ваш крок до впевненості у світі хакінгу на основі відкритої операційної системи Linux. Почніть свій шлях у кібербезпеці вже сьогодні!
Перш ніж ми почнемо нашу подорож дивовижним світом основ Linux для хакерів, я хочу представити кілька термінів, які повинні прояснити деякі поняття, що обговорюються далі в цьому розділі.
Двійкові файли – цей термін заявки на файли, які можна виконати, подібно до виконуваних файлів у вікні. Двійкові файли знаходяться в каталозі /usr/bin або usr/sbin і включають такі утиліти, як ps, cat, ls і cd (у цій главі ми торкнемося всіх чотирьох із ними), як і такі програми, як бездротовий хакерський інструмент aircrackng і вторгнення системи виявлення (IDS) Snort.
Чутливість до регістру – на відміну від Windows, Linux чутливий до регістру. Це означає, що Desktop є відрізняється від desktop, який відрізняється від DeskTop. Кожне з них представлятиме інше ім’я файлу або каталогу. Багато людей, які походять із середовища Windows, можуть вважати це неприємним. Якщо ви отримуєте повідомлення про помилку “файл або каталог не знайдено” і ви впевнені, що файл або каталог існує, можливо, вам потрібно перевірити свій випадок.
Каталог – це те саме, що папка в Windows. Каталог забезпечує спосіб організації файлів, як правило, ієрархічним чином.
Головна – кожен користувач має власний каталог /home, і, як правило, тут типово зберігаються створені вами файли.
Kali Kali Linux – це дистрибутив Linux, спеціально розроблений для тестування на проникнення. Він має сотні попередньо встановлених інструментів, що заощаджує вам години, необхідні для їх самостійного завантаження та встановлення. На момент написання цієї статті ми будемо використовувати останню версію Kali: Kali 2018.2, вперше випущену у квітні 2018 року.
Root – як і майже кожна операційна система, Linux має обліковий запис адміністратора або суперкористувача, призначений для використання довіреною особою, яка може робити майже все в системі. Це включатиме такі речі, як переналаштування системи, додавання користувачів та зміна паролів. У Linux цей обліковий запис називається root. Як хакер або пентестер, ви часто використовуєте обліковий запис root, щоб дати собі контроль над системою. Насправді, багато хакерських інструментів вимагають, щоб ви використовували обліковий запис root.
Скрипт – це серія команд, що виконуються в інтерпретаційному середовищі, яке перетворює кожен рядок у вихідний код. Багато інструментів злому – це просто скрипти. Скрипти можна запускати за допомогою інтерпретатора bash або будь-якого іншого інтерпретатора скриптової мови, такого як Python, Perl або Ruby. Python в даний час є найпопулярнішим інтерпретатором серед хакерів.
Оболонка – це середовище та інтерпретатор для запуску команд у Linux. Найбільш широко використовуваною оболонкою є bash, що розшифровується як оболонка Борна, але інші популярні оболонки включають оболонку C і оболонку Z. Я буду використовувати bash shell виключно в цій книзі.
Термінал – це інтерфейс командного рядка (CLI).
Маючи ці основи позаду, ми спробуємо методично розвинути основні навички Linux, які вам знадобляться, щоб стати хакером або тестувальником проникнення. У цьому першому розділі я розповім вам про початок роботи з Kali Linux.
Після запуску Kali вас зустріне екран входу, як показано на мал. Увійдіть, використовуючи root обліковий запис username root і пароль за замовчуванням toor.
Тепер ви повинні мати доступ до робочого столу Kali. Ми швидко розглянемо два основних аспекти робочого столу: інтерфейс терміналу та структуру файлів.
Першим кроком у використанні Kali є відкриття терміналу, який є інтерфейсом командного рядка, який ми будемо використовувати в цій книзі. У Kali Linux ви знайдете піктограму терміналу внизу робочого столу. Двічі клацніть цю піктограму, щоб відкрити термінал, або натисніть клавішу CTRLALTT. Ваш новий термінал повинен виглядати так, як показано на малюнку.
Цей термінал відкриває середовище командного рядка, відоме як оболонка, яка дозволяє запускати команди в базових операційних системах і писати сценарії. Хоча Linux має багато різних середовищ оболонки, найпопулярнішою є оболонка bash, яка також є оболонкою за замовчуванням у Kali та багатьох інших дистрибутивах Linux. Для зміни пароля можна скористатися командою passwd.
Структура файлової системи Linux дещо відрізняється від структури Windows. Linux не має фізичного диска (наприклад, диска C:) в основі файлової системи, але замість цього використовує логічну файлову систему. На самому верху структури файлової системи знаходиться /, який часто називають коренем файлової системи, як якщо б це було перевернуте дерево. Майте на увазі, що це відрізняється від кореневого користувача. Спочатку ці терміни можуть здатися заплутаними, але їх стане легше розрізняти, як тільки ви звикнете до Linux.
Корінь (/) файлової системи знаходиться у верхній частині дерева, і нижче наведено найважливіші підкаталоги, які слід знати:
/root Домашній каталог всемогутнього кореневого користувача
/etc Зазвичай містить файли конфігурації Linux — файли, які контролюють, коли і як програми запускаються
/home Домашній каталог користувача
/mnt Де інші файлові системи приєднані або змонтовані до файлової системи
/media Де компакт-диски та USB-пристрої зазвичай підключаються або монтуються до файлової системи
/bin Де знаходяться двійкові файли програм (еквівалент виконуваних файлів у Microsoft Windows)
/lib Де можна знайти бібліотеки (спільні програми, подібні до бібліотек DLL Windows)
У цій книзі ми приділимо більше часу цим ключовим каталогам. Розуміючи ці каталоги першого рівня важливі для навігації файловою системою з командним рядком.
Також важливо знати, перш ніж почати, що ви не повинні входити в систему як root, коли виконуйте рутинні завдання, тому що кожен, хто зламає вашу систему (так, хакери іноді вас зламали), якщо ви ввійшли в систему як root, одразу отримайте root привілеї щоб «володіти» вашою системою. Увійдіть як звичайний користувач, починаючи з перегляду веб-сторінок, запуск таких інструментів, як Wireshark тощо.
Для початку давайте розглянемо деякі основні команди, які допоможуть вам встати і працювати в Linux.
На відміну від того, коли ви працюєте в графічному середовищі інтерфейсу користувача (GUI), такому як Windows або macOS, командний рядок в Linux не завжди робить очевидним, в якому каталозі ви зараз перебуваєте. Щоб перейти до нового каталогу, зазвичай потрібно знати, де ви зараз знаходитесь. Команда поточного робочого каталогу, pwd, повертає ваше розташування в структурі каталогів.
Введіть pwd у вашому терміналі, щоб побачити, де ви знаходитесь:
kali >pwd /root
У цьому випадку Linux повернув /root, повідомивши мені, що я перебуваю в каталозі користувача root. І оскільки ви ввійшли як root під час запуску Linux, ви також повинні бути в каталозі кореневого користувача, який знаходиться на рівень нижче верхньої частини структури файлової системи (/). Якщо ви перебуваєте в іншому каталозі, pwd поверне це ім’я каталогу.
У Linux єдиний “всемогутній” суперкористувач або системний адміністратор називається root, і він має всі системні привілеї, необхідні для додавання користувачів, зміни паролів, зміни привілеїв тощо. Очевидно, ви не хочете, щоб хтось мав можливість вносити такі зміни; Вам потрібен хтось, кому можна довіряти і хто має належні знання операційної системи. Як хакер, ви, як правило, повинні мати всі ці права для запуску потрібних програм і команд (багато хакерських інструментів не працюватимуть, якщо у вас немає прав root), тому ви захочете увійти як root.
Якщо ви забули, чи ввійшли ви як root чи інший користувач, ви можете скористатися командою whoami, щоб побачити, яким користувачем ви ввійшли як:
kali >whoami root
Якби я увійшов як інший користувач, наприклад, мій особистий обліковий запис, whoami повернув би моє ім’я користувача, як показано тут:
kali >whoami OTW
Навігація файловою системою з терміналу є важливою навичкою Linux. Щоб що-небудь зробити, вам потрібно мати можливість переміщатися, щоб знайти програми, файли та каталоги, розташовані в інших каталогах. У системі на основі графічного інтерфейсу ви можете візуально бачити каталоги, але коли ви використовуєте інтерфейс командного рядка, структура повністю заснована на тексті, а навігація по файловій системі означає використання деяких команд.
Для зміни каталогів з терміналу використовується команда change directory, cd. Наприклад, ось як змінити каталог /etc, який використовується для зберігання файлів конфігурації:
kali >cd /etc root@kali:/etc#
Підказка зміниться на root@kali:/etc, вказуючи, що ми знаходимося в каталозі /etc. Ми можемо підтвердити це, ввівши pwd:
root@kali:/etc# pwd /etc
Щоб перейти на один рівень вгору в файловій структурі (до кореня файлової структури, або /), ми використовуємо cd, за яким слідують подвійні крапки (..), як показано тут:
root@kali:/etc# cd ..
root@kali:/# pwd
/ root@kali:/ #
Це перемістить нас на один рівень вгору від /etc до кореневого каталогу / , але ви можете просунутися вгору на стільки рівнів, скільки вам потрібно. Просто використовуйте таку саму кількість пар з подвійними крапками, скільки кількість рівнів, які потрібно перемістити:
Ви б використовували .. , щоб піднятися на один рівень.
Ви б використовували .. .. , щоб піднятися на два рівні вгору.
Ви б використовували .. .. .. просунутися вгору на три рівні і так далі.
Так, наприклад, щоб переміститися вгору на два рівні, введіть cd, а потім два набори подвійних крапок з пробілом між ними:
Kali >cd .. ..
Ви також можете перейти на кореневий рівень у файловій структурі з будь-якого місця, ввівши cd /, де / представляє корінь файлової системи.
Щоб побачити вміст каталогу (файлів і підкаталогів), ми можемо скористатися командою ls (list). Це дуже схоже на команду dir в Windows.
Kalі >LS bin initrd.img media run var boot initrd.img.old mnt sbin vmlinuz dev lib opt srv vmlinuz.old etc lib64 proc tmp home lost+found root usr
Ця команда перелічує як файли, так і каталоги, що містяться в каталозі. Ви також можете використовувати цю команду в будь-якому конкретному каталозі, а не тільки в тому, в якому ви зараз перебуваєте, вказавши ім’я каталогу після команди; Наприклад, ls /etc показує, що знаходиться в каталозі /etc.
Щоб отримати більше інформації про файли та каталоги, такі як їхні дозволи, власник, розмір та час останньої зміни, ви можете додати перемикач -l після ls (l означає довго). Це часто називають довгим перерахуванням.
Давайте спробуємо тут:
Як бачите, ls -l надає нам значно більше інформації, наприклад, чи є об’єкт файлом або каталогом, кількість посилань, власник, група, її розмір, коли вона була створена або змінена, і її ім’я.
Зазвичай я додаю перемикач -l щоразу, коли роблю лістинг у Linux, але до кожного своє. Деякі файли в Linux приховані і не будуть виявлені простою командою ls або ls -l.
Щоб відобразити приховані файли, додайте перемикач нижнього регістру, наприклад: Калі >ls -la Якщо ви не бачите файл, який очікуєте побачити, варто спробувати ls із позначкою a.
Майже кожна команда, програма або утиліта має спеціальний файл довідки в Linux, який містить вказівки щодо їх використання. Наприклад, якщо мені потрібна допомога з використанням найкращого інструменту бездротового злому, aircrackng, я міг би просто ввести команду aircrack-ng, а потім команду –help:
kali >aircrack-ng –help
Зверніть увагу на подвійне тире тут. Угода в Linux полягає у використанні подвійного тире (–) перед параметрами слів, таких як довідка, і одного тире (-) перед однолітерними параметрами, такими як -h.
Коли ви вводите цю команду, ви повинні побачити короткий опис інструменту та вказівки щодо його використання. У деяких випадках можна використовувати або -h, або -? , щоб перейти до файлу довідки. Наприклад, якщо мені потрібна допомога з використанням найкращого хакерського інструменту сканування портів, nmap, я б ввів наступне:
калі >nmap -h
На жаль, хоча багато програм підтримують всі три варіанти (–help, -h і -?), немає гарантії, що програма, яку ви використовуєте, буде. Тому, якщо один варіант не працює, спробуйте інший.
Окрім перемикача довідки, більшість команд і програм мають посібник (man) сторінку з додатковою інформацією, такою як опис і короткий опис команди або додаток. Ви можете переглянути сторінку довідки, просто ввівши man перед командою, утилітою, або додаток.
Наприклад, щоб переглянути сторінку довідки для aircrackng, потрібно ввести наступне:
Це відкриває посібник для aircrackng, надаючи вам більш детальну інформацію, ніж довідковий екран. Ви можете прокрутити цей файл вручну за допомогою клавіші ENTER, або ви можете перегорнути та зменшити сторінку за допомогою клавіш PG DN та PG UP відповідно. Щоб вийти, просто введіть q (для quit), і ви повернетеся до командного рядка.
Поки ви не ознайомитеся з Linux, орієнтуватися може бути неприємно, але знання кількох основних команд і методів допоможе зробити командний рядок набагато зручнішим. Наступні команди допоможуть вам знайти речі з терміналу.
Напевно, найпростішою командою для використання є locate. Після ключового слова, що позначає те, що саме ви хочете знайти, ця команда пройде через всю вашу файлову систему та знайде кожне входження цього слова.
Наприклад, щоб знайти aircrackng, введіть наступне:
kali >locateaircrack-ng /usr/bin/aircrackng /usr/share/applications/kaliaircrackng.desktop /usr/share/desktopdirectories/05101aircrackng.directory snip /var/lib/dpkg/info/aircrackng.mg5sums
Однак команда locate не є досконалою. Іноді результати пошуку можуть бути приголомшливими, надаючи вам занадто багато інформації. Крім того, функція пошуку використовує базу даних, яка зазвичай оновлюється лише раз на день, тому, якщо файл було створено кілька хвилин або кілька годин тому, він може з’явитися в цьому списку лише наступного дня. Варто знати недоліки цих основних команд, щоб ви могли краще вирішити, коли краще використовувати кожну з них.
Якщо ви шукаєте бінарний файл, ви можете скористатися командою whereis, щоб знайти його. Ця команда повертає не тільки розташування двійкового файлу, але і його джерело і головну сторінку, якщо вони доступні.
Ось приклад:
kali >whereisaircrack-ng aircarckng: /usr/bin/aircarckng /usr/share/man/man1/aircarckng.1.gz
У цьому випадку повертаються лише двійкові файли aircrackng і сторінка довідки, а не кожне повторення слова aircrackng. Набагато ефективніше та яскравіше, вам не здається?
Команда which є ще більш конкретною: вона повертає лише розташування двійкових файлів у змінній PATH у Linux. Ми докладніше розглянемо змінну PATH у розділі 7, але наразі достатньо знати, що PATH містить каталоги, у яких операційна система шукає команди, які ви виконуєте в командному рядку. Наприклад, коли ми вводимо aircrack-n у командному рядку, операційна система шукає змінну PATH, щоб побачити, у яких каталогах їй слід шукати aircrackng:
kali >whichaircrack-ng /usr/bin/aircrackng
Тут, який зміг знайти один бінарний файл у каталогах, указаних у змінній PATH. Як мінімум, ці каталоги зазвичай включають /usr/bin, але можуть містити /usr/sbin і, можливо, кілька інших.
Команда find є найпотужнішою і гнучкою з утиліт пошуку. Він здатний розпочати пошук у будь-якому визначеному каталозі та шукати ряд різних параметрів, включаючи, звичайно, ім’я файлу, а також дату створення або зміни, власника, групу, дозволи та розмір.
Ось основний синтаксис для find:
Пошук виразу параметрів каталогу
Отже, якби я хотів шукати файл з ім’ям apache2 (веб-сервер з відкритим вихідним кодом), що починається в кореневому каталозі, я б ввів наступне:
kali >find /➊ -type f➋ -name apache2➌ Спочатку заявляю директорію, в якій потрібно починати пошук, в даному випадку / ➊. Потім вказую, який тип файлу шукати, в даному випадку f для звичайного файлу ➋. Нарешті, я даю ім’я файлу, який я шукаю, в даному випадку apache2 ➌.
Мої результати пошуку показані тут:
kali >find / -type f -name apache2 /usr/lib/apache2/mpmitk/apache2 /usr/lib/apache2/mpmevent/apache2 /usr/lib/apache2/mpmworker/apache2 /usr/lib/apache2/mpmprefork/apache2 /etc/cron.daily/apache2 /etc/logrotate.d/apache2 /etc/init.d/apache2 /etc/default/apache2
Команда find починалася у верхній частині файлової системи (/), проходила по кожному каталогу, шукаючи apache2 в імені файлу, а потім перераховувала всі знайдені екземпляри.
Як ви можете собі уявити, пошук, який шукає в кожному каталозі, може бути повільним. Один із способів прискорити його – шукати лише в каталозі, де ви очікуєте знайти потрібні файли. У цьому випадку ми шукаємо файл конфігурації, щоб ми могли розпочати пошук у каталозі /etc, а Linux шукатиме лише у своїх підкаталогах.
Давайте спробуємо:
kali >знайти /etc -type f -name apache2 /etc/init.d/apache2 /etc/logrotate.d/apache2 /etc/cron.daily/apache2
Цей набагато швидший пошук виявив лише випадки apache2 у каталозі /etc та його підкаталогах. Важливо також зазначити, що на відміну від деяких інших команд пошуку, find відображає лише точні збіги імен. Якщо файл apache2 має розширення, наприклад apache2.conf, пошук не знайде відповідності. Ми можемо виправити це обмеження, використовуючи символи узагальнення, які дозволяють нам зіставляти кілька символів. Символи узагальнення бувають у кількох різних формах: * . , ? і [].
Давайте розглянемо в каталозі /etc всі файли, які починаються з apache2 і мають будь-яке розширення. Для цього ми могли б написати команду пошуку, використовуючи наступну символ узагальнення:
kali >find /etc -type f --name apache2.* /etc/apache2/apache2.conf
Коли ми запускаємо цю команду, ми виявляємо, що в каталозі /etc є один файл, який відповідає шаблону apache2.*. Коли ми використовуємо крапку, за якою слідує * wildcard, термінал шукає будь-яке розширення після імені файлу apache2. Це може бути дуже корисним методом для пошуку файлів, розширення яких невідоме.
Коли я виконую цю команду, я знаходжу два файли, які починаються з apache2 у каталозі /etc, включаючи файл apache2.conf.
Дуже часто при використанні командного рядка вам знадобиться пошук певного ключового слова. Для цього ви можете використовувати команду grep як фільтр для пошуку ключових слів.
Команда grep часто використовується, коли вивід передається від однієї команди до іншої. Linux і Windows дозволяє нам взяти вихід однієї команди і відправити її як вхідні дані іншій команді. Це називається трубопроводами, і ми використовуємо | для цього (клавіша | зазвичай знаходиться над клавішею ENTER на клавіатурі).
Команда ps використовується для відображення інформації про процеси, запущені на машині. Для цього прикладу, припустимо, що я хочу побачити всі процеси, запущені в моїй системі Linux. У цьому випадку я можу використовувати команду ps (процеси), за якою слідують перемикачі aux, щоб вказати, яку інформацію про процес відображати, наприклад: kali >ps aux.
Це надає мені список усіх процесів, запущених у цій системі, але що робити, якщо я просто хочу знайти один процес, щоб перевірити, чи запущено його?
Я можу зробити це, перенісши вихідні дані з ps до grep і шукаючи ключове слово. Наприклад, щоб дізнатися, чи працює служба apache2, я б ввів наступне.
kali >ps aux | grep apache2 root 4851 0.2 0.7 37548 7668 ? Ss 10:14 0:00 /usr/sbin/apache2 k start root 4906 0.0 0.4 37572 4228 ? S 10:14 0:00 /usr/sbin/apache2 k start root 4910 0.0 0.4 37572 4228 ? Ss 10:14 0:00 /usr/sbin/apache2 k почати snip
Ця команда каже Linux відобразити всі мої послуги, а потім надіслати цей вихід до grep, який перегляне вихідні дані для ключового слова apache2, а потім відобразить лише відповідний вихід, тим самим заощадивши мені значний час та мій зір.
Знайшовши файли та каталоги, потрібно виконати з ними дії. У цьому розділі ми розглянемо, як створювати файли і каталоги, копіювати файли, перейменовувати файли, видаляти файли і каталоги.
Існує багато способів створення файлів у Linux, але зараз ми розглянемо лише два прості методи. По-перше, cat, що є скороченням від concatenate, що означає об’єднати частини разом (не посилання на вашу улюблену домашню котячу). Команда cat зазвичай використовується для відображення вмісту файлу, але її також можна використовувати для створення невеликих файлів. Для створення більших файлів краще ввести код у текстовому редакторі, наприклад vim, emacs, leafpad, gedit або kate, а потім зберегти його як файл.
Команда cat, за якою слідує ім'я файлу, відображатиме вміст цього файлу, але щоб створити файл, ми слідуємо команді cat з перенаправленням, позначеним символом >, та ім'ям файлу, який ми хочемо створити. Ось приклад: kali >cat>hackingskills
Якщо ви не використовуєте символ перенаправлення, Linux виплюне назад вміст вашого файлу.
Щоб додати або додати більше вмісту до файлу, можна скористатися командою cat із подвійним переспрямуванням (>>), а потім усім, що потрібно додати в кінець файлу. Ось приклад:
kali >cathackingskills
Кожен повинен навчитися хакерству Linux знову переходить в інтерактивний режим, чекаючи, поки контент додасться до файлу.
Linux знову переходить в інтерактивний режим, очікуючи додавання вмісту до файлу. Коли ми вводимо Everyoneshouldlearnhacking та натискаемо CTRLD, ми повертаемось до підказки. Тепер, коли відображается вміст цього файлу за допомогою cat, ми бачимо, що до файлу додано Everyoneshouldlearnhacking, як показано тут:
kali >cathackingskills
Хакерство – найцінніший набір навичок 21 століття! Кожен повинен навчитися хакерству. Якщо я хочу перезаписати файл новою інформацією, я можу просто знову використовувати команду cat з одним редиректом, наступним чином:
kali >cat>hackingskills
Кожен, хто займається ІТ-безпекою без навичок злому, знаходиться в темряві калі > кішки хакерські навички. Кожен, хто займається ІТ-безпекою без хакерських навичок, знаходиться в темряві
Як ви можете бачити тут, Linux переходить в інтерактивний режим, і ми вводимо новий текст, а потім виходимо назад до підказки. Коли ми знову використовуемо cat, щоб побачити вміст файлу, бачимо, що нащі попередні слова були перезаписані останнім текстом.
Друга команда для створення файлу — дотик. Цю команду спочатку було розроблено, щоб користувач міг просто торкнутися файлу, щоб змінити деякі його деталі, наприклад дату його створення чи зміни. Однак, якщо файл ще не існує, ця команда створює цей файл за замовчуванням.
Давайте створимо новий файл за допомогою дотику:
kali >touchnewfile
Тепер, коли я потім використовую ls -l, щоб побачити довгий список каталогу, я бачу, що створено новий файл з ім’ям newfile. Зауважте, що його розмір дорівнює 0, оскільки в новому файлі немає вмісту.
Командою для створення каталогу в Linux є mkdir, скорочення make directory.
Щоб створити каталог з іменем newdirectory, введіть таку команду:
kali >mkdir newdirectory
Щоб перейти до цього новоствореного каталогу, просто введіть це:
kali >cd newdirectory
Для копіювання файлів використовуємо команду cp . Це створює дублікат файлу в новому розташуванні та залишає старий на місці. Тут ми створимо файл oldfile у кореневому каталозі дотиком і скопіюємо його до /root/newdirectory, перейменовуючи його в процесі і залишаючи оригінальний oldfile на місці:
kali >toucholdfile kali >cpoldfile /root/newdirectory/newfile
Перейменування файлу не є обов’язковим і здійснюється простим додаванням імені, яке ви хочете йому дати, в кінець шляху до каталогу. Якщо не перейменувати файл під час копіювання, вихідне ім’я файлу збережеться за промовчанням.
Коли ми потім переходимо до нового каталогу, ми бачимо, що існує точна копія oldfile під назвою newfile:
kali >cdnewdirectory kali >ls newfile oldfile
На жаль, Linux не має команди, призначеної виключно для перейменування файлу, як це робить Windows та деякі інші операційні системи, але вона має команду mv (move).
Команда mv може бути використана для переміщення файлу або каталогу в нове місце або просто для надання існуючому файлу нового імені. Щоб перейменувати newfile на newfile2, слід ввести наступне:
kali >mv newfile newfile2 kali >ls oldfile newfile2
Тепер, коли ви перераховуєте (ls) цей каталог, ви бачите newfile2, але не newfile, тому що він був перейменований. Те ж саме можна вчинити і з каталогами.
Щоб видалити файл, можна просто скористатися командою rm , ось так:
kali >rm newfile2
Якщо тепер ви робите довгий список у каталозі, ви можете підтвердити, що файл видалено.
Команда для видалення каталогу схожа на команду rm для видалення файлів, але з доданим dir (для каталогу), наприклад:
kali >rmdirnewdirectory rmdir:failed to remove 'newdirectory': Каталог не порожній
Важливо зазначити, що rmdir не видалить каталог, який не є порожнім, але видасть вам попередження про те, що “каталог не порожній”, як ви можете бачити в цьому приклад. Перед його видаленням потрібно спочатку видалити весь вміст каталогу. Це запобігає випадковому видаленню об’єктів, які ви не збиралися видаляти.
Якщо ви хочете видалити каталог та його вміст за один раз, ви можете використовувати перемикач -r після rm, наприклад:
kali >rm -r newdirectory
Однак застереження: будьте обережні з використанням опції -r з rm, принаймні спочатку, тому що помилково видалити цінні файли і каталоги дуже просто. Наприклад, використання rm -r у вашому домашньому каталозі призведе до видалення всіх файлів і каталогів — ймовірно, не те, що ви планували.
ІДИ ГРАЙ ЗАРАЗ!
Тепер, коли у вас є деякі базові навички навігації по файловій системі, ви можете трохи пограти зі своєю системою Linux, перш ніж прогресувати. Найкращий спосіб звикнути до використання терміналу – випробувати свої нові навички прямо зараз. У наступних розділах ми будемо досліджувати все далі і глибше наш хакерський майданчик.
Ми використовували матеріали з книги “LINUX BASICS FOR HACKERS”, які написав William Pollock