Эти навыки Linux значительно улучшают вашу эффективность работы

Linux

Адрес последнего содержания этой статьи:Ууху.Yanbinghu.com/2019/03/24/…

предисловие

Некоторые небольшие хитрости в Linux могут значительно повысить эффективность вашей работы.В этой статье будут перечислены те хитрости Linux, которые повышают эффективность или короткие, но эффективные.

Редактирование команды и перемещение курсора

Здесь есть много ярлыков, которые помогут нам исправить наши собственные команды. Затем используйте курсор слова, чтобы заменить позицию курсора.

Удалить текст команды от начала до курсора

ctrl+u, например:

cd /proc/tty;ls -al光标

Если в это время вы воспользуетесь сочетанием клавиш ctrl + u, команда будет очищена без необходимости долгого нажатия клавиши возврата.

Удалить текст команды от курсора до конца

ctrl+k, например:

cd /proc/tty光标;ls -al

Если в это время вы используете сочетания клавиш Ctrl + K, текст команды с начала курсора будет удален.

Есть и другие операции, не более примеров, таких как:

  • ctrl+a: курсор перемещается в начало команды
  • ctrl + e: курсор перемещается в конец команды
  • alt f: переместить курсор вперед на одно слово
  • alt b: переместить курсор назад на одно слово
  • ctrl w: удалить слово (строка, разделенная пробелами)

Исторические команды быстро реализуются

Все мы знаем, что История записывает команды истории и использует номер перед командой истории, быстро выполняет команду истории. Конкретное справочное чтение: "Использование восклицательного знака «!» в Linux". Кроме того, вы также можете использовать ctrl+r для поиска выполненных команд.

Посмотреть некоторые исторические команды

history отобразит большое количество исторических команд, а fs -l отобразит только часть.

Просмотр журналов в режиме реального времени

$ tail -f filename.log

TAIL -F плюс текстовое имя, вы можете отображать содержимое файла журнала в режиме реального времени. Конечно, используйте команду LESS для просмотра содержимого файла, и используйте кнопку Shift + F, вы также можете добиться аналогичного эффекта.

Источник: Официальный аккаунт [Programming Pearl] Веб-сайт:www.yanbinghu.com

Проверить состояние диска или памяти

Как узнать, заполнен ли текущий диск?

$ df -h
/dev/sda14      4.6G   10M  4.4G   1% /tmp
/dev/sda11      454M  366M   61M  86% /boot
/dev/sda15       55G   18G   35G  35% /home
/dev/sda1       256M   31M  226M  12% /boot/efi
tmpfs           786M   64K  786M   1% /run/user/1000

Используйте команду df для быстрого просмотра использования диска для каждого пути монтирования.

Размер пространства, занимаемого каждым подкаталогом текущего каталога

Если вы уже знаете, что домашний каталог занимает много места, вы хотите узнать занятость каждого каталога в домашнем каталоге:

$ du -h –-max-depth=1 /home(或者-d 1)
18G	/home/hyb
16K	/home/lost+found
18G	/home/

Здесь указывается глубина каталога, иначе он будет рекурсивно считать пространство, занимаемое подкаталогами, и вы можете попробовать сами.

Текущее использование памяти

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7G        3.5G        452M        345M        3.7G        3.5G
Swap:          7.6G          0B        7.6G

Через результат free легко увидеть текущую общую память, оставшуюся свободную память и так далее.

Используйте параметр -h

Не знаю, заметили ли вы, что в предыдущих командах мы использовали параметр -h, его функция заключается в отображении результата в удобочитаемом виде, поэтому мы видим, что он представлен в единицах G, M и т. д. , Если вы не используете параметр -h, вы можете попробовать сами, чтобы увидеть, как будут выглядеть результаты.

Согласно процессу поиска имени ID

Я хочу быстро найти идентификатор процесса, я могу использовать:

$ pgrep hello
22692

или:

$ pidof hello
22692

где привет это имя процесса.

убить процесс по имени

Как правило, мы можем использовать kill -9 pid, чтобы убить процесс, но таким образом нам нужно сначала найти идентификатор процесса процесса.На самом деле, мы также можем убить процесс напрямую по имени, например:

$ killall hello

или:

$ pkill hello

Посмотреть время выполнения процесса

Вы можете использовать следующую команду, чтобы узнать, как долго выполняется процесс:

$ ps -p 24525 -o lstart,etime 
                 STARTED     ELAPSED
Sat Mar 23 20:52:08 2019       02:45

Где 24525 — это идентификатор процесса, который вы хотите просмотреть.

Быстрое переключение каталогов

  • cd -  вернуться в предыдущий каталог
  • cd обратно в домашний каталог пользователя

Многократное выполнение команды

Мы знаем, что можно выполнить несколько команд, разделив их точкой с запятой, например:

$ cd /temp/log/;rm -rf *

Но если текущим каталогом является каталог /, а каталог /temp/log не существует, то будет иметь место захватывающая сцена:

bash: cd: /temp/log: No such file or directory
(突然陷入沉默)

Потому что может быть выполнено несколько команд, но следующие не будут выполняться из-за сбоя предыдущей команды.Поэтому после того, как cd не удастся выполнить, он все равно продолжит выполнение rm -rf*.Поскольку он находится в каталоге /, результат можно себе представить И знать. Так вы думаете, что эта авария произошла без знания силы rf -rf*?

