Шпаргалка по программам и командам FreeBSD
Let's Encrypt
КОМАНДЫ ОБЩЕГО НАЗНАЧЕНИЯ
Команда | Действие |
apcaccess | Проверить состояние APC Smart-UPS |
bg | список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне |
bison | утилита для создания синтаксических анализаторов, на основе набора грамматик, задаваемых разработчиком |
cal | вывести календарь на текущий месяц |
column | Форматирование по столбцам. Эта утилита преобразует текст, например какой либо список, в табличное, более "удобочитаемое", представление, вставляя символы табуляции по мере необходимости |
convmv -f cp1251 -t utf-8 -r .
convmv -f cp1251 -t utf-8 -r --notest . | Перекодировка имени файлов |
cut | -d (разделитель полей) и -f (номер(а) поля(ей) |
date 2004042054 | установка даты 2020 год, 04 апреля, 20 часов 54 мин |
diskinfo -t ad0 | показывает информацию по диску, и делает тест на дисковую производительность |
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' | Сделать резервную копию (сбекапить) жесткого диска и послать ее на удаленный компьютер |
dd if=/dev/urandom | pv | dd of=/dev/null | Прогресс-бар выполнения |
dd if=/dev/mem bs=64k skip=15 count=1|strings|less | Определение модели материнской платы во FreeBSD |
df -h | Показать свободное место на смонтированных файловых системах |
dmidecode | отобразить версию программы, общую информация базы DMI, и расшифрованное содержимое отдельных записей |
dmidecode -t bios | сведения о BIOS |
dmidecode -t system | сведения о переключателях системной платы |
dmidecode -t baseboard | сведения о материнской плате |
dmidecode -t chassis | сведения о переключателях и датчиках шасси |
dmidecode -t processor | сведения о центральном процессоре (о процессорах для многопроцессорных систем) |
dmidecode -t memory | сведения об оперативной памяти |
dmidecode -t cache | сведения о кэш-памяти |
dmidecode -t connector | сведения о разъемах контроллеров периферийных устройств |
dmidecode -t slot | сведения о разъемах PCI/PCI-Express |
du -s * | sort -k1,1rn | head | Показать каталоги в текущем с наибольшим объемом используемых данных |
du -a | sort -n -r | head -n 5
du -hs * | sort -rh | head -5
du -Sh | sort -rh | head -5 | Найти самые большие каталоги в Linux |
du -sh /var/log/* | sort -hr | Как узнать размер каталога(папки) в Linux/FreeBSD? |
du -hsx /каталог
du -h -s /* | Показать размер занимаемого места каталогом на диске |
expand,
unexpand | преобразует символы табуляции в пробелы/пробелы в символы табуляции |
expr | Универсальный обработчик выражений: вычисляет заданное выражение (аргументы должны отделяться пробелами). Выражения могут быть арифметическими, логическими или строковыми |
fdisk -l | Показать размеры разделов дисков и типы |
fg | выносит на передний план последние задачи |
fg n | вынести задачу n на передний план |
file -i file.txt | кодировка файла |
finger user | показать информацию о user |
fmt | утилита форматирования текста, чаще всего используемая как фильтр в конвейерах для того, чтобы выполнить "перенос" длинных строк текста |
fold | Выравнивает текст по ширине, разрывая, если это необходимо, слова. Особый интерес представляет ключ -s, который производит перенос строк по пробелам, стараясь не разрывать слова |
fstat | grep http | wc -l | список открытых файлов по процессу http |
gstat -a | для вывода только активных устройств |
host pixelbeat.org | Поиск ДНС ip адреса по имени хоста или наоборот |
join | утилита позволяет объединять два файла по общему полю, что представляет собой упрощенную версию реляционной базы данных |
join -t'\0' -a1 -a2 file1 file2 | Объединение отсортированных файлов |
join -t'\0' file1 file2 | Пересечение отсортированных файлов |
join -t'\0' -v2 file1 file2 | Разность отсортированных файлов |
join -t'\0' -v1 -v2 file1 file2 | Симметрическая разность отсортированных файлов |
groupadd -g 500 user | создать группу user с идентификатором GID=500 |
hd -c /etc/newsyslog.conf | less | Просмотр содержимого файла в HEX |
head file | вывести первые 10 строк указанного файла |
iconv -f WINDOWS-1251 -t UTF-8 -o output_file.txt original_file.txt | Перекодировка файла |
kill pid | завершить (убить) процесс с идентификатором pid |
killall proc | убить все процессы, имена которых начинаются с proc |
kgdb /boot/kernel/kernel /var/crash/vmcore.last | Анализ ошибок (должна быть запущена служба ..., dumpdev="AUTO" >> rc.conf) |
last | список пользователей, вошедших в систему по данным из специального файла /var/log/wtmp. Отображается имя, терминал, время входа IP-адрес и т.п. |
last root | отобразить сведения о сеансах пользователя root |
lastlogin | отобразить сведения о сеансах всех пользователей |
lex, flex | утилита лексического разбора текста. В Linux-системах заменена на свободно распространяемую утилиту flex |
look | Команда look очень похожа на grep, и предназначена для поиска по "словарям" -- отсортированным файлам. По-умолчанию, поиск выполняется в файле /usr/dict/words, но может быть указан и другой словарь |
ls -lrt | Список файлов по дате |
ls -lSr | Список файлов, отсортированных по размеру (файл с наибольшим размером - последний) |
make config
make install
make clean
make deinstall
make reinstall | |
mbmon -A | Температура, напряжения и скорости врашения вентиляторов на материнской плате |
mount -t vfat /dev/sdb5 /mnt/d
umount /mnt/d | Примонтировать устройство /dev/sdb5 в режиме vfat к точке /mnt/d Отмонтировать устройство /mnt/d |
nice | отобразить текущее значение модификации приоритета nice Модификатор принимает значения от -20 (высокий приоритет) до 19 (низкий) |
nice -4 mc | запустить mc с приоритетом +4 по отношению к родительскому процессу (оболочке пользователя) |
nice --4 mc | запустить приложение mc с приоритетом -4 по отношению к родительскому процессу (оболочке пользователя) |
nl | Нумерует строки в файле. nl filename -- выведет файл filename на stdout, и в начале каждой строки вставит ее порядковый номер, счет начинается с первой непустой строки. Если файл не указывается, то принимается ввод со stdin.
Вывод команды nl очень напоминает cat -n, однако, по-умолчанию nl не нумерует пустые строки |
nmap 192.168.1.2 | |
nslookup | запуск nslookup в интерактивном режиме |
nslookup mail.ru | отобразить сведения для домена mail.ru с использованием сервера DNS из сетевых настроек |
nslookup mail.ru 8.8.8.8 | отобразить сведения для домена mail.ru с использованием сервера DNS с адресом 8.8.8.8 (публичный DNS-сервер Google) |
nslookup –query=mx mail.ru | отобразить запись типа MX для домена mail.ru |
openssl rsa -in /path/to/originalkeywithpass.key -out /path/to/newkeywithnopass.key | снять пароль с ключа |
ps –e | вывести список процессов с идентификаторами (PID) и их именами |
pwgen | программа генерации паролей |
renice 4 -p 11590 | установить значение приоритета для процесса с идентификатором PID=11590 равное 4 |
rename 's/\.txt$/.sql' *.txt | |
passwd | изменить пароль текущего пользователя |
passwd user | изменить пароль пользователя user (команда только для root) |
paste | Используется для объединения нескольких файлов в один многоколоночный файл |
ping –c 1 –s 3000 –t 3 ya.ru | пинговать 1 раз узел ya.ru с отправкой пакетов длиной 3000 байт. И с использованием TTL=3 |
pkg version -vIL= | Контролировать устаревшие приложения и утилиты можно командой |
portsnap fetch extract update | fetch — проверить обновления и скачать если есть, extract — развернуть, update — обновить. Но обновится в данном случае лишь порт, а не приложение |
portsnap fetch update | обновление коллекции портов |
portupgrade -a | обновить коллекцию портов |
script /var/log/mysession.txt | создать протокол действий пользователя с записью вводимых команд и отображаемых результатов в файл /var/log/mysession.txt. Для прекращения записи введите команду exit |
scp -p -r $USER@$HOST: file dir/ | Скопировать папку dir/ с правами доступа в домашнию папку пользователя $USER на хосте $HOST |
smartctl -a /dev/ada0
| Просмотр информации S.M.A.R.T. носителя ada0 |
sockstat -c | список установленных соединений; |
sockstat -4, -6 | по протоколу ipv4 или ipv6 |
sockstat -4 -l | ключи запуска:
-4 информация только о IPv4 сокетах.
-6 информация только о IPv6 сокетах.
-c информация только о подключенных сокетах.
-l информация только о задействованых сокетах (открытый порт) |
sort file1 file2 | uniq | Объединение неотсортированных файлов |
sort file1 file2 | uniq -d | Пересечение неотсортированных файлов |
sort file1 file1 file2 | uniq -u | Разность неотсортированных файлов |
sort file1 file2 | uniq -u | Симметрическая разность неотсортированных файлов |
sort testfile | uniq -c | sort -nr | выводит статистику встречаемости строк в файле INPUTFILE (ключ -nr, в команде sort, означает сортировку в порядке убывания). Этот шаблон может с успехом использоваться при анализе файлов системного журнала, словарей и везде, где необходимо проанализировать лексическую структуру документа |
su - user | выполнить смену текущего пользоателя на пользователя user с использованием его оболочки (-) |
su - | сменить текущего пользователя на суперпользователя root с использованием его командной оболочки |
tail -f /var/log/file.log | Просмотр логов в реальном режиме времени |
tail –n 100 /var/log/messages | отобразить последние 100 строк из файла журнала /var/log/messages |
touch 12310130 file.txt | Установить текущего года ДЕКАБРЬ31ПОЛВТОРОГО. [[YY]YY]MMDDhhmm[.sec] |
tr 'A-Z' 'a-z' | перевод в нижний регистр |
traceroute ya.ru | выполнить трассировку к узлу ya.ru |
traceroute 8.8.8.8 | выполнить трассировку к узлу с IP-адресом 8.8.8.8 |
uname -a | Информация о операционной системе |
useradd -p PASS user | создать пользователя user с паролем PASS |
users | список имен пользователей, вошедших в систему |
vmstat 6 | отображает статистику каждые шесть секунд |
vmstat -z | показывает состояние буфера |
vmstat -i | показывает состояние прерываний |
w | сведения о пользователях, зарегистрировавшихся в системе |
wc -l | подсчитывает число файлов и каталогов в текущем каталоге (исключая специальные объекты . и ..) |
wc | "word count", счетчик слов в файле или в потоке
wc -w подсчитывает только слова;
wc -l подсчитывает только строки;
wc -c подсчитывает только символы;
wc -L возвращает длину наибольшей строки. |
whereis kde5 | выдаст местонахождение порта /usr/ports/x11/kde5. Есть вариант зайти в каталог /usr/ports и запустить make search name=kde5 и будет результат со списком портов которые содержат искомую фразу, но в случае с nginx в выдаче будет всё, включая модуль certbot для nginx, поэтому если знаете что конкретно ищите, то проще where. Если же нужен именно поиск по примерно известному названию то make search у которого есть так же вариант make search key=keyword |
which текст | Показывает где находится команда |
whoami | имя, под которым вы в данный момент работаете в системе |
whois domain | получить информацию whois для domain |
| |
наверх
детальное описание
Команда | Действие |
/usr/local/sbin/apachectl start/stop/restart
/usr/local/etc/rc.d/apache start/stop/restart | работа со службой |
| |
наверх
детальное описание
наверх
детальное описание
Команда | Действие |
!!!ВНИМАНИЕ!!! Если будем использовать базу данных - собираем из портов с нужными опциями |
service dovecot start/stop/restart
/usr/local/etc/rc.d/dovecot start/stop/restart | работа с службой |
/usr/local/sbin/dovecot --build-options | с каким опциями собран Dovecot |
наверх
детальное описание
Команда | Действие |
service exim start/stop/restart | Управление службой |
/usr/local/etc/exim/configure | Конфигурация |
exim –bV | Проверить правильность синтаксиса конфигурационного файла и узнать с поддержкой каких опций собран exim |
exim –bp | Печать списка сообщений в очереди |
exim -bp | awk '{print $4}' | sort | uniq -c | sort -rn | Просмотр активных отправителей |
exim -bp | exiqsumm | Вывод суммарной информации |
exim -bt user@mail.ru | Тестирование маршрута доставки до указанного адреса |
exim -bh 94.100.176.20 | Иммитировать SMTP транзакцию из командной строки, как если бы сообщение пришло с указанного IP-адреса. При этом будет показано прохождение и срабатывание проверок, фильтров и листов доступа (ACL). На самом деле, никакое сообщение никуда доставлено не будет |
exim -bP | Листинг всех настроек конфигурации |
exiqgrep -f name@domain.com | Просмотр сообщений конкретного отправителя |
exiqgrep -r name2@domain2.com | Просмотр сообщений для конкретного получателя |
exiqgrep -o 86400 | Поиск сообщений, старше, указанного времени (количества секунд). В примере, сообщения старше 1 дня |
exiqgrep -y 3600 | Поиск сообщений свежее указанного времени (количества секунд). В примере поиск сообщений, пришедших в течение последнего часа |
exiqgrep -z | Просмотр замороженных сообщений |
exiqgrep -zc | Подсчет замороженных сообщеий |
exiqgrep -x | Просмотр заблокированных сообщений |
exiqgrep -i | Просмотр только идентификаторов всех сообщений |
exim -bpc | Получить число сообщений, находящихся в очереди |
exim -M | Принудительно повторить попытку отправки конкретного письма (с конкретным ) |
exim -qf | Выполнить обработку очереди |
exim -qff | Выполнить обработку очереди и попытаться сбросить "замороженные" письма |
exim -Mvl | Просмотреть логи для указанного сообщения |
exim -Mvb | Просмотреть тело сообщения |
exim -Mvh | Просмотреть заголовки сообщения |
exim -Mrm | Удалить сообщение из очереди, не отправляя сообщений об ошибке |
exim -Mg | Удалить из очереди и отправить отправителю диагностику о невозможности доставки |
exiqgrep -o 86400 -i | xargs exim -Mrm | Удалить из очереди все сообщения, старше чем 86400 секунд (1 сутки) |
exipick -zi | xargs exim -Mrm | Очистить все замороженные сообщения из очереди |
exipick -i | xargs exim -Mrm | Очистить все сообщения из очереди |
exim -q -v | Принудительная рассылка всей почты в очереди. (Запуск очереди) |
exim -ql -v | Запуск очереди только для локальных доставок |
exipick -i | xargs exim -Mrm или exim -bpr | awk {'print $3'} | xargs exim -Mrm | Удалить все сообщения из очереди |
exiqgrep -i -f user@example.tld | xargs exim -Mf | Заблокировать (заморозить) все письма от указанного отправителя |
exiqgrep -i -f user@example.tld | xargs exim -Mrm | Удалить все письма от указанного отправителя |
exim -Mf | Заблокировать (заморозить) сообщение |
exim -Mt | Разблокировать сообщение |
exim -Mc | Доставить сообщение, только если достигнуто время для повторной доставки |
exim -Mar | Добавить получателя в сообщение |
exim -Mes | Изменить адрес отправителя сообщения |
exigrep '<= .* \[12.34.56.78\] ' /path/to/exim_log | Поиск сообщений отправленных с определенного IP адреса |
exigrep '=> .* \[12.34.56.78\]' /path/to/exim_log | Поиск сообщений отправленных на определенный IP адрес |
eximstats /path/to/exim_mainlog
eximstats -ne -nr -nt /path/to/exim_mainlog | Генерировать из лог файла и показать статистику Exim |
fgrep YYYY-MM-DD /path/to/exim_mainlog | eximstats | Статистика за определенный день |
grep -lr 'a certain string' /var/spool/exim/input/ | \sed -e 's/^.*\/\([a-zA-Z0-9-]*\)-[DH]$/\1/g' | xargs exim -Mrm | Удалить все сообщения в очереди, содержащие в теле, определенную строку |
exim -bt postmaster@hostname.domain.com | Проверка распознавания адреса exim, и вывода роутера и транспорта который будет использоваться для доставки локальным пользователям |
exim -bt user@mail.ru | Проверка распознавания адреса exim, и вывода роутера и транспорта который будет использоваться для доставки внешним пользователям |
exim -v user@mail.ru | Тестирование доставки сообщений внешним пользователям |
exim -v postmaster | Тестирование доставки сообщений локальным пользователям |
exim –bpc | Просмотр количества сообщений в очереди |
exim -bp | awk '{print $4}' | sort | uniq -c | sort -rn | Просмотр активных отправителей |
exiqgrep -i -f name@domain.com | wc -l | Подсчет количества сообщений в очереди от конкретного отправителя |
exiqgrep -i -f name@domain.com | less | Просмотр ID-сообщений от конкретного отправителя |
netstat -plan|grep :25|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort | Просмотр IP-адресов, которые подключены на 25 порт |
| |
наверх
детальное описание
Команда | Действие |
find -type f -print0 | xargs -r0 grep -F 'example' | Поиск всех файлов по ‘example’ в текущей директории и ниже |
find -maxdepth 1 -type f | xargs grep -F 'example' | Поиск всех файлов по ‘example’ в текущей директории |
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done | Обработать каждый элемент с несколькими командами (в цикле while) |
find -type f ! -perm -444 | Найти файлы, которые не являются видимыми для всех |
find -type d ! -perm -111 | Найти директории не доступные для всех |
find /var/backups/moo-backup/moo-2 -type d -maxdepth 1 -mtime +45 -exec rm -rf {} \; | Найти директории старше X дней и удалить |
find /path -type d -exec chmod 0755 {} \;
find /path -type d | xargs chmod 0755 | ищем каталог path и выполняем команду chmod |
find Pictures/tecmint/ -name "*.png" -type f -print0 | xargs -0 tar -cvzf images.tar.gz | ищем все файлы по маске*.png и упаковываем их в tar.gz |
find Downloads -name "DomTerm" -type d -print0 | xargs -0 /bin/rm -v -rf "{}" | находить и рекурсивно удалять каталог, например, следующая команда будет рекурсивно удалять DomTerm в каталоге «Downloads» |
find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {} | удалить все файлы в каталоге, кроме одного или нескольких файлов с заданным расширением |
find . -name 'php.ini' -exec sed -i 's/log_errors = Off/log_errors = On/g' "{}" \; | Поиск всех файлов php.ini в текущем каталоге и замена текста в каждом найденном файле с помощью команды sed |
find / -mmin -1 -print | Найти и вывести список файлов во всей файловой системе, изменённых в течение последней минуты |
find / -mtime +31 -print | Найти и вывести список файлов во всей файловой системе, которые были изменены более 31 дня назад |
find / -size +100M -print | Найти и вывести список файлов во всей файловой системе, чей размер больше 100 Мб |
find . -user ilya | поиск осущетвляется по файлам принаждежашим пользователю с именем ilya |
find /var/www -maxdepth 4 -name 'restore.php' | Глубина поиска указывается относительно каталога, указанного в аргументе команды. Начинает поиск в папке /var/www, но не глубже /var/www/*/*/*/* |
find /var/www -maxdepth 4 -name 'restore.php' -exec rm -r {} \; | Удаляет все файлы restore.php от текущего каталога, но не глубже 4 уровня вложенности относительно аргумента в командной строке. Начинает поиск в папке /var/www, но не глубже /var/www/*/*/*/* и удаляет все файлы restore.php в найденном
| find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 | Создать архив для папки dir/ и всех вложенных папок |
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents | Создать копию папки dir/ с вложенными папками |
find /path/to/dir/ -mindepth 1 -newermt '2013-08-17 11:35' ! -newermt '2013-08-17 12:17' -ls | Пример как искать файлы, измененные 17 августа с 11:35 до 12:17 |
find / -type l -print | perl -nle '-e || print'; | найти символьные ссылки идущие вникуда |
find . -name "*.sh" -print0 | xargs -0 rm -rf | |
find . -type f -exec cp -t TARGET {} \+ | Скопировать файлы в целевой каталог |
find -type f -exec du -Sh {} + | sort -rh | head -n 5
find /home/tecmint/Downloads/ -type f -exec du -Sh {} + | sort -rh | head -n 5
find /home/tecmint/Downloads/ -type f -printf "%s %p\n" | sort -rn | head -n 5
| Как узнать исключительно самые большие размеры файлов |
find / > /dev/null 2>&1 | Подавить весь вывод программы |
| |
наверх
детальное описание
наверх
детальное описание
Команда | Действие |
grep -r --include=*.{html,htm} 'find_words' /file/www/housecomputer.ru/* | Поиск фразы find_words во всех файлах с расширением html,htm рекурсивно начиная с каталога /file/www/housecomputer.ru/ |
grep . file
egrep -v ^$ file | убрать в выводе пустые строки |
grep -Ev '^$|^\s*#' /etc/nginx/nginx.conf | исключить пустые строки и комментарии |
grep -l "www.google.com" *.conf
find . -name "*.conf" -exec grep -l "ServerName" {} \;
grep -Rl "ServerName" --include="*.conf"
find . -name "*.conf" -exec grep -l "ServerName" {} \+ | в каком файле найдено соответствие |
grep -L | где не встречается искомое |
tail -f /var/log/apache/access.log|grep --line-buffered myfile|grep 200 | |
awk '/foo/{print $2}' | |
grep seven $(find . -type f | grep -v '\.svn') | |
ack --type-set archive:ext:zip --archive seven | |
ag --search-binary seven | |
zgrep, zegrep, zfgrep | Поиск в gz-архивах |
| |
наверх
детальное описание
Команда | Действие |
ifconfig | отобразить сведения о конфигурации сетевых интерфейсов |
ifconfig -a | отобразить сведения о конфигурации сетевых интерфейсов, в том числи и отключенных |
ifconfig eth0 | отобразить сведения о конфигурации сетевого интерфейса eth0 |
ifсonfig –s | отобразить список сетевых интерфейсов |
ifconfig eth0 hw ether 00:11:22:33:44:55 | установить новое значение аппаратного адреса (MAC-адреса) для сетевого интерфейса eth0 |
ifconfig eth1 broadcast 192.168.1.255 | установить значение широковещательного адреса для интерфейса eth1 |
ifconfig eth1 netmask 255.255.255.0 | установить маску подсети для интерфейса eth1 |
ifconfig eth1 192.168.1.1 | установить IP-адрес для интерфейса eth1 |
ifconfig eth1 add 192.168.1.2 | добавить IP-адрес для интерфейса eth1 |
ifconfig eth0 down | отключить интерфейс eth0 |
ifconfig eth0 up | включить интерфейс eth0 |
| |
наверх
НЕТ
Команда | Действие |
iostat -d -w6 | показывать информацию по дискам, с периодичностью в 6 секунд |
iostat -dx -w6 | показывает расширенную статистику |
| |
наверх
детальное описание
Команда | Действие |
ip addr show | отобразить список сетевых интерфейсов с адресами. Возможно сокращение параметров команды - ip a sh или ip a s |
ip addr list permanent | отобразить только статические ip адреса |
ip addr list dynamic | отобразить только динамические ip адреса |
ip addr add 1.1.1.13/24 dev eth0 | установить ip адрес для интерфейса eth0 |
ip addr del 1.1.1.13/24 dev eth0 | удалить ip адрес интерфейса eth0 |
ip addr flush dev eth0 | удалить все ip адреса интерфейса eth0 |
ip addr help | отобразить справку по команде ip addr |
ip route add 10.10.20.0/24 via 192.168.5.1 | создать маршрут к заданной сети через интерфейс c IP=192.168.5.1 |
ip route add default via 192.168.50.100 | создать маршрут по умолчанию |
ip route add 10.10.20.0/24 dev eth0 | создать маршрут к указной сети |
ip route add table nnn 10.10.20.0/24 dev eth0 | создать маршрут в специальной таблице маршрутов с номером nnn |
ip route add to blackhole 10.10.0.0/16 | создать фиктивный маршрут |
ip route add unreachable 10.10.0.0/16 | создать недостижимый маршрут |
ip route show | отобразить сведения о маршрутах. В сокращенном варианте - ip r s |
ip route show table 255 | отобразить все маршруты из таблицы 255 |
ip route get 10.10.20.0/24 | отобразить маршрут к этой сети |
ip route get 10.10.20.0/24 from 192.168.1.100 | отобразить маршрут к этой сети от указного интерфейса с IP=192.168.1.100 |
ip route delete 10.10.20.0/24 | удалить указанный маршрут |
ip route del 10.10.20.0/24 via 192.168.50.100 | удалить указанный маршрут |
ip link show | отобразить список сетевых интерфейсов |
ip link show eth0 | отобразить состояние eth0 |
ip link list up | отобразить статус всех включенных интерфейсов |
ip link set eth1 up | включить интерфейс eth1 |
ip link set eth1 down | выключить интерфейс eth1 |
| |
наверх
детальное описание
Команда | Действие |
${fwcmd} add allow ip from any to any via lo0 | Разрешаем весь трафик внутри локального сетевого интерфейса |
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any | Запрещаем трафик из вне на локальный интерфейс и обратно |
${fwcmd} add allow ip from ${netlocal} to any via ${local}
${fwcmd} add allow ip from any to ${netlocal} via ${local} | Разрешаем любой трафик внутри локальной сети |
| |
# Настраиваем nat и перенаправление портов.
# На нашем сервер открываем 80 порт TCP.
# Перенаправляем 9500 порт TCP на компьютер локальной сети с IP адресом 192.168.0.50.
${fwcmd} nat 1 config ip ${ipinet} reset same_ports deny_in redirect_port tcp ${ipinet}:80 80 redirect_port tcp 192.168.0.50: 9500 9500
# Разрешаем прохождение TCP, UDP, ICMP между локальной сетью и интернетом.
${fwcmd} add nat 1 tcp from any to any via ${internet}
${fwcmd} add nat 1 udp from any to any via ${internet}
${fwcmd} add nat 1 icmp from any to any icmptypes 0,8 via ${internet}
|
наверх
Описание: детельное описание
наверх
детальное описание
Команда | Действие |
mysql -u username -p | Подключение к базе данных пользователем username с паролем |
show databases; | Посмотреть существующие базы данных |
use database; | Подключение к базе данных database |
show tables; | Посмотреть существующие таблицы в базе данных |
desc table; | Просмотр описаний полей таблицы table |
select * from table where id=XXX; | Запрос к таблице table по условию |
update table set img='XXX.jpg' where id=XXX; | Обновление полей по условию |
mysqldump -u [username] -p [password] [database] > [dump_name.sql] | Сделать бэкап базы database в файл dump_name.sql
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе. |
mysql -u [username] -p [password] [database] < [dump_to_restore.sql] | Развернуть базу из файла через командную строку
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу |
mysqldump -u[user] -p[password] -h[host] [database] [table_name] --no-data > /path/dump_name.sql | Сделать дамп структуры одной таблицы mysql (без данных) |
mysqldump -uroot mydatabase users > users.dump.sql | задампим таблицу users из базы данных mydatabase |
mysql -uroot database_name < users.dump.sql | Развернуть mysql-dump в БД с именем database_name |
mysql -uroot -e 'show tables' database_name && echo done
mysql> show variables like '%incr%'; | Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql |
show processlist; | Просмотр выполняемых процессов MySQL |
| |
наверх
детальное описание
Команда | Действие |
netstat -tap | |
netstat -na | grep LISTEN | информация о прослушиваемых портах |
netstat -nap | отобразить список соединений и слушаемых портов (a) в числовом виде (n) и с именами программ (p) |
netstat -Lan | покажет информацию о размере очередей на прослушиваемых портах |
netstat -a | more | Перечисление всех портов для соединений TCP и UDP |
netstat -l | Список всех открытых входящих портов |
netstat -l -p tcp | Список всех активных входящих портов TCP |
netstat -lx | Список всех активных входящих сокетов UNIX |
netstat -s | Отображение статистики по всем протоколам |
netstat -r | Отображение маршрутизации IP-адреса ядра |
netstat -i | Отображение транзакций сетевого интерфейса |
netstat -g | Отображение информации IPv4 и IPv6 |
netstat -c | |
netstat -rn | отображает таблицу маршрутизации |
netstat -w 1- | количество пакетов в настоящее время |
netstat | отобразить список текущих соединений |
| |
наверх
детальное описание
наверх
детальное описание
наверх
детальное описание
Команда | Действие |
php -v | Версия PHP |
php -m | Устанновленные модули |
| |
наверх
Описание:
Команда | Действие |
pkg help | Полный список опций программы |
pkg help update | Посмотреть справку по конкретной команде можно так |
pkg update | Обновляем информацию о доступных пакетах |
pkg info | Смотрим список установленных пакетов |
pkg upgrade | Обновляем установленные пакеты |
pkg search xorg | Ищем пакет по названию |
pkg install xorg, pkg install git-lite vim-lite sudo | Установка пакета/пактетов и всех его/их зависимостей |
pkg delete xorg
pkg remove xorg | Удаляем пакет |
pkg autoremove | Удаляем пакеты, которые больше не нужны |
pkg which /usr/local/bin/git | Смотрим, к какому пакету относится файл |
pkg info -l mesa-demos | Посмотреть полный список файлов в пакете можно так |
pkg audit -F | Загружаем базу известных уязвимостей |
pkg audit | Проверяем установленные пакеты на предмет наличия известных уязвимостей, с ссылками на подробные отчеты |
pkg check -s -a | Проверяем все установленные пакеты на предмет валидности контрольных сумм входящих в пакеты файлов |
pkg check -d -a | Проверяем все установленные пакеты на предмет отсутствия требуемых зависимостей |
pkg clean | Удаляем из кэша старые пакеты |
pkg stats | Смотрим статистику |
pkg lock syncthing, pkg unlock syncthing | Запрещаем/разрешаем обновление конкретного пакета |
pkg lock -l | Посмотреть список «залоченых» пакетов |
sudo pkg remove chromium, sudo pkg install /var/cache/pkg/vim.txz | Откатиться к более старой версии пакета |
наверх
детальное описание
PostgreSQL — полезные команды
наверх
детальное описание
Команда | Действие |
sed 's/\.[^.]*$//' | Убрать "расширение" файлов |
| |
наверх
детальное описание
Команда | Действие |
sysctl -a | Ввывести все системные параметры |
sysctl kern.ipc.numopensockets | показывает количество открытых сокетов |
sysctl kern.openfiles | показывает количество открытых файлов |
наверх
детальное описание
Команда | Действие |
systat -vmstat 1 | отображает суммарную системную статистику |
systat -netstat 1 | показывает активные сетевые соединения |
systat -ifstat 1 | отображает нагрузку сетевых интерфейсов |
systat -tcp 1 | отображает статистику tcp-соединения, возможен просмотр по icmp, ip, icmp6, ip6 |
systat -iostat 1 | отображает нагрузку на процессор, дисковую подсистему |
systat -swap 1 | показывает загрузку файла подкачки |
systat -ifstat | Скорость на всех интерфейсах в том числе статистика |
наверх
детальное описание
Команда | Действие |
tar cfvc | Создать архив |
tar xfvc | Извлечь из архива |
tar -c dir/ | bzip2 > dir.tar.bz2 | Заархивировать директорию (папку) dir/ |
bzip2 -dc dir.tar.bz2 | tar -x | Разархивировать архив (используйте gzip вместо bzip2 для файлов tar.gz) |
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' | Создать зашифрованный архив директории (папки) dir/ на удаленном компьютере |
tar -tfv filename.tar.gz | Просмотр содержимого архива без распаковки |
tar -cvjf filename.tar.bz2 dir_name | Пример сжатия Bzip2 |
tar cvf archive.tar --exclude='logs/*' --exclude='tmp/*' ./ | не включать в архив каталоги logs и tmp
Параметр --exclude нужно указывать обязательно после имени файла архива, но перед именем каталога, который
требуется заархивировать, а я помещал ее в конец.
Если используются символы * или ?, нужно брать их в одинарные апострофы, чтобы они передавались в
tar как есть, иначе оболочка пытается подставить вместо них полный список файлов. |
tar tzf archive.tar.gz
gzip -vt archive.tar.gz | Тестирование архивов. Во втором случае Будет проверено только сжатие, в первом выведутся имена хранящихся в .tar файлов |
gunzip file.gz
gzip -d file.gz
gunzip -c [archive-name] > [outputfile-name] | распаковка архива формата GZip. Gunzip удаляет файл архива после распаковки его |
| |
наверх
детальное описание
Команда | Действие |
tcpdump -i eth0 -n -nn -ttt dst host 192.168.2.254 | Ловим весь входящий трафик из локальной сети на сервер |
tcpdump -i eth0 -n -nn -ttt 'dst host 192.168.2.254 and not ( src host 192.168.2.100 and dst port 22 )' | Ловим весь входящий трафик, исключая трафик генерируемый нашей SSH-сессией |
tcpdump -i eth0 -n -nn -ttt 'ip proto \icmp' | Отлавливаем исключительно icmp пакеты |
tcpdump -a -i eth0 | захват всего трафика с интерфейса eth0 |
tcpdump –I eth0 | отображать в сокращенном виде содержимое пакетов на сетевом интерфейсе ith0 |
tcpdump –vv –I eth1 | отображать в подробном виде содержимое пакетов на сетевом интерфейсе eth1 |
| |
наверх
детальное описание
Она показывает общие сведения о процессоре, памяти и процессах. Параметры утилиты (действуют когда top уже запущен):
Опция | Действие |
S | показать системные процессы |
u [имя пользователя] | например u pgsql покажет процессы запущенные от пользователя pgsql |
o | используем для сортировки, возможные параметры — pri, size, res, cpu, time, threads |
m | переключение между режимами отображения нагрузки и ввода-вывода |
k | завершить процесс (kill), ввод pid процесса |
r | изменить приоритет процесса, вводим pid процесса |
n | отображать статистику по конкретному процессу |
top -n 3 | показывает самые ресурсоёмкие приложения в данный момент (три штуки) |
наверх
детальное описание
наверх
детальное описание
Команда | Действие |
wget -O new_name.tar ftp://some.host.com/name.tar | Скачать файл name.tar с сохранением имени new_name.tar |
wget -i list-of-files.txt | Команде wget можно передать текстовый файл, в котором на каждой строчке записаны URL-адреса, которые требуется скачать |
wget --force-html -i file.html | Команда wget поддерживает скачивание файлов по ссылкам в HTML-документе. То есть она автоматически находит все ссылки в HTML-файле и скачивает их |
wget --limit-rate=500k http://some-site.com/filename.tar.gz | Чтобы ограничить скорость скачивания используется опция --limit-rate |
wget -c http://some-site.com/file.tar | Чтобы продолжить прервавшуюся загрузку используется опция -c |
wget --spider -i list-of-files.txt
| wget --spider http://site.com/filename.zip | Перед тем, как скачать файл, можно проверить существует ли он. Например, это может потребоваться, когда вы скачиваете большое количество файлов и хотите заранее знать, все ли из них доступны. Для проверки доступности файлов используется опция --spider. При использовании опции --spider файлы не скачиваются, а только выполняется проверка |
wget -t 10 http://site.com/filename.zip | Если соединение нестабильное, то можно задать количество попыток, чтобы загрузка файла продолжалась в случае сбоя. Для указания количества попыток используется опция -t. По умолчанию установлено количество попыток — 20. Но если при попытке загрузки файла получена ошибка 404 (файл не найден) или connection refused, то скачивание прерывается |
wget -w 15 ...
wget -w 30 --random-wait ... | Опция -w позволяет задать количество секунд, которое требуется ожидать перед загрузкой очередного файла. Второй пример использования (ожидание будет в диапазоне от 15 до 45 секунд) |
wget -w 50 --random-wait -t 15 --limit-rate=5m http://site.com/file.zip | набор опций |
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 | Это приведет к повторным попыткам отклоненных подключений и аналогичным фатальным ошибкам ( --retry-connrefused), будет ждать 1 секунду перед следующей повторной попыткой ( --waitretry), будет ждать максимум 20 секунд, если не будет получено никаких данных, а затем попытаться снова ( --read-timeout), будет ждать максимум 15 секунд до истечения времени ожидания первоначального соединения ( --timeout) и, наконец, оно будет повторяться бесконечное число раз ( -t 0) |
wget --spider -r -nd -nv -H -l 0 -o wget_link.log http://192.168.10.150/ | МОЁ |
wget.exe -c -r -l0 -np -N -k -nv http://example.com | ? |
| |
наверх
детальное описание
Принцип работы xargs можно описать следующим образом: программа берет данные из стандартного ввода или из файла, разбивает их в соответствии с указанными параметрами, а затем передает другой программе в качестве аргумента
Опция | Действие |
ls | xargs -p -l gzip | Сжать все файлы в текущей директории с помощью gzip |
find . -name "*.pl" | xargs tar -zcf pl.tar.gz | сжатие с помощью tar всех файлов с расширением *.pl |
ls | sed -e "p;s/.txt$/.sql/" | xargs -n2 fmv | есть группа файлов с расширением *.txt, и нам нужно заменить это расширение на *.sql |
find . -group root -print | xargs chown temp | нужно найти все папки пользователя root и заменить их владельца на temp |
find /tmp -type f -name '*' -mtime +7 -print0 | xargs -0 rm -f | удалить временные файлы, созданные более 7 дней назад |
find /proc -user myuser -maxdepth 1 -type d -mtime +7 -exec basename {} \; | xargs kill -9 | принудительно остановить процессы, которые уже работают больше 7 дней |
cut -d: -f1 < /etc/passwd | sort | xargs echo | все пользователи системы |
cat bad_ip_list | xargs -I IP iptables -A INPUT -s IP -j DROP | забанить IP-адреса из списка, нужно их добавить в IP tables c правилом DROP |
tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs | Сгенерировать надежный пароль |
find . -name "new*.sh" -exec rm -f '{}' \+ | \+ не будет на каждый файл отдельно вызывать rm |
| |
наверх
Файл настройки: ~/.vimrc
Можно редактировать файлы через сеть, например
:e <scp|ftp|ftps>://user@host/path/to/the/file.txt
:Ex или :e ./ - файловый менеджер
РЕЖИМ РЕДАКТИРОВАНИЯ
Команда | Действие |
ESC | перейти в режим просмотра |
hjkl | перемещение в разные стороны |
i | режим вставки |
I | добавление в начало строки |
a | режим добавления |
A | добавление в конец строки |
o | добавить строку сразу за текущей |
O | добавить строку перед текущей |
R | писать поверх имеющегося текста |
gf | Открыть файл имя которого прописано в текущем документе и курсор стоит на нем |
u, :u[ndo] | отмена предыдущего действия (undo) |
CTRL-R, :red[o] | отмена отмены предыдущего действия (redo) |
7j | Переместить курсор вниз на 7 строк |
dd | вырезать (удалить) строку |
5dd, d5d | вырезать (удалить) 5 строк, начиная с текущей |
cc | удалить и начать редактирование |
5сс, с5с | удалить 5 строк и начать редактирование |
yy | копировать строку |
p | вставить из буфера обмена |
<n>d | удалить n+1 строку |
<n>y | скопировать n+1 строку |
DEL | удалить следующий символ |
dw | удалить слово |
:<n> | перейти на строку #n |
% | перейти к парной скобке |
:10,50s/old/new/g [c] | Поиск и замена только в строках с 10-ой по 50-ую [c] подтверждение |
30l | Переместить на 30 символов в право |
:e **/filename.c | редактировать файл (с поиском по имени) |
:w [filename] | записать изменения |
:wa | сохранить изменения во всех файлах |
:q | выйти из редактора |
:q! | выйти из редактора, не сохраняя изменения |
:wq! | выйти из редактора сохранив изменения |
ZZ | Сохранить изменения и выйти |
ZQ | Выйти без сохранения изменений |
Команда | >Действие |
:color <name> | выбор цветовой схемы. цветвые схемы: /usr/local/share/vim/vim72/colors/*.vim |
:pwd | текущий каталог |
:cd [path] | перейти в другой каталог |
:!команда | выполнить консольную команду
| CTRL+p или CTRL+n | автоматическое дополнение текста (в режиме редактирования) |
CTR+r,=,<expr> | вставить выражение, например 5*2 - 3 (в режиме редактирования) |
CTRL+u, CTRL+d | Page Up / Page Down |
CTRL+y, CTRL+e | Перемотка вверх/вниз без движения курсора |
Подсветка синтаксиса
Команда | Действие |
:syntax on | включить подсветку |
:syntax off | выключить подсветку (по умолчанию) |
Перенос строк
Команда | Действие |
:set wrap | разрешить word wrap (по умолчанию) |
:set nowrap | запретить word wrap |
Печать
Команда | Действие |
:ha[rdcopy] | распечатать документ |
:set printoptions=duplex:off | отключить двустороннюю печать |
Сворачивание
Команда | Действие |
zc | свернуть блок |
zo | развернуть блок |
zM | закрыть все блоки |
zR | открыть все блоки |
za | инвертирование |
zf | см :set foldmethod=manual |
:set foldenable | включить свoрачивание |
:set foldmethod=syntax | сворачивание на основе синтаксиса |
:set foldmethod=indent | сворачивание на основе отступов |
:set foldmethod=manual | выделяем участок с помощью v и говорим zf |
:set foldmethod=marker | сворачивание на основе маркеров в тексте |
:set foldmarker=bigin,end | задаем маркеры начала и конца блока |
Маркеры
Команда | Действие |
ma | установить локальный маркер a |
mB | установить глобальный маркер B |
`c | перейти к локальному маркеру c |
`0 | вернуться на позицию, на которой закончили работу при закрытии vim |
:marks | просмотр маркеров |
set viminfo='1000,f1 | маркеры пишутся в ~/.viminfo, восстанавливаясь при следующем запуске vim. маркер |
" | хранит последнюю позицию курсора в файле |
Сессии
Команда | Действие |
mksession file.session | сохранить текущую сессию |
source file.session | восстановить ранее сохраненную сессию |
Сессии
Команда | Действие |
qa | записать макрос с именем a |
q | в режиме записи макроса: закончить запись |
@a | выполнить макрос с именем a |
@@ | повторить последний макрос |
Регистры
Команда | Действие |
"ayy | скопировать строку в регистр a |
"bdd | вырезать строку и поместить в регистр b |
"С2d | вырезать три строки и дописать в конец регистра C |
:reg [name1][name2][...] | просмотреть содержимое регистров |
Выделение
Команда | Действие |
v+hjkl | выделение текста |
SHIFT+v | выделить строку |
CTRL+v | выделение прямоугольника |
p | вставить |
y | копировать |
d | удалить |
gu | к нижнему регистру |
gU | к верхнему регистру |
Отступы
Команда | Действие |
[#]> | сдвинуть выделенное вправо |
[#]< | сдвинуть выделенное влево |
[#]>> | сдвинуть строку вправо |
[#]<< | сдвинуть строку влево |
set tabstop=# | для табуляции используется # пробелов |
set shiftwidth=# | в командах отступа используется # пробелов |
set [no]expandtab | заменять ли табуляцию на соответствующее число пробелов |
Поиск и замена в файле
Команда | Действие |
/Выражение | поиск выражения в файле |
\cВыражение | поиск без учета регистра |
n | следующее совпадение |
N | предыдущее совпадение |
:%s/foo/bar/gi | замена строк |
Поиск по всему проекту
Команда | Действие |
:vimgrep /EXPR/ **/*.c поиск по регулярному выражению |
:copen | показать все найденные места |
:close | скрыть все найденные места |
:cn | переход к следующему результату |
:cp | переход к предыдущему результату |
Нумерация строк
Команда | Действие |
:set number | включить нумерацию строк |
:set nonumber | отключить нумерацию строк |
Работа с вкладками (a.k.a табами)
Команда | Действие |
:tabnew [filename] | создать таб |
:tabs | вывести список табов |
:tabn | следующий таб |
:tabp | предыдущий таб |
<n>gt | перейти на таб #n |
gt | следующий таб |
gT | предыдущий таб |
:tabm +1 | переместить таб вперед на одну позицию |
:tabm -1 | переместить таб назад на одну позицию |
:tabm 2 | переместить таб на заданную позицию (нумерация начинается с нуля) |
Работа с окнами
Команда | Действие |
:split | горизонтальное разбиение |
:vsplit | вертикальное разбиение |
Ctr+W, затем |
с | закрыть окно |
+/- | изменение высоты текущего окна |
<> | изменение ширины текущего окна |
= | установить равный размер окон |
hjkl или стрелочки | перемещение между окнами |
Работа с кодировкой
Команда | Действие |
e ++enc=<имя кодировки> | Редактирование файла в ??? кодировке |
w ++enc=<имя кодировки> | Сохранить файл в новой кодировке |
set fileencodings=utf-8,koi8-r | Список автоматически определяемых кодировок в порядке убывания приоритета |
Другое
Команда | Действие |
:set [no]wildmenu | При автодополнении в командной строке над ней выводятся возможные варианты |
:set list | Отображать табуляцию и переводы строк |
q: | История команд |
. | Повторение последней команды |
— на страницу (экран) вниз
— на страницу (экран) верх
— на пол страницы (экрана) вниз
— на пол страницы (экрана) верх
— на строку вверх, без изменения положения курсора
— на строку вниз, без изменения положения курсора
w — Переместить курсор к следующему слову
r — Заменить знак под курсором
S — очистить текущую строку и начать ввод
0 («ноль») — в начало текущей строки;
^ — в начало текущей строки (к первому непробельному символу);
$ — в конец текущей строки
w — на слово вправо
b — на слово влево
W — до пробела вправо
B — до пробела влево
} — абзац вниз
{ — абзац вверх
gg — перейти в начало файла
G — перейти в конец файла
G — перейти на конкретную строку
/ — перейти к
? — то же самое, но искать назад
n — повторить поиск
N — повторить поиск назад
[[ — в начало функции
'' — к месту выполнения команды [[
Справочник по командам vi
10.1 Режимы Vi
Vi имеет 3 режима:
- командный режим - Включается при запуске vi; для перехода в командный режим из других режимов (используйте ESC)
- режим ввода - активируется специальными командами a i A I o O c C s S R и выключается при помощи ESC или в случае ошибки.
- линейный режим - т.е. ожидание ввода команд после нажатия : , / , ? или !
(выключается с CR, обрывается с помощью CTRL-c). CTRL это клавиша control: CTRL-c означает "control c"
10.2 Команды Shell
- TERM= code Помещает имя вашего терминала в переменную TERM
- export TERM Передаёт значение переменной TERM (код терминала) любой программе в UNIX системе.
- tput init Инициализирует терминал таким образом, чтобы он функционировал правильно с различными UNIX программами.
- vi filename Запускает vi и загружает на редактирование указанный файл.
- vi file1 file2 file3 Записывает в буфер vi три файла для последующего их редактирования. Эти файлы file1, file2, и file3.
- view file Загружает файл file в режиме только-для-чтения.
- vi -R file Аналогично преведущей команде.
- vi -r file Восстанавливает file и последние изменения после краха системы.
- :set опция Активизирует опцию
- :set опция=значение Назначает значение для опции
- :set no опция Деактивирует опцию
- :set Показывает опции установленные пользователем.
- :set all Показывает все опции, как установленные пользователем, так и опции
"по умолчанию".
- :set опцию? Показывает значение опции
- CTRL-c CTRL Это клавиша control: CTRL-c означает "control c"
- CR символ возврата каретки (клавиша ENTER)
- ESC Обрывает ввод неправильно или неполностью введенной команды
- CTRL-? CTRL это клавиша control : CTRL-? означает "control ?"
удаляет или стирает прерывание.
- CTRL-l обновляет экран если CTRL-? замусорила его.
- ZZ Сохраняет файл и выходит из vi
- :wq Сохраняет файл и выходит из vi
- :w Записывает файл
- :w! Записывает файл даже если он защищен от записи
- :wимя Записывает файл по именем имя
- :q Выходит из vi
- :q! Выходит из vi (независимо от того были ли внесены изменения)
- :e имя Загружает для редактирования файл под именем имя
- :e! Перезагрузить файл,стирая любые изменения которые были внесены
- :e + name Загружает для редактирования файл под именем имя, начиная с конца.
- :e + n Начинает редактирование со строки номер n
- :e # Редактирует альтернативный файл
- :n Редактирует следующий файл в списке файлов
- :args Показывает файлы в текущем списке файлов
- :rew Обновить текущий список файлов и начать редактировать первый файл.
- :n args Указать новый список файлов
- :f Показывает имя текущего файла и номер строки
- CTRL-G Синоним для :f
- :ta tag to tag file entry tag
- CTRL-] :ta, следующее слово - тэг
- Arrows Перемещают курсор
- CTRL-d Скроллирует полстраницы вниз
- CTRL-u Скроллирует полстраницы вверх
- CTRL-f Скроллирует целую страницу вниз
- CTRL-b Скроллирует целую страницу вверх
- :0 Переходит к началу файла
- :n Переходит к строке номер n
- :$ Переходит к концу файла
- 0 Переходит к началу строки
- ^ Переходит к первому символу, не пробелу
- $ Переходит к концу строки
- CR Переходит к началу следующей строки
- - Переходит к началу преведущей строки
- % Находит соответствующую скобку
- G Переходит к строке (по умолчанию - к последней строке)
- ]] Следующая секция/функция
- [[ Преведущая секция/функция
- H Первая строка экрана
- L Последняя строка экрана
- M Средняя строка экрана
- + Следующая строка, первый символ не являющийся пробелом
- - Предшествующая строка, первый символ не являющийся пробелом
- CR возврат, тоже что и +
- j Следующая строка, таже колонка
- k Преведущая строка, таже колонка
- 0 Начало строки
- $ Конец строки
- h Вперед
- l Назад
- SPACE Тоже что и l
- fx Найти x вперед по тексту
- Fx Найти x назад по тексту
- ; Повторить последнюю операцию f F
- , Инверсно ;
- | К специфицированной колонке
- % Найти соответствующий символ { или }
- w Слово вперед
- b Слово назад
- e Конец слова
- ) К следующему предложению
- ( К преведущему предложению
- } К следующему параграфу
- { К преведущему параграфу
- W К концу большого слова, включая пробел на его конце
- B Назад на большое слово W
- E К концу большого слова W
- `` (дважды нажмите клавишу `) К преведущей отметки
- '' (press twice the single-quote ` key) Последняя отметка, первый не пробел в строке
- mx Установка отметки с именем x
- `x (обратная кавычка и x) перейти к отметке x
- 'x Перейти к отметке x, на первый не пробел в строке
- CTRL-h Удаляет последний символ
- CTRL-w Удаляет последнее слово
- erase Нажмите DELETE, тоже что и CTRL-h
- kill Ваша клавиша kill, стирает ввод сделанный на этой строке
- \ Экранирует CTRL-h, DELETE и kill
- ESC Окончить ввод, назад в командный режим
- CTRL-? Прервать, терминирует ввод
- CTRL-d Обратная табуляции на autoindent пробелов
- CTRL-v Экранирует непечатный символ
- CTRL-l Очистить и перерисовать
- CTRL-r перенабор, убирает @строки
- z-CR перерисовать, текущую строку на вершине окна
- z- перерисовать, текущую строку на краю окна
- z. перерисовать, текущую строку в центре экрана
- /pat/z- сгладить край строки
- tn Использовать экран с строкой n
- CTRL-e Скроллировать окно вниз на 1 строку
- CTRL-y Скроллировать окно вверх на 1 строку
- x Удаляет символ под курсором
- X Удаляет символ перед курсором
- D Удаляет до конца строки
- d^ Удаляет до начала строки
- dd Удаляет текущую строку
- ndd Удаляет n строк начиная с текущей
- dnw Удаляет n слов начиная с положения курсора
- i Входит в режим вставки (с вставкой перед курсором)
- I Входит в режим вставки (перед первым не пробелом)
- a Входит в режим вставки (вставка после курсора)
- A Входит режим вставки (вставка после конца текущей строки)
- o Создать новую строку после текущей и перейти в режим вставки
- O Создает новую строку перед текущей и входит в режим вставки
- r Заменить символ под курсором не переходя в режим вставки
- R Войти в режим замены
- C shift-c. Изменить остаток строки
- D shift-d. Удалить остаток строки
- s Заменить символы
- S Заменить строки
- J Объединить строки
"Буфер копирования" заполняется КАЖДОЙ командой удаления,или с помощью
Y и yy.
- Y Копирует текущую строку в буфер
- nyy Копирует n строк начиная с текущей в буфер копирования
- p Вставляет содержимое буфера копирования после курсора (или перед текущей строкой)
- P Вставляет содержимое буфера обмена перед курсором (или перед текущей строкой)
- "xp Вставить из буфера x
- "xy Скопировать в буфер x
- "xd Удалить в буфер x
- d удалить
- c изменить
- < сдвинуть влево
- > сдвинуть вправо
- ! отфильтровать через команду
- = отдать для LISP
- y скопировать текст в буфер
- /text Искать вперед образец text
- ?text Искать назад образец text
- n Повторить последний поиск в том же направлении
- N Повторить последний поиск в обратном направлении
- / Повторить последний поиск вперед
- ? Повторить последний поиск назад
- [ addr ] s/from/to/ [ g ] Искать from
и заменить его на to в текущей строке, или в указанном диапазоне
addr (два номера строки разделенные командой; 1,$ весь файл).
Заменить одно совпадение на строку либо все совпадения
если g указано.
Например, :3,20s/someword/anotherword/g. Заменит "someword" на "anotherword" начиная от строки номер 3 до строки 20. 'g' - означает замену всех совпадений.
- :sh Вызывает shell (выход по CTRL-d)
- :!команда Вызывает shell для исполнения команды
- :set number Включает нумерацию строк
- :set nonumber Выключает нумерацию строк
- : Говорит vi что следующая введенная команда является командой линейного редактора.
- :sh Временный выход в shell чтобы исполнить какие либо команды не покидая vi.
- CTRL-d Выходит из shell запущенного преведущей командой в vi.
- :n Переходит к строке номер nth текущего буфера.
- :x,zw filename Записывает строки от x до z в новый файл называемый filename.
- :$ Передвигает курсор к началу последней строки буфера.
- :.,$d Удаляет все строки от текущей до последней.
- :r filename Вставляет содержимое файла filename после текущей строки буфера.
- :s/text/new_text/ Заменяет первый встреченный образец text на текущей строке на new_text
- :s/text/new_text/g Заменяет все образцы text на текущей строке на new_text
- :g/text/s//new_text/g Заменяет все встреченный в буфере образцы text на new_text.
- u Отменить последнее изменение
- U Восстановить текущую строку
- ~ Изменить регистр
- J Соединить текущую строку со следующей
- . Повторить последнюю команду изменения текста
- CTRL-g Показать имя файла и номер строки
Обновление FreeBSD
- Узнаем последнюю Production Release на сайте FreeBSD.
- Проверяем свою существующую
uname -a
- Сравниваем с новой версией
freebsd-update -r XX.X-RELEASE upgrade. На вопрос "Does this look reasonable" отвечаем "y".
- На вопрос о внесении изменений в конфигурационные файлы отвечаем "с умом"
freebsd-update install
reboot
freebsd-update install
- Проверяем
uname -a
Что делать при аварийном остановах системы
Полезные команды FreeBSD
Помощник Windows | Помощник Linux | Помощник MacOS
|