Как открыть файл в freebsd
more
основное средство для постраничного вывода на экран текста (содержимое файла или вывода команды). Синтаксис more файл. См. также less и cat.
grep
фильтр для отображения текста и результатов вывода другой программы. Может использовать регулярные выражения. См. также fgrep и egrep
find
программа поиска файла. Пример поиска файла crontab рекурсивно по всем директориям, начиная с корневого каталога: find / -name crontab
locate
быстрый поиск файла по предварительно сформированной базе данных. См. также updatedb
updatedb
обновляет базу данных о файлах для работы команды locate. В новой версии FreeBSD 7.2 для обновления базы данных служит скрипт /usr/libexec/locate.updatedb
man
система справки по командам. Синтаксис man [раздел] команда или man команда. Раздел указывается в виде номера.
pwd
показывает текущую директорию (каталог)
ls
показывает список содержимого директории (каталога). Позволяет просматривать права и владельцев, делать мягкие ссылки (soft или symbolic link) на файлы и папки. Синтаксис ls [-опции] [каталог]. Примеры опций: -F, -laF, -s, -l. См. также команду ln.
ln
делает жесткие ссылки (hard link), а также мягкие (с опцией -s) ссылки. См. также команду ls.
cd
меняет текущую директорию. Синтаксис cd каталог. В качестве каталога может быть также / (корневой каталог), .. (родительский каталог), . (текущий каталог, хотя его указывать для команды cd нет смысла).
halt
команда для остановки системы. Команда halt -n подавляет системный вызов sync при останове.
reboot
команда для перезагрузки. Аналог shutdown -h now
clear
очищает экран консоли
vi
де-факто текстовый редактор. Не для простых пользователей, только для фанатов. Намного приятнее использовать mcedit или на худой конец cat. См. также ee и touch
boot0cfg
конфигуратор начального загрузчика FBSD
ifconfig
конфигурирование параметров сетевого интерфейса, получение параметров сетевых интерфейсов (имени, состояния, MAC-адреса)
dhclient
DHCP клиент. Его вызов без параметров пытается переконфигурировать все сетевые интерфейсы. Чтобы не поломать систему, в качестве параметра нужно как минимум указывать имя сетевого интерфейса (их узнать можно командой ifconfig без параметров).
fsck
проверка дисков
touch
создание пустого нового файла, или изменение даты/времени последнего доступа для существующего файла, или модификация существующего файла.
wc
подсчёт в файле строк, слов и символов
sort
сортировка текстового файла
tr
замена/удаление символов в файле (строки, к сожалению, менять нельзя)
uniq -c file1
подсчёт в файле file1 одинаковых строк и вывод только разных строк с количеством их вхождений
uniq nouniq.txt > uniq.txt
оставляет в файле uniq.txt только уникальные строки (только при условии, если он предварительно отсортирован, например командой sort)
chmod
изменение прав на файлы
killall
посылка сигналов демонам и программам. См. также kill
pkg_add
установка пакета. См. также pkg_info, pkg_delete
ftp
ftp-клиент
make
программа для сборки и установки пакетов
whereis
поиск пакетов и приложений. См. также which и locate
which
показывает, прописана ли программа в переменной среды PATH
mount
монтирование файла устройства в нужную папку. См. также mount_cd9660
smbclient
подключение к общим сетевым папкам Windows (Samba-клиент)
cmp
сравнение файлов. См. также diff
uname
выводит версию операционной системы
tcpdump
снифер. См. также tethereal
tail
вывод хвоста файла. Чрезвычайно удобно следить за изменениями файла, например, логами. Пример: tail -f файл. См. также head
head
вывод первых строк файла
dd
клонирование дисков
df
просмотр смонтированных дисков. Пример просмотра сколько осталось свободного места: df -m. См. также du
mkdir
создает папку
ssh
ssh-клиент
telnet
telnet-клиент
perl
запуск скриптов на выполнение на языке Perl (расширение .pl)
ps
просмотр запущенных процессов. Опция -ax выводит также список запущенных демонов. Команду ps -ax удобно использовать совместно с grep или more
top
просмотр запущенных процессов, а также сколько они занимают места в памяти. Программа top после выполнения остается загруженной, и постоянно обновляет список процессов. Кроме того, программа показывает загруженность процессора, использование памяти, использование swap-файла.
script
сохранить в файл работу в консоли
ping
определение доступности хоста по IP
traceroute
построение маршрута до хоста по IP
fdformat
форматирование floppy-дисков
bash
более удобный командный интерпретатор, чем использующийся по умолчанию, стандартный sh
hostname
позволяет узнать имя текущей машины
sockstat -4
показывает открытые TCP сокеты
history
просмотр листинга ранее введённых в консоли команд
du
просмотр статистики по использованию диска. Например (-h показать в человеческом формате с глубиной подпапок 2): du -h -d2 | more
passwd
смена пароля. Команда chpass запускает vi с открытым файлом информации для root
tar
объединение файлов и каталогов в один файл (обычно для архивирования или записи на ленту)
gzip
архиватор, см. также bzip2
netstat
просмотр информации по сетевой подсистеме. Часто используется для просмотра маршрутов и состояния сетевых интерфейсов. Например, netstat -a показывает статистику сетевых соединений, с адресами и портами. С опцией netstat -na без символьных имен (работает намного быстрее). Просмотр маршрутов netstat -rn.
route
управление маршрутами
date
получение текущей даты и/или времени. Часто используется в скриптах для генерации уникального имени файла, или имени, содерщего информации о дате
mcedit
удобный текстовый редактор, который устанавливается вместе с Midnight Commander
host
несет в себе функции nslookup от Windows.
nmap
сканер портов и хостов. Это вторая программа, которую стоит поставить.
mpd
демон, обслуживающий PPP-соединения. Позволяет устанавливать VPN-соединения, например, с провайдерами Интернет.
logger
средство для занесения записей в syslog с командной строки
sysctl
нужна для просмотра и установки переменных системы
ipnat
утилита, реализующая подсистему NAT
who
посмотреть, кто работает и за какими консолями
whoami
посмотреть, под каким именем я залогинен
su
средство смены логина. Обычно используется для перехода к выполнению административных функций
w
посмотреть, кто залогинен, когда, с какого IP, какая программа выполняется в консоли
time
позволяет измерить время работы скрипта или программы
iconv
мощный перекодировщик (из одной кодировки в другую) текстовых файлов
cat
мощная команда как для вывода файлов на экран (альтернатива more), так и для создания новых файлов. Намного удобнее, чем паленый текстовый редактор vi.
adduser
добавление нового пользователя в систему
rmuser
удаление пользователя из системы
tee
перенаправление клавиатурного ввода в файл. Удобная замена текстовому редактору в том случае, когда нужно в putty что-то скопировать из буфера обмена Windows в файл на *nix. Пример: tee имя_файла.txt, после чего жмем Ctl+V (вставка из буфера обмена в консоль putty) и потом Ctrl+C (окончание работы для tee). В результате получаем в текущем каталоге файл имя_файла.txt с содержимым буфера обмена.
chgrp chown chmod
три команды, меняющие у файлового объекта (файла, папки, вложенных папок и файлов) соответсвенно группу (group), владельца (owner), прав доступа (mode). Для того, чтобы команда применялась на вложенные файлы и папки, нужно вызывать команды с опцией -R. Пример смены группы: chgrp -R <группа>. Напомню, что права, группу и владельца на файлы и каталоги можно посмотреть командой ls -l.
freebsd команды, настройка, установка сервера и не только
Прервать выполняющуюся команду:
^C (Ctrl-C)
Выйти из shell:
exit
Показать документацию к команде ls. Вместо ls можно подставить любую другую команду:
man ls
Описание структур каталогов:
man hier
Показать текущую дату и время:
date
Показать продолжительность того, сколько времеи включена система:
uptime
Показать кто залогинен:
w
Показать последние 10 входов:
last -10
Показать директорию, в которой сейчас находимся:
pwd
Перейти в директорию /usr/local/etc/:
cd /usr/local/etc/
Вместо /usr/local/etc/ можно указать любую другую директорию, в которую есть доступ.
Перейти в каталог на один уровень вверх:
cd ..
Перейти в свою домашнюю директорию:
cd
Перейти в корневую директорию:
cd /
Узнать размер папки:
du -hsx /путь/до/папки
Показать содержимое текущей директории:
ls
Показать подробно содержимое текущей директории (в выводе команды указаны даты, права на файлы/директории):
ls -l
Показать список всех файлов, включая скрытые файлы:
ls -a
Показать права доступа к файлу filename:
ls -l filename
Показать права доступа к директории directory:
ls -ld directory
Создать даректорию newdir в папке tmp:
mkdir /tmp/newdir/
Создаём директорию subdir, даже если у нас отсутствует папка newdir. Все папки создадутся автоматически:
mkdir -p /tmp/newdir/subdir/
Удалить директорию /tmp/newdir/ . Вместо /tmp/newdir/ можете указать нужную вам папку:
rmdir /tmp/newdir/
Удалить непускую директорию newdir. Вместо «newdir» у вас может быть другая папка:
rm -rd /tmp/newdir/
Колличество активных соединений tcp:
netstat -an|grep tcp | wc -l
Колличество активных соединений udp:
netstat -an|grep udp | wc -l
Прочитать несколько байт файла и определить тип файла:
file filename
Пример 1:
file /etc/rc.conf
/etc/rc.conf: ASCII English text
Пример 2:
file /bin/cp
/bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.1, dynamically linked (uses shared libs), FreeBSD-style, stripped
Вывести на экран содержимое файла filename:
less filename
space(пробел) = следующая страница, b = предыдущая страница,
q = выйти, / = искать далее, ? = искать в предыдущем, n = повторить поиск.
Вывести на экран содержимое файла filename. -M = показывать название файла:
less -Mi filename
Показать количество строк в файле filename:
wc -l filename
Показать первые 5 строк файла filename (количество строк можно указать самостоятельно):
head -5 filename
Показать последние 5 строк файла filename (количество строк можно указать самостоятельно):
tail -5 filename
Показать последние 10 строк файла, подождать и показать новые линии по мере их добавления (^ C для выхода). Особенно полезено для лог-файлов:
tail -f filename
Создать файл filename, если он не существует или обновить время создания, если такой файлик имеется:
touch filename
Удалить файл filename:
rm filename
Копировать директорию /tmp/ в директорию /home/ ,название директорий укажите самостоятельно:
cp -R /tmp/ /home/
Сделать жёсткую ссылку newname на файл filename:
ln filename newname
Найти все файлы в директории /etc/ , или в любой другой указанной вами директории (/etc/ -для примера):
find /etc/ -type f
Читать сжатый текстовый файл, без распаковки его на диск:
gzip -dc filename.gz | less
bzip2 -dc filename.bz2 | less
Показать содержимое сжатого архива:
tar -tzf filename.tgz или .tar.gz
tar -tjf filename.tbz2 или .tar.bz2
Извлеч содержимое архива filename.tgz в директорию /tmp/:
tar -xvzf filename.tgz -C /tmp/
Извлеч содержимое архива filename.tbz2 в директорию /tmp/:
tar -xvjf filename.tbz2 -C /tmp/
Извлеч содержимое архива filename.tgz в текущую директорию:
tar -xvzf filename.tgz
Извлеч содержимое архива filename.tbz2 в текущую директорию:
tar -xvjf filename.tbz2
Показать все процессы:
ps auxw
kill pid
или
kill -TERM pid
Искать команду cp в PATH и показать, где она была найдена:
which cp
Показать 20 последних введённых команд:
history 20
Показать все переменные окружения:
printenv
/.bash_profile для bash, или
Показать текущие uid, gid и дополнительные groups:
id
Показать текущее имя пользователя:
whoami
Изменить uid на username:
su username
Показать все учётные записи (выводится содержимое файла /etc/passwd, где они перечислены):
cat /etc/passwd
Показать все группы (выводится содержимое файла /etc/group, где они перечислены):
cat /etc/group
Изменить свой пароль:
passwd
Изменить пароль пользователя username (имеет право только root):
passwd username
Удалить пользователя username; -r = удалить домашную директорию:
pw userdel username -r
Показать все учётные записи с зашифрованными паролями:
cat /etc/master.passwd
Показать примонтированные файловые системы:
mount
Показать используемое и свободное место на всех примонтированных файловых системах (-h = для большей читабельности для людей, -m = если надо узнать размер в Мб):
df
df -h
df -m
Список процессов с открытыми файлами:
fstat
Показать файловую таблицу:
cat /etc/fstab
Показать слайсы устройства ad0:
fdisk /dev/ad0
Показать статистику дисковых операций ввода/вывода каждые 2 секунды:
iostat 2 gstat -I 2s
Показать список установленных пакетов:
pkg_info
Установить пакет foo-1.2.3.tbz:
pkg_add foo-1.2.3.tbz
Установить пакет foo из FTP сервера, используемого по умолчанию:
pkg_add -r foo
Удалить пакет foo-1.2.3:
pkg_delete foo-1.2.3
Выполнять после установки пакетов, для повторного сканирования PATH. (Необходимо только если используете csh):
rehash
Показать загруженные модули:
kldstat
Загрузить модуль:
kldload название_модуля
Выгрузить модуль:
kldunload название_модуля
Показать все сетевые интерфейсы:
ifconfig -a
Показать таблицу маршрутизации:
netstat -r -n
Добавить статический маршрут по умолчанию:
route add default 192.168.0.254
Отправка пакетов до адреса 1.2.3.4 и отображение промежуточных найденных маршрутизаторов:
traceroute -n 1.2.3.4
Показать все пакеты, переданные и принятые на интерфейсе em0:
tcpdump -i em0 -n -s1500 -X
Показать только заголовки tcp пакетов приходящих/уходящих на 80 порт:
tcpdump -i em0 -n tcp port 80
Открыть TCP соединение на порт 80 хоста с адресом 1.2.3.4:
telnet 1.2.3.4 80
Инициализация настроек сетевых интерфейсов в /etc/rc.conf:
/etc/rc.d/netif start
Инициализация настроек статических маршрутов из /etc/rc.conf:
/etc/rc.d/routing start
Показать активные сетевые подключения:
netstat -finet -n
Показать процессы слушающие на IPv4 sockets:
sockstat -4 -l
Перезагрузить ОС:
reboot
Выключить ПК, немедленно
shutdown -p now
То есть существует всего семь вариантов:
7 = read, write & execute (чтение, запись, выполнение);
6 = read & write (чтение и запись);
5 = read & execute (чтение и выполнение);
4 = read (чтение);
3 = write & execute (запись и выполнение);
2 = write (запись);
1 = execute (выполнение).
Для установления прав доступа используется команда CHMOD.
На примере нагляднее:
chmod 777 /tmp/file.sh -разрешить читать, изменять, выполнять файл file.sh всем
chmod 766 /tmp/file.sh -разрешить себе читать, изменять, выполнять файл file.sh, а группе и всем остальным только читать, изменять.
Если надо дать права всем файлам в папке и всему содержимому включая подпапки(рекурсивно), надо использовать параметр -R, т.е.:
chmod -R 766 /tmp/
Узнать переменные окружения (PATH) в языке csh (по умолчанию во FreeBSD):
setenv | grep PATH
Перестартовать сеть (сетевое подключение по ssh сохранится)
/etc/rc.d/netif restart
Аналогично запуск сетевой карты:
ifconfig network-interface up
Получить список поднятых сетевых интерфейсов:
ifconfig -u
Получить список выключенных сетевых интерфейсов:
ifconfig -d
Посмотреть размер директории:
du -h
Перезапустить ipfw:
/etc/rc.d/ipfw restart
Создать дамп базы mysql:
mysqldump -u ЛогинАдминаБД -pПарольАдминаБД -B ИмяБД > /путь/куда/сохранить/дамп/базы/ИмяБазы.sql
Настроить дату и время на freebsd:
date yymmddhhss
где
yy -сокращённо год (две последние цифры)
mm -месяц
dd -день
hh -час
ss -минуты
Все команды и их комбинации перечислять излишне. Если есть, что нужно добавить, добро пожаловать в комментарии, добавлю.
Основная работа в системе FreeBSD связана с постоянным редактированием текстовых конфигурационных файлов тех или иных служб. Простейший редактор, который можно использовать – ee (easy editor). Работать с ним очень просто и интуитивно понятно, кроме того вверху экрана всегда располагается небольшая справка по внутренним командам. Чтобы отредак-тировать файл, нужно ввести команду:
ee [файл]
Однако, я рекомендую использовать редактор vi – один из первых редакторов, разработанных для операционных систем UNIX. Он и по сей день остается одним из самых мощных редакторов и стандартно поставляется практически с каждой операционной системой типа UNIX. К сожалению, среди новичков редактор vi пользуется репутацией программы, известной своей загадочностью и трудностью в изучении. В нем отсутствует меню, и все действия осуществляются с помощью клавиш и клавиатурных комбинаций. Понятно, что на их изучение требуется время. Так зачем же изучать такой редактор? Есть, по меньшей мере, две причины.
Во-первых, он имеется в любой ОС UNIX, с которой вам быть может, придется работать. Рано или поздно вы столкнетесь с ситуацией, когда vi окажется единственным редактором в операционной системе…
Во-вторых, когда вы изучите различные комбинации клавиш и команды, в вашем распоряжении окажется очень мощное средство. Редактор vi обеспечит возможность очень быстрой работы, так как для набора большинства команд не придется убирать руки с базовых клавиш. Приступим к его описанию.
Сразу после запуска редактор vi будет находиться в командном режиме. В этом режиме нажатия клавиш интерпретируются как команды редактору, а не как текст, вводимый в документ. Чтобы переключиться в режим ввода текста, необходимо нажать одну из клавиш:
a – append (присоединить). В этом режиме вводимый текст встав-ляется после символа, на котором находится курсор.
i – insert (вставить). В этом режиме вводимый текст вставляется перед символом, на котором находится курсор.
о – open (открыть). Это приводит к тому, что после строки, на которой находится курсор, в текст вставляется новая строка, затем курсор перемещается на нее и редактор vi переходит в режим insert, разрешая ввод текста на новой строке.
Для возврата в командный режим, нажмите клавишу Esc.
Перемещаться по тексту в режиме ввода текста можно с помощью курсорных клавиш или клавиш Page Up / Page Down. Однако имеются и другие клавиши, позволяющие перемещаться по документу в командном режиме:
h – перемещает курсор влево на один символ;
j – перемещает курсор вниз на один символ;
k – перемещает курсор вверх на один символ;
l – перемещает курсор вправо на один символ;
w – перемещает курсор вперед на одно слово;
b – перемещает курсор назад на одно слово;
е – перемещает курсор в конец следующего слова;
0 – перемещает курсор в начало строки;
$ – перемещает курсор в конец строки;
) – перемещает курсор в начало следующего предложения;
( – перемещает курсор в начало предыдущего предложения;
> – перемещает курсор в начало следующего абзаца;
< – перемещает курсор в начало предыдущего абзаца;
G – перемещает курсор в конец текущего документа;
^ – перемещает курсор к первому символу строки, но не пробелу;
Н – перемещает курсор на первую строку на экране;
L – перемещает курсор на последнюю строку на экране.
Обратите внимание, что с каждой командой этой таблицы по умолчанию используется число 1. Клавиша j перемещает курсор вниз на одну строку, клавиша k перемещает его вверх на одну строку, клавиша w перемещает вправо на одно слово и так далее. Все эти команды можно модифицировать, вводя перед ними число. Так, например, команда 5j перемещает курсор вниз не на одну строку, а на пять. Команда 75G перемещает курсор на 75-ю строку файла, редактируемого в данный момент. А команда 5L перемещает курсор на пятую снизу строку экрана. Данный синтаксис справедлив для всех команд, кроме ^, которая перемещает курсор к первому символу строки, не являющемуся пробелом.
В редакторе vi клавиши Backspace и Delete не выполняют тех действий, которых от них можно ожидать. Для удаления текста и тому подобного придется пользоваться различными клавишами в командном режиме. Рассмотрим команды для редактирования текста:
D – удаляет текст от позиции курсора до конца строки;
dd – удаляет всю текущую строку целиком;
R – замещает текущий текст вводимым текстом, начиная с курсора;
S – удаляет текущую строку и начинает ввод текста на новой строке;
х – удаляет символ в позиции курсора и сдвигает символы влево;
X – удаляет символ перед курсором и сдвигает символы влево;
– заменяет букву на позиции курсора той же буквой другого регистра;
J – объединяет текущую строку с предыдущей;
yw – помещает в буфер слово, на котором находится курсор;
у$ – помещает в буфер текст от курсора до конца данной строки;
уу – помещает в буфер всю текущую строку;
р – вставляет текст в документ после курсора;
Р – вставляет текст перед курсором.
В редакторе vi имеется так же ряд команд для выполнения поиска и замены текста:
/ текст – поиск текста в прямом направлении до первого совпа-дения с заданным текстом;
/ – повтор поиска текста в прямом направлении до обнаружения очередного совпадения;
? текст – поиск текста в обратном направлении до первого совпа-дения с заданным текстом;
? – повтор поиска текста в обратом направлении до обнаружения очередного совпадения;
% – перемещение курсора на соответствующую парную скобку (удобно при программировании);
:s/текст1 /текст2 – замена в текущей строке каждого совпа-дения текст1 на текст2;
:%s/текст1 /текст2 – замена во всем файле каждого совпаде-ния текст1 на текст2;
И последнее, что нам осталось, – это операции над файлами и выход из редактора:
:w – сохранить изменения в текущем файле;
:w! – сохранить изменения в текущем файле в любом случае;
:q – выйти из редактора;
:q! – выйти из редактора в любом случае;
:е файл – загрузить файл в редактор для редактирования;
:е! – отбросить все изменения и перезагрузить старый вариант;
:wq – сохранить изменения в текущем файле и выйти;
Вот в принципе и все, что вам необходимо знать для эффективной работы с текстовыми файлами в редакторе vi . Настоятельно рекомендуем в этом вопросе не идти самым простым путем, а освоить, привыкнуть и работать всегда именно в этом редакторе.
Руководство по FreeBSD состоит из девяти разделов. Эти разделы выглядят так:
1.General commands (Основные команды)
2.System calls and error numbers (Системные вызовы и коды ошибок)
3.The С libraries(Библиотеки С)
4.Devices and device drivers (Устройства и драйверы устройств)
5.File formats(Форматы файлов)
6.Game instructions (Инструкции к играм)
7.Miscellaneous information(Всякая всячина)
8.System maintenance commands(Команды обслуживания системы)
9.Kernel system interfaces(Системные интерфейсы ядра)
Для того чтобы читать man в конкретном разделе нужно использовать синтаксис:
man N name
Где N номер раздела справки, а name название программы
Пример:
man 4 pf
Секции страницы помощи:
NAME – имя страницы с очень кратким описанием предмета (одна строка)
SYNOPSIS – синопсис, краткий обзор
DESCRIPTION – полное описание предмета справки
ENVIRONMENT – используемые переменные окружения
EXIT STATUS – коды возврата программ
EXAMPLES – примеры использования
SEE ALSO – рекомендуемые man страницы для получения дополнительной информации
2. Основные команды для работы с файлами
Во Фре все это ФАЙЛЫ. устройства это тоже файлы:)
В UNIX существуют различные виды файлов, информация о которых содержится атрибутах файловой системы для этих файлов. Всего в UNIX существует 6 различных видов файлов:
• Обычный файл (regular file)
• Каталог (directory)
• Специальный файл устройства (special device file)
• FIFO, или именованный канал (named pipe)
• Символьная ссылка (symbol link)
• Сокет (socket)
Для фри неважно расширение. Она ориентируется на основании магии! Вернее magic numbers.
Узнать тип файла можно с помощью утилиты file:
%file /etc/rc.conf
/etc/rc.conf: ASCII text
%file /bin/sh
/bin/sh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 9.0 (900044), stripped
ls (list files) предназначена для просмотра содержимого каталогов и получения информации о файлах.
ls -a вывод полностью ( со скрытыми файлами и папками )
ls -l вывод в подробной форме ( с правами, размером, датами и т.д.);
ls -i выводит также inode файла
Примеры:
%ls
f1 f2 f3
%ls -la
total 12
drwxr-xr-x 2 root bos 512 16 мар 19:14 .
drwxr-xr-x 5 bos bos 512 29 апр 13:36 ..
-rw-r--r-- 2 root bos 19 16 мар 19:15 f1
-rw-r--r-- 1 root bos 0 16 мар 19:10 f2
-rw-r--r-- 1 root bos 0 16 мар 19:10 f3
pwd (print working directory) показывает текущий рабочий каталог.
%pwd
/usr/home/bos/A
cd (change directory) меняет текущий рабочий каталог.
Путь может быть относительным, а может и абсолютным(начинаться с / )
cd - перейти в домашний каталог
cd .. - подняться на каталог выше
cd
root - перейти в домашний каталог заданного пользователя
cd - - перейти в предыдущий каталог
touch меняет временные метки файла и имеет побочное действие, которое используется гораздо чаще, чем основное – если файла с указанным именем нет, создается пустой файл.
%ls -la | grep -E '[[:space:]]f.*'
-rw-r--r-- 1 bos bos 0 2 май 13:20 ft1
-rw-r--r-- 1 bos bos 0 2 май 13:20 ft2
%touch ft1
%touch ft3
%ls -la | grep -E '[[:space:]]f.*'
-rw-r--r-- 1 bos bos 0 2 май 13:22 ft1
-rw-r--r-- 1 bos bos 0 2 май 13:20 ft2
-rw-r--r-- 1 bos bos 0 2 май 13:22 ft3
rmdir удаляет только пустые каталоги.
-p удаляются и родительские каталоги целевого каталога, если они пусты.
% rmdir /tmp/test
% rmdir -p /tmp/a/b/c
cp позволяет копировать файли и каталоги (опция -r или -R).
При её использовании часто применяются шаблоны шелла. В общем случае, команда cp требует не менее двух параметров: что копировать и куда копировать.
% cp file1 dir1/
% cp -r dir1/ dir2/
mv предназначена для перемещения и переименования файлов и каталогов. При перемещении внутри одного каталога имя исходного файла/каталога меняется на новое, что эквивалентно переименованию. При перемещении внутри одного раздела (одной файловой системы) меняется только жесткая ссылка на объект и процесс перемещения происходит очень быстро. При перемещении данных между различными файловыми cистемами происходит копирование с последующим удалением источника, так что время выполнения команды зависит от объема данных.
%mv file2 file3 - переименовали файл
%mv file3 dir1/ - переместили файл в dir1
ln позволяет создавать символьные (с опцией -s) и жесткие (без опции -s) ссылки.
жесткая ссылка при удалении оригинала, данные все равно будут доступны
–s будет создана мягкая ссылка(как ярлык в винде) при удалении ярлыка с файлом ничего не случается, при удалении файла, ярлык ссылается на пустое место
%ln -s /etc/rc.conf file4
cat вывод содержимого файла
more less выводят содержимое файла с возможностью прокрутки и поиска
which для поиска программ (исполняемых файлов), ищет указанные файлы в каталогах, перечисленных в переменной окружения PATH.
whereis аналогична по действию, но ищет также среди man страниц и в каталогах с исходными текстами программ. Примеры:
% which ls
/bin/ls
% whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
locate Поиск файлов по имени с помощью заранее созданной индексной БД.
/usr/libexec/locate.updatedb cоздание индексной базы
Аналог службы индексирования винды, индексировать нужно руками или по крону:)
tail выводит последние строки файла
-n выводится n строк
% tail -n 5 /var/log/messages
head выводит первые строки файла
-n выводится n строк
%head -n 5 /var/log/messages
cut вырезать из входного потока или файла фрагменты строк,
-с соответствующие определенным позициям символов в строке
-f соответствующие определенным полям, считается, что файл имеет табличную структуру (т. е. разбит на колонки)
-d указывает разделитель полей. По умолчанию табуляция
cut -d: f1,7 /etc/passwd вывести 1й и 7й столбик из файла
cut -c1-5 /etc/passwd вывести символы, в каждой строке, с первого по пятый
Paste противоположность cut, вставляет фрагменты строк и выводит на экран
-d указывает разделитель полей. По умолчанию табуляция
-s объединяет множество строк в файле в одну строку
%paste -d: b1 a1
b1:a1
b2:a2
b3:a3
b4:a4
%paste -s a1
a1 a2 a3 a4
diff выводит разницу между текстовыми файлами или оглавлениями каталогов в формате, который пригоден для последующего использования программой patch. При сравнении двоичных файлов программа diff только сообщает, совпадают или различаются между собой сравниваемые файлы.
% diff каталог1 каталог2 - сравниваем каталоги
% diff /bin/ls /usr/bin/lsvfs -сравниваем бинарные файлы
Binary files /bin/ls and /usr/bin/lsvfs differ
Патчинг проходит элементарно
% patch hello.c patch.txt
Hmm. Looks like a normal diff to me.
..
done
tr замена символов по шаблону
Заменяет маленькие буквы в файле на большие и выводит на экран, сам файл остается без изменений
tr "[:lower:]" "[:upper:]"
tee транслящия stdin в stdout c ведением лога(копированием в файл)
uniq – нахождение дублирующихся строк, если попадается повторяющаяся строка то она не будет выведена.
find осуществляет рекурсивный поиск файлов в файловой системе, не использует базы данных и переменные окружения.
Условия поиска:
-mount или -xdev – осуществлять поиск только в пределах одной физической файловой системы
-name шаблон – поиск файла по его имени
-iname шаблон – то же, но без учета регистра
-regex шаблон – то же, что и name, но шаблон – регулярное выражение
-type тип_файла – поиск файлов указанного типа
b block special
c character special
d directory
f regular file
l symbolic link
p FIFO
s socket
-user пользователь – искать файлы, принадлежащие пользователю
-group группа – искать файлы, принадлежащие группе
-atime N – искать файлы, доступ к которым был N суток назад
-mtime N – искать файлы, которые менялись N суток назад
-size N – искать файлы, размер которых N блоков
Команды:
-exec программа – выполнить указанную программу передав ей имя файла(с помощью <>)
-ok программа – то же, что exec, но с запросом подтверждения для каждого файла
Пример:
% find /usr/share -name index.html
Поиск файлов, которые модифицировались за последние 2 дня и вывод полной информации про них
% find /var/log -ctime 2 -type f -ls
Удаляем записи с сервака, старше 35 дней
% find /var/spool/asterisk/monitor -ctime +35d -exec rm -f <> \;
Операционная система FreeBSD является довольно специфичной, и используется в подавляющем большинстве для каких-либо высоконагруженных систем, для выполнения ресурсоемких операций. Используется операционная система чаще на различных серверах, нежели как система для комфортного времяпровождения за чашечкой кофе у компьютера, дань тому истории самой системы. Выделяющиеся особенность в том, что при минимальных объемах ресурсов по соотношению с другими системами, FreeBSD сможет функционировать, и выполнять задачи, под которые система была сконфигурирована, тем самым достигается более рациональное использование аппаратных ресурсов. Обратная сторона минимальных требований к ресурсам это требование к навыкам, которыми должен владеть администратор системы.
В данном посту я решил сделать хорошую шпаргалку по командам FreeBSD, которые могут пригодиться на практике. Здесь приведена выжимка команд для работы с файловой системой, процессами, пользователями, и т.д.
cp — Сокращение от copy, команда выполняет копирование файлов.
Рассмотрим пример использования этой команды. Скопируем файл /home/file1 в директорию /home/dir/:
df — Команда для просмотра свободного места на диске.
ls — Команда для просмотра содержимое каталога.
Рассмотрим подробно содержимое каталога:
cd – Команда для перехода по каталогам.
Пример, выполним переход в директорию /home:
Поиск файлов и директорий созданные за последний день в текущей директории.
Поиск файлов и директорий чтение которых производилось за последний день в текущей директории.
Поиск файлов и директорий модифицированных за последний день в текущей директории.
Поиск файлов и директорий созданных либо копированных за последний день в текущей директории.
Поиск и удаление файлов и папок в текущей директории.
mkdir dir_name — Команда для создания директории.
uname — Команда для вывода информации о системе.
ps — Команда выводит на экран список активных процессов.
kill pid — Команда принудительно завершает процесс. В качестве параметра PID указывается id процесса.
killall processname — Команда принудительно завершает процесс. В качестве параметра processname указывается имя процесса.
history 20 — Команда отображает список последних команд. Число 20 означает количество последних комманд.
id — Команда для отображения текущего uid gid группы.
who — Команда для вывода списка пользователей в системе.
whoami — Команда для просмотра имени текущего пользователя.
su — Команда дает права суперпользователя root. При этом пользователь должен быть в группе wheel.
su username — Переключение окружения с правами другого пользователя.
cat /etc/passwd — Просмотр всех аккаунтов в системе.
cat /etc/group — Просмотр всех групп в системе.
cat /etc/master.passwd — Команда для просмотра всех учетных записей с зашифрованными паролями.
passwd — Команда для смены пароля. Актуальна для пользователей root.
passwd username — Команда для смены пароля указанного пользователя.
pw usermod username -G wheel — Команда для добавления пользователя в группу wheel.
pw userdel username -r — Команда для удаления пользователя. Параметр -r говорит о том, что будет удалена домашняя директория.
mount — Команда для просмотра смонтированных файловых систем. См. пример: монтирование USB-устройств во FreeBSD.
pkg_info — Команда для просмотра информации обо всех установленных пакетах.
Просмотр детальной информации о пакете pack-1.0.0
Просмотр детальной информации о всех пакетах pack.
Просмотр список файлов включенных в пакет.
Команда для определения в каком из пакетов включен файл /usr/local/bin/file.
pkg_add pack-1.2.3.tbz — Команда для установки пакета из файла.
pkg_delete foo-1.2.3 — Команда для удаления пакета.
ifconfig -a — Команда для отображения сетевого интерфейса.
ping yournet.kz — Команда ping, известная пожалуй каждому системному администратору.
traceroute yournet.kz — Команда выводит таблицу трассировки к узлу.
reboot — Команда выполняет перезагрузку системы.
portsnap fetch — Команда выполняет обновление портов.
where is wget — Команда отображает полный путь к программе, в примере это wget.
scp -p -r /home/dir [email protected]:/home/server — Команда для копирования файлов на другой сервер.
command | less — Команда для запуска результатов работы команды с less.
Читайте также: