<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CLI / Bash on Sysadminium</title><link>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/</link><description>Recent content in CLI / Bash on Sysadminium</description><generator>Hugo</generator><language>ru-ru</language><lastBuildDate>Sat, 27 Nov 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/index.xml" rel="self" type="application/rss+xml"/><item><title>Создание редактирование и чтение файлов</title><link>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/creating-editing-reading-files/</link><pubDate>Sat, 27 Nov 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/creating-editing-reading-files/</guid><description>&lt;h2 id="создание-файлов-и-просмотр-их-в-каталоге"&gt;Создание файлов и просмотр их в каталоге&lt;/h2&gt;
&lt;p&gt;Все примеры я буду показывать на Debian 11, так как на Ubuntu 22.04 все выполняется аналогично. Вообще в Linux работа в терминале на любых системах практически одинакова. Поэтому создание, редактирование и чтение файлов можно продемонстрировать на любой системе.&lt;/p&gt;
&lt;p&gt;Для создания текстового файла служит команда &lt;code&gt;touch&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ touch file.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;С помощью команды &lt;code&gt;ls&lt;/code&gt; можно посмотреть какие файлы есть в каталоге:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ ls
file.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;У команды &lt;code&gt;ls&lt;/code&gt; есть дополнительные опции:&lt;/p&gt;</description></item><item><title>Перемещение по каталогам linux</title><link>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/peremeshchenie_po_katalogam_linux/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/peremeshchenie_po_katalogam_linux/</guid><description>&lt;h2 id="текущий-или-рабочий-каталога"&gt;Текущий или рабочий каталога&lt;/h2&gt;
&lt;p&gt;Все команды на этом уроке можно выполнять и на Ubuntu 22.04 и на Debian 11, при этом поведение будем одинаковым!&lt;/p&gt;
&lt;p&gt;Первым делом нужно понять в каком каталоге вы находитесь, для этого есть команда &lt;code&gt;pwd&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;alex@deb:~$ pwd
/home/alex
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Из вывода ясно что вы находитесь в каталоге &lt;strong&gt;/home/alex&lt;/strong&gt;, это домашний каталог пользователя &lt;strong&gt;alex&lt;/strong&gt;. Тот каталог в котором вы находитесь называют текущим или рабочим каталогом.&lt;/p&gt;
&lt;h2 id="перемещение-по-каталогам"&gt;Перемещение по каталогам&lt;/h2&gt;
&lt;p&gt;Перемещаться по каталогам в Linux не сложно, и для этого используют команду — &lt;code&gt;cd&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Bash скрипт получения числа открытых файлов пользователя</title><link>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/bash-script-openfiles/</link><pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate><guid>https://blog.sysadminium.ru/docs/linux/adm_linux/cli_bash/bash-script-openfiles/</guid><description>&lt;h2 id="введение"&gt;Введение&lt;/h2&gt;
&lt;p&gt;Узнать сколько открытых файлов у определённого пользователя бывает необходимо для отладки службы, работающей под определённым пользователем.&lt;/p&gt;
&lt;p&gt;В качестве параметра скрипту необходимо передать &lt;strong&gt;имя&lt;/strong&gt; или &lt;strong&gt;uid&lt;/strong&gt; пользователя. Скрипт будем использовать следующими способами:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;./openfiles.sh -h&lt;/code&gt; — показать справку;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;./openfiles.sh &amp;lt;имя_или_uid&amp;gt;&lt;/code&gt; — показать число открытых файлов linux.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="текст-скрипта"&gt;Текст скрипта&lt;/h2&gt;
&lt;p&gt;Вот сам скрипт:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/bash

case &amp;#34;$1&amp;#34; in
-h)
echo -e &amp;#34;Скрипт покажет открытые файлы для выбранного пользователя.
Опции:
 -h показать эту справку.
Примеры выполнения:
./files2.sh &amp;lt;username&amp;gt;
./files2.sh &amp;lt;uid&amp;gt;&amp;#34;
;;

*)
if [[ &amp;#34;$#&amp;#34; -eq 1 ]];
then
 id &amp;#34;$1&amp;#34; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
 if [[ $? -ne 0 ]]; then
 echo &amp;#39;Пользователь не найден!&amp;#39;
 exit 1
 fi
 for pid in `ps -u &amp;#34;$1&amp;#34; -o pid,comm | grep -v PID | awk &amp;#39;{print $1}&amp;#39;`
 do
 open_files=`ls -l /proc/$pid/fd | grep &amp;#34;anon_inode&amp;#34; | wc -l`
 echo &amp;#34;Открытых файлов для pid $pid: $open_files&amp;#34;
 done
else
 echo -e &amp;#34;Забыли указать имя или id пользователя!
Или ввели больше одного параметра.
Для справки выполните $0 -h&amp;#34;
fi
;;

esac
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если скрипт получит параметр &lt;code&gt;-h&lt;/code&gt;, то с помощью &lt;code&gt;echo&lt;/code&gt; просто выведет справку.&lt;/p&gt;</description></item></channel></rss>