Архивация 7z с сохранением владельца, прав доступа и прочих атрибутов
Упаковка производится с помощью утилиты tar, архивирует 7z, защищая паролем и применяя максимальное сжатие и метод lzma2 (подробнее описано в документации: /usr/local/share/doc/p7zip/DOC/README)
И распаковка архива (если от имени пользователя, то владелец и права восстановлены НЕ БУДУТ)
tc@box~$ tar -cf - /directory_or_file | 7z a -si -p -mx=9 -m0=lzma2 directory_or_file.tar.7z
tc@box~$ 7z x -so directory_or_file.tar.7z | tar -xf -
Завершение процесса по файлу *.pid
bsd$ sudo kill -HUP `sudo head -1 /var/run/sendmail.pid`
bsd$ sudo kill -HUP `sudo sed q /var/run/sendmail.pid`
Преобразование кодировки файла
bsd$ iconv -fcp1251 -tkoi8-r ~/windows-cp1251.txt
Создание пустого файла
bsd$ sudo touch /var/log/rinetd.log
Усечение файла до нулевого размера
bsd$ cat /dev/null | sudo tee /var/log/rinetd.log
Поиск файлов, содержащих нужный текст (пробел за скобками обязателен)
bsd$ find /boot/ -iname "*conf" -type f -exec egrep -inH mountfrom {} \;
/boot/defaults/loader.conf: | |
#vfs.root.mountfrom="" | # Specify root partition in a way the |
Вывод незакомментированных строк
bsd$ egrep "^[^# ]" /etc/ssh/sshd_config
bsd$ grep -ve '^[[:space:]]*\(#\|$\)' /etc/ssh/sshd_config
Port 172 | ||
PermitRootLogin | no | |
VersionAddendum | ||
Subsystem | sftp | /usr/libexec/sftp-server |
Замена текста в файле (sed)
bsd$ sed 's/ secure/ insecure/g' /etc/ttys | tee ~/ttys
bsd$ sudo cp ~/ttys /etc/ttys
Замена текста в файле (vi)
bsd$ sudo vi /etc/ttys
:%s/ secure/ insecure/g
Запуск утилиты screen при запуске оболочки от имени другого пользователя
Если удаленный вход был выполнен под именем user1 (не входящего в группу wheel), то после запуска оболочки от имени пользователя user2 нужно изменить владельца для /dev/pts/0 на этого пользователя. В таком случае, станет возможным запуск утилиты screen
bsd$ su user2
bsd$ ll /dev/pts/*
crw--w---- | 1 | user1 | tty | 0xa2 | 21 сен 21:40 | /dev/pts/0 |
bsd$ sudo chown user2:tty /dev/pts/*
bsd$ screen
Монтирование одной директории в другую (аналог mount --bind для Linux)
Модуль nullfs.ko можно загрузить вручную, если ядро не собрано с параметром bsd$ sudo kldload nullfs.ko bsd$ sudo mount_nullfs /dev /mnt/dev