Solución de problemas
Mi terminal no es compatible con UTF-8
Desafortunadamente, algunos terminales no son compatibles con UTF-8. En este caso, usted tiene que utilizar un terminal diferente. Aquí tiene una lista con algunos terminales que tienen soporte para UTF-8:
- vte-based terminals
- gnustep-terminal
- konsole
- mlterm
- rxvt-unicode
- xterm
Gnome-terminal o rxvt-unicode no es compatible con UTF-8
Es necesario poner en marcha estas aplicaciones desde una localización UTF-8 o caerá el soporte UTF-8. Activar el locale (o su locale UTF-8 alternativo) como se explicó anteriormente, y establézcalo como el idioma por defecto, reiniciando, a continuación, el sistema.
Команды Linux для управления сетью
39. ip
Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита — ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.
40. ping
Ping — это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом
Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи.
41. nethogs
Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты nethogs. Для того чтобы задать сетевой интерфейс используйте опцию -i.
42. traceroute
Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов. Подробнее — тут.
Сетевые настройки
Базовая настройка
Этот метод настройки является самым гибким и функциональным, но требует ручной правки конфигурационных файлов.
Если Debian устанавливался по сети, то настройки будут перенесены из установщика в установленную систему, т.е. ничего настраивать уже не нужно.
Ищем нашу сетевую карту в списке:
# ifconfig -a
Для более детальной информации о сетевых картах можно воспользоваться специальными
Открываем файл конфигурации сети:
# nano /etc/network/interfaces
Строки, начинающиеся со слова «auto», используются для идентификации физических интерфейсов при их подьеме во время запуска ifup с опцией -a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом «auto» в той же строке. Может быть несколько строф «auto». ifup поднимет названные интерфейсы в порядке их перечисления.
Строки, начинающиеся с «allow-«, используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды «ifup —allow=hotplug eth0 eth1», которая будет поднимать только eth0 или eth1, если они перечислены в строке «allow-hotplug». Учтите, что «allow-auto» и «auto» — синонимы.
Если настройки статические, тогда, к примеру, заполняем так:
auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.94 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1
Если настройки сети раздаются через DHCP, тогда, к примеру, заполняем по-другому:
auto eth0 allow-hotplug eth0 iface eth0 inet dhcp
Если необходимо использовать одновременно несколько IP адресов на одной сетевой карте, тогда, к примеру, добавляем строки:
auto eth0:1 iface eth0:1 inet static address 192.168.0.94 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255
Для настройки DNS нужно редактировать файл /etc/resolv.conf
Статичный DNS, например:
nameserver 10.30.1.11 212.45.2.5 search gspk domain bober.gspk
Динамический DNS по DHCP вносится в /etc/resolv.conf автоматически.
Настройка в консольном интерфейсе wicd-curses
wicd — cлужба управления проводными и беспроводными сетями для Linux с Qt, GTK+ и curses интерфейсами. Эта служба наиболее удобна, если часто возникает необходимость в быстром подключении к различным сетям.
После первого запуска wicd автоматические переключает все настройки сети на DHCP.
Для управления службой в консоли необходим curses клиент wicd-curses.
# aptitude install wicd-curses
Запускам настройку:
# wicd-curses
Для применения настроек необходимо нажать «Shift+C»
Check which system locales are enabled
By using the command you can see which locales are currently being used for your active terminal session. In the output above the system locale is set to .
Before setting up a different system locale you can first check which locales are enabled and ready to use on your Debian 9 VPS. You can use the following command for that purpose:
locale -a
The output should be similar to the one below:
# locale -a C C.UTF-8 POSIX en_US.utf8
3. Generate a system locale for the region you need
If you don’t have the locale that you need to be enabled on your system, it can simply be generated by using the command. Just run the following command to generate a locale for the region you need:
dpkg-reconfigure locales
Select the locale that you want to be enabled and press . On the image below you can see that we selected .
debian set locale
Once you press you should see the following output:
Generating locales (this might take a while)... en_GB.UTF-8... done en_US.UTF-8... done Generation complete.
Как использовать команду locate
Синтаксис команды locate следующий:
locate PATTERN...
В своей основной форме, когда используется без каких-либо опций, команда locate напечатает абсолютный путь ко всем файлам и каталогам, который соответствует шаблону поиска и для которого пользователь имеет разрешение на чтение.
Например, чтобы найти файл с именем .bashrc, введите:
locate .bashrc
Вывод будет включать имена всех файлов, содержащих строку .bashrc в их именах:
/etc/bash.bashrc /etc/skel/.bashrc /home/andreyex/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
Файл /root/.bashrc не будет показан, так как мы запустили команду как обычный пользователь, который не имеет право доступа к каталогу /root.
Если список результатов длинный, для лучшей читаемости вы можете направить вывод в команду less:
locate .bashrc | less
Команда locate также принимает шаблоны, содержащие символы-заглушки, такие как подстановочный знак *. Когда шаблон не содержит символов-глобусов *PATTERN*, которые ищет команда, поэтому в предыдущем примере отображались все файлы, содержащие шаблон поиска в своих именах.
Подстановочный знак – это символ, используемый для обозначения нуля, одного или нескольких символов. Например, для поиска всех файлов .md в системе вы должны использовать:
locate *.md
Чтобы ограничить результаты поиска, используйте -nпараметр, за которым следует количество результатов, которые вы хотите отобразить. Например, следующая команда будет искать все файлы .py и отображать только 10 результатов:
locate -n 10 *.py
По умолчанию locate выполняет поиск с учетом регистра. Опция -i( –ignore-case) указывает locate на игнорирование регистра и запуск поиска без учета регистра.
locate -i readme.md
/home/andreyex/p1/readme.md /home/andreyex/p2/README.md /home/andreyex/p3/ReadMe.md
Чтобы отобразить количество всех совпадающих записей, используйте параметр -c( –count). Следующая команда вернет номер всех файлов, содержащихся .bashrc в их именах:
locate -c .bashrc
6
По умолчанию locate не проверяет, существуют ли найденные файлы в файловой системе. Если вы удалили файл после последнего обновления базы данных, если файл соответствует шаблону поиска, он будет включен в результаты поиска.
Чтобы отобразить только имена файлов, которые существуют в данный момент, в locate используйте параметр -e( –existing). Например, следующее вернет только существующие файлы .json:
locate -e *.json
Если вам нужно выполнить более сложный поиск, вы можете использовать опцию -r( –regexp), которая позволяет выполнять поиск, используя базовое регулярное выражение вместо шаблонов. Эта опция может быть указана несколько раз.
Например, для поиска всех файлов .mp4 и .avi в вашей системе и игнорирования регистра вы должны выполнить:
locate --regex -i "(\.mp4|\.avi)"
Как locate работу
Команда выполняет поиск заданного шаблона в файле базы данных, созданном командой . Найденные результаты отображаются на экране по одному в строке.
Во время установки пакета mlocate создается задание cron, которое запускает команду каждые 24 часа. Это гарантирует регулярное обновление базы данных. Для получения дополнительной информации о задании cron проверьте файл .
Базу данных можно обновить вручную, запустив от имени пользователя root или пользователя с привилегиями sudo:
Процесс обновления займет некоторое время, в зависимости от количества файлов и каталогов, а также скорости вашей системы.
Файлы, созданные после обновления базы данных, не будут отображаться в результатах поиска.
По сравнению с более мощной командой которая выполняет поиск в файловой системе, команда работает намного быстрее, но не имеет многих функций и может выполнять поиск только по имени файла.
Risoluzione dei problemi
Il mio terminale non supporta UTF-8
Sfortunatamente alcuni terminali non supportano UTF-8. In questo caso dovreste utilizzare un terminale differente. Questa è una lista di alcuni terminali che hanno il supporto per UTF-8:
- vte-based terminals
- gnustep-terminal
- konsole
- mlterm
- rxvt-unicode
- xterm
Gnome-terminal o rxvt-unicode non supportano UTF-8
È necessario avviare queste applicazioni da un locale UTF-8 o cadrà il supporto ad UTF-8. Abilitare il locale (o il vostro locale UTF-8 alternativo) come spiegato precedentemente e impostarlo come la lingua predefinita, quindi riavviare.
Navigation menu
Our experts are sharingtheir knowledge with you.
Categories
▼ Server Hardware
► Hard Disk Drives
no subcategories
► HBAs
no subcategories
► Intel
no subcategories
▼ Modular Server
► Modular Server Ethernet Switch
no subcategories
▼ Motherboards
► BIOS Settings
no subcategories
▼ RAID Controllers
► 3ware
no subcategories
▼ Adaptec
► Adaptec SmartRAID
no subcategories
► LSI
no subcategories
▼ Server
► Backplanes
no subcategories
► LES
no subcategories
▼ SSDs
► Intel SSDs
no subcategories
▼ Server Software
▼ Linux
► Debian
no subcategories
► Linux Basics
no subcategories
► Linux Networking
no subcategories
▼ Linux Performance
► Fio
no subcategories
► TKperf
no subcategories
► Linux Software RAID
no subcategories
▼ Linux-Storage
► LVM
no subcategories
► Smartmontools
no subcategories
► Ubuntu
no subcategories
▼ Windows
► Windows Server 2012
no subcategories
► Windows Server 2016
no subcategories
► Windows Server 2019
no subcategories
▼ Storage
► FreeNAS
no subcategories
▼ Virtualization
► Hyper-V
no subcategories
► Proxmox
no subcategories
► VirtualBox
no subcategories
▼ VMware
▼ VMware
▼ VMware
► VMware
► VMware vSphere 5
► VMware vSphere 5.1
► VMware vSphere 5.5
► VMware vSphere 6.0
► VMware vSphere 6.5
► VMware vSphere 6.7
► VMware vSphere 5
no subcategories
► VMware vSphere 5.1
no subcategories
► VMware vSphere 5.5
no subcategories
► VMware vSphere 6.0
no subcategories
► VMware vSphere 6.5
no subcategories
► VMware vSphere 6.7
no subcategories
► VMware vSphere 5
no subcategories
► VMware vSphere 5.1
no subcategories
► VMware vSphere 5.5
no subcategories
► VMware vSphere 6.0
no subcategories
► VMware vSphere 6.5
no subcategories
► VMware vSphere 6.7
no subcategories
▼ Focus Topics
► Git
no subcategories
► UEFI
no subcategories
▼ Network+Accessories
► Load Balancer
no subcategories
► Monitoring
no subcategories
▼ OPNsense
► OPNsense Business Edition
no subcategories
▼ Remote Management
► IPMI
no subcategories
► TKmon
no subcategories
▼ Archive
► AMD
no subcategories
► Areca
no subcategories
► Fusion-io
no subcategories
► News
no subcategories
► Server Hardware Archive
no subcategories
► STEC
no subcategories
Утилита locate
Утилита имеет значительное отличие от утилиты , заключающееся в том, что она использует данные индексирования файловой системы для установления путей к файлам. Несмотря на то, что данный алгоритм поиска гораздо быстрее алгоритма с обходом всех директорий файловой системы, в случае его использования данные о файловой системе в подавляющем большинстве случаев являются устаревшими. В том случае, если данные индексирования файловой системы еще не собраны, вам придется осуществить их сбор путем выполнения команды (в дистрибутиве Red Hat Enterprise Linux для выполнения описанной операции понадобятся привилегии пользователя root).
$ locate Samba locate: не удалось выполнить stat () "/var/lib/mlocate/mlocate.db": Нет такого файла или каталога $ updatedb updatedb: не удалось открыть временный файл для "/var/lib/mlocate/mlocate.db" $ su - Password: # updatedb #
В большинстве дистрибутивов Linux для исполнения команды один раз в день используется планировщик задач.
Warning Message
The warning message during the installation of Perl applications will appear as follows:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
This problem may arise when packages are being added. The following example will show a corresponding output:
8000050000:~# apt-get install multipath-tools Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: dmsetup kpartx libaio1 Suggested packages: multipath-tools-boot The following NEW packages will be installed: dmsetup kpartx libaio1 multipath-tools 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 266kB of archives. After this operation, 950kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://ftp.de.debian.org lenny/main dmsetup 2:1.02.27-4 Get:2 http://ftp.de.debian.org lenny/main kpartx 0.4.8-14+lenny2 Get:3 http://ftp.de.debian.org lenny/main libaio1 0.3.107-3 Get:4 http://ftp.de.debian.org lenny/main multipath-tools 0.4.8-14+lenny2 Fetched 266kB in 1s (154kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory Selecting previously deselected package dmsetup. (Reading database ... 27499 files and directories currently installed.) Unpacking dmsetup (from .../dmsetup_2%3a1.02.27-4_amd64.deb) ... Selecting previously deselected package kpartx. Unpacking kpartx (from .../kpartx_0.4.8-14+lenny2_amd64.deb) ... Selecting previously deselected package libaio1. Unpacking libaio1 (from .../libaio1_0.3.107-3_amd64.deb) ... Selecting previously deselected package multipath-tools. Unpacking multipath-tools (from .../multipath-tools_0.4.8-14+lenny2_amd64.deb) ... Processing triggers for man-db ... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). /usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct manconv: can't set the locale; make sure $LC_* and $LANG are correct Setting up dmsetup (2:1.02.27-4) ... Setting up kpartx (0.4.8-14+lenny2) ... Setting up libaio1 (0.3.107-3) ... Setting up multipath-tools (0.4.8-14+lenny2) ... perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Starting multipath daemon: multipathd. perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 8000050000:~#
Impostare il collation
L’ordinamento (collation), è un po ‘diverso. L’ordinamento è una stupida bestia poiché i vari locale si comportano in modo diverso. Per ovviare a potenziali problemi, Arch utilizza impostare in . Tuttavia, questo metodo è obsoleto. Per abilitare questo comportamento, è sufficiente aggiungere la seguente variabile in :
LC_COLLATE="C"
Ora il comando ordinerà i dotfile per primi, seguito da nomi di file che iniziano con maiuscole e minuscole. Si noti che senza una opzione , le applicazioni ripiegano sul valore di locale specificato da o , ma l’impostazione di verranno sovrascritti se è impostato. Se ciò crea dei problemi, assicurarsi che LC_ALL non sia impostato aggiungendo quanto segue in :
export LC_ALL=
Si noti che LC_ALL è l’unica variabile LC che non deve essere impostata in .
Поиск файлов с четко заданным именем
По умолчанию при поиске файла с помощью locate переданное имя, такое, как , будет автоматически преобразовываться в в шаблон поиска . Например, при поиске файла с именем будут выведены все имена файлов, соответствующие шаблону поиска :
Но что делать тогда, когда нужно искать лишь файлы с именем ? Ну, вы этом случае вы можете воспользоваться регулярным выражением, которое активируется с помощью параметра . Исходя из этого, вы можете найти все файлы с именами с помощью регулярного выражения аналогичным образом:
$ locate -r /testfile$
Если вы не знакомы с регулярными выражениями, рекомендую обратиться к .
Linux команды консоли для работы с текстом
19. more / less
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. head / tail
Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. grep
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. sort
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
24. diff
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.
Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.
14 ответов
Лучший ответ
Еще один полезный совет по навигации — если, например, вы продолжаете переключаться из каталога (назовите его A) в другой (назовите его B), который в вашем случае находится на 7 каталогов вверх.
Итак, если вы находитесь в каталоге A:
Это вернет вас обратно в каталог A. расширится до предыдущего каталога, в котором вы были.
74
Florin Stingaciu
1 Ноя 2017 в 14:26
Вы можете попробовать это решение. Для меня это нормально:
Я сделал псевдоним в файле ~ / .barsh. И эта работа меня устраивает. Например, до трех папок. $ cd `cde 3`
Blow-Out
13 Авг 2015 в 18:13
Я сделал небольшую утилиту, которая немного упрощает навигацию по глубокой структуре каталогов: https://github.com/ianatha / вверх.
Установив , вы можете:
1
thatha
11 Фев 2020 в 02:18
Вы можете добавить к своему следующую функцию:
Таким образом, использование будет просто:
1
doberoi96
1 Окт 2017 в 03:03
Для рыбаков,
И сохраните его в: ~ / .config / fish / functions / cdd.fish
И просто Подняться на 3 каталога.
1
chriz
14 Сен 2017 в 15:06
Эта отличная функция поддерживает подъем в обоих направлениях .
Если вы находитесь в / a / b / c / d , то «вверх 1» переместит вас в / a / b / c и так далее. Это довольно стандартно и описано в большинстве других ответов.
Теперь о специальной части; использование отрицательных чисел уводит вас с другой стороны. Итак, если вы находитесь в / a / b / c / d , «up -1» приведет вас к / a и так далее.
Доступно для загрузки / установки на github.
1
rouble
9 Май 2017 в 16:02
Хм, я так не думаю.
Но вы можете написать (и так далее) вместо 7 раз cd ..
1
E. Lüders
30 Авг 2012 в 13:43
2
Waleed Khan
30 Авг 2012 в 13:44
Вы можете сделать это так
Существует классная статья о некоторых приемах, которые можно применить для улучшения навигации.
3
Maksim Skurydzin
30 Авг 2012 в 13:43
Не помню, откуда я скопировал эту функцию, но у меня она отлично работает (например, вы можете вставить файл )
Например чтобы перейти на 7 каталогов вверх, необходимо набрать
4
dav
4 Дек 2015 в 14:27
Вот небольшое улучшение, которое я обнаружил:
Обычно, когда вы возвращаетесь на один каталог с помощью cd .., вы в конечном итоге переходите на один каталог вперед. Чтобы это работало, вам нужно использовать функции, а не псевдонимы, поэтому вместо:
Ты можешь использовать:
Однако после его использования быстро становится очевидным, что вам не хватает завершения команды для этой функции, что делает ее гораздо менее полезной, чем могла бы быть. Таким образом, я вернулся и добавил свои собственные функции завершения bash для этой функции, которые можно вставить в ваш ~ / .bashrc или любой файл (например, ~ / .bash_completion), который вызывается из вашего ~ / .bashrc, если вы хотите избежать беспорядок. Вот код завершения:
5
RussellStewart
14 Апр 2013 в 08:35
Если есть команда, которую я часто использую, я просто сделаю псевдоним.
Вы могли напечатать
Затем вы можете просто использовать для перехода на один уровень вверх и для перехода на два уровня.
7
RussellStewart
14 Июл 2013 в 17:55
Вы можете использовать , чтобы запомнить один каталог, и , чтобы вернуться в него.
8
Chakalaka
30 Авг 2012 в 13:47
Сделайте псевдоним (у вас ~ / .bashrc)
И используйте:
UPD: Или сделайте более мощный вариант, cd к имени каталога в текущем пути:
Использование:
22
Grigory K
2 Апр 2018 в 12:58
Синтаксис и опции locate
В эмуляторе терминала команда locate записывается в таком формате:
locate опции шаблон_для_поиска
Опции:
- -A (—all) — выводит только файлы, соответствующие всем заданным шаблонам.
- -b (—basename) — выводит файл, если его название соответствует шаблону.
- -c (—count) — вместо адресов выводит количество найденных файлов.
- -d (—database) — меняет базу данных для поиска, установленную по умолчанию, на пользовательскую.
- -e (—existing) — поиск файлов, существующих на момент запуска команды.
- -L (—follow) — при применении —existing заставляет команду использовать символические ссылки вместо жёстких. Опция —follow включена по умолчанию.
- -h (—help) — выводит справку.
- -i (—ignore-case) — делает команду нечувствительной к регистру.
- -p (—ignore-spaces) — заставляет команду игнорировать пробелы и знаки пунктуации.
- -t (—transliterate) — игнорирует диакритические знаки.
- -l, -n (—limit) — ограничивает количество файлов в выводе команды.
- -P (—nofollow) — заставляет команду использовать жёсткие ссылки вместо символических.
- -0 (—null) — включает использование NUL в качестве разделителя строк.
- -S (—statistics) — выводит статистику по каждой базе данных вместо поиска файлов.
- -q (—quiet) — запрещает команде выводить сообщения об ошибках до завершения поиска.
- -r (—regexp) — поиск с использованием регулярных выражений.
- -V (—version) — показывает версию установленной в системе утилиты locate.
- -w (—wholename) — выводит файл, если в его названии либо адресе есть символы, соответствующие шаблону.
Команды Linux для управления процессами
25. kill / xkill / pkill / killall
Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.
26. ps / pgrep
Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. Подробнее о команде ps описано тут.
27. top / htop
Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.
28. time
Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.
Локаль Системы По Умолчанию
Дельный Совет: Создайте потрясающий ASCII баннер из командной строки в Linux и вставьте его в предупреждающее сообщение, которое будет появляться при подключении по SSH! Читать далее →
Выполните следующие действия для смены системной локали по умолчанию (для всех пользователей).
Поддерживаемые релизы: Ubuntu-15.04, 15.10, 16.04, 16.10, 18.04.
Ubuntu-14.04
Поддерживаемые релизы: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.
Откройте файл с настройками локали по умолчанию:
/etc/default/locale
Переопределите значение переменной :
LANG="en_US.utf8"
CentOS-6
Откройте файл с настройками локали по умолчанию:
/etc/sysconfig/i18n
Переопределите значение переменной :
LANG="en_US.utf8"
Необходима перезагрузка: Изменения системных настроек вступит в силу только после перезагрузки.
Как работает locate
Команда locate выполняет поиск заданного шаблона в файле базы данных, сгенерированном командой updatedb. Найденные результаты отображаются на экране, по одному на строку.
Во время установки пакета mlocate создается задание cron, которое запускает команду updatedb каждые 24 часа. Это гарантирует, что база данных регулярно обновляется. Для получения дополнительной информации о работе cron проверьте файл /etc/cron.daily/mlocate.
Базу данных можно обновить вручную, выполнив команду updatedb от имени пользователя root или пользователя с привилегиями sudo:
sudo updatedb
Процесс обновления займет некоторое время, в зависимости от количества файлов и каталогов и скорости вашей системы.
Файлы, созданные после обновления базы данных, не будут отображаться в результатах поиска.
По сравнению с более мощной командой find, которая выполняет поиск в файловой системе, locate работает намного быстрее, но не имеет многих функций и может выполнять поиск только по имени файла.
Утилиты gzip — gunzip
Пользователям всегда недостаточно дискового пространства, поэтому инструменты для сжатия данных всегда актуальны. Утилита позволяет осуществить преобразования файлов, после которых они будут занимать меньше дискового пространства.
paul@rhel55 ~$ ls -lh text.txt -rw-rw-r-- 1 paul paul 6.4M апр 17 13:11 text.txt paul@rhel55 ~$ gzip text.txt paul@rhel55 ~$ ls -lh text.txt.gz -rw-rw-r-- 1 paul paul 760K апр 17 13:11 text.txt.gz
Вы можете получить оригинал вашего файла, воспользовавшись утилитой .
paul@rhel55 ~$ gunzip text.txt.gz paul@rhel55 ~$ ls -lh text.txt -rw-rw-r-- 1 paul paul 6.4M апр 17 13:11 text.txt
Заключение
Для безопасной разработки русскоязычных веб-проектов необходимо включать в файл с общими настройками следующие команды:
Код - файл общих настроек |
|
1234567891011121314 |
<?php // Файл общих настроек ... // Вывод заголовка с данными о кодировке страницы header('Content-Type: text/html; charset=utf-8'); // Настройка локали setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251', 'russian'); // Настройка подключения к базе данных mysql_query('SET names "cp1251"'); ?> |
Как ни странно, но эти три строчки кода значительно повышают портируемость веб-проектов.