[!] Bash с нуля: Уроки для начинающих. Введение. Работа с терминалом в Linux для начинающих
Primary tabs
Оригинальная страница: http://linuxgeeks.ru/bash-intro.htm (снова недоступна довольно долгое время в 2022 году, поэтому делаем тут резервную копию). Мы слегка дополним этом статью, в нашей версии.
Уроки:
- Урок #1 Примечания по оформлению - что такое Bash
- Урок #2 Перемещение между папками: Команды cd, pwd, домашняя директория пользователя, абсолютный и относительный пути
- Урок #3 Команда ls - для просмотра содержимого папок в терминале. Списки файлов и папок
- Урок #4 mkdir Создание директорий (папок)
Команды линукс
touch Создание файла и обновление времени доступа
cd /tmp touch copyme
Команда touch обновляет время последнего доступа к файлу (шестая колонка вывода команды ls -l) если он уже существует или создает новый пустой файл, если его ещё нету. После этой операции у нас должен появиться пустой файл /tmp/copyme.
echo И перенаправление вывода команды
Теперь, когда у нас есть пустой файл, запишем в него текстовую строку при помощи команды echo, которая выводит переданный ей аргумент на стандартное устройство вывода (текстовый терминал в нашем случае):
echo "firstfile"
firstfile
Чтобы записать строку в наш файл, перенаправим в него вывод команды echo:
echo "firstfile" > copyme
Знак > (больше) указывает командной оболочке что нужно перенаправить вывод команды стоящей слева в файл, имя которого находится справа. Если файла с таким именем не существует, он будет создан автоматически. А если такой файл уже есть, то он будет перезаписан (все его содержимое будет стерто перед записью нашей строки). Команда ‘ls -l’ покажет что размер нашего файла теперь равен 10 байтам — девять байт занимает слово ‘firstfile’ и один байт символ перевода строки.
ls -l copyme
rw-r--r-- 1 root root 10 Dec 28 14:13 copyme
cat и cp Вывод содержимого и копирование файлов
Для вывода содержимого файла на терминал используется команда cat:
cat copyme
firstfile
Теперь мы можем приступить к разбору базовой функциональности команды cp. Эта команда принимает два аргумента. Первый — имя уже существующего файла (‘copyme’), второй — название новой копии, которую мы хотим сделать (‘copiedme’).
cp copyme copiedme
Можем убедиться, что новая копия файла имеет другой номер инода (это значит что мы получили действительно новый отдельный файл, а не просто ссылку на старый)
ls -i copyme copiedme
648284 copiedme 650704 copyme
mv Переименование файлов
Теперь применим команду mv чтобы переименовать файл («copiedme» –> «movedme»). Номер инода после этой операции не меняется, а изменяется только название файла:
mv copiedme movedme ls -i movedme
648284 movedme
Номер инода не изменяется только при условии, что переименованный файл остается в пределах той файловой системы где находился исходный файл. Мы рассмотрим подробнее устройство файловых систем в одной из следующих частей этого пособия.
Команда mv позволяет не только переименовывать файлы, но и перемещать их. Например, чтобы переместить файл /var/tmp/myfile.txt в директорию /home/user нужно дать команду:
mv /var/tmp/myfile.txt /home/user
Файл будет перемещен в домашнюю директорию пользователя user даже если она находится в другой файловой системе (в этом случае файл будет скопирован в новое место после чего оригинал будет удален). Как вы могли уже догадаться, перемещение файла в другую файловую систему приводит к изменению его инода. Это происходит потому, что каждая файловая система имеет свой отдельный набор инодов.
Нужно заметить, существует вероятность, что новый присвоенный номер инода может совпасть со старым, но она чрезвычайно мала.
Чтобы переместить одновременно несколько файлов в одну директорию нужно написать:
mv /var/tmp/myfile1.txt /var/tmp/myfile2.txt /home/user
или
mv -t /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt
Если добавить опцию ‘-v’, на экран будет выведен отчет о проделанной операции:
mv -vt /home/user /var/tmp/myfile1.txt /var/tmp/myfile2.txt
'/var/tmp/myfile1.txt' -> '/home/user/myfile1.txt'
'/var/tmp/myfile2.txt' -> '/home/user/myfile2.txt'
- Log in to post comments
- 1707 reads
vedro-compota
Mon, 11/14/2022 - 00:09
Permalink
Оригинал статьи
Оригинал статьи был здесь: http://linuxgeeks.ru/bash-intro.htm
(возможно сайт восстановят в будущем)
_____________
матфак вгу и остальная классика =)