Инструменты пользователя

Инструменты сайта


linux_trick

linux trick

Работа с файлами и директориями

Создаем директорию

mkdir -p /my/long/path/to/dir

И стремительно переходим в только, что созданную директорию без лишнего пути

cd !$

Если случайно сменили директорию, можно просто вернуться в последнюю набрав:

cd -

Создание нескольких директорий в одном каталоге одной командой

mkdir {dir2,dir3}
# создаем три директории с именами FolderName001 FolderName001002 FolderName001003
mkdir FolderName001{001..3}

Меняем разрешения только на определенные каталоги в директории

chmod -R 775 /my/long/path/to/dir/{temp,logs}

Создайте несколько пустых файлов

touch /my/long/path/to/dir/{1..5}.txt

Убираем в файле все пробелы и комментарии

sed -e '/#/d; /^$/d'

Удаление файлов и директорий по дате

У find есть ключ mtime, который позволяет предаться данной забаве.

find /path/to/files/* -mtime +1 -delete

В примере выше есть нюанс. -mtime +1 модифицированные больше 1 дня назад, а -mtime 1 модифицированные один день назад (сегодня и позавчера уже не затронет). Вместо -delete, для начала можно ничего не писать, он выдаст на экран что найдет.
Либо так

#! /bin/bash
i=7 #(или ваше число дней)
find /path/to/files/ -type f -mtime +$i -exec rm -f {} \;

По ссылке можно подробнее ознакомится с временными метками

Временные метки файлов

Для того, чтобы увидеть временные метки файла, используется команда stat

touch FileName.txt
stat FileName.txt
  Файл: 'FileName.txt'
  Размер: 0             Блоков: 0          Блок В/В: 4096   пустой обычный файл
Устройство: 802h/2050d  Inode: 14417922    Ссылки: 1
Доступ: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Доступ: 2019-10-28 15:06:47.243769073 +0300
Модифицирован: 2019-10-28 15:06:47.243769073 +0300
Изменён: 2019-10-28 15:06:47.243769073 +0300

История

Получить TOP 10 наиболее часто используемых команд в терминал. Дергаются естественно из истории.

 history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10

Убрать комментарии и пустые строки в файле

  • С помощью sed
    cat /etc/filename.conf | sed -e '/#/d; /^$/d'
  • С помощью grep
    cat /etc/nsswitch.conf | grep -Ev '(#.*$)|(^$)'

Еще можно выполнить поисковый запрос в командной строке набрав комбинацию клавиш Ctrl + r

HotKey

HotKey в терминале

Перевести букву в верхний регистр         Alt + c

Вырезать слово перед курсором             Alt + d
Вырезать слово после курсора              Alt + w

Перемещение в лево                        Alt + b
Перемещение в право                       Alt + f

Перейти в начало строки                   Ctrl + a
Перейти в конец строки                    Ctrl + e

Удалить строку слева от курсора           Ctrl + u
Удалить строку справа от курсора          Ctrl + k

Backup

Прежде, чем редактировать какой-либо конфиг, перед редакцией всенепременнейше нужно сделать его копию. Пример с файлом конфигурации dovecot.

Делаем бэкап:

cp /etc/dovecot/conf.d/10-mail.conf{,.bak251019}

Восстанавливаем из бэкапа:

cp /etc/dovecot/conf.d/10-mail.conf{.bak251019,}

Просмотр

Посмотреть все смонтированные устройства с человеко читаемым выводом:

mount | column -t

Удобный просмотр пользователей в файле /etc/passwd

cat /etc/passwd | column -t -s :

Сортировка процессов по памяти:

ps aux | sort -nk 4

Сортировка процессов по использованию CPU:

ps aux | sort -nk 3

Вывод результатов двух или более команд. Команды разделяются амперсандом;

{ uname -r & w; }

Поиск

Пример, как найти все файлы, содержащие определенный текст в файле

grep -Ril "text-to-find-here" /

Где:

  • i обозначает случай игнорирования (необязательный аргумент).
  • R означает рекурсивный.
  • l означает «показать имя файла, а не сам результат».

Ищем ip адрес в файле

grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" /var/log/apache2/access.log.1
  • E Использовать расширенное регулярное выражение
  • o Выводить только ip адрес

Сразу удаляем все найденное

grep -Ril "text-to-find-here" / | xargs rm -f
linux_trick.txt · Последнее изменение: 2021/02/24 10:13 — admin