Ще 25 корисних Linux команд

Переклад:
Автор: Isaiah

Третя частина команд Linux, якими б варто було користуватися. Ось тут: Частина 1 та Частина 2 .

  1. Моніторинг прогресу виконання команди
    pv access.log | gzip>access.log.gz
    
    Pipe viewer утиліта для моніторингу прогресу даних що проходять через конвеєр. Вона може бути вставлена в будь-якій конвеєр між двома процесами для одержання візуального відображення того, як швидко дані проходять через нього, і як довго це відбувається, скільки даних залишилося для обробки і як скоро це завершиться. Джерело: http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ (прим. hb: я публікував переклад тут )
  2. Графічне дерево директорій
    ls-R | grep ": $" | sed-e 's /:$//'-e' s /[^-][^  /] *  //--/ g '-e' s/^// '-e' s /-/|/'
    
    Виводить графічне дерево директорій починаючи з поточної
  3. Видалити всі файли в директорії які не відповідають заданим розширень
    rm! (*. foo | *. bar | *. baz)
    
    Видаляє всі файли в директорії, які НЕ потрапляють під шаблон *. foo, *. bar або *. baz. Відредагуйте шаблон всередині дужок на той, який вам потрібен.
  4. Легкий і швидкий доступ до часто використовуваних команд, які можуть бути дуже довгими і складовими.
    some_very_long_and_complex_command # label
    
    При використанні зворотного пошуку вам потрібно набрати певну частину команди, яку ви хочете викликати. Однак, якщо команда дуже складна, може здатися досить важким, згадати ту її частину, яка буде ункальним чином характеризувати команду. Використовуючи трюк запропонований вище ви можете прикріпити мітку для вашої команди і потім отримати простий доступ до неї натиснувши ^ R і набравши мітку (вона повинна бути короткою і зрозумілою).
  5. Визначення функції «швидкого калькулятора»
    ? () {Echo "$ *" | bc-l;}
    
    визначає зручніше функцію для швидких підрахунків прямо з консолі.
    після цього можемо порахувати:
    ? 10 * 2 +3
    
  6. Висновок годин у вашому терміналі
    watch-t-n1 "date +% T | figlet"
    
    Ця команда виводить годинник, які оновлюються кожну секунду. Натисніть Ctrl-C для виходу.
    Пара варіацій:
    Трохи більший текст:
    watch-t-n1 "date +% T | figlet-f big"
    
    Ви можете спробувати будь-який інший figlet фонт.
    watch-n 1-t '/ usr/games/banner-w 30 $ (date +% M:% S)'
    
    Ця команда вимагає певної версії банера і 40-рядкового терміналу або ви можете підібрати його за допомогою ширини (тут використовується "30").
  7. Перехоплення stdout/stderr іншого процесу
    strace-ff-e trace = write-e write = 1,2-p SOME_PID
    
  8. Видалення дубльованих записів у файлі без необхідності в його сортування.
    awk '! x [$ 0] + +' 
    Використовуючи awk, знайдемо дублікати у файлі без його сортування, яка перетусует вміст. Awk НЕ перетусует його, і все ж таки знайде і видалить дублікати, які ви можете перенаправити в інший файл.
  9. Запис screencast і конвертація його в mpeg
    ffmpeg-f x11grab-r 25-s 800x600-i: 0.0/tmp/outputFile.mpg
    
    Перехоплює X11 вхід і створює MPEG з частотою 25 fps і дозволом 800 ? 600
  10. Монтування. Iso файлу у UNIX/Linux
    mount/path/to/file.iso/mnt/cdrom-o loop
    
    «-O loop» дозволяє вам використовувати фото як блокове пристрій
  11. Вставити останню команду без останнього аргументу (bash)
    !: -
    / Usr/sbin/ab2-f TLS1-S-n 1000-c 100-t 2 http://www.google.com/ потім
    !: - Http://www.urfix.com/ те-ж саме
    / Usr/sbin/ab2-f TLS1-S-n 1000-c 100-t 2 http://www.urfix.com/
    
  12. Перетворити секунди в человекочітаемий формат
    date-d @ 1234567890
    
    Цей приклад виведе наступне: Fri Feb 13 15:26:30 EST 2009
  13. Контроль за виконанням
    ^ Z $ bg $ disown
    
    Ви запускаєте скрипт, команду, що завгодно ... Ви не замислюєтеся про те, як довго він буде працювати, але от 5 годин і ви збираєтеся додому ... Почекайте, скрипт все ще працює ... Як бути, якщо переривати його роботу небажано? Ви просто натискаєте Ctrl-Z, вводите команду bg і далі disown. Все, ваш скрипт «пішов» у бекграунд, можете сміливо виходити з терміналу і йти додому.
    (Hb:! Дуже корисна річ, раджу вам з нею розібратися. Ще як варіант запуску з командного рядка замість горезвісного & виглядає так: mylongtask.sh; Z; bg; disown)
  14. Редагування файлу на віддаленому хості через vim
    vim scp:// username @ host// path/to/somefile
    
  15. Моніторинг процесів запущених MySQL
    watch-n 1 mysqladmin - user = - password = processlist
    
    Watch дуже корисна команда для періодичного запуску іншої команди - в даному випадку використовується mysqladmin для відображення результатів processlist. Цей прийом добре застосуємо для моніторингу за «важкими» запитами.
    Більш детальну інформацію ви можете знайти тут: http://codeinthehole.com/archives/2-Monitoring-MySQL-processes . html
  16. Екранування (escape) аліасів команд
     [Command]
    
    наприклад, якщо rm це аліас для 'rm-i', ви можете заекраніровать (escape) аліас випередивши його зворотним слешем:
    rm [file] # буде запитувати підтвердження перед видаленням (спрацьовує аліас)
     Rm [file] # не буде запитувати підтвердження перед видаленням (будуть спрацьовувати "умовчання" для rm)
    
  17. Показати додатки, які використовують інтернет з'єднання в даний момент.
    ss-p
    
    кожен процес у новій рядку:
    ss-p | cat
    
    тільки встановилися сокет з'єднання:
    ss-p | grep STA
    
    процеси по іменах:
    ss-p | cut-f2-sd  "або
    ss-p | grep STA | cut-f2-d  "
    
  18. Надіслати спливаюче повідомлення в Gnome
    notify-send [""] ""
    
    Заголовок (title) не обов'язковий.
    Опції:
    -T: час закінчення в мілісекундах.
    -U: терміновість (низька - low, звичайна - normal, критична - critical).
    -I: шлях до іконки.
    Для Debian систем вам може знадобиться установка пакету 'libnotify-bin'.
    Корисний приклад використання: коли wget закінчить скачування буде виведено повідомлення:
    wget URL; notify-send "Done"
    
  19. Швидке перейменування файлу
    mv filename. {old, new}
    
  20. Видалити всі, за винятком певного файлу
    rm-f! (survivior.txt)
    
  21. Згенерувати випадковий 30 символьний пароль
    strings/dev/urandom | grep-o '[[: alnum:]]' | head-n 30 | tr-d ' n'; echo
    
    Знаходимо випадкову рядок в/dev/urandom. Використовуємо grep фільтр вибираючи тільки буквено-цифрові символи і потім виводимо перші 30 і видаляємо всі переклади рядків.
  22. Запустити команду тільки в тому випадку, коли середнє навантаження досягне певного рівня
    echo "rm-rf/unwanted-but-large/folder" | batch
    
    Прийом хороший для виконання робіт, які необхідно виконати в «спокійне» час. Рівень середньої завантаження за замовчуванням дорівнює 0.8, але він може бути встановлений за допомогою atrun.
  23. Двійкові годинник
    watch-n 1 'echo "obase = 2;` date +% s `" | bc'
    
    Створює виконавчі годинник.
  24. Продуктивність Процесора/пам'яті в GB/s
    dd if =/dev/zero of =/dev/null bs = 1M count = 32768
    
    Читає 32GB нулів і відкидає їх.
    Наскільки швидка ваша система?
  25. Зберегти всі бази даних MySQL в окремі файли
    for I in $ (mysql-e 'show databases'-s - skip-column-names); do mysqldump $ I | gzip>"$ I.sql.gz"; done
    

Опубліковано: 25/04/11 @ 06:38
Розділ Різне

Рекомендуємо:

26 хеш-тегів в твіттері з розкручування сайту й блогінгу
Як зробити падаючий сніг на своєму сайті
25 Linux команд для затравки
Мотивація!
Історія зміни тІЦ - як дізнатися