И вот здесь начинается самое интересное. Практика показывает, что многие вещи можно делать более чем одним способом. Я попытался составить небольшой список взаимозаменяемых действий, которые в Linux могут быть выполнены более чем одним способом.
1) Нумерация строк
=nl <file>
cat -n <file>
2) Просмотр таблицы маршрутов
=route -e
=netstat -r
ip route
3) Просмотр списка сетевых интерфейсов
=ifconfig -s
=netstat -i
ip addr
4) Создание пользователя:
=adduser <username>
useradd <username>; mkdir /home/<username>; chown <username>:<username> /home/<username>; passwd <username>
5) Блокировка пароля пользователя
=passwd -l <username>
usermod -L <username>
6) Разблокировка пароля пользователя
=passwd -u <username>
usermod -U <username>
7) Добавление пользователя в группу
=adduser <username> <groupname>
usermod -aG <groupname> <username>
8) Смена группы владения файла
=chown :<groupname> <filename>
chgrp <groupname> <filename>
9) Просмотр содержимого директории
=ls
=dir
vdir
10) Создание жесткой ссылки
=ln <file> <linkname>
cp -l <file> <linkname>
11) Создание символической ссылки
=ln -s <file> <linkname>
cp -s <file> <linkname>
12) Замена traceroute командой ping. Не совсем честный способ, потому что разные типы пакетов ICMP, но в общем случае подходит, если все хосты трассы пингуемы.
=traceroute remote-host
pingtrace.sh (Если в качестве аргумента указать айпишник, то трасса получается ОЧЕНЬ быстро)
#!/bin/bash REMOTE_HOST=$1 REMOTE_HOST_2=`host $1 | grep 'has address' | awk '{printf $4}'` TARGET_HOST="_" TARGET_TTL=1 echo Tracing host $REMOTE_HOST\($REMOTE_HOST_2\) while [ "$REMOTE_HOST" != "$TARGET_HOST" -a "$REMOTE_HOST_2" != "$TARGET_HOST" ] do TARGET_HOST=`ping -c 1 -t $TARGET_TTL $REMOTE_HOST | grep 'exceeded' | awk '{printf $2}'` if [ "$TARGET_HOST" != "" ] then echo $TARGET_HOST, TTL=$TARGET_TTL TARGET_TTL=$(($TARGET_TTL+1)) else echo $REMOTE_HOST, TTL=$TARGET_TTL exit fi done
В комментариях, надеюсь, будет еще много подобных примеров