Адрес последнего содержания этой статьи:Ууху.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++, структурами данных и алгоритмами, инструментами, ресурсами и другими [оригинальными] техническими статьями, связанными с программированием.