Команды linux

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"');

?>

Как ни странно, но эти три строчки кода значительно повышают портируемость веб-проектов.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: