Основные команды FreeBSD

| 14.10.2013

adduser - добавить пользователя;

rmuser - удалить пользователя;

addgroup - добавить группу;

rmgroup - удалить группу;

cat - печать файлов на стандартное устройство вывода:
Некоторые параметры:
-b - вывести с нумерацией строк, начиная с 1 без учета пустых строк;
-n - вывести с нумерацией строк, начиная с 1 с учетом пустных строк.
Примеры:
# cat -b file1
# cat file1 file2 > file3
Последний пример запишет содержимое file1 и file2 в файл file3.

date - вывод даты, времени;

cp - копирование файлов;

df - свободное место на диске;

ls - выдает содержимое каталога;

cd - перейти в указанный каталог;

mkdir - создает пустую директорию;

mv - переместить или переименовать файл;

rm - удаление файла;

rmdir - удаление каталога;

ps - вывод активных процессов;

who - список пользователей;

uname - информация о системе.

# ls - вывод на экран содержимого текущего каталога. Ключ -l (ls -l) выводит полную информацию содержащую права доступа время создания размер и т.д.

# pwd - показать текущий каталог

# cp <файл источник> <выходной файл> - копирование файлов. Пример # cp /home/pool/file /home/pool/file1

# chmod <набор прав> <файл или каталог> - изменение прав доступа к файлам и каталогам. Можно использовать маску.
--- Ничего не разрешено
--x Нельзя читать и писать, разрешено исполнять
-w- Нельзя читать и исполнять, разрешено писать
-wx Нельзя читать, разрешено писать и исполнять
r-- Разрешено читать, нельзя писать и исполнять
r-x Разрешено читать и исполнять, нельзя писать
rw- Разрешено читать и писать, нельзя исполнять
rwx Разрешено все

Пример: # chmod 755 rimin.conf

# chown <владелец>:<группа> <файл> - изменение владельца игруппы
Пример: # chown mail:mailuser help.con

# mkdir - создание директории (пример: # mkdir ddf - создаст в текущем каталоге директорию ddf)

# mount_msdos /dev/fd0 /mnt - смонтировать флопи формата ДОС в папку /mnt
# umount /dev/fd0 - размонтировать флопи

# tar xzvf <имя файла>.tar.gz - разархивировать tar.gz
# bunzip2 -x -f file.tar.bz2 - разархивироватьfile.tar.bz2
# gzip -d <имя_файла>.gz - разархивировать .gz

# top - посмотреть работу процессов в реальном времени ( -9 <номер> убить процесс)

# ps axu- посмотреть работающие процессы (в сочетании с |grep можно найти необходимый процесс - например # ps axu | grep sshd )

# pwd_mkdb -p /etc/master.passwd - обновить базу пользователей (пользователей корректировать в файлах/etc/master.passwd и /etc/passwd)

# passwd <имя пользователя> - сменить пароль для пользователя

grep - наиболее часто используемая команда для фильтрации лишнего - оставляет в выходном потоке только строчки с совпадением с указаным ключем один из методов использования выше на пару строк, другой grep <строка> <файл> - например
# grep root /usr/master.passwd - выведет две строки root, toor.

less - вывод построчно. Для прокрутки использовать стрелки, для выхода - q. Пример # less /etc/masster.passwd или # ps axu | less

more - вывод по страницам например # man ps | more

# ln -sf /usr/home /home создание символических ссылок (после создания ссылки команда # cd /home осуществит переход в папку /usr/home)

# man natd | col -b > /floppy/natd - вывод мана в файл без управляющих символов

Перезагрузка процессов:
Очень часто необходимо перезапустить процесс после изменения каки то баз или изменения настроек. В общем случае это выглядит так - находим номер процесса (допустим sshd)

# ps axu | grep sshd
root 5614 0.0 0.7 2300 1844 ?? Is 12:12PM 0:00.20 /usr/local/sbin/sshd
Номер процесса 5614
Убиваем этот процесс и запускаем по новой (некоторые процессы автоматически запускаются снова)
# kill 5614
пожно убить процесс зная его pid файл. Например так
# kill *cat /var/run/sshd.pid*(кавычки обратные)

Некоторые процессы нельзя убивать непосредственно. Тогда можно осуществить "мягкую" перезагрузку -
# init 1 (# kill 1)
Система спросит вас про шелл по умолчанию, нажмите Enter. Когда вы увидите в качестве приглашения решетку (#), скажите
# exit
Система заново запустится.

После изменений баз squidGuard необходимо выполнить две команды -
# squidGuard -C all
# squid -k reconfigure

После изменения /usr/local/etc/squid/squid.conf
достаточно выполнить только последнюю команду.

# killall -HUP inetd - перезапустить inetd после изменений в inetd.conf
создать пользователя
# pw useradd -n user1 -u 1001 -g 1001 -m -s csh
# pwd_mkdb /etc/master.passwd
# passwd user1

Перечитать изменения в myd.ru зоне для DNS
# ndc reload myd.ru

Чтобы изменить стандартное приглашение к вводу комманд необходимо в домашней директории пользователя в файл .profile добавить строчку PS1="# ", в скобках указываем свою строку

Перестроить базу доступа почты
makemap hash /etc/mail/access < /etc/mail/access

Обновление FreeBSD и портов на несколько машин
Обновить на одной машине с помощью cvsup затем
# tar -cf /<раздел со свободным местом около 400Мб>/src.tar /usr/src
gzip /<тот самый раздел>/src.tar
Удаляем старые исходники на машине назначения:
# rm R /usr/ports
# rm R /usr/src
Затем копируем получившийся архив на обновляемый FreeBSD в раздел со свободным местом около 100Мб (всегда было больше, так что возможно это не совсем верно)
# cd /
# tar xzvf /<тот самый раздел куда скопировали>/src.tar.gz
Дерево портов по аналогии с той только разницей, что место на диске може понадобится значительно больше, а находятся они в /usr/ports
Одна маленькая хитрость - чтобы не перегонять временные папки (как правило они занимают много места) можно выполнить ряд действий по их удалению:
# find /usr/ports -name "work" > /tmp/del_port.sh
Затем в любом продвинутом редакторе (мне нравится ee) открываем полученный скрипт, делаем замену с использованием ругулярных выражений - ищем начало строки (^), меняем на rm -R (не забываем в конце пробел), потом запускаем скрипт и тем самым облегчаем будущий архив.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

четыре + двенадцать =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: