- Упражнения по работе с командной строкой linux
- Основные команды для работы с файлами
- Работа с текстовыми файлами
- Лучшие терминалы Linux и bash-редакторы, доступные онлайн
- Лучшие онлайн-терминалы для отработки команд Linux
- 1. JSLinux
- 2. Copy.sh
- 3. Webminal
- 4. Tutorialspoint Unix Terminal
- 5. JS/UIX
- 6. CB.VU
- 7. Linux Containers
- 8. Codeanywhere
- Лучшие редакторы bash, доступные онлайн
- Bash-компилятор Tutorialspoint
- JDOODLE
- Paiza.io
- ShellCheck
- Rextester
- Learn Shell
- CoCalc
Упражнения по работе с командной строкой linux
На этой странице собраны упражнения по основным командам для манипуляции с файлами и директориями из командной строки Linux. Каждая из этих команд выполняет одно простое действие, но в дальнейшем может быть использована для составления более сложных цепочек команд.
Перед тем как начать — первый простой вопрос:
Как получить справку по команде ssh? ответ
Основные команды для работы с файлами
Как посмотреть текущую рабочую директорию? ответ
Как сменить рабочую директорию? ответ
например, cd /var/www/
Как перейти в родительскую директорию? ответ
Как вернуться в домашнюю директорию? ответ
cd — вызов команды без аргументов приводит к переходу в директорию, указанную в переменной окружения $HOME.
Как вывести список файлов в директории? ответ
ls — вывести список файлов в текущей директории
ls /var/log/ — вывести список файлов в директории /var/log/
ls -l — вывести подробный список файлов
Как посмотреть вермя последнего изменения/доступа к файлу /tmp/test.txt? ответ
ls -l /tmp/test.txt — посмотреть время последнего изменения файла
ls -lu /tmp/test.txt — посмотреть время последнего доступа к файлу
stat /tmp/test.txt — показывает 3 временные метки:
- Access — время последнего доступа к файлу (любое открытие файла для чтения: просмотр, поиск по файлу и т.п.)
- Modify — время последнего изменения файла
- Change — время изменения статуса файла (прав доступа, владельца, изменение файла).
Как создать новую директорию test? ответ
Как создать пустой файл? ответ
Существует множество способов создать пустой файл. Вот некоторые из них:
- cp empty.txt empty1.txt — скопировать любой другой пустой файл
- touch empty.txt — «потрогать» несуществующий файл
- :> empty.txt — перенаправить в файл вывод команды, которая ничего не делает
- vi empty.txt, затем сразу :wq — открыть файл и сохранить его пустым
Как создать файл /tmp/2mb.txt размером 2Mb? ответ
dd if=/dev/zero of=2mb.txt bs=1M count=2
если в предыдущей команде задать bs=1MB, то файл будет размером 2_000_000 байт.
в данном примере файл будет заполнен нулевыми байтами (0x00).
Как узнать тип файла? ответ
$ file empty.txt empty.txt: empty $ file /usr/bin/perl /usr/bin/perl: symbolic link to `perl5.16.3′ $ file /usr/bin/perl5.16.3 /usr/bin/perl5.16.3: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped $ file index.html index.html: HTML document, UTF-8 Unicode text, with very long lines
Как переименовать файл? ответ
mv имя_файла новое_имя_файла
Как удалить файл/директорию? ответ
rm имя_файла — удалить файл
rmdir имя_директории или rm -r имя_директории — удалить директорию
shred -uv имя_файла — удаление файла для параноиков (без опции -u просто перезаписывает содержимое файла мусором)
Как создать символическую/жесткую ссылку на файл/директорию? ответ
ln -s имя_файла имя_ссылки — создаём символическую ссылку на файл
ln -s имя_директории имя_ссылки — создаём символическую ссылку на директорию
ln имя_файла имя_жесткой_ссылки — создаём жесткую ссылку на файл
в обычных условиях создать жесткую ссылку на директорию невозможно
Как посмотреть размер файла? ответ
ls -l имя_файла — размер файла в байтах
ls -lh имя_файла — размер файла в более привычном формате
Как как узнать размер директории? ответ
du -s имя_директории — размер места в килобайтах (блоках по 1024 байт), которое директория со всем своим содержимым занимает на диске
du -sh имя_директории — в более привычном формате
Как узнать сколько свободного места осталось на разделе диска? ответ
при помощи команды df место_монтирования_раздела или просто df
df -h выведет размеры не в килобайтах, а в более удобном формате.
df -ih выведет информацию о количестве использованных и свободных инодов
Работа с текстовыми файлами
Как сравнить два текстовых файла? ответ
diff файл_1 файл_2 или diff -a файл_1 файл_2
Как посчитать количество строк в текстовом файле? ответ
или awk ‘END
а можно открыть файл в текстовом редакторе vi имя_файла и посмотреть кол-во строк CTRL+G
Как вывести на экран отсортированные строки текстового файла? ответ
Как удалить дубли строк из файла? ответ
sort -u имя_файла
или sort имя_файла | uniq
Как дописать содержимое одного текстового файла в конец второго? ответ
cat файл_1 >> файл_2
Как разбить текстовый файл на несколько по 100 строк в каждом? ответ
split -l 100 имя_файла 100-
в результате работы этой команды в директории появятся файлы 100-aa, 100-ab… содержащие по 100 строк из исходного файла. Если исходный файл содержал число строк не кратное 100, то в последнем файле будет меньше ста строк.
Как вывести на экран первые 30 строк файла? ответ
head -n30 имя_файла
Как вывести на экран последние 30 строк файла? ответ
tail -n30 имя_файла
Как посмотреть содержимое текстового файла? ответ
cat имя_файла — вывести файл на экран целиком
more имя_файла — выводить файл на экран постранично (пробел — перейти к следующей странице, enter — на строку вниз)
less имя_файла — выводить файл на экран с возможностью перемещаться по нему вверх и вниз
vi имя_файла или nano имя_файла или emacs имя_файла — открыть файл в любимом текстовом редакторе
Как вывести на экран строки текстового файла /tmp/file.txt начинающиеся со слова ‘START’? ответ
*!G4;:%#`START/ p’ имя_файла
Как вывести на экран содержимое текстового файла без однострочных комментариев (строка комментария начинается с символа #)? ответ
Как среди нескольких файлов в директории найти те, которые содержат слово ‘test’? ответ
grep ‘test’ * — поиск во всех файлах в текущей директории
grep ‘test’ файл_1 файл_2 файл_3 — поиск только в указанных файлах
Источник
Лучшие терминалы Linux и bash-редакторы, доступные онлайн
Перевод статьи «Best Online Linux Terminals and Online Bash Editors».
Возможно, вы хотели бы попрактиковаться в использовании команд Linux или просто протестировать свои скрипты. Все это можно сделать при помощи онлайн-терминалов Linux и компиляторов bash.
В частности, пользоваться такими онлайн-сервисами удобно, если у вас на машине стоит Windows. Конечно, можно установить Linux на виртуальной машине, но зачастую удобнее просто воспользоваться онлайн-терминалом.
Но где найти бесплатную консоль Linux? Какие оболочки Linux можно использовать онлайн?
Об этом не беспокойтесь! Чтобы помочь вам с выбором, мы собрали список лучших онлайн-терминалов Linux и отдельный список лучших bash-компиляторов.
Примечание: все онлайн-терминалы поддерживают разные браузеры, включая Google Chrome, Mozilla Firefox, Opera и Microsoft Edge.
Лучшие онлайн-терминалы для отработки команд Linux
В первой части мы рассмотрим онлайн-терминалы. Это веб-сайты, позволяющие запускать в браузерах обычные команды Linux (например, с целью проверки). В некоторых случаях для сохранения сессий может потребоваться регистрация и вход на сайт.
1. JSLinux
JSLinux предлагает не просто терминал. Он больше похож на полномасштабный Linux-эмулятор. Как следует из названия, он написан полностью на JavaScript.
При заходе на сайт вам нужно выбрать онлайн-систему Linux — графическую или консольную. Для отработки команд подойдет консольная.
Чтобы иметь возможность коннектиться к своему аккаунту, придется зарегистрироваться.
JSLinux также позволяет загружать файлы в виртуальную машину. В основе этого терминала лежит Buildroot — вспомогательный инструмент для создания Linux-среды для встроенных систем.
2. Copy.sh
Copy.sh предлагает один из лучших онлайн-терминалов Linux и, таким образом, быстрый и надежный способ тестировать и запускать команды Linux.
Вы можете найти Copy.sh на GitHub. Мейнтейнеры продолжают активно работать над проектом, а это хороший знак. Copy.sh поддерживает разные операционные системы, включая
3. Webminal
Webminal это впечатляющий онлайн-терминал Linux, отлично подходящий для новичков, желающих попрактиковаться в использовании команд.
Этот сайт предлагает несколько уроков прямо в том же окне, где вы вводите команды. Так что вам не понадобится переключаться на другой сайт в поисках инструкций, здесь у вас будет все необходимое, причем в той же вкладке.
4. Tutorialspoint Unix Terminal
Возможно, вы уже слышали о Tutorialspoint, ведь это один из самых популярных сайтов с высококачественными и при этом бесплатными уроками практически по любому языку программирования.
Но кроме самих руководств Tutorialspoint предоставляет бесплатную онлайн-консоль Linux, чтобы вы могли отрабатывать применение команд, о которых читаете. Вам также дается возможность загрузки файлов.
Это довольно простой и при этом эффективный онлайн-терминал. Но если он вас чем-то не устроит, на странице Coding Ground можно посмотреть список других терминалов, доступных онлайн.
5. JS/UIX
JS/UIX это еще один Linux-терминал, доступный онлайн и написанный полностью на JavaScript, без всяких плагинов. Он содержит виртуальную Linux-машину, виртуальную файловую систему, оболочку и т. д.
Чтобы посмотреть список реализованных команд, обратитесь к странице руководства.
6. CB.VU
Если хотите протестировать команды для стабильной версии FreeBSD 7.1, cb.vu будет самым простым решением.
В нем нет ничего замысловатого. Вы просто вводите команды, которые хотите испытать, и получаете их вывод. К сожалению, здесь нет возможности загрузки файлов.
7. Linux Containers
Linux Containers позволяет вам запускать демо-сервер (с 30-минутным ограничением по времени), который работает как один из лучших онлайн-терминалов Linux. Этот проект фактически спонсируется Canonical.
8. Codeanywhere
Codeanywhere это сервис, предлагающий кросс-платформенные облачные IDE. Но чтобы запустить бесплатную виртуальную машину Linux, вам придется сначала зарегистрироваться, выбрав бесплатный план. Затем нужно будет создать новое соединение и настроить контейнер с нужной операционной системой. После этого бесплатная Linux-консоль будет к вашим услугам.
Лучшие редакторы bash, доступные онлайн
Погодите-ка! А разве терминалы Linux недостаточно хороши для bash-скриптов? Вполне! Но создавать bash-скрипты в редакторах терминала, а затем выполнять их не так удобно, как просто использовать онлайн-редактор bash.
Bash-редакторы из этого списка помогут вам с легкостью писать онлайн shell-скрипты, которые вы сможете сразу же запускать для проверки корректности их работы.
Bash-компилятор Tutorialspoint
Tutorialspoint, о котором мы уже упоминали, кроме онлайн-терминала предлагает еще и bash-компилятор. Это очень простой компилятор, позволяющий выполнять bash-скрипты онлайн.
JDOODLE
Еще один полезный онлайн-редактор для тестирования bash-скриптов называется JDOODLE. Он предлагает также и другие IDE, но мы здесь фокусируемся на bash. На странице редактора вы увидите, собственно, сам редактор, строку для ввода команд и поле для вывода результатов.
Paiza.io
Paiza.io это хороший онлайн-редактор bash, который можно испытать бесплатно. Для использования более продвинутого функционала (например, создания расписания задач) нужно сначала зарегистрироваться.
Paiza.io поддерживает совместную работу в режиме реального времени, но этот функционал пока в экспериментальной фазе.
На paiza.cloud также можно найти онлайн-терминал Linux.
ShellCheck
Это интересный редактор bash, позволяющий находить баги в скриптах. Проект доступен на GitHub. ShellCheck можно установить локально на поддерживаемых платформах.
Rextester
Если вам нужен простейший bash-компилятор, выбирайте Rextester. Он также поддерживает и другие языки программирования.
Learn Shell
Как и Webminal, Learnshell предоставляет ресурсы как для изучения shell-программирования, так и для запуска (испытаний) кода. Обучающие ресурсы раскрывают и базовые, и продвинутые темы.
CoCalc
CoCalc предоставляет онлайн-среду с понятным программным стеком, которой могут пользоваться как профессионалы, так и учащиеся. Есть платная и бесплатная версии. В бесплатной у вас будет ограниченный доступ к функционалу, а также ограничения интернет-доступа. Кроме того, следует быть готовым к посредственной производительности сервера. Но если вы готовы подписаться платно, вы сможете работать над скриптами с коллегами (в режиме реального времени) и делать много всего другого при помощи высокопроизводительного сервера.
Конечно, подключить терминал Linux или запустить скрипт можно и без платной подписки. Если вас все будет устраивать, можно продолжить пользоваться бесплатной версией.
Мы рассказали вам о самых быстрых и надежных терминалах Linux и bash-редакторах, доступных онлайн. Теперь вы можете смело их изучать, экспериментировать и писать код! Если мы пропустили какой-то интересный онлайн-терминал или редактор, дополняйте наш список в комментариях!
Источник