Что, если это было решено? Это просто, используйте &&, например:

$ cd /temp/log/&&rm -rf *

Это гарантирует, что предыдущая команда будет выполнена успешно, а последняя будет выполнена.

Просмотр сжатых файлов журналов

Иногда лог-файлы сжимаются, так что можно полениться и проверить без распаковки? Конечно. Например:

$ zcat test.gz
test log

или:

$ zless test.gz
test log

Удалить искаженные файлы

Независимо от того, создан ли он вами или какой-либо ненормальной программой, неизбежно появление некоторых файлов со странными именами или искаженными символами.Как их удалить? Ссылаться на"Несколько способов удаления файлов со специальными именами в Linux".

Пустое содержимое файла

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

>filename

Лог одновременно записывать файлы и выводить их на консоль

При выполнении шелл-скрипта лог часто перенаправляется, но в этом случае консоль не печатается, как записать лог-файл и вывести лог в консоль?

$ ./test.sh |tee test.log

Завершить и возобновить выполнение процесса

Мы используем ctrl+z для приостановки выполнения процесса, а fg также можно использовать для возобновления выполнения. Например, мы используем

$ cat filename

Когда мы обнаружим, что содержимого файла может быть много, используйте ctrl+z, чтобы приостановить программу, а если мы хотим продолжить выполнение с того же места, что и сейчас, нам нужно только использовать команду fg для возобновления выполнения. Или используйте bg, чтобы процесс работал в фоновом режиме.

Рассчитать время работы программы

Мы можем написать несколько небольших программ в процессе и захотеть узнать время их выполнения.На самом деле, мы можем эффективно использовать команду времени, чтобы помочь нам вычислить, например:

$ time ./fibo 30
the 30 result is 832040

real	0m0.088s
user	0m0.084s
sys	0m0.004s

Он показывает системное время, время пользователя и общее время на самом деле используется.

Просмотр 10 основных процессов с использованием памяти

$ ps -aux|sort -k4nr |head -n 10

Здесь команды ps, sort и head используются комплексно, и вы можете обратиться к "Подробное объяснение команды ps", "Команда, помогающая сортировать текст"и"Общие команды Linux — просмотр текста".

Быстро найти нужную команду

Мы все знаем, что человек может просмотреть справочное руководство для команды, но что, если нам нужна функция, но мы не знаем, какую команду использовать? Не волнуйтесь, вы все равно можете использовать man:

$ man -k "copy files"
cp (1)               - copy files and directories
cpio (1)             - copy files to and from archives
git-checkout-index (1) - Copy files from the index to the working tree
gvfs-copy (1)        - Copy files
gvfs-move (1)        - Copy files
install (1)          - copy files and set attributes

С параметром -k отображаются справочные руководства, связанные с копированием файлов.

Скопируйте и вставьте из командной строки

Мы знаем, что под командной строкой копирование уже не может быть ctrl+c, потому что это означает завершение текущего процесса, а для копирования и вставки под командной строкой нужно использовать следующие сочетания клавиш:

  • ctrl + c
  • shift + insert

Поиск файла содержит строку

Например, чтобы найти файл, содержащий строку test, в текущем каталоге:

$ grep -rn "test"
test2.txt:1:test

Затем он может узнать, в какой строке файла находится строка.

экран зависает

Когда программа запущена, терминал может выводить много логов.Если вы хотите кратко проверить его, но не хотите записывать лог-файл, вы можете использовать клавишу ctrl+s, чтобы заморозить экран, чтобы лог больше не будет выводиться. Если вы хотите восстановиться, вы можете использовать ctrl + q, чтобы выйти из зависания.

Редактировать текстовые файлы без редактора

Если в некоторых системах у вас нет даже базового редактора vi, вы можете редактировать содержимое следующим образом:

$ cat >file.txt
some words
(ctrl+d)

После редактирования Ctrl + D для сохранения.

Посмотреть файл эльфа

Просмотр информации о заголовке файла elf

Например:

$ readelf -h filename

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

Проверить, содержит ли библиотека интерфейс

$ nm filename |grep interface

Здесь нужно проверить, включен ли интерфейс interface из имени файла, при условии, что файл содержит таблицу символов. Для получения дополнительной информации см.Общие команды Linux — разработка и отладка

Фильтр Просмотр журналов

Например, чтобы просмотреть строки журнала, содержащие ключевое слово test:

$ sed -n "/test/p" logfile

Это покажет только те журналы, которые содержат тестовую строку.

Суммировать

Контент, упомянутый в этой статье, рекомендуется для работы на компьютере и получения эффекта. В этой статье собраны некоторые часто используемые советы по Linux. Какие еще советы по Linux у вас есть? Добро пожаловать, чтобы оставить сообщение, чтобы поделиться.

Публичный аккаунт WeChat [Programming Pearl]: сосредоточьтесь, помимо прочего, на том, чтобы поделиться основами компьютерного программирования, Linux, языком C, C++, структурами данных и алгоритмами, инструментами, ресурсами и другими [оригинальными] техническими статьями, связанными с программированием.

公众号编程珠玑