Linux: 12 советов из практики

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Linux продолжает быть одной из самых популярных операционных систем для серверов, облачных вычислений и IoT-устройств. Знание команд позволяет эффективно управлять и настраивать эти системы.

Знание Linux может открыть двери к различным IT-профессиям, таким как системный администратор, разработчик, инженер по безопасности и другие. Спрос на специалистов по Linux ожидается и в будущем.

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

Надеюсь, что эти трюки помогут вам стать более эффективным и уверенным пользователем Linux.

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

Поехали!

1. Команда find

Если вы хотите очистить пустые каталоги, команда find может помочь сделать эту работу:

$ find . -type d -empty -exec rmdir -v {} +

Параметр -type d ищет каталоги, -empty выбирает пустые, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед удалением.

В качестве альтернативы можно использовать эту команду для выполнения той же задачи:

$ find . -type d -empty -delete

2. Добавляем временные метки

Вы можете включить временные метки в истории команд bash, чтобы увидеть, когда вы выполняли предыдущие команды. Это может быть полезно для отслеживания того, над чем и когда вы работали.

Чтобы добавить временные метки в историю, просто установите переменную окружения HISTTIMEFORMAT следующим образом:

$ export HISTTIMEFORMAT="%F %T "

Теперь, просматривая историю или выполняя поиск, вы увидите рядом с каждой командой временную метку, указывающую, когда она была выполнена:

$ history | tail -n 5

Или чтобы сэкономить пару нажатий клавиш:

$ history 5

Формат “%F %T” показывает дату и время, но вы можете настроить его по своему вкусу.

Примечание: Это не ставит исторические метки времени на команды, которые вы выполняли до установки HISTTIMEFORMAT.

3.Последний аргумент предыдущей команды.

Предположим, вы читали файл с помощью команды cat и решили отредактировать его с помощью Vim или любого другого редактора на ваш выбор. 

Вместо того чтобы набирать имя файла целиком, вы можете использовать символы !

!которые поместят в вашу строку последний аргумент(ы) последней команды.

Например:

" class="formula inline"> cat /etc/scripts/matrix/matrix.sh

Чтобы отредактировать файл с помощью Vim, вы должны выполнить команду:

$ vim !

Здесь я использовал !" class="formula inline"> в качестве аргумента, который заменит только последний аргумент предыдущей команды. 

Если вам нужны все аргументы, используйте !.

4. Nohup

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

Чтобы избежать этого и сохранить работу программы и всех ее процессов, используйте команду nohup, сокращение от “no hangup“. Она игнорирует все сигналы о зависании, позволяя процессу продолжаться, даже если терминальная сессия прервана.

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

$ nohup tar -cf archive.tar file1 file2

Команда nohup также создает файл с именем nohup.out для хранения вывода команды.

$ cat nohup.out

В качестве альтернативы можно использовать tmux, disown или screen.

5. Команда kill

В Linux вы можете использовать команду pgrep, чтобы найти PID определенного процесса на основе его имени, шаблона или других критериев.

$ pgrep name

Если вы хотите завершить процесс, используйте команду kill, например:

$ kill -9 5272 5525 5550 5461

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

$ kill -9  kill -9  lsd -lah

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

8. Добавление файлов при создании нового пользователя

Каталог /etc/skel (skel – производное от “skeleton”) содержит стандартные файлы и каталоги запуска для среды оболочки bash.

Система автоматически копирует эти стандартные файлы в каталог HOME каждого пользователя, которого вы создаете.

Вы также можете добавить в каталог /etc/skel свои файлы, которые вы хотите автоматически копировать при создании нового пользователя. Это могут быть ваши dotfiles и файлы конфигурации оболочки.

$ sudo useradd -m demouser

9. Команда echo в Linux

echo – это простая команда, но в то же время часто используемая встроенная команда оболочки Bash. Она имеет только одно назначение – выводить строку текста в терминал, но применяется очень часто в различных скриптах, даже для редактирования конфигурационных файлов.

