Подборка полезных команд на bash — 1
Внешний IP-адрес
Если на вашем компьютере установлен пакет dnsutils, то самым простым способом получить из bash внешний IP-адрес машины будет обратиться к OpenDNS:
myip() { dig +short myip.opendns.com @resolver1.opendns.com; }
Имя сетевого интерфейса
Чтобы получить имя сетевого интерфейса, через который осуществляется внешнее подключение, можно воспользоваться следующей командой:
eth() { route -n | awk '($1 == "0.0.0.0") { print $NF ; exit }'; }
К сожалению, данная команда не работает на Маке. В ситуации при нескольких сетевых соединениях тоже не проверял.
Права доступа в восьмеричном формате
Если по какой-то причине вы хотите посмотреть список файлов в директории, отображая так же права в восьмеричном формате, можно сделать это так (в виде функции):
lso() { ls -halG "$@" | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}'; }
Теперь, если вы вызываете lso, вы увидете стандартный вывод команды ls -halG с дополнительной колонкой.
Генератор паролей
Очень легко и быстро можно сгенерировать произвольный пароль заданной длинны таким способом:
randompass() { < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16}; echo; }
Вызываем:
$ randompass
EGcudXmuUv-lFejx
$ randompass 13
bqBqGVUsvZDK1