В этой заключительной статье, мы с вами пройдемся, по оставшимся командам, на которые стоит обратить внимание, чтобы завершить свое становление Начинающим Линуксоидом в части командной строки ОС Линукс, в завершенном этапе, перестав быть все время только Начинающим или неопытным в ОС Линукс. Однако, это не говорит, что вы уже освоили весь Линукс или все команды командной строки, т.к. это не возможно на данном этапе. Но, никто не говорил, не говорил, что не доступно сделать это постепенно. Поэтому, можете спокойно воспринимать, что вы сделали свой первый шаг к этому и прочитаете эту статью полностью, чтобы подвести итоги своего самообучения.
Введение.
Полагаю, вы много раз задавались вопросом, почему не до конца все узнали, когда казалось бы все учли. Однако, это не так, т.к. вы не можете запускать команды из под администратора ОС Линукс, либо с его правами, также вы не можете применять редактор ПГИП в консоли/терминале, а также не знаете основные директорий ОС Линукс, в том числе в малом количестве. Автор, данного цикла статей, намеренно, это вам не рассказывал, т.к. нынешнее время, все стремятся себя запичкать до предела набором знаний о чем-то в командной строке, вместо того чтобы нормально и упорядоченно пройтись по всем этим темам. Так что, предлагаю перейти к последним моментам, после которых вы не будете находиться на этапе «я типа, все знаю, нафига мне это?».
Остальные команды, которые полезно знать Начинающему.
Для начала, познакомимся с двумя последними командами, а это: «sudo», «su». Эти команды дают нам доступ к администраторским правам и возможностям без выхода из своего логина. Однако, между ними есть разница. Первую команду вы выполняете в своем логине с администраторскими возможностями, а вторую в логине администратора «root». А это значит, что в первом случае история ваших действий сохраняется в истории вашего логина, во втором случае в истории действий администратора. Но, есть одно маленькое «но», команда «su» — старая команда, она есть во всех сборках ОС Линукс, а другая команда есть в основном в ветках сборки «Debian», а также в любых других сборках, где ценят удобство от ее применения. Также команда «sudo» применяется при разграничении прав пользователей, которым необходимо выполнять некоторые команды с администраторскими правами из своего окружения (переменные среды и домашняя директория). При этом, стоит учесть, что выполнение команды «su» требует выполнения команды «exit», чтобы вернуться в свой логин, выйдя из логина «root». Для другой команды этого не требуется, однако для выполнения обоих команд требуется пароль, где первом случае вводится ваш пароль для подтверждения действия, а во втором случае пароль логина «root». Также стоит учесть переход в логин «root» через команду «su» происходит, если не указывать применителя, на которого стоит перейти, при этом не меняя текущую директорию.
Например, сделаем несколько действий, которые требуют администраторские возможности. В данном случае, посмотрим наши жесткие диски.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
andryuhan@Linuxoid-komp ~ $ who andryuhan tty8 2018-07-21 05:32 (:0) andryuhan@Linuxoid-komp ~ $ echo $HOME /home/andryuhan andryuhan@Linuxoid-komp ~ $ echo $HISTFILE /home/andryuhan/.bash_history andryuhan@Linuxoid-komp ~ $ tail -n10 $HISTFILE cat dir-text ls | sort -d | cat cd cd dosgames cd - cd- cd - nano & nano find * & andryuhan@Linuxoid-komp ~ $ fdisk -l fdisk: невозможно открыть /dev/sda: Отказано в доступе fdisk: невозможно открыть /dev/sdb: Отказано в доступе andryuhan@Linuxoid-komp ~ $ sudo fdisk -l Диск /dev/sda: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Тип метки диска: gpt Идентификатор диска: 54CCE901-BD9B-47DA-8BBE-F52A60660C98 Устр-во Start Конец Секторы Size Тип /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 3873615871 3872565248 1,8T Linux filesystem /dev/sda3 3873615872 3907028991 33413120 16G Linux своп Диск /dev/sdb: 1,8 TiB, 2000398933504 байтов, 3907029167 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0xd5ce54a6 Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sdb1 2048 3907024895 3907022848 1,8T 7 HPFS/NTFS/exFAT andryuhan@Linuxoid-komp ~ $ tail -n10 $HISTFILE cat dir-text ls | sort -d | cat cd cd dosgames cd - cd- cd - nano & nano find * & andryuhan@Linuxoid-komp ~ $ echo будет видно, когда завершу работу в этой консоли будет видно, когда завершу работу в этой консоли andryuhan@Linuxoid-komp ~ $ su Пароль: Linuxoid-komp andryuhan # who andryuhan tty8 2018-07-21 05:32 (:0) Linuxoid-komp andryuhan # echo $HOME /root Linuxoid-komp andryuhan # echo $HISTFILE /root/.bash_history Linuxoid-komp andryuhan # tail -n10 $HISTFILE env echo $HOME ls reset exit who echo $HOME echo $HISTFILE tail -n10 $HISTFILE exit Linuxoid-komp andryuhan # fdisk -l Диск /dev/sda: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Тип метки диска: gpt Идентификатор диска: 54CCE901-BD9B-47DA-8BBE-F52A60660C98 Устр-во Start Конец Секторы Size Тип /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 3873615871 3872565248 1,8T Linux filesystem /dev/sda3 3873615872 3907028991 33413120 16G Linux своп Диск /dev/sdb: 1,8 TiB, 2000398933504 байтов, 3907029167 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0xd5ce54a6 Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sdb1 2048 3907024895 3907022848 1,8T 7 HPFS/NTFS/exFAT Linuxoid-komp andryuhan # exit exit andryuhan@Linuxoid-komp ~ $ who andryuhan tty8 2018-07-21 05:32 (:0) andryuhan@Linuxoid-komp ~ $ echo $HISTFILE /home/andryuhan/.bash_history andryuhan@Linuxoid-komp ~ $ tail -n10 $HISTFILE cat dir-text ls | sort -d | cat cd cd dosgames cd - cd- cd - nano & nano find * & andryuhan@Linuxoid-komp ~ $ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
andryuhan@Linuxoid-komp ~ $ tail -n10 $HISTFILE tail -n10 $HISTFILE echo будет видно, когда завершу работу в этой консоли su who echo $HISTFILE tail -n10 $HISTFILE exit учше exit logout andryuhan@Linuxoid-komp ~ $ su Пароль: Linuxoid-komp andryuhan # tail -n10 $HISTFILE echo $HOME echo $HISTFILE tail -n10 $HISTFILE exit who echo $HOME echo $HISTFILE tail -n10 $HISTFILE fdisk -l exit Linuxoid-komp andryuhan # exit exit andryuhan@Linuxoid-komp ~ $ sudo tail -n10 $HISTFILE [sudo] пароль для andryuhan: tail -n10 $HISTFILE echo будет видно, когда завершу работу в этой консоли su who echo $HISTFILE tail -n10 $HISTFILE exit учше exit logout andryuhan@Linuxoid-komp ~ $ |
В этих двух частях мы хорошо видим, что двойное выполнение команды «fdisk -l» записалось в историю действий разных применителей. При этом, стоит отметить, что если вы уже ввели один раз пароль своего логина для команды «sudo«, то он не запрашивается повторно в течении некоторого времени. Так что, если хотите не терять целостность своих действий, а это вам чаще будет требоваться, то делайте всегда через «sudo«, благодаря чему история действий будет всегда у вас в одном месте. Это важно, когда вы применяете ОС Линукс на своем компьютере. Т.к. через месяц другой, вы все равно забудете, где что вводили и будете лазить по всем историям действий, вспоминая, где что и в каком порядке это вводили. И то, если у вас получится эту последовательность не забыть, либо действия не будут такими сложными по последовательности. Однако, с применением команды «sudo» этих проблем у вас не возникнет. Также рекомендуется сохранять в отдельном месте свой файл истории, т.к. если ваша сборка ОС Линукс когда-нибудь даст маху, то даже в не зашифрованном томе, вы никогда не сможете прочитать этот файл «со стороны» (например, загрузившись с флешки). Такая занятная защита применителей в ОС Линукс. Этого всего, вам достаточно знать, чтобы быть знакомым с простым применением обеих команд и их различий между собой.
Еще несколько команд в довесок, будут вам полезны и удобны для чтения, а это: «less«, «more«, «tail«. Все три команды могут читать из файла или входящего потока (вспомните про оператор «|«), также у них есть свои о которых доступно узнать через справочные материалы. Однако про команду «tail» стоит упомянуть одно, что применение параметра «-n10» дает чтение последних десять строк с конца, а применение параметра «-f«, дает возможность видеть изменение содержимого файла в реальном времени. В конечном итоге, применив оба эти параметры, вы сделаете маленький шажок к администрированию, когда начнете читать журналы и прочие файлы, содержимое которых меняется на протяжении всей вашей работы за компьютером. Например.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
andryuhan@Linuxoid-komp ~ $ tail -n10 -f /var/log/syslog Jul 21 12:09:22 Linuxoid-komp console-kit-daemon[2263]: GLib-CRITICAL: Source ID 34 was not found when attempting to remove it Jul 21 12:16:58 Linuxoid-komp console-kit-daemon[2263]: console-kit-daemon[2263]: GLib-CRITICAL: Source ID 47 was not found when attempting to remove it Jul 21 12:16:58 Linuxoid-komp console-kit-daemon[2263]: GLib-CRITICAL: Source ID 47 was not found when attempting to remove it Jul 21 12:17:01 Linuxoid-komp CRON[10558]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Jul 21 12:22:24 Linuxoid-komp console-kit-daemon[2263]: console-kit-daemon[2263]: GLib-CRITICAL: Source ID 57 was not found when attempting to remove it Jul 21 12:22:24 Linuxoid-komp console-kit-daemon[2263]: GLib-CRITICAL: Source ID 57 was not found when attempting to remove it Jul 21 12:24:41 Linuxoid-komp console-kit-daemon[2263]: console-kit-daemon[2263]: GLib-CRITICAL: Source ID 64 was not found when attempting to remove it Jul 21 12:24:41 Linuxoid-komp console-kit-daemon[2263]: GLib-CRITICAL: Source ID 64 was not found when attempting to remove it Jul 21 12:35:17 Linuxoid-komp org.gnome.Terminal[2416]: (gnome-terminal-server:13548): Gtk-WARNING **: Theme directory of theme oxygen has no size field Jul 21 12:39:01 Linuxoid-komp CRON[14162]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean) ^C andryuhan@Linuxoid-komp ~ $ |
В примере, что мне есть чем заняться, однако вышел из постоянного выполнения команды через «ctrl+c». Про остальные команды могу сказать, что команда «more» просматривает файл только от начала в конец, заполняя весь экран, а остальное показывает после нажатия на клавишу «Пробел«, пока не дойдет до конца файла или «q«. У другой команды таких ограничений нету, смотри сколько хочешь, а выход также через «q«. Однако, команда «less» не оставляет вывод в консоли/терминале, что по своему тоже удобно.
Теперь, перейдем к текстовому редактору работающему из под консоли/терминала в ОС Линукс — редактор «Nano«. Есть он во всех или большинстве сборках ОС Линукс, однако вы врядли зайдете в такие дебри, после чего вам потребуется ввести в поисковиках такой запрос: «аналог редактора Nano в консоли» (я бы посмотрел). Чтобы его запустить, достаточно ввести его имя или его имя и имя файла через пробел, которое нужно открыть вместе с ним. Остальное, все понятно и пояснения не требует, окромя того что символ «^» означает клавишу «ctrl«.
И напоследок, стоит пройтись вкратце по основным директориям ОС Линукс, которых вам будет достаточно, чтобы слегка ориентироваться в ОС через консоль/терминал. Для начала посмотрим на этот пример.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
andryuhan@Linuxoid-komp ~ $ cd / andryuhan@Linuxoid-komp / $ ls -l итого 124 drwxr-xr-x 2 root root 12288 июн 14 06:12 bin drwxr-xr-x 4 root root 4096 июл 20 18:58 boot drwxr-xr-x 2 root root 4096 фев 26 2017 cdrom drwxr-xr-x 22 root root 4540 июл 21 05:32 dev drwxr-xr-x 167 root root 12288 июл 20 18:58 etc drwxr-xr-x 4 root root 4096 июл 21 2017 home lrwxrwxrwx 1 root root 32 дек 9 2017 initrd.img -> boot/initrd.img-4.8.0-58-generic lrwxrwxrwx 1 root root 32 май 19 2017 initrd.img.old -> boot/initrd.img-4.8.0-52-generic drwxr-xr-x 28 root root 4096 янв 19 2018 lib drwxr-xr-x 2 root root 4096 янв 19 2018 lib32 drwxr-xr-x 2 root root 4096 янв 19 2018 lib64 drwx------ 2 root root 16384 фев 26 2017 lost+found drwxr-xr-x 5 root root 4096 июн 6 18:52 media drwxr-xr-x 2 root root 4096 дек 14 2016 mnt drwxr-xr-x 5 root root 4096 июн 3 15:20 opt dr-xr-xr-x 281 root root 0 июл 21 05:31 proc drwx------ 22 root root 4096 июн 6 19:49 root drwxr-xr-x 34 root root 1180 июл 21 12:59 run drwxr-xr-x 2 root root 12288 июл 6 16:17 sbin drwxr-xr-x 2 root root 4096 июл 21 2017 srv dr-xr-xr-x 13 root root 0 июл 21 05:31 sys drwxrwxrwt 22 root root 20480 июл 21 13:17 tmp drwxr-xr-x 12 root root 4096 мар 5 2017 usr drwxr-xr-x 12 root root 4096 фев 28 2017 var lrwxrwxrwx 1 root root 29 дек 9 2017 vmlinuz -> boot/vmlinuz-4.8.0-58-generic lrwxrwxrwx 1 root root 29 май 19 2017 vmlinuz.old -> boot/vmlinuz-4.8.0-52-generic andryuhan@Linuxoid-komp / $ |
Для начинающего самый интерес могут предоставлять директории «etc«, «home«, «media«, «var«, а остальные директории имеет смысл изучать уже тогда, когда в этом будет востребованность. В директории «etc» лежат все текстовые файлы настроек, которые есть на вашем компьютере. В директории «home» лежат директории всех применителей, за исключением логина «root«. Это сделано намеренно, т.к. данный логин является «корневым применителем», по другому говоря «администратом всеяЛинукс», поэтому его домашняя директория находится на корневом уровне, т.е. на одном уровне с директорией «home«, поэтому в директорию нельзя попасть из другого логина. Это также удобно когда требуется ограничить доступ выше директории «home«, такой способ часто применяется для веб-сайтов на виртуальных серверах на основе ОС Линукс, когда имеешь доступ к файлам через FTP (например, на хостинге Джино).
Директория «media» содержит в себе директории всех подключенных устройств с накопителями данных, которые подключены к вашему компьютеру, например флешек, дисков и т.д. В директории «var» имеются другие директории, которые содержат в себе динамически меняюемую информацию, а это: временные файлы («tmp«), журналы («log«) и прочее.
В заключение.
В заключение данной статьи, могу сказать, что мы с вами разобрались с последним списком команд. Заодно поняли, каким способом получать администраторские права и возможности, а также вкратце познакомились с некоторыми основными директориями ОС Линукс, о которых стоит знать и помнить Начинающему Линуксоиду, чтобы не потеряться в дебрях всех ее директорий, чтобы было откуда продолжить свое дальнейшее изучение ОС Линукс в том направлении, в котором вам самим того, хочется. На данном моменте, мы с вами закончили ознакомительную часть всего цикла. Однако, осталось пройти маленькую практику, где вы хорошо поймете, насколько легко и просто освоили пройденный материал.
Практика.
Понимаю, вас, я мог сделать это ранее. Однако, учитывая, что вы осваиваетесь в ОС Линукс приходя к стадии «я Начинающий Линуксоид», а не «я многого не понимаю и начал только вчера». Так что теперь рекомендую пройти маленькую и простую практику.
- Внутри своей домашней директории, создайте несколько директорий по принципу матрешки, из названия не так важны, так что называйте, как вам этого хочется.
- Создайте в последней из этих директорий текстовый файл с именем «ja-mogu» и напишите в нем текст, тем способом, который вам видится интересней.
- Теперь вернитесь в домашнюю директорию, и найдите этот файл через команду «find», так как будто вы знаете только часть имени, при этом не перемещаясь в директорию, где он находится и не задавая абсолютный путь для его поиска.
- Теперь наберите просмотр всех вложенных директорий начиная от первой через команду «ls», чтобы увидеть в какой из них лежит файл «ja-mogu».
- Произведите копирование файла, находясь в домашней директории, в одну из других созданных вами директорий.
- Повторите пункт 4 и посмотрите, где находится файл.
- Проверьте какого типа файл «ja-mogu».
- Прочитайте файл «ja-mogu» любым способом.
- Сотрите все директории начиная с первой, находясь при этом в домашней директории и сделав это одной командой.
- Определитесь с тем, каков ваш логин и где вы находитесь (консоль/терминал).
- Определитесь с содержанием, следующих переменных окружения: HOME, HISTFILE, PATH, SHELL, LANG, USER. Сделав это одной командой.
- Примените редактор «Nano», находясь в консоли/терминале и напиши текстовый файл «ja-mogu», следующий текст: «Я пишу это, чтобы дать себе знать, что я Начинающий Линуксоид, который может выполнить элементарные и простые действия через консоль/терминал. Теперь я об этом знаю.».
- Теперь сделайте выход из редактора с сохранением файла и прочитайте его командой «cat».
- Теперь, примените команду «exit» и мысленно поздравьте себя, с хорошим завершением практики.
Подведем итоги.
Что ж, теперь я поздравляю, ВАС, с тем, что стали Начинающим Линуксоидом, который освоился с элементарным и простым применением командной строки ОС Линукс, который сможет применить ее в любой сборке ОС Линукс.
На данный момент, вы сможете углубиться в любом из направлений применения командной строки. Администрирование, программирование, найстрока программной или/и программной части компьютера, а может другого устройства, и т.д. Теперь, ВЫ, в состоянии начать любой другой курс, зная что, ВЫ, теперь не полный ноль. Однако, во всем этом, будет теперь всегда, ВАШ ВЫБОР, а не кого-то другого за вас.
Так что, я желаю, вам хороших дальнейших познаний и наработки опыта применения, который вы теперь будете вспоминать с легкостью, когда достаточно напрактикуетесь с применением командной строки. Потому что, вы, завершили выбор начала пути в том, чтобы понимать что, к чему и научиться в этом разбираться.
На этом, с вами, прощаюсь, до следующих встреч! =)
Рад, что завершил весь цикл статей «… ,что полезно знать Начинающему». Теперь, буду уверен в том, что поделился с остальными интересным способом самообучения. Мне лично, такой подход всегда помогает. В себе, что-то остается, на основе чего легче помнить и не забывать понятное.