Проверьте текущую используемую оболочку с помощью:

echo 

11. Узнаем время работы команды

Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.

Синтаксис

" class="formula inline"> time <пишем команду>

пример:

$ time find / -perm -u=s -type f &>/dev/null

Команда также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.

12. Защищаем файл от перезаписи

Вы можете предотвратить случайную перезапись существующих файлов, включив опцию оболочки "noclobber" с помощью встроенной команды set: 

$ set -o noclobber

но эта опция может быть отменена командой '>|'.

Чтобы отключить опцию, используйте команду 'set +o option-name':

$ set +o noclobber

Noclobber будет применен к каждому файлу в системе. Если вы хотите использовать только определенные файлы, воспользуйтесь атрибутом append. 

Атрибут append в Linux - это атрибут файла, который не позволяет изменять файл, но позволяет добавлять в него новые данные.

Чтобы установить атрибут append для файла, вам нужно использовать команду chattr с опцией +a, и у вас должны быть права root. 

Например, чтобы установить атрибут append для файла с именем keys.txt, выполните следующие действия:

$ sudo chattr +a key.txt

Чтобы удалить атрибут append из файла, используйте -a в команде chattr:

$ sudo chattr -a key.txt

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

Linux продолжает быть одной из самых популярных операционных систем для серверов, облачных вычислений и IoT-устройств. Знание команд позволяет эффективно управлять и настраивать эти системы.

Знание Linux может открыть двери к различным IT-профессиям, таким как системный администратор, разработчик, инженер по безопасности и другие. Спрос на специалистов по Linux ожидается и в будущем.

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

Надеюсь, что эти трюки помогут вам стать более эффективным и уверенным пользователем Linux.

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

Поехали!

1. Команда find

Если вы хотите очистить пустые каталоги, команда find может помочь сделать эту работу:

$ find . -type d -empty -exec rmdir -v {} +

Параметр -type d ищет каталоги, -empty выбирает пустые, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед удалением.

В качестве альтернативы можно использовать эту команду для выполнения той же задачи:

$ find . -type d -empty -delete

2. Добавляем временные метки

Вы можете включить временные метки в истории команд bash, чтобы увидеть, когда вы выполняли предыдущие команды. Это может быть полезно для отслеживания того, над чем и когда вы работали.

Чтобы добавить временные метки в историю, просто установите переменную окружения HISTTIMEFORMAT следующим образом:

$ export HISTTIMEFORMAT="%F %T "

Теперь, просматривая историю или выполняя поиск, вы увидите рядом с каждой командой временную метку, указывающую, когда она была выполнена:

$ history | tail -n 5

Или чтобы сэкономить пару нажатий клавиш:

$ history 5

Формат “%F %T” показывает дату и время, но вы можете настроить его по своему вкусу.

Примечание: Это не ставит исторические метки времени на команды, которые вы выполняли до установки HISTTIMEFORMAT.

3.Последний аргумент предыдущей команды.

Предположим, вы читали файл с помощью команды cat и решили отредактировать его с помощью Vim или любого другого редактора на ваш выбор. 

Вместо того чтобы набирать имя файла целиком, вы можете использовать символы !

!которые поместят в вашу строку последний аргумент(ы) последней команды.

Например:

" class="formula inline"> cat /etc/scripts/matrix/matrix.sh

Чтобы отредактировать файл с помощью Vim, вы должны выполнить команду:

$ vim !

Здесь я использовал !" class="formula inline"> в качестве аргумента, который заменит только последний аргумент предыдущей команды. 

Если вам нужны все аргументы, используйте !.

4. Nohup

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

Чтобы избежать этого и сохранить работу программы и всех ее процессов, используйте команду nohup, сокращение от “no hangup“. Она игнорирует все сигналы о зависании, позволяя процессу продолжаться, даже если терминальная сессия прервана.

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

$ nohup tar -cf archive.tar file1 file2

Команда nohup также создает файл с именем nohup.out для хранения вывода команды.

$ cat nohup.out

