понедельник, 26 апреля 2021 г.

Vim Commands Cheat Sheet / памятка по командам

 

Хороший справочник: http://www.fprintf.net/vimCheatSheet.html 

Как выходить:

q[uit] Quit Vim. This fails when changes have been made.
:q[uit]! Quit without writing.
:cq[uit] Quit always, without writing.
:wq Write the current file and exit.
:wq! Write the current file and exit always.
:wq {file} Write to {file}. Exit if not editing the last
:wq! {file} Write to {file} and exit always.
:[range]wq[!] [file] Same as above, but only write the lines in [range].
ZZ Write current file, if modified, and exit.
ZQ Quit current file and exit (same as ":q!").

 

Правка файла:

:e[dit] Edit the current file. This is useful to re-edit the current file, when it has been changed outside of Vim.
:e[dit]! Edit the current file always. Discard any changes to the current buffer. This is useful if you want to start all over again.
:e[dit] {file} Edit {file}.
:e[dit]! {file} Edit {file} always. Discard any changes to the current buffer.
gf Edit the file whose name is under or after the cursor. Mnemonic: "goto file".


Удаление текста:

<Del> or
x
Delete [count] characters under and after the cursor
X Delete [count] characters before the cursor
d{motion} Delete text that {motion} moves over
dd Delete [count] lines
D Delete the characters under the cursor until the end of the line
{Visual}x or
{Visual}d
Delete the highlighted text (for {Visual} see Selecting Text).
{Visual}CTRL-H or
{Visual}
When in Select mode: Delete the highlighted text
{Visual}X or
{Visual}D
Delete the highlighted lines
:[range]d[elete] Delete [range] lines (default: current line)
:[range]d[elete] {count} Delete {count} lines, starting with [range]















Bash Aliases: удобства в Linux под себя

    Для того, чтобы установить какой-то пакет в Debian/Ubuntu, обычно используется команда:

sudo apt-get install имя_пакета

    Эта длинная команда отбирает много времени, сил и энергии. Давайте упростим её при помощи alias;

alias Install="sudo apt-get install"

    Теперь устанавливать пакеты стало проще:

Install имя_пакета

    Таким же образом можно упростить остальные часто используемые моменты при управлении пакетами:

alias Update=”sudo apt-get update”
alias Upgrade=”sudo apt-get upgrade”
alias Search=”apt-cache search”
alias Autoremove=”sudo apt-get autoremove”
alias Autoclean=”sudo apt-get autoclean”
alias Purge=”sudo apt-get remove –purge”

Псевдонимы для «неудобных» клавиш

    На некоторых клавиатурах символ точки расположен крайне неудобно и если вы частенько им пользуетесь, начинают возникать различного рода неудобства. По этой причине автор иногда не может с первого раза корректно ввести команду 'cd …' и предлагает таким же как он исправить ситуацию при помощи псевдонимов (вместо точки, само-собой, можно использовать что-нибудь другое, если вам так удобнее):

alias .=”cd ..”
alias ..=”cd ../..”
alias ...=”cd ../../..”
alias ....=”cd ../../../..”

Упрощаем сложные команды

    Сложные команды не только трудны для запоминания, но ещё и требуют много времени на их ввод. Если вы пользуетесь сложными командами каждый день, это рано или поздно начнёт вас утомлять и раздражать. Не лучше ли сделать псевдонимы для таких команд и перестать морочить себе голову?

    Например, чтобы отыскивать десятку самых больших файлов в вашей системе одной командой, можно создать следующий псевдоним:

alias top10files=”find . -type f -exec ls -sh {} \; | sort -n -r | head -10”

 

Статистика команд

    Команда для просмотра самых используемых команд в системе (без учета истории mc) 

В свое время нашел в интернете и теперь использую:

history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl |  head -n10

 

 

 

Запуск iperf как сервис systemd

 

 

/etc/systemd/system/iperfd.service
[Unit]
Description=iPerf Service
After=network.target
 
[Service]
Type=forking
PIDFile=/var/run/iperf3.pid
ExecStart=-/bin/iperf3 -s -D -I /var/run/iperf3.pid
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
 
[Install]
WantedBy=multi-user.target

 

Linux/UNIX: unixtimestamp - что заперевод, где играет и какая его роль?

         Сейчас, когда пишу, время у меня 1659086347 или  Fri Jul 29 2022 12:19:07 GMT+0300 (Москва, стандартное время)  Забегая вперед, спо...