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
Автор поста оценил этот комментарий

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

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

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

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

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

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

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

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

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

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

У меня RHEL 5.6

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

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

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

Хорошо

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

Все отлично работает на debain/ubuntu. Может стираться если на стартапе проставлена перегенерация ~/.bashrc. Source же сохранения тоже не дает, а только выполняет содержимое файла в текущем шеле.

source is a bash shell built-in command that executes the content of the file passed as argument, in the current shell.

А на продакшене у @rardirty не палило т.к.

When you login (type username and password) via console, either sitting at the machine, or remotely via ssh: .bash_profile is executed to configure your shell before the initial command prompt.
But, if you’ve already logged into your machine and open a new terminal window (xterm) inside Gnome or KDE, then .bashrc is executed before the window command prompt. .bashrc is also run when you start a new bash instance by typing /bin/bash in a terminal.

Проще говоря: когда ты лезешь на сервак по ссшке, у тебя конфиги тянутся из .bash_profile. Когда открываешь терминал уже залогинившись - конфиги тянуться из .bashrc


Ну и конечно вопрос к @rardity: что за прод такой, что ты вот так запросто ребутаешь его чтобы проверить добавление алиаса?

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

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

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

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

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку