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 подписчика

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

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

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

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий
Я бы про grep почитала )
раскрыть ветку (14)
0
Автор поста оценил этот комментарий
раскрыть ветку (13)
0
Автор поста оценил этот комментарий
Спасибо, но что-то там не очень понятно, много, видимо, пропустила
раскрыть ветку (12)
0
Автор поста оценил этот комментарий
Что именно не понятно? Регулярные выражения? В следующем курсе рассмотрю их
раскрыть ветку (11)
0
Автор поста оценил этот комментарий
Да, читаешь и не совсем ясно. Вот мы вот тут что-то сделали и нечто получили, а что получили - непонятно.
Может это я лишь чересчур придирчива, уж не знаю )
раскрыть ветку (10)
0
Автор поста оценил этот комментарий

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

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

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

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

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

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

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

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Убунта у меня )
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
$ ls /somedir | grep '.txt$' используется для поиска файла в /somedir, а не текста в нем
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Поняла, спасибо)) я для такого пользуюсь find, для вашего примера вот так получается:
find /somedir -name '.txt$'
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку