86

Консоль Linux [Часть 4]

13. rm (Remove / удалить)

Думаю, что сейчас у нас появилось множество файлов, давайте удалим несколько. Для того, чтобы удалить файлы вы можете использовать команду rm. Команда rm (remove / удалить) используется для удаления файлов и директорий.

$ rm file1

Будьте осторожны при использовании rm, т.к. не существует волшебной корзины, из которой вы сможете достать удаленные файлы. Однажды исчезнув, они исчезнут навсегда, так что будьте осторожны.

К счастью, существуют меры безопасности, так что очередной Вася не сможет удалить кучу важных файлов. Защищенные от записи файлы спросят ваше подтверждение перед тем, как удалить их. Если директория также защищена от записи, то ее тоже будет не легко удалить.

Но если вам все равно, вы все таки можете удалить множество важных файлов.

$ rm -f file1

Флаг -f или force (насильно) прикажет rm удалить все файлы не зависимо от того, защищены они от записи или нет, без уведомления пользователя (до тех пор, пока у вас есть соответствующие права).

$ rm -i file

Добавление флага -i, также как и к другим командам, будет выдавать запросы на удаление файлов или директорий.

$ rm -r directory

Вы не можете удалить каталог по-умолчанию, поэтому вам нужно добавить флаг -r для удаления всех файлов и подкаталогов, которые у вас есть.

Вы также можете удалить каталог с командой rmdir.

$ rmdir directory

Упражнения:

1. Создайте файл -file (не забудьте тире!).

2. Удалите этот файл.

14. find (найти)

Со всеми теми файлами, которые есть у вас в системе, вам нужно подсуетиться, чтобы найти какой-то один. Для этого мы можем использовать команду find (найти)!

$ find /home -name puppies.jpg

Для find вам нужно задать директорию, в которой вы будете искать, и что вы хотите найти, в этом случае мы пытались найти файл по имени puppies.jpg.

Вы можете указать тип файла, который вы пытетесь найти.

$ find /home -type d -name MyFolder

Как видите, я указал тип файла, который я ищу как директорию (d) и имя MyFolder.

Есть одна крутая вещь, find не останавливается на поиске только внутри данной директории, а продолжает искать то, что вы ищете внутри подкаталогов, которые могут быть в директории.

Задания:

Найдите файл из корневой директории, у которого в названии есть слово net.

15. help (помощь)

Linux имеет несколько встроенных иструментов, которые помогут вам узнать для чего используется та или иная команда, и какие флаги доступны для команды. Первый инструмент, help, встроенная в bash команда, которая предоставит вам помощь для других команд bash (echo, logout, pwd и т.д.)

$ help echo

Эта команда даст вам описание и опции, которые вы можете использовать для запуска echo. Для других исполняемых программ существует традиция иметь функцию --help или что-то вроде того.

$ echo --help

Не все разработчики, которые выпускают программы, следуют этой традиции, поэтому, возможно, вам стоит постараться самим, чтобы найти помощь к программе.

Упражнения:

Выполните команду help на командах echo, logout и pwd.

16. man (manual / руководство)

Надеюсь, что у этих программ есть руководство, чтобы мы могли узнать больше информации о них. К счастью оно есть и носит название справочных страниц (man pages)! Вы можете просмотреть руководство для команд с помощью man.

$ man ls

Справочные страницы (man pages) - справочники, которые встроены в большинство операционных систем Linux. Они предоставляют документацию о командах и других аспектах системы.

Упражнения:

Попробуйте выполнить man на нескольких командах, чтобы получить больше информации о них.

17. whatis (что такое)

Уфф, пока мы узнали совсем немного команд, если вы сомневаетесь о том, что делает команда, то вы можете использовать команду whatis. Эта команда предоставит краткое описание консольных программ.

$ whatis cat

Описание исходит со справочных страниц каждой команды. Если вы запустите whatis cat, то вы увидите небольшую заметку с кратким описанием.

Упражнения:

Запустите комнду whatis на команде less.

18. alias (Алиас, псевдоним)

Иногда печатание команд может стать частым делом, и если вам потребуется написать длинную команду множество раз, лучше всего создать алиас. Для того, чтобы создать алиас для команды, просто введите alias, имя и присвойте его команде.

$ alias foobar='ls -la'

Теперь вместо набор ls -ls, вы можете напечатать foobar и команда исполнится, довольно интересно. Помните, что эта команда не сохраняет ваши алиасы после перезагрузки, так что если вам понадобится постоянный алиас, поместите его в:

~/.bashrc

или в похожие файлы, если они сохраняются после перезагрузки.

Вы можете удалить алиасы с командой unalias:

$ unalias foobar

Упражнения:

Создайте несколько алиасов, затем удалите их.

19. exit (выход)

Вы проделали хорошую работу, пройдя через эти основы. Но мы затронули только вершину айсберга, теперь, после того как вы научились ползать, вы должны научиться ходить.


Сейчас вы можете похлопать себя по спине и отдохнуть. Для выхода из консоли вы можете использовать команду exit (выход):

$ exit

Или команду logout (выход из системы):

$ logout

Или, если вы работали с терминалом с GUI, вы можете просто закрыть консоль.

Вместе с консолью закрывается и наш курс. Спасибо за внимание.

0124

GNU/Linux

1.2K пост15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Автор поста оценил этот комментарий

Про rm -rf /* забыли. А ведь самая важная команда!

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Вы такоооой оригинальный =)

0
Автор поста оценил этот комментарий

Отлично! Вот и разобрались

А прод должен был планово ребутнуться из-за деплоймента, так я на нем и проверил заодно :-)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ура! Новички могут создавать алиасы спокойно :D

0
Автор поста оценил этот комментарий
+


Если навести на "N часов назад", там всегда показывается дата и время создания.

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
О_о Моя жизнь никогда не станет прежней
показать ответы
0
Автор поста оценил этот комментарий

'Псевдоним' - это существующий термин, исправь, пожалуйста.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@Snipers, замени 18. alias (Алиас, кличка) на 18. alias (Алиас, псевдоним), пожалуйста

показать ответы
0
Автор поста оценил этот комментарий
Убунта у меня )
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

О_о При обновлениях не ломается?

показать ответы
0
Автор поста оценил этот комментарий
с env тоже разобралась, спасибо за терпение ))
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не за что) А у вас какой дистрибутив, кстати?

показать ответы
0
Автор поста оценил этот комментарий
Я grep использую в основном в двух случаях:
1. поиск нужных процессов
ps auxf | grep process_name

поиск текста в файлах указанной директории
grep -rl 'text' ./
У вас же для того же самого используется
$ ls /somedir | grep '.txt$'

А еще вот здесь:

Чтобы получить большую гибкость с grep вы можете сочетать его с другими командами с |.
$ env | grep -i User
Как вы можете видеть, grep довольно универсален.

Понятия не имею что делает env и в этом курсе это не описано, и поэтому что мы можем видеть, и почему - для меня осталось загадкой))
Хотелось просто почерпнуть чего-то нового о том, чем пользуешься ежедневно. Сорри, что отняла так много времени.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
$ ls /somedir | grep '.txt$' используется для поиска файла в /somedir, а не текста в нем
показать ответы
0
Автор поста оценил этот комментарий
Я grep использую в основном в двух случаях:
1. поиск нужных процессов
ps auxf | grep process_name

поиск текста в файлах указанной директории
grep -rl 'text' ./
У вас же для того же самого используется
$ ls /somedir | grep '.txt$'

А еще вот здесь:

Чтобы получить большую гибкость с grep вы можете сочетать его с другими командами с |.
$ env | grep -i User
Как вы можете видеть, grep довольно универсален.

Понятия не имею что делает env и в этом курсе это не описано, и поэтому что мы можем видеть, и почему - для меня осталось загадкой))
Хотелось просто почерпнуть чего-то нового о том, чем пользуешься ежедневно. Сорри, что отняла так много времени.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
env описан тут, 5 пункт - http://pikabu.ru/story/textfu_chast_2_4276562
показать ответы
0
Автор поста оценил этот комментарий
Да, читаешь и не совсем ясно. Вот мы вот тут что-то сделали и нечто получили, а что получили - непонятно.
Может это я лишь чересчур придирчива, уж не знаю )
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну смотрите. grep нужен, чтобы искать текст по определенному шаблону, который задается с помощью регулярных выражений (это отдельная и большая тема, углубляться не буду). Вы пишите команду grep, задаете шаблон и указываете где искать. Пример. Пусть нам нужно найти текст fox в sample.txt. Для этого пишем grep, задаем шаблон fox, указываем файл sample.txt и все. Это не сработает, если мы введем FoX, например. Для того, чтобы сработало, нам нужен флаг -i. Также мы можем передавать вывод в grep из другой команды с помощью конвейера ($ env | grep -i User). Надеюсь, теперь понятно)

показать ответы
0
Автор поста оценил этот комментарий
Спасибо, но что-то там не очень понятно, много, видимо, пропустила
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Что именно не понятно? Регулярные выражения? В следующем курсе рассмотрю их
показать ответы
0
Автор поста оценил этот комментарий
Я бы про grep почитала )
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не, не все баги нашел и наверно из за отсутствия знания английского.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Понятно...

0
Автор поста оценил этот комментарий

Не взяли, хотел но тест не прошел, а других фирм где есть обучение на них я не знаю))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Тест сломал?
показать ответы
0
Автор поста оценил этот комментарий

У меня на разных компах такое было, у меня просто руки такие) У меня все никсо подобные системы валятся в моих руках, iOS так вообще загнать в сейф мод для меня легче легкого. Как ходил с айфонами так за день 2-3 раза вгонял.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
У вас дар! Устройтесь тестировщиком :D
показать ответы
0
Автор поста оценил этот комментарий

да у меня даже "стабильная" iOS уходит в сейф мод через часа 2 как девайс в руки беру, в независимости от девайся (планш, телефон)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

У меня с андроидом такие проблемы были, в итоге взбесил и купил винфон, с коим проблем нет. Все же, рекомендую попробовать НЕдебианоподобный дистр) Тот же manjaro, или Chakra

Автор поста оценил этот комментарий

В ЖОПУ этот линукс, постоянные ошибки и kernel panic, я прям хрен его знает как у меня так с ним получается, но что убунта, что Mint валятся просто через пару часов, хотя ничего такого не делаю.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
У меня тоже дебианоподобные не прижились. Попробуйте Manjaro.
показать ответы
0
Автор поста оценил этот комментарий

Проверю в понедельник, отпишу

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Хорошо

0
Автор поста оценил этот комментарий

Странно )) Я прежде чем писать, проверил на продакшене :-)

У меня RHEL 5.6

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Хорошо бы, чтобы кто-то на дебиане/убунте проверил....
показать ответы
0
Автор поста оценил этот комментарий

В арчвики написано определение того, что такое алиас, и где он хранится. Про перезагрузку нет ни слова.

http://rus-linux.net/MyLDP/consol/alias.html - 4 пункт

А если в /.bashrc просто так внести алиас, после чего выйти с сохранением, то ничего не получится.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Только что попробовал внести alias hello="echo 'Hello_world'". Вышел с сохранением, выполнил - сработало, перезагрузил компьютер - тоже сработало. Мб это зависит от дистрибутива?

показать ответы
0
Автор поста оценил этот комментарий

Если алиас вносить в /.bashrc, то после этого необходимо сделать source ~./bashrc

Иначе все алиасы сотрутся после перезагрузки

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Это где они стираются? В арче вроде все хорошо, да и арчвики про это ничего не говорит https://wiki.archlinux.org/index.php/Bash
показать ответы
1
DELETED
Автор поста оценил этот комментарий
А зачем повторять постоянно, что -r - рекурсивный метод обработки, грубо говоря - с папками
-f - force - в большинстве случаев принудительное выполнение действия или без предупреждения

И так под каждой командой?
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Потому что так в оригинале написано, переводил в точности соблюдая оригинал
0
DELETED
Автор поста оценил этот комментарий

Ой хоспади, нельзя было основные опции, которые обычно используются программками, расписать по типу:

-h - help
-r - recursive
-v - verbose
-i - interactive

Расписать про * и прочие [abcd]*.mp3.

А не писать один и тот же хренач по 10 раз под каждой коммандой?

Такой подход во-первых даст больше понимания. А во-вторых даст возможность действовать интуитивно.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Зачем новичку регулярные выражения?
P.S. Перевод в точности совпадает с оригиналом, из-за того, что некоторые вещи могут встретиться далее (тот же regex)
показать ответы
0
Автор поста оценил этот комментарий

Опечатка

... Но мы затронули только вершину айсберга, теперь, после того как вы научились ползать, вы должны нучиться ходить.

И в конце 4 цифры явно лишние.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Блин, спасибо. @Snipers, исправь "вы должны нучиться ходить." на "вы должны научиться ходить.".

P.S. Цифры не лишние, время создания поста, хочу посмотреть на зависимость времени от плюсов

показать ответы
0
Автор поста оценил этот комментарий

К теме Rm можно было бы вспомнить про прекрасную команду sudo rm -rf / которую никому из тех кто только осваивает никсы не рекомендую пробовать, ибо хоть защита вроде как и есть сейчас, но если отработает- будет печально)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

--no-preserve-root где?

показать ответы
0
Автор поста оценил этот комментарий

Alias как 'псевдоним' переводится.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не вижу большой разницы между кличкой, псевдонимом, прозвищем т.д.

показать ответы