
Оболочка Bash популярна в Unix-подобных операционных системах, таких как Mac и Linux, в большинстве дистрибутивов Linux Bash является оболочкой по умолчанию. Можно использовать Bash в Windows через WSL (подсистема Windows для Linux).
Вот 10 команд Bash, которые помогут вам быстрее работать с терминалом.
Чтобы очистить экран терминала, введите clear в командной строке. Но можно и быстрее, используя горячие клавиши — нажатие Ctrl + l ( ⌘ + l ) очищает экран.
Чтобы выйти, введите exit. Но можно и быстрее, используя горячие клавиши — нажатие Ctrl + d (⌘ + d) закрывает терминал.
Когда программы загружаются в память, они называются процессами. Можно запустить процесс firefox из командной строки:
$firefox https://oslogic.ruНо как только закрываете терминал, firefox тоже вылетает. Чтобы предотвратить это, используйте команду nohup (без отбоя):
nohup firefox https://freecodecamp.orgТеперь, когда закрываете терминал, firefox не падает, но текущая вкладка закрывается. Можно Firefox фоновым процессом, добавив символ &.
nohup firefox https://freecodecamp.org &Теперь, даже при выходе из терминального режима, все вкладки останутся активными, нетронутыми.
Используя команду killall, мы можем убить процесс по его имени:
pkill firefoxМожно использовать pkill для завершения нескольких процессов, набрав только часть имени.
pkill fire*Вы хотите знать, сколько времени занимает выполнение любой команды в оболочке? Просто добавьте time к команде:
time gcc -g *.c.Ввод uname -a показывает системную информацию. Можно получить более полную информацию о вашем дистрибутиве. Просто введите
cat /etc/*rel*в оболочке и нажмите Enter.
Получите что-то вроде этого:
$ cat /etc/*rel*
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=20.1
DISTRIB_CODENAME=ulyssa
DISTRIB_DESCRIPTION="Linux Mint 20.1 Ulyssa"
NAME="Linux Mint"
VERSION="20.1 (Ulyssa)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 20.1"
VERSION_ID="20.1"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=ulyssa
UBUNTU_CODENAME=focalДля замены несколько вхождений слова в текстовом файле используйте команду sed.
sed s'/apples/oranges/g' myfile.txtЗдесь все вхождения слова «apples» будут заменены на «oranges». ‘g’ означает глобальную замену.
Если вам нужно заменить только первое вхождение в каждой строке, просто удалите суффикс ‘g’ в конце:
sed s'/apples/oranges/' myfile.txtКосая черта / является разделителем. На самом деле можно использовать любой разделитель. Например можно использовать символ подчеркивания _ в качестве разделителя:
sed s'_apples_oranges_'g `myfile.txtПростое использование sed заменяет только стандартный вывод. Исходный файл без изменений. Чтобы изменить исходный файл, используйте флаг -i:
sed -i s'_apples_oranges_g' myfile.txtСуществует два типа IP-адресов: частные и общедоступные.
Система назначает внутренние IP-адреса, которые можно проверить с помощью команды ifconfig.
Чтобы узнать общедоступный, внешний IP-адрес вашего компьютера — IP-адрес, который провайдер назначает вашему интерфейсу можно использовать команду curl
curl ifconfig.me ; echoили
curl ifconfig.co ; echoили
curl -s https://api.ipify.org ; echoв командной строке.
Нажатие клавиши со стрелкой вверх показывает последнюю введенную команду. history — bстория ввода показывает все введенные вами команды, которые хранятся в истории bash.
Еще лучше введите Ctrl + r (⌘ + r) в оболочке и начните вводить команду. По мере ввода оболочка автоматически дополняет историю. Нажмите «Ввод», как только найдете совпадение.
(reverse-i-search)`sudo apt install': sudo apt install fancontrolЭто сэкономит вам много времени, гарантируем!
Для простых вычислений, которые не вводят и не выводят дроби, вы можете просто использовать:
:~$ echo $((19*34))
:~$ 646Для вычислений, в которых используются дроби, просто повторите выражение и передайте его в команду bc.
:~$ echo "scale=2; 9*3/((2*2)+1)" | bc
:~$ 5.40Здесь «масштаб» — это точность, которая нам нужна. В примере указано два десятичных знака.
Как создать 100 файлов в папке?
файл1.txt, файл2.txt, файл3.txt ... файл100.txtИспользуя фигурные скобки:
touch файл{1..100}.txtИли нужно создать три файла для нашего проекта: app.html, app.css и app.js. Вместо того, чтобы создавать один за другим, мы можем просто использовать расширение фигурной скобки, чтобы создать их все за один раз:
:~$ touch app.{html,css,js}
:~$ ls
app.html app.css app.js
:~$Или внутри папки проекта нам нужно создать пять каталогов: images, css, src, templates и scripts:
:~$ mkdir {images,css,src,templates,scripts}
:~$ ls
images css src templates scripts
:~$Предостережение: убедитесь, что между словами внутри фигурных скобок нет пробелов.