Метод 3 — просмотр информации о процессоре с помощью lshw
Lshw (Hardware Lister) — это полнофункциональная утилита CLI, которая предоставляет подробную информацию об аппаратной конфигурации системы Linux. Он может получить подробную информацию об оборудовании, такую как точная конфигурация памяти, версия прошивки, конфигурация материнской платы, версия и скорость процессора, конфигурация кеша, скорость шины и т.д.
Утилита lshw имеет как командную строку, так и графический интерфейс. Он предустановлен в большинстве дистрибутивов Linux. Если он не установлен по какой-либо причине, вы можете установить lshw на свой компьютер с помощью диспетчера пакетов по умолчанию. Например, выполните следующую команду для установки lshw в Debian, Ubuntu, Pop_OS!:
$ sudo apt install lshw lshw-gtk
Чтобы просмотреть информацию о процессоре lshw, просто запустите:
$ sudo lshw -class processor
Пример вывода:
$ sudo lshw -class processor *-cpu description: CPU product: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz vendor: Intel Corp. physical id: 4 bus info: cpu@0 version: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz serial: To Be Filled By O.E.M. slot: CPU 1 size: 987MHz capacity: 2300MHz width: 64 bits clock: 100MHz
Если вы хотите отображать только модель процессора, используйте опцию с командой :
$ sudo lshw -short -class processor H/W path Device Class Description ============================================================ /0/4 processor Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
Lshw также имеет графический интерфейс. Запустите lshw gui из меню приложения или Терминала, выполнив следующую команду:
$ sudo lshw-gtk
Дважды щелкните Portable Computer -> Motherboard -> CPU, чтобы получить полную информацию о вашем процессоре.
Команды Linux, для работы с файлами
Эти команды используются для обработки файлов и каталогов.
33. ls
Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.
34. pwd
Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.
Пример ример ниже:
35. mkdir
В Linux мы можем использовать команду mkdir для создания каталога.
По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.
36. cat
Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.
В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.
37. rm
Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.
38. cp
Команда Cp используется в Linux для создания копий файлов и каталогов.
Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.
39. mv
Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.
40.cd
Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.
41. Ln
Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.
Команда Ln использует следующий синтаксис:
42. touch
Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.
44. head
Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.
45. tail
Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.
46. gpg
GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.
50. uniq
Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.
53. tee
Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.
54. tr
Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.
Запуск[править]
1. Для запуска утилиты введите в консоли:
whdd
2. Выберите диск, с которым хотите работать
3. Выберите действие, которое хотите выполнить с диском:
- Show SMART attributes — просмотр атрибутов S.M.A.R.T.
- Read test — тест на читаемость диска
- Device copying — копирование жёсткого диска
- Write zeros — заполнить жёсткий диск нулями
- Setup Host Protected Area (HPA) — настройки защищённой области пользователя
Команда Show SMART attributes отобразит данные о диске.
b.Выбираем начальный сектор (по умолчанию 0)
c.Выполняется тест
— res
Заполнить жёсткий диск нулямиправить
a.Соглашаемся с тем, что «данная операция может сделать все наши данные недоступными или даже полностью уничтожить»
b.Выполняется очистка
Настройки защищённой области пользователяправить
Информация об оборудованииправить
Команда | Описание |
---|---|
lshal | Отображение информации о подключенных устройствах, находящихся в HAL |
lspci | Отображение информации о всех PCI шинах и подключенных к ним девайсах |
lspci -v | Вывод более подробной информации |
lsmod | Вывод состояния модулей ядра, для некоторых устройств можно увидеть используемый драйвер |
cat /proc/bus/input/devices | Посмотреть информацию по всем вашим устройствам ввода следующей командой |
hardinfo | Графическая утилита отображения информации об устройствах компьютера |
hwinfo | Вывод полной информации обо всех устройствах компьютера. |
dmidecode -s bios-version | Узнать версию биоса материнской платы(DMI) |
dmidecode -s bios-release-date | Узнать дату выхода версии биос |
hw-probe -all -upload | Сбор информации о системе и оборудовании и выдача ссылки на просмотр этих данных. Проба оборудования |
inxi -F | Утилита для компактного и полного вывода информации о системе и железе. |
Скрипт c inxi - Вывод информации о железе (Скрипт)Выводит информацию в отдельном окне. Нужно создать файл и поместить в него текст скрипта. #!/bin/bash (inxi -c0 -F) | xmessage -file --center Но мне кажется, что через gxmessage "красивее" выглядит Запуск скрипта sh скрипт или ./скрипт
Управление пользователями
Просмотр
Вся информация о пользователях хранится в файле .
Каждый аккаунт занимает одну строку, в формате
- — имя пользователя.
- — зашифрованный пароль пользователя.
- — идентификационный номер пользователя.
- — идентификационный номер основной группы пользователя.
- — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
- — домашний каталог ($HOME) пользователя.
- — командный интерпретатор пользователя (обычно /bin/sh).
Получение информации о пользователях
- – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
- – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
- или или – вывод вашего имени пользователя.
- – вывод имен пользователей, работающих в системе.
- – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
- – вывод списка групп в которых состоит пользователь.
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd.
Ключи:
- Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home.
- Комментарий. В нем вы можете напечатать любой текст.
- Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
- Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
- Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1.
- Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
- Список вторичных групп в которых будет находится создаваемый пользователь
- Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
- Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
- Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля.
- Оболочка, используемая пользователем. По умолчанию /bin/sh.
- Вручную задать UID пользователю.
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Посмотерть настройки по-умолчанию можно с помощью команды .
Если вас не устраивают такие настройки, вы можете поменять их выполнив , где это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:
Изменить пароль пользователю можно при помощи утилиты passwd.
Утилита passwd может использоваться и обычным пользователем для смены пароля.
Основные ключи passwd:
- Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля.
- Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
- Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
- Минимальное количество дней между сменами пароля.
- Максимальное количество дней, после которого необходимо обязательно сменить пароль.
- Заблокировать учетную запись пользователя.
- Разблокировать учетную запись пользователя.
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
или
После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему.
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.
Пример использования:
- Принудительно удалить пользователя, даже если он сейчас работает в системе.
- Удалить домашний каталог пользователя.
Понимание интерфейса top: область задач
Сводная область сравнительно проще и содержит список процессов. В этом разделе мы узнаем о различных столбцах, показанных в выводе по умолчанию top.
PID
Это идентификатор процесса, уникальное положительное целое число, которое идентифицирует процесс.
USER
Это «эффективное» имя пользователя (которое сопоставляется с идентификатором пользователя) пользователя, запустившего процесс. Linux назначает действительный идентификатор пользователя и эффективный идентификатор пользователя процессам; последний позволяет процессу действовать от имени другого пользователя. (Например, пользователь без полномочий root может подняться до уровня root для установки пакета.)
PR и NI
Поле «NI» показывает «хорошее» значение процесса. Поле «PR» показывает приоритет планирования процесса с точки зрения ядра. Хорошее значение влияет на приоритет процесса.****
VIRT, RES, SHR и %MEM
Эти три поля связаны с потреблением памяти процессами. «VIRT» — это общий объем памяти, потребляемой процессом. Это включает код программы, данные, хранящиеся процессом в памяти, а также любые области памяти, которые были выгружены на диск. «RES» — это память, используемая процессом в ОЗУ, а «% MEM» выражает это значение в процентах от общего объема доступной ОЗУ. Наконец, «SHR» — это объем памяти, совместно используемый другими процессами.
S
Как мы уже видели, процесс может находиться в разных состояниях. В этом поле отображается состояние процесса в однобуквенной форме.
TIME+
Это общее время ЦП, использованное процессом с момента его запуска, с точностью до сотых долей секунды.
Sudo и su
Зная чей-либо пароль, можно непосредственно зарегистрироваться в системе под его именем, введя команду .
Программа su служит для выполнения от имени указанного пользователя (по умолчанию — root) указанной команды/программы (по умолчанию — той программы, что определена в качестве оболочки (shell) для указанного пользователя) и запрашивает она пароль указанного пользователя.
О программе sudo можно сказать почти то же самое, за двумя исключениями:
- Нет «программы по умолчанию». для запуска оболочки, определённой для указанного пользователя, надо передать программе опцию -i.
- По умолчанию запрашивается не пароль указанного пользователя, а пароль пользователя, выполняющего программу sudo. какому пользователю, какие программы и от чьего имени можно запускать, определяется содержимым конфигурационного файла (редактируется с помощью программы visudo).
Как получить информацию об устройствах Linux
Что бы получить инфо о блочных устройствах таких как жесткие диски, флэшки и т.п. используйте команду lsblk
Пример вывода команды
Shell
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 59.5G 0 part
├─vg_web02-lv_root (dm-0) 253:0 0 55.6G 0 lvm /
└─vg_web02-lv_swap (dm-1) 253:1 0 4G 0 lvm
1 |
lsblk NAME MAJMIN RMSIZE RO TYPEMOUNTPOINT sr01111024Mrom sda860Gdisk ├─sda181500Mpart/boot └─sda28259.5Gpart ├─vg_web02-lv_root(dm-)25355.6Glvm/ └─vg_web02-lv_swap(dm-1)25314GlvmSWAP |
Для большей информации используйте опцию lsblk -a
Сбор данных о системе Linux Ubuntu
В этой посте я расскажу как посмотреть сведения о системе, узнать какой-никакие процессы (программы) запущены, какую они создают перегрузку на компьютер. А также как быстро найти файлы и папки в системе, когда необходимо очистить место на диске. Для того дабы посмотреть всю информацию о компьютере и о системе в Windows нужно установить программу Aida64. Как это сделать мы разглядывали в нашей статье Как получить полную информацию об механизмах компьютера при помощи Aida64!
Собрать всю вразумительную информацию о системе и железе Ubuntu может пригодиться если у вас появился новый компьютер или ноутбук, и вам забавно, какое там точно оборудование. Также это может пригодиться если нужно заменить какой-либо компонент, пример, жесткий диск. Ну или даже просто так. Для замены оснащения вам нужно знать всю информацию заранее. Также данные о железе Ubuntu может понадобиться если вы беретесь настраивать Wifi, Bluetooth, веб камеру или устанавливать драйвера для видео-карточки. В этой статье я перечислю команды, с помощью каких может быть получена информация об операционной системе Ubuntu. Все бригады были проверены в Ubuntu 16.04, но они должны трудиться в любом современном дистрибутиве, таком как Debian, Fedora, OpenSUSE и т д. Данные о процессоре linux тоже легко доступна:
или
Системное время, время работы и пользовательские сессии
В самом верхнем левом углу экрана (как отмечено на скриншоте выше) сверху отображается текущее время. Затем следует время безотказной работы системы, которое сообщает нам время, в течение которого система работала. Например, в нашем примере текущее время — «16:55:40», и система работает 86 дней.
Далее идет количество активных пользовательских сессий. В этом примере есть два активных пользовательских сеанса. Эти сеансы могут проводиться либо по TTY (физически в системе, либо через командную строку, либо в среде рабочего стола), либо по PTY (например, через окно эмулятора терминала или через SSH). Фактически, если вы войдете в систему Linux через среду рабочего стола, а затем запустите эмулятор терминала, вы обнаружите, что будет два активных сеанса.
Если вы хотите получить более подробную информацию об активных сеансах пользователя, используйте who команду.
Примеры поиска текста и файлов в Linux
grep -rl 'что_ищем' /путь #искать файлы рекурсивно с текстом #'что_ищем' по пути '/путь' less ~/Документы/http.txt | grep -A 2 'skype' #поиск по файлу ~/Документы/http.txt, #выведет строку совпадения + 2 следующие строки tail -f -n100 ~/logs/php-error.log #очень удобная фича для прочтения логов #в реальном времени выводит 100 последних строк файла find . -name "*.php" -mtime -1 -print #рекурсивный поиск файлов по паттерну (маске) '*.php' #которые изменялись за последние сутки find /var/www/ -mtime -10 #поиск файлов которые были изменены за последние 10 дней find /var/www/ -mtime -10 > filename.txt #записать вывод в файл find . -perm 777 | xargs rm #найти все файлы с правами 777 и удалить их find . -name cache | xargs chmod -R 777 #найти каталог cache и задать ему права 777
Выполнить куски кода в командной строке (php, python):
php -r "var_dump(strlen('hello'));" python -c "print('hello');"
Информация о системе Linux из консоли ssh
Очень часто возникает необходимость разузнать о системе или о компьютере ту или иную информацию. Это можно делать всего парой строк в терминале Ubuntu. В GUI Ubuntu имеется пакет hardinfo, который показывает достаточно множество информации о аппаратной и программной части компьютера. Но это GUI, какой можно использовать, если на компьютере установлена графичная оболочка, а графическая среда, например на серверной версии недостаёт. Да и сам компьютер может быть расположен где-нибудь так что десницами его не достать) В случае если хочется красивого окна, но компьютер далеко, можно пробросить окошко hardinfo чрез ssh:
Для приступила приведем утилиту lshw Для ее установки нужно завести в терминале: sudo apt-get install lshw После аппараты, для того чтобы узнать характеристики системы, довольно ввести в терминале команду sudo lshw
и на дессерт
Команды Linux, дающие информацию о системе
whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep :searchd #процессы с пояснением параметров сверху netstat -lnp | grep :9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора
Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено
PID to kill:
нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.
Как просмотреть информацию о системе linux
Что бы определить системное имя выполните команду
Shell
# uname
Linux
1 |
root@monitor~# uname |
Что бы узнать имя компьютера в сети его hostname
Shell
# uname -n
monitor.com
1 |
root@monitor~# uname -n monitor.com |
Что бы узнать версию ядра
Shell
# uname -v
#1 SMP Tue Aug 6 07:04:06 CEST 2013
1 |
root@monitor~# uname -v |
Что бы узнать релиз ядра
Shell
# uname -r
2.6.32-23-pve
1 |
root@monitor~# uname -r 2.6.32-23-pve |
Что бы определить разрядность ОС
Shell
# uname -m
x86_64
1 |
root@monitor~# uname -m |
Всю эту информацию можно получить одной командой
Shell
# uname -a
Linux monitor.com 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 i686 i686 i386 GNU/Linux
1 |
root@monitor~# uname -a Linux monitor.com2.6.32-23-pve#1 SMP Tue Aug 6 07:04:06 CEST 2013 i686 i686 i386 GNU/Linux |
SSD + HDD[править]
Команда | Описание |
---|---|
systemctl status fstrim.timer | Проверить включен ли TRIM |
lsblk | Посмотреть подключённые жёсткие диски |
lsblk -o NAME,SIZE,UUID,TYPE,MOUNTPOINT | Посмотреть информацию о дисках |
cat /proc/partitions | Посмотреть информацию о дисках |
inxi -plo | Информация о разбиении диска. разделы диска |
inxi -h | Посмотреть флаги разделов жесткого диска |
mount | Посмотреть информацию о подключенных устройствах и параметрах подключения |
df -H | Посмотреть список партиций, их точки монтирования, использование места, тип файловой системы |
df -h | Узнать размер свободного пространства на разделах диска |
du -hs * 2>/dev/null | sort -h | Отсортировать файлы по размеру |
fdisk -l | Все партиции, названия устройств и геометрия hdd |
hdparm -iv /dev/sda | Посмотреть идентификационную информацию, собранной во время загрузки ОС |
hdparm -Tv /dev/sda | Измерить время чтения из кэша, для верности показателей — повторить 2-3 раза на неактивном диске |
hdparm -Tt /dev/sda | Сравнение времени чтения устройства. Полная статистика. Для получения значимых результатов эту операцию следует повторить 2-3 раза в неактивной системе |
hddtemp -uC /dev/sda | Отображение температуры в Цельсиях для винчестера /dev/sda (установочный пакет hddtemp) |
hdparm -I /dev/sda | Информация о диске (модель, прошивка, атрибуты и пр) |
smartctl -d ata -a -i /dev/sda | Информация о диске (модель, прошивка, атрибуты и пр) |
smartctl -a /dev/sda | Вывод SMART информация для винчестера /dev/sda (необходим пакет smartmontools) |
baobab | Графическая утилита для анализа места на жестком диске в GNOME |
ncdu / | Консольная утилита для анализа места на жестком диске |
ls -lh /var/log/ | Посмотреть содержимое папки с выводом в мегабайтах, килобайтах и пр. |
parted /dev/sdX print | Информация о жестком диске — sdX, X заменить на букву диска — a,b,c |
gdisk -l /dev/sda | Покажет раздел загрузчика с кодом раздела EF00 |
tree -L 3 /boot | Вывод структуры ввиде дерева |
df -h | awk ‘$NF==»/»{printf «Disk Usage: %d/%dGB (%s)\n», $3,$2,$5}’ | Расчет использования жесткого диска |
e2fsck -cfpv /dev/sda1 | для восстановления битых секторов жесткого диска и подождать несколько часов |
whdd | Консольная Ncurses утилита для диагностики жёстких дисков и восстановления данных с нихДиагностика жесткого диска и восстановление данных |
find -type f -printf «%k\t%p\n» | sort -n | tail | Найти десять самых больших файлов. Размер в блоках по килобайту |
ls -1 /dev/sd? | Получить список устройств |
fdisk -l /dev/sda | Посмотреть какие разделы есть на диске «sda» |
Узнать, что переполняет диск | |
konqueror с плагинами | Свободный веб-браузер и файловый менеджер, являющийся ключевым компонентом графической среды KDE |
du <путь> | sort -n. В альте можно отключить резервное копирование (bacula-fd) и почистить /var |
gparted | Графическая утилита для работы с дисками и разделами |
filelight | Графическое представление использования дисков/флешек |
baobab | Графическое представление использования дисков/флешек в Gnome |
ncdu | Консольный анализатор использования дисков/флешек |
Жёсткие диски имеют особенные названия. В зависимости от интерфейса, через который подключён жёсткий диск, название может начинаться на: sd — устройство, подключённое по SCSI; hd — устройство ATA; vd — виртуальное устройство; mmcblk — обозначаются флешки, подключённые через картридер; В наше время большинство блочных устройств Linux подключаются через интерфейс SCSI. Сюда входят жёсткие диски, USB-флешки, даже ATA-диски теперь тоже подключаются к SCSI через специальный переходник. Поэтому в большинстве случаев вы будете иметь дело именно с дисками sd. Третья буква в имени диска означает его порядковый номер в системе. Используется алфавитная система. Например sda — первый диск, sdb — второй диск, sdc — третий и так далее. Дальше следует цифра — это номер раздела на диске — sda1, sda2.
Команды Linux, Связанные С Передачей Файлов
Эти команды используются для копирования файлов из одной системы в другую систему
87. scp
SCP — это программа безопасного копирования для передачи файлов или каталогов между хостами Linux в сети. SCP использует протокол ssh для передачи данных.
Пример того как локальный файл ‘examples.txt» скопировать на удаленный хост.
88. rsync
Rsync синхронизирует файлы и каталоги между локальными и удаленными машинами. Он может рекурсивно копировать файлы и каталоги, копировать символические ссылки, сохранять (разрешения, группу, время изменения и принадлежность) идентификатор файла.
Использование памяти
Раздел «память» показывает информацию об использовании памяти системой. Строки, помеченные «Mem» и «Swap», показывают информацию об оперативной памяти и пространстве подкачки соответственно. Проще говоря, пространство подкачки является частью жесткого диска, который используется как ОЗУ. Когда использование ОЗУ становится почти полным, нечасто используемые области ОЗУ записываются в пространство подкачки и готовы для последующего извлечения при необходимости. Однако из-за медленного доступа к дискам слишком сильная зависимость от подкачки может снизить производительность системы.
Как и следовало ожидать, значения «total», «free» и «used» имеют свои обычные значения. Значение «util mem» — это объем памяти, который может быть выделен процессам без дополнительной замены.
Ядро Linux также пытается сократить время доступа к диску различными способами. Он поддерживает «дисковый кэш» в ОЗУ, где хранятся часто используемые области диска. Кроме того, записи на диск сохраняются в «дисковый буфер», и ядро в конечном итоге записывает их на диск. Общая потребляемая ими память является значением «buff / cache». Это может звучать плохо, но на самом деле это не так — память, используемая кешем, будет выделяться процессам при необходимости.
Принадлежащие процессу идентификаторы пользователя и группы (учетные данные)
У каждого процесса имеется несколько связанных с ним идентификаторов пользователей () и групп (). К ним относятся следующие.
- Реальный идентификатор пользователя и реальный идентификатор группы. Они идентифицируют пользователя и группу, которым принадлежит процесс. Новый процесс наследует эти идентификаторы () от своего родительского процесса. Оболочка входа в систему получает свой реальный и реальный от соответствующих полей в системном файле паролей.
- Действующий идентификатор пользователя и действующий идентификатор группы.
- Эти два идентификатора (в сочетании с рассматриваемыми сразу после них дополнительными идентификаторами групп) используются при определении прав доступа, имеющихся у процесса при доступе к защищенным ресурсам, таким как файлы и объекты обмена данными между процессами. Обычно имеющиеся у процессов действующие идентификаторы содержат те же значения, что и соответствующие им реальные . При изменении действующих идентификаторов процессу можно присваивать права доступа другого пользователя или группы, в порядке, который вскоре будет рассмотрен.
- Дополнительные идентификаторы группы. Они позволяют определить дополнительные группы, которым принадлежит процесс. Новый процесс наследует свои дополнительные идентификаторы групп от своего родительского процесса. Оболочка входа в систему получает свои дополнительные идентификаторы групп от системного файла групп.
Как получить информацию по PCI устройствам.
PCI устройства могут включать usb порты, графические карты, сетевые адаптеры.
Shell
lspci
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 (rev 04)
00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
03:00.0 3D controller: NVIDIA Corporation GM108M (rev a2)
1 |
lspci 0000.0Host bridgeIntel Corporation Haswell-ULT DRAM Controller(rev0b) 0002.0VGA compatible controllerIntel Corporation Haswell-ULT Integrated Graphics Controller(rev0b) 0003.0Audio deviceIntel Corporation Haswell-ULT HD Audio Controller(rev0b) 0014.0USB controllerIntel Corporation Lynx Point-LPUSB xHCI HC(rev04) 0016.0Communication controllerIntel Corporation Lynx Point-LPHECI#0 (rev 04) 001b.0Audio deviceIntel Corporation Lynx Point-LPHD Audio Controller(rev04) 001c.0PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port3(rev e4) 001c.3PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port4(rev e4) 001c.4PCI bridgeIntel Corporation Lynx Point-LPPCI Express Root Port5(rev e4) 001d.0USB controllerIntel Corporation Lynx Point-LPUSB EHCI#1 (rev 04) 001f.0ISA bridgeIntel Corporation Lynx Point-LPLPC Controller(rev04) 001f.2SATA controllerIntel Corporation Lynx Point-LPSATA Controller1AHCI mode(rev04) 001f.3SMBusIntel Corporation Lynx Point-LPSMBus Controller(rev04) 0100.0Ethernet controllerRealtek Semiconductor Co.,Ltd.RTL8111/8168/8411PCI Express Gigabit Ethernet Controller(rev10) 0200.0Network controllerRealtek Semiconductor Co.,Ltd.RTL8723BE PCIe Wireless Network Adapter 0300.03DcontrollerNVIDIA Corporation GM108MGeForce840M(rev a2) |
С опцией lspci -t вывод информации будет в виде дерева. С опцией lspci -v более детальная информация.
Работа с файлами и директориями Linux
ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www*index.php #найти все файлы с названием, заканчивающимся на index.php #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R - рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла
Как проверить все открытые файлы пользователем или процессом в Linux
В некоторых ситуациях на Linux могут возникать ошибки, связанные с превышением лимита использования файловых дескрипторов.
Эти лимиты накладываются как самим ядром Linux, так и его программными модулями, например PAM.
Лимит ядра Linux
Узнать текущее значение максимального количества файловых дескрипторов, определяемое ядром Linux можно командой:
# cat /proc/sys/fs/file-max
Этот лимит может быть изменён без перезагрузки системы (начинает действовать сразу и действует до перезагрузки):
# echo "1221724" > /proc/sys/fs/file-max
Чтобы требуемое значение использовалось постоянно, то есть действовало и после перезагрузки, его необходимо определить в конфиг.файле :
- sysclt.conf
-
... fs.file-max=1221724 ...
Методика подсчёта открытых файлов
Для получения информации о количестве всех открытых файлов всеми процессами в Linux некоторые «знатоки» предлагают использовать команду типа
# lsof | wc -l
Однако такая команда показывает гораздо большее значение, чем всего открыто файлов в системе на данный момент на самом деле. Это связано с тем, что по несколько раз в подсчёт попадают одни и теже открытые файлы, используемые разными процессами.
Поэтому проще для получения общего числа открытых файлов использовать данные ядра Linux
# cat /proc/sys/fs/file-nr
Первое число — общее количество занятых/используемых на данный момент времени файловых дескрипторов.
Второе число — количество выделенных процессам, но не используемых в данный момент дескрипторов.
Третье число — максимальное количество открытых дескрипторов
Примеры получения данных
Получить список TOP-20 процессов с самым большим количеством открытых файловых дескрипторов:
# for x in `ps -eF| awk '{ print $2 }'`; \ do echo `ls /proc/$x/fd 2> /dev/null | \ wc -l` $x `cat /proc/$x/cmdline 2> /dev/null`; \ done | sort -n -r | head -n 20
Подсчитать количество открытых файлов в разрезе процессов (в первой колонке будет выведен PID процесса, во второй количество открытых файлов этим процессом):
# ps aux | sed 1d | awk \ '{print "fd_count=$(lsof -p " $2 " | wc -l) && echo " $2 " $fd_count"}' | \ xargs -I {} bash -c {}
Посмотреть открытые файловые дескрипторы во всех процессах для отдельно взятого пользователя, например «apache»
# lsof -u apache
Подсчитать количество открытых файлов в каждом процессе для отдельно взятого пользователя:
# lsof -u apache | awk '{print $2}' | sort | uniq -c | sort -n
Тоже самое, только в реальном режиме времени:
# watch 'lsof -u vdsm | awk '\''{print $2}'\'' | sort | uniq -c | sort -n'
Посмотреть открыте файловые дескриптры для отдельно взятого процесса (по PID процесса):
# lsof -p 9189
Подсчитать количество файловых дескриптров для отдельно взятого процесса:
# lsof -p 9189 | wc -l
Дополнительные источники информации:
Блог Дениса Тулякова — Количество открытых файлов, сокетов
Проверено на следующих конфигурациях:
Версия ОС |
---|
Debian GNU/Linux 8.10 (jessie) |
Автор первичной редакции:Алексей Максимов
Время публикации: 09.06.2018 11:18