В качестве альтернативы можно использовать tmux, disown или screen.

5. Команда kill

В Linux вы можете использовать команду pgrep, чтобы найти PID определенного процесса на основе его имени, шаблона или других критериев.

$ pgrep name

Если вы хотите завершить процесс, используйте команду kill, например:

$ kill -9 5272 5525 5550 5461

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

$ kill -9  kill -9  lsd -lah

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

8. Добавление файлов при создании нового пользователя

Каталог /etc/skel (skel – производное от “skeleton”) содержит стандартные файлы и каталоги запуска для среды оболочки bash.

Система автоматически копирует эти стандартные файлы в каталог HOME каждого пользователя, которого вы создаете.

Вы также можете добавить в каталог /etc/skel свои файлы, которые вы хотите автоматически копировать при создании нового пользователя. Это могут быть ваши dotfiles и файлы конфигурации оболочки.

$ sudo useradd -m demouser

9. Команда echo в Linux

echo – это простая команда, но в то же время часто используемая встроенная команда оболочки Bash. Она имеет только одно назначение – выводить строку текста в терминал, но применяется очень часто в различных скриптах, даже для редактирования конфигурационных файлов.

Проверьте текущую используемую оболочку с помощью:

echo 

11. Вспомнить название команды

Если вы не можете вспомнить название команды, вы можете использовать ключевые слова для поиска на страницах man.

Вот синтаксис:

$ man -k ключевое слово

Например, чтобы найти команды, связанные с grep, введите:

$ man -k grep

В качестве альтернативы можно использовать команду apropos. Посмотрите на этот пример:

$ apropos grep


12. Защищаем файл от перезаписи

Вы можете предотвратить случайную перезапись существующих файлов, включив опцию оболочки "noclobber" с помощью встроенной команды set: 

$ set -o noclobber

но эта опция может быть отменена командой '>|'.

Чтобы отключить опцию, используйте команду 'set +o option-name':

$ set +o noclobber

Noclobber будет применен к каждому файлу в системе. Если вы хотите использовать только определенные файлы, воспользуйтесь атрибутом append. 

Атрибут append в Linux - это атрибут файла, который не позволяет изменять файл, но позволяет добавлять в него новые данные.

Чтобы установить атрибут append для файла, вам нужно использовать команду chattr с опцией +a, и у вас должны быть права root. 

Например, чтобы установить атрибут append для файла с именем keys.txt, выполните следующие действия:

$ sudo chattr +a key.txt

Чтобы удалить атрибут append из файла, используйте -a в команде chattr:

$ sudo chattr -a key.txt

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

Заключение.

Знание Linux в 2024 году может быть полезным как для карьеры в IT-сфере, так и для повседневной работы с компьютерами и устройствами.

Знание простых и эффективных приемов, поможет сэкономить вам много времени и нервов.

Спасибо за внимание! Делитесь своими советами и полезными командами в комментариях.

Знание Linux в 2024 году может быть полезным как для карьеры в IT-сфере, так и для повседневной работы с компьютерами и устройствами.

Знание простых и эффективных приемов, поможет сэкономить вам много времени и нервов.

Спасибо за внимание! Делитесь своими советами и полезными командами в комментариях.

Источник: https://habr.com/ru/articles/788570/


Интересные статьи

Интересные статьи

Мы с ребятами в агентстве уверены: чтобы брать — нужно отдавать. А вот некоторые клиенты считают наоборот. Поэтому, исходя из собственного опыта, мы решили поделиться советами, которым следовать не ну...
В этой статье мы научимся изменять ядро Linux, добавим собственные уникальные системные вызовы и в завершении соберем ядро с новой функциональностью.
7 июня наша команда запустила для 90 участников первый поток курса по Python, созданного специально для инженеров эксплуатации и системных администраторов. Будем разбирать админские б...
В заголовке этого материала уже сказано о самой главной возможности программы, о которой я хочу рассказать. Речь идёт о GoTTY. Эта программа позволяет организовывать общий доступ к прилож...
Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библи...