Некоторые случайные однострочные команды Linux [Часть 2]
Это вторая часть серии однострочных команд Linux, которая сделает вашу работу с командной строкой проще, лучше и быстрее. Первая часть этой серии уже доступна. Возможно, вы захотите прочитать его по ссылке ниже.
- Некоторые случайные однострочные команды Linux [Часть 1]
Некоторые из приведенных ниже команд взяты из Arch wiki, /r/linux, Askubuntu и Stack Overflow. Вся заслуга принадлежит сообществу. И некоторые из них — мои собственные выводы, основанные на повседневном опыте. Это вторая часть серии. Последующие части мы будем публиковать в конце каждого месяца. Давай начнем, ладно?
Случайные однострочные команды Linux
- Давайте начнем эту часть с Emacs. Если в вашей системе установлен Emacs, нажмите CTRL+x и CTRL+e, чтобы открыть редактор Emacs, содержащий все, что вы только что набрали в своем терминале. Например, введите «ls» на своем терминале и нажмите CTRL+x, а затем CTRL+e. Теперь редактор Emacs автоматически откроется с буквой «ls».
Чтобы просмотреть файлы и каталоги в текущем рабочем каталоге, введите:
du -sxh * | sort -h
Самые маленькие элементы будут отображаться сверху.
- Чтобы вернуться в предыдущий рабочий каталог из любого места, введите:
cd -
Обратите внимание на пробел между cd и - (тире).
Чтобы вернуться в каталог $HOME из любого места, используйте команду:
cd
Не имеет значения, какой у вас предыдущий рабочий каталог. Команда «cd» перенесет вас из любого места в каталог $HOME.
- Иногда я забываю добавить «sudo», когда редактирую файлы конфигурации Apache с помощью редактора vim. Результат? Мне не удалось сохранить файл после внесения некоторых изменений. Если я попытаюсь сохранить, будет выдано сообщение об отказе в доступе. Этот крутой трюк помог мне сохранить файл, отредактированный в vim, без необходимых разрешений.
:w !sudo tee %
Вам не нужно выходить из vim и повторно редактировать файл с разрешением sudo. После внесения изменений просто введите строку выше, чтобы сохранить ее с разрешениями sudo. Это действительно крутой трюк, когда вы забываете добавить «sudo» при редактировании файлов.
- Чтобы вызвать команду с определенным префиксом из истории BASH без ее выполнения, введите:
!su:p
Приведенная выше команда вызовет последнюю команду с префиксом «su», но не запустит ее. Как вы видите на рисунке выше, моя последняя команда с префиксом «su» была — sudo netctl restart wlp9s0sktab.
- Чтобы постоянно отслеживать вывод файла, используйте эту команду:
tail -f /var/log/pacman.log
Эта команда будет полезна для мониторинга файла, который часто выдает выходные данные.
- Чтобы обновить один пакет с помощью менеджера пакетов «APT», используйте:
sudo apt-get install --only-upgrade <package-name>
- Если вы случайно изменили или перезаписали файл .bashrc, вы можете восстановить настройки по умолчанию, скопировав копию по умолчанию из папки skel.
cp /etc/skel/.bashrc ~/
Имейте в виду, что эта команда перезапишет все изменения в существующем файле .bashrc.
- Чтобы автоматически использовать «ls» при смене каталога, добавьте следующие строки в файл .bashrc.
cd() {
builtin cd "$@" && ls -lA
}
Чтобы обновить изменения, внесенные в ваш файл .bashrc, запустите:
source ~/.bashrc
Теперь перейдите в любой каталог. Вы увидите список файлов и папок, включая скрытые элементы. Помните, что иногда вас будет раздражать переход в каталог, содержащий сотни файлов/папок.
- Чтобы отобразить общее количество файлов и папок в текущем каталоге, запустите:
echo $(($(ls -l | wc -l) - 1))
Чтобы отобразить общее количество файлов/папок, включая скрытые файлы, введите:
echo $(($(ls -lA | wc -l) - 1))
11. Чтобы загрузить пакет .deb со всеми необходимыми зависимостями без его установки, используйте следующую команду:
sudo apt-get install --download-only vim
Эта команда загрузит пакет «vim» со всеми необходимыми зависимостями, но не установит его.
Для получения более подробной информации перейдите по этой ссылке.
- Загрузить пакеты с зависимостями локально в Ubuntu
Вы также можете загрузить пакет .rpm со всеми зависимостями, не устанавливая его. Проверьте эту ссылку ниже, чтобы узнать, как это сделать.
- Как загрузить пакет RPM со всеми зависимостями в CentOS
- Чтобы просмотреть все установленные пакеты в системе на базе Debian, запустите:
dpkg -l
Чтобы отобразить установленные файлы и сведения о пути к данному пакету, используйте:
dpkg -L <package-name>
Рекомендуется к прочтению:
- Как составить список установленных пакетов, отсортированных по дате установки в Linux
- Как составить список установленных пакетов, принадлежащих определенной группе в Linux
- Как составить список установленных пакетов из определенного репозитория в Linux
- Как узнать, установлен ли пакет в Linux и Unix
- Чтобы отобразить текущий статус системы, время, продолжительность, список вошедших в систему пользователей и другие сведения о пользователе, запустите:
w
- Чтобы отобразить использование диска всеми файлами и каталогами (включая скрытые файлы) в текущем рабочем каталоге в удобочитаемом формате, используйте следующую команду:
du -sch .[!.]* *
Дополнительные примеры команд «du» можно найти по этой ссылке.
- Как узнать размер каталога в Linux
- Иногда вам может потребоваться записать вывод определенной команды в несколько файлов и отправить его своим коллегам, друзьям. Если да, вы можете сделать это, как показано ниже.
uname -r | tee file1 file2 file3
Эта команда записывает вывод команды «uname -r» в файл1, файл2 и файл3. Если файлы не существуют, они будут созданы и записаны выходные данные. Одним из недостатков использования этой команды является то, что она перезапишет содержимое файлов. Если вы этого не хотите, вы можете добавить вывод, используя флаг «-a», как показано ниже.
uname -r | tee -a file1 file2 file3
- Чтобы отсортировать файл по алфавиту и отобразить результат в одной строке:
cat <file-name> | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"
Например, у меня есть файл «example.txt» со следующим содержимым:
cat example.txt
abc
cab
bac
bca
cba
Теперь давайте отсортируем содержимое этого файла по алфавиту и выведем результат в одну строку. Для этого запустите:
cat example.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"
abc|bac|bca|cab|cba
- Хотите изучить JavaScript, тогда перейдите на следующий сайт.
- https://www.dwitter.net/
Это поддерживаемый сообществом веб-сайт, на котором люди создают 140-символьные программы JavaScript, создающие интересные визуальные эффекты.
- Чтобы удалить определенные символы в данной команде, выполните:
echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
Приведенная выше команда удалит числа от 1 до 9 и отобразит окончательный результат.
- На вашей клавиатуре не работает клавиша BACKSPACE? Не беспокойся! Вы по-прежнему можете удалить символы в Терминале в системе, где клавиша BACKSPACE не работает, нажав клавиши "CTRL+h".
Чтобы просмотреть всех пользователей, которые недавно вошли в систему, введите:
last
Чтобы узнать, когда пользователь в последний раз входил в систему, введите:
last <username>
Чтобы просмотреть все неудачные попытки входа в систему, введите:
sudo lastb
- Вы настраиваете тестовый веб-сервер с использованием Nginx? Вы можете использовать этот бесплатный онлайн-генератор конфигурации Nginx для общих целей:
- https://nginxconfig.io/
Просто введите такие данные, как домен, корень документа и т. д., в соответствующий столбец, и он автоматически сгенерирует конфигурацию Nginx на основе введенных вами данных по мере ввода. Вы можете просто скопировать и вставить его в свой файл /etc/nginx/nginx.conf. Это действительно полезно для целей обучения и тестирования.
- Чтобы объединить два файла рядом, каждый в своем столбце, используя TAB в качестве разделителя, вы можете использовать следующую команду:
paste file1 file2
Допустим, у вас есть два файла, а именно file1.txt и file2.txt со следующим содержимым.
cat file1.txt
Apple
Orange
Mango
cat file2.txt
30
25
40
Если вы используете команду cat для просмотра вывода обоих файлов, результат будет:
cat file1.txt file2.txt
Apple
Orange
Mango
30
25
40
Но если вы воспользуетесь командой вставки, вы увидите, что поля правильно организованы в аккуратный столбец, как показано ниже.
paste file1.txt file2.txt
- Чтобы узнать время последнего доступа к файлу, запустите:
stat -c %x file
Чтобы найти время последнего изменения файла, используйте:
stat -c %y file
Читайте также:
- Найти и отсортировать файлы по доступу, дате и времени изменения в Linux
- Чтобы узнать тип файла, используйте:
file <file-name>
Пример :
file ostechnix
ostechnix: ASCII text
file image
image: PNG image data, 330 x 146, 8-bit colormap, non-interlaced
Это может быть полезно, если данный файл не имеет расширения.
- Чтобы сохранить вывод нескольких команд в виде одной строки в текстовом файле, команда будет такой:
echo "$(uname -r) $(hostname -i)" >> output.txt
Приведенная выше команда записывает выходные данные команд «uname -r» и «hostname -i» в файл с именем «output.txt».
Третья часть этой серии уже готова и доступна. Нажмите на ссылку ниже, чтобы прочитать ее.
- Некоторые случайные однострочные команды Linux [Часть 3]