[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/basic-linux-commands":3,"mdc-98uyv1-key":1180,"mdc-4zugqc-key":1205,"mdc-4i5j9h-key":1236,"mdc--80vodu-key":1263,"mdc-gb6z6-key":1285,"mdc-udbkvm-key":1313,"mdc--saxmkx-key":1356,"mdc-d8xjda-key":1391,"mdc-vqrwie-key":1419,"mdc--sxutnx-key":1442,"related-/guides/linux/linux-file-permissions,/guides/linux/linux-process-management,/guides/linux/vim-basics":1465},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":1107,"code":1107,"createdAt":1108,"description":1109,"difficulty":1110,"draft":1111,"estimatedTime":1112,"extension":1113,"faq":1114,"howToSteps":1127,"howToTotalTime":1146,"image":1107,"keywords":1147,"locale":1158,"meta":1159,"navigation":1160,"path":1161,"platform":1162,"related":1163,"section":1167,"seo":1168,"severity":1169,"stem":1170,"summary":1171,"tags":1172,"twitterCreator":1107,"twitterSite":1107,"type":1178,"updatedAt":1108,"__hash__":1179},"content_ru/guides/linux/basic-linux-commands.md","Базовые команды Linux: полный список для новичков",[7,8,9,10],"Ubuntu 22.04","Debian 11","CentOS 7","Fedora 36","FixPedia Team",{"type":13,"value":14,"toc":1060},"minimark",[15,20,24,28,31,53,57,60,68,74,99,106,111,159,166,171,214,218,221,225,245,276,280,294,346,350,370,384,405,409,412,416,419,423,453,488,492,506,524,528,531,535,558,590,594,608,647,651,654,658,685,725,729,749,776,780,783,790,796,813,822,825,844,851,867,871,874,932,935,939,943,959,977,981,999,1003,1015,1022,1038,1042,1056],[16,17,19],"h2",{"id":18},"введение","Введение",[21,22,23],"p",{},"Работа в Linux без знания базовых команд — всё равно что читать книгу, не зная алфавита. Терминал (командная строка) — это основной инструмент администрирования, настройки и повседневных задач в Linux. Освоив несколько десятков ключевых команд, вы сможете быстро перемещаться по файловой системе, управлять файлами, процессами и получать информацию о системе. Этот гайд — ваш старт: мы собрали самые важные команды с пояснениями и примерами, которые пригодятся каждому, кто начинает работать с Linux.",[16,25,27],{"id":26},"требования","Требования",[21,29,30],{},"Перед началом убедитесь, что у вас есть:",[32,33,34,38,41],"ul",{},[35,36,37],"li",{},"Доступ к терминалу Linux (локально, через виртуальную машину или удалённо по SSH).",[35,39,40],{},"Базовое понимание структуры файловой системы (что такое директории, файлы).",[35,42,43,44,48,49,52],{},"Права на выполнение операций (для некоторых команд, например ",[45,46,47],"code",{},"rm"," или ",[45,50,51],{},"sudo",", могут потребоваться права администратора).",[16,54,56],{"id":55},"шаг-1-навигация-по-файловой-системе","Шаг 1: Навигация по файловой системе",[21,58,59],{},"Первое, что нужно научиться — понимать, где вы находитесь, и перемещаться между директориями.",[61,62,64,67],"h3",{"id":63},"pwd-где-я",[45,65,66],{},"pwd"," — где я?",[21,69,70,71,73],{},"Команда ",[45,72,66],{}," (print working directory) показывает текущий полный путь к директории.",[75,76,81],"pre",{"className":77,"code":78,"language":79,"meta":80,"style":80},"language-bash shiki shiki-themes github-light github-dark","pwd\n# Пример вывода: /home/username\n","bash","",[45,82,83,92],{"__ignoreMap":80},[84,85,88],"span",{"class":86,"line":87},"line",1,[84,89,91],{"class":90},"sj4cs","pwd\n",[84,93,95],{"class":86,"line":94},2,[84,96,98],{"class":97},"sJ8bj","# Пример вывода: /home/username\n",[61,100,102,105],{"id":101},"cd-переход",[45,103,104],{},"cd"," — переход",[21,107,108,110],{},[45,109,104],{}," (change directory) переключает вас в указанную директорию.",[75,112,114],{"className":77,"code":113,"language":79,"meta":80,"style":80},"cd /var/log   # перейти в /var/log\ncd ~          # перейти в домашнюю директорию\ncd ..         # подняться на уровень выше\ncd -          # вернуться в предыдущую директорию\n",[45,115,116,127,137,148],{"__ignoreMap":80},[84,117,118,120,124],{"class":86,"line":87},[84,119,104],{"class":90},[84,121,123],{"class":122},"sZZnC"," /var/log",[84,125,126],{"class":97},"   # перейти в /var/log\n",[84,128,129,131,134],{"class":86,"line":94},[84,130,104],{"class":90},[84,132,133],{"class":122}," ~",[84,135,136],{"class":97},"          # перейти в домашнюю директорию\n",[84,138,140,142,145],{"class":86,"line":139},3,[84,141,104],{"class":90},[84,143,144],{"class":122}," ..",[84,146,147],{"class":97},"         # подняться на уровень выше\n",[84,149,151,153,156],{"class":86,"line":150},4,[84,152,104],{"class":90},[84,154,155],{"class":122}," -",[84,157,158],{"class":97},"          # вернуться в предыдущую директорию\n",[61,160,162,165],{"id":161},"ls-просмотр-содержимого",[45,163,164],{},"ls"," — просмотр содержимого",[21,167,168,170],{},[45,169,164],{}," (list) выводит список файлов и поддиректорий в текущей директории.",[75,172,174],{"className":77,"code":173,"language":79,"meta":80,"style":80},"ls                # простой список\nls -l             # детальный список (права, размер, дата)\nls -a             # показать скрытые файлы (начинающиеся с .)\nls -lh            # размеры в удобном формате (KB, MB)\n",[45,175,176,184,194,204],{"__ignoreMap":80},[84,177,178,181],{"class":86,"line":87},[84,179,164],{"class":180},"sScJk",[84,182,183],{"class":97},"                # простой список\n",[84,185,186,188,191],{"class":86,"line":94},[84,187,164],{"class":180},[84,189,190],{"class":90}," -l",[84,192,193],{"class":97},"             # детальный список (права, размер, дата)\n",[84,195,196,198,201],{"class":86,"line":139},[84,197,164],{"class":180},[84,199,200],{"class":90}," -a",[84,202,203],{"class":97},"             # показать скрытые файлы (начинающиеся с .)\n",[84,205,206,208,211],{"class":86,"line":150},[84,207,164],{"class":180},[84,209,210],{"class":90}," -lh",[84,212,213],{"class":97},"            # размеры в удобном формате (KB, MB)\n",[16,215,217],{"id":216},"шаг-2-управление-файлами-и-директориями","Шаг 2: Управление файлами и директориями",[21,219,220],{},"Теперь научимся создавать, копировать, перемещать и удалять объекты файловой системы.",[61,222,224],{"id":223},"создание","Создание",[32,226,227,233,239],{},[35,228,229,232],{},[45,230,231],{},"touch filename"," — создать пустой файл.",[35,234,235,238],{},[45,236,237],{},"mkdir dirname"," — создать новую директорию.",[35,240,241,244],{},[45,242,243],{},"mkdir -p path/to/dir"," — создать вложенные директории (если промежуточные не существуют).",[75,246,248],{"className":77,"code":247,"language":79,"meta":80,"style":80},"touch newfile.txt\nmkdir documents\nmkdir -p projects/2024/plan\n",[45,249,250,258,266],{"__ignoreMap":80},[84,251,252,255],{"class":86,"line":87},[84,253,254],{"class":180},"touch",[84,256,257],{"class":122}," newfile.txt\n",[84,259,260,263],{"class":86,"line":94},[84,261,262],{"class":180},"mkdir",[84,264,265],{"class":122}," documents\n",[84,267,268,270,273],{"class":86,"line":139},[84,269,262],{"class":180},[84,271,272],{"class":90}," -p",[84,274,275],{"class":122}," projects/2024/plan\n",[61,277,279],{"id":278},"копирование-и-перемещение","Копирование и перемещение",[32,281,282,288],{},[35,283,284,287],{},[45,285,286],{},"cp source destination"," — копировать файл или директорию.",[35,289,290,293],{},[45,291,292],{},"mv source destination"," — переместить или переименовать файл/директорию.",[75,295,297],{"className":77,"code":296,"language":79,"meta":80,"style":80},"cp file.txt backup/\ncp -r dir1 dir2   # рекурсивное копирование директории\nmv old.txt new.txt\nmv file.txt /home/user/Documents/\n",[45,298,299,310,326,337],{"__ignoreMap":80},[84,300,301,304,307],{"class":86,"line":87},[84,302,303],{"class":180},"cp",[84,305,306],{"class":122}," file.txt",[84,308,309],{"class":122}," backup/\n",[84,311,312,314,317,320,323],{"class":86,"line":94},[84,313,303],{"class":180},[84,315,316],{"class":90}," -r",[84,318,319],{"class":122}," dir1",[84,321,322],{"class":122}," dir2",[84,324,325],{"class":97},"   # рекурсивное копирование директории\n",[84,327,328,331,334],{"class":86,"line":139},[84,329,330],{"class":180},"mv",[84,332,333],{"class":122}," old.txt",[84,335,336],{"class":122}," new.txt\n",[84,338,339,341,343],{"class":86,"line":150},[84,340,330],{"class":180},[84,342,306],{"class":122},[84,344,345],{"class":122}," /home/user/Documents/\n",[61,347,349],{"id":348},"удаление","Удаление",[32,351,352,358,364],{},[35,353,354,357],{},[45,355,356],{},"rm file"," — удалить файл.",[35,359,360,363],{},[45,361,362],{},"rm -r dir"," — удалить директорию со всем содержимым.",[35,365,366,369],{},[45,367,368],{},"rm -f file"," — принудительное удаление без запросов.",[371,372,373],"blockquote",{},[21,374,375,376,380,381,383],{},"⚠️ ",[377,378,379],"strong",{},"Осторожно!"," Удалённые файлы через ",[45,382,47],{}," обычно не попадают в корзину. Убедитесь, что указываете правильный путь.",[75,385,387],{"className":77,"code":386,"language":79,"meta":80,"style":80},"rm oldfile.txt\nrm -r old_dir/\n",[45,388,389,396],{"__ignoreMap":80},[84,390,391,393],{"class":86,"line":87},[84,392,47],{"class":180},[84,394,395],{"class":122}," oldfile.txt\n",[84,397,398,400,402],{"class":86,"line":94},[84,399,47],{"class":180},[84,401,316],{"class":90},[84,403,404],{"class":122}," old_dir/\n",[16,406,408],{"id":407},"in-article-ad","::in-article-ad",[21,410,411],{},"::",[16,413,415],{"id":414},"шаг-3-просмотр-и-редактирование-файлов","Шаг 3: Просмотр и редактирование файлов",[21,417,418],{},"Иногда нужно быстро посмотреть содержимое файла или внести правки.",[61,420,422],{"id":421},"вывод-содержимого","Вывод содержимого",[32,424,425,431,441,447],{},[35,426,427,430],{},[45,428,429],{},"cat file"," — вывести весь файл в терминал (подходит для небольших файлов).",[35,432,433,436,437,440],{},[45,434,435],{},"less file"," — постраничный просмотр (прокрутка стрелками, выход — ",[45,438,439],{},"q",").",[35,442,443,446],{},[45,444,445],{},"head file"," — первые 10 строк файла.",[35,448,449,452],{},[45,450,451],{},"tail file"," — последние 10 строк (полезно для логов).",[75,454,456],{"className":77,"code":455,"language":79,"meta":80,"style":80},"cat /etc/os-release\nless /var/log/syslog\ntail -f /var/log/auth.log   # отслеживать изменения в реальном времени\n",[45,457,458,466,474],{"__ignoreMap":80},[84,459,460,463],{"class":86,"line":87},[84,461,462],{"class":180},"cat",[84,464,465],{"class":122}," /etc/os-release\n",[84,467,468,471],{"class":86,"line":94},[84,469,470],{"class":180},"less",[84,472,473],{"class":122}," /var/log/syslog\n",[84,475,476,479,482,485],{"class":86,"line":139},[84,477,478],{"class":180},"tail",[84,480,481],{"class":90}," -f",[84,483,484],{"class":122}," /var/log/auth.log",[84,486,487],{"class":97},"   # отслеживать изменения в реальном времени\n",[61,489,491],{"id":490},"редактирование","Редактирование",[32,493,494,500],{},[35,495,496,499],{},[45,497,498],{},"nano file"," — простой текстовый редактор с подсказками (идеален для новичков).",[35,501,502,505],{},[45,503,504],{},"vim file"," — мощный редактор с режимами (требует изучения, но очень эффективен).",[75,507,509],{"className":77,"code":508,"language":79,"meta":80,"style":80},"nano myconfig.conf\n# В nano: Ctrl+O — сохранить, Ctrl+X — выйти\n",[45,510,511,519],{"__ignoreMap":80},[84,512,513,516],{"class":86,"line":87},[84,514,515],{"class":180},"nano",[84,517,518],{"class":122}," myconfig.conf\n",[84,520,521],{"class":86,"line":94},[84,522,523],{"class":97},"# В nano: Ctrl+O — сохранить, Ctrl+X — выйти\n",[16,525,527],{"id":526},"шаг-4-управление-процессами","Шаг 4: Управление процессами",[21,529,530],{},"Процессы — запущенные программы. Умение управлять ими критично для стабильности системы.",[61,532,534],{"id":533},"просмотр-процессов","Просмотр процессов",[32,536,537,543,549],{},[35,538,539,542],{},[45,540,541],{},"ps"," — snapshot процессов (обычно текущего пользователя).",[35,544,545,548],{},[45,546,547],{},"ps aux"," — все процессы системы (столбцы: USER, PID, %CPU, %MEM, COMMAND).",[35,550,551,48,554,557],{},[45,552,553],{},"top",[45,555,556],{},"htop"," — интерактивный мониторинг (обновление в реальном времени, сортировка, завершение).",[75,559,561],{"className":77,"code":560,"language":79,"meta":80,"style":80},"ps aux | grep nginx   # найти процессы nginx\ntop                  # для выхода — q\n",[45,562,563,583],{"__ignoreMap":80},[84,564,565,567,570,574,577,580],{"class":86,"line":87},[84,566,541],{"class":180},[84,568,569],{"class":122}," aux",[84,571,573],{"class":572},"szBVR"," |",[84,575,576],{"class":180}," grep",[84,578,579],{"class":122}," nginx",[84,581,582],{"class":97},"   # найти процессы nginx\n",[84,584,585,587],{"class":86,"line":94},[84,586,553],{"class":180},[84,588,589],{"class":97},"                  # для выхода — q\n",[61,591,593],{"id":592},"завершение-процессов","Завершение процессов",[32,595,596,602],{},[35,597,598,601],{},[45,599,600],{},"kill PID"," — мягко завершить процесс по его идентификатору (PID).",[35,603,604,607],{},[45,605,606],{},"kill -9 PID"," — принудительно завершить (SIGKILL), если процесс не реагирует.",[75,609,611],{"className":77,"code":610,"language":79,"meta":80,"style":80},"kill 1234            # мягкое завершение\nkill -9 1234         # принудительное\npkill firefox        # завершить все процессы с именем firefox\n",[45,612,613,624,636],{"__ignoreMap":80},[84,614,615,618,621],{"class":86,"line":87},[84,616,617],{"class":90},"kill",[84,619,620],{"class":90}," 1234",[84,622,623],{"class":97},"            # мягкое завершение\n",[84,625,626,628,631,633],{"class":86,"line":94},[84,627,617],{"class":90},[84,629,630],{"class":90}," -9",[84,632,620],{"class":90},[84,634,635],{"class":97},"         # принудительное\n",[84,637,638,641,644],{"class":86,"line":139},[84,639,640],{"class":180},"pkill",[84,642,643],{"class":122}," firefox",[84,645,646],{"class":97},"        # завершить все процессы с именем firefox\n",[16,648,650],{"id":649},"шаг-5-поиск-и-фильтрация","Шаг 5: Поиск и фильтрация",[21,652,653],{},"Когда файлов много, ищите по имени или содержимому.",[61,655,657],{"id":656},"поиск-файлов","Поиск файлов",[32,659,660,669,679],{},[35,661,662,665,666,440],{},[45,663,664],{},"find /path -name \"filename\""," — искать файлы по имени (поддерживает wildcards ",[45,667,668],{},"*",[35,670,671,674,675,678],{},[45,672,673],{},"find /path -type f"," — только файлы (",[45,676,677],{},"-type d"," — директории).",[35,680,681,684],{},[45,682,683],{},"find /path -size +1M"," — файлы больше 1 МБ.",[75,686,688],{"className":77,"code":687,"language":79,"meta":80,"style":80},"find /home -name \"*.txt\"\nfind /var/log -type f -mtime -7   # изменённые за последние 7 дней\n",[45,689,690,704],{"__ignoreMap":80},[84,691,692,695,698,701],{"class":86,"line":87},[84,693,694],{"class":180},"find",[84,696,697],{"class":122}," /home",[84,699,700],{"class":90}," -name",[84,702,703],{"class":122}," \"*.txt\"\n",[84,705,706,708,710,713,716,719,722],{"class":86,"line":94},[84,707,694],{"class":180},[84,709,123],{"class":122},[84,711,712],{"class":90}," -type",[84,714,715],{"class":122}," f",[84,717,718],{"class":90}," -mtime",[84,720,721],{"class":90}," -7",[84,723,724],{"class":97},"   # изменённые за последние 7 дней\n",[61,726,728],{"id":727},"поиск-текста-внутри-файлов","Поиск текста внутри файлов",[32,730,731,737,743],{},[35,732,733,736],{},[45,734,735],{},"grep \"pattern\" file"," — найти строки, содержащие паттерн.",[35,738,739,742],{},[45,740,741],{},"grep -r \"pattern\" /dir"," — рекурсивный поиск в директории.",[35,744,745,748],{},[45,746,747],{},"grep -i \"pattern\""," — без учёта регистра.",[75,750,752],{"className":77,"code":751,"language":79,"meta":80,"style":80},"grep \"error\" /var/log/syslog\ngrep -r \"TODO\" ~/projects/\n",[45,753,754,764],{"__ignoreMap":80},[84,755,756,759,762],{"class":86,"line":87},[84,757,758],{"class":180},"grep",[84,760,761],{"class":122}," \"error\"",[84,763,473],{"class":122},[84,765,766,768,770,773],{"class":86,"line":94},[84,767,758],{"class":180},[84,769,316],{"class":90},[84,771,772],{"class":122}," \"TODO\"",[84,774,775],{"class":122}," ~/projects/\n",[16,777,779],{"id":778},"шаг-6-получение-справки","Шаг 6: Получение справки",[21,781,782],{},"Не запоминайте всё — у Linux отличная встроенная документация.",[61,784,786,789],{"id":785},"man-руководства",[45,787,788],{},"man"," — руководства",[21,791,792,795],{},[45,793,794],{},"man command"," показывает полное руководство (man page) с описанием, опциями и примерами.",[75,797,799],{"className":77,"code":798,"language":79,"meta":80,"style":80},"man ls\n# Навигация: стрелки, PageUp/Down, /text для поиска, q — выход\n",[45,800,801,808],{"__ignoreMap":80},[84,802,803,805],{"class":86,"line":87},[84,804,788],{"class":180},[84,806,807],{"class":122}," ls\n",[84,809,810],{"class":86,"line":94},[84,811,812],{"class":97},"# Навигация: стрелки, PageUp/Down, /text для поиска, q — выход\n",[61,814,816,48,819],{"id":815},"help-или-h",[45,817,818],{},"--help",[45,820,821],{},"-h",[21,823,824],{},"Краткая справка прямо в терминале.",[75,826,828],{"className":77,"code":827,"language":79,"meta":80,"style":80},"ls --help\ngrep -h\n",[45,829,830,837],{"__ignoreMap":80},[84,831,832,834],{"class":86,"line":87},[84,833,164],{"class":180},[84,835,836],{"class":90}," --help\n",[84,838,839,841],{"class":86,"line":94},[84,840,758],{"class":180},[84,842,843],{"class":90}," -h\n",[61,845,847,850],{"id":846},"whatis-краткое-описание",[45,848,849],{},"whatis"," — краткое описание",[75,852,854],{"className":77,"code":853,"language":79,"meta":80,"style":80},"whatis ls\n# Вывод: ls (1)               - list directory contents\n",[45,855,856,862],{"__ignoreMap":80},[84,857,858,860],{"class":86,"line":87},[84,859,849],{"class":180},[84,861,807],{"class":122},[84,863,864],{"class":86,"line":94},[84,865,866],{"class":97},"# Вывод: ls (1)               - list directory contents\n",[16,868,870],{"id":869},"проверка-результата","Проверка результата",[21,872,873],{},"После прохождения гайда вы должны уверенно выполнять следующие действия:",[875,876,877,883,892,902,912,922],"ol",{},[35,878,879,880,882],{},"Открыть терминал и выполнить ",[45,881,66],{}," — увидите текущий путь.",[35,884,885,886,888,889,891],{},"Перейти в другую директорию через ",[45,887,104],{}," и проверить ",[45,890,164],{},".",[35,893,894,895,898,899,891],{},"Создать файл ",[45,896,897],{},"touch test.txt"," и директорию ",[45,900,901],{},"mkdir test_dir",[35,903,904,905,908,909,891],{},"Скопировать файл ",[45,906,907],{},"cp test.txt backup/"," и переместить ",[45,910,911],{},"mv test.txt new.txt",[35,913,914,915,918,919,891],{},"Вывести содержимое файла ",[45,916,917],{},"cat /etc/os-release"," и найти процесс ",[45,920,921],{},"ps aux | grep bash",[35,923,924,925,928,929,891],{},"Получить справку ",[45,926,927],{},"man cd"," и найти команду ",[45,930,931],{},"whatis grep",[21,933,934],{},"Если все команды работают без ошибок — вы освоили базовый набор!",[16,936,938],{"id":937},"возможные-проблемы","Возможные проблемы",[61,940,942],{"id":941},"ошибка-permission-denied","Ошибка «Permission denied»",[21,944,945,948,949,952,953,955,956,440],{},[377,946,947],{},"Причина:"," недостаточно прав для операции (например, запись в системную директорию).\n",[377,950,951],{},"Решение:"," используйте ",[45,954,51],{}," перед командой (если у вас есть права администратора) или смените директорию на одну, где у вас есть права (например, ",[45,957,958],{},"~/",[75,960,962],{"className":77,"code":961,"language":79,"meta":80,"style":80},"sudo rm /etc/important.conf  # требует пароль администратора\n",[45,963,964],{"__ignoreMap":80},[84,965,966,968,971,974],{"class":86,"line":87},[84,967,51],{"class":180},[84,969,970],{"class":122}," rm",[84,972,973],{"class":122}," /etc/important.conf",[84,975,976],{"class":97},"  # требует пароль администратора\n",[61,978,980],{"id":979},"no-such-file-or-directory","«No such file or directory»",[21,982,983,985,986,988,989,991,992,994,995,998],{},[377,984,947],{}," указан неверный путь или имя файла.\n",[377,987,951],{}," проверьте текущую директорию (",[45,990,66],{},") и список файлов (",[45,993,164],{},"). Используйте абсолютные пути (",[45,996,997],{},"/home/user/file",") вместо относительных.",[61,1000,1002],{"id":1001},"command-not-found","«Command not found»",[21,1004,1005,1007,1008,1010,1011,1014],{},[377,1006,947],{}," команда не установлена или опечатка в названии.\n",[377,1009,951],{}," проверьте написание. Установите пакет через менеджер пакетов (например, ",[45,1012,1013],{},"sudo apt install package"," для Ubuntu/Debian).",[61,1016,1018,1019,1021],{"id":1017},"бесконечный-вывод-в-cat-для-больших-файлов","Бесконечный вывод в ",[45,1020,462],{}," для больших файлов",[21,1023,1024,1026,1027,952,1029,1031,1032,1035,1036,440],{},[377,1025,947],{}," выводите огромный файл (например, бинарный или лог на несколькосот МБ).\n",[377,1028,951],{},[45,1030,470],{}," или ограничьте вывод (",[45,1033,1034],{},"head",", ",[45,1037,478],{},[61,1039,1041],{"id":1040},"невозможно-завершить-процесс","Невозможно завершить процесс",[21,1043,1044,1046,1047,1050,1051,952,1053,1055],{},[377,1045,947],{}," процесс игнорирует мягкий сигнал ",[45,1048,1049],{},"SIGTERM",".\n",[377,1052,951],{},[45,1054,606],{}," (SIGKILL), но только если другие методы не сработали — это аварийное завершение.",[1057,1058,1059],"style",{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":80,"searchDepth":94,"depth":94,"links":1061},[1062,1063,1064,1072,1077,1078,1082,1086,1090,1098,1099],{"id":18,"depth":94,"text":19},{"id":26,"depth":94,"text":27},{"id":55,"depth":94,"text":56,"children":1065},[1066,1068,1070],{"id":63,"depth":139,"text":1067},"pwd — где я?",{"id":101,"depth":139,"text":1069},"cd — переход",{"id":161,"depth":139,"text":1071},"ls — просмотр содержимого",{"id":216,"depth":94,"text":217,"children":1073},[1074,1075,1076],{"id":223,"depth":139,"text":224},{"id":278,"depth":139,"text":279},{"id":348,"depth":139,"text":349},{"id":407,"depth":94,"text":408},{"id":414,"depth":94,"text":415,"children":1079},[1080,1081],{"id":421,"depth":139,"text":422},{"id":490,"depth":139,"text":491},{"id":526,"depth":94,"text":527,"children":1083},[1084,1085],{"id":533,"depth":139,"text":534},{"id":592,"depth":139,"text":593},{"id":649,"depth":94,"text":650,"children":1087},[1088,1089],{"id":656,"depth":139,"text":657},{"id":727,"depth":139,"text":728},{"id":778,"depth":94,"text":779,"children":1091},[1092,1094,1096],{"id":785,"depth":139,"text":1093},"man — руководства",{"id":815,"depth":139,"text":1095},"--help или -h",{"id":846,"depth":139,"text":1097},"whatis — краткое описание",{"id":869,"depth":94,"text":870},{"id":937,"depth":94,"text":938,"children":1100},[1101,1102,1103,1104,1106],{"id":941,"depth":139,"text":942},{"id":979,"depth":139,"text":980},{"id":1001,"depth":139,"text":1002},{"id":1017,"depth":139,"text":1105},"Бесконечный вывод в cat для больших файлов",{"id":1040,"depth":139,"text":1041},null,"2026-02-14 23:35:15","Изучите основные команды Linux для эффективной работы в терминале. Пошаговое руководство с примерами для начинающих. Начните осваивать Linux уже сегодня!","easy",false,"15-30 мин","md",[1115,1118,1121,1124],{"question":1116,"answer":1117},"Какая команда используется для перехода в другую директорию?","Команда `cd` (change directory) позволяет перейти в указанную директорию. Например, `cd /home/user`.",{"question":1119,"answer":1120},"Как посмотреть содержимое файла без редактирования?","Используйте команду `cat` для вывода всего содержимого или `less`/`more` для постраничного просмотра.",{"question":1122,"answer":1123},"Как узнать, какие процессы сейчас запущены?","Команда `ps` показывает список процессов. Для более удобного просмотра используйте `top` или `htop`.",{"question":1125,"answer":1126},"Как скопировать файл в Linux?","Команда `cp` копирует файлы и директории. Например, `cp file1.txt file2.txt`.",[1128,1131,1134,1137,1140,1143],{"name":1129,"text":1130},"Навигация по файловой системе","Изучите команды `pwd`, `cd`, `ls` для перемещения и просмотра содержимого директорий.",{"name":1132,"text":1133},"Управление файлами и директориями","Освойте создание (`touch`, `mkdir`), копирование (`cp`), перемещение (`mv`) и удаление (`rm`) файлов.",{"name":1135,"text":1136},"Просмотр и редактирование файлов","Научитесь выводить содержимое файлов (`cat`, `less`) и редактировать их с помощью `nano` или `vim`.",{"name":1138,"text":1139},"Управление процессами","Познакомьтесь с командами `ps`, `top`, `kill` для мониторинга и управления процессами.",{"name":1141,"text":1142},"Поиск и фильтрация","Используйте `find` для поиска файлов и `grep` для поиска текста внутри файлов.",{"name":1144,"text":1145},"Получение справки","Не забывайте про `man` для подробной документации и `--help` для краткой справки по командам.","PT30M",[1148,1149,1150,1151,1152,1153,1154,1155,1156,1157],"базовые команды linux","основные команды linux для начинающих","команды linux список","linux терминал команды","как работать в linux","управление файлами linux команды","навигация в linux","команда ls linux","команда cd linux","команда cat linux","ru_RU",{},true,"/guides/linux/basic-linux-commands","linux",[1164,1165,1166],"/guides/linux/linux-file-permissions","/guides/linux/linux-process-management","/guides/linux/vim-basics","Гайды Linux",{"title":5,"description":1109},"low","guides/linux/basic-linux-commands","Этот гайд познакомит вас с наиболее часто используемыми командами Linux. Вы научитесь навигации, управлению файлами и процессам, что значительно повысит вашу эффективность в терминале.",[1162,79,1173,1174,1175,1176,1177],"команды","терминал","cli","shell","основы","guide","I7wlpUTIB8v_2gHS1D76-G3lbxJEYuZTrTTvJDa4xGk",{"data":1181,"body":1182},{},{"type":1183,"children":1184},"root",[1185],{"type":1186,"tag":21,"props":1187,"children":1188},"element",{},[1189,1191,1196,1198,1204],{"type":1190,"value":70},"text",{"type":1186,"tag":45,"props":1192,"children":1194},{"className":1193},[],[1195],{"type":1190,"value":104},{"type":1190,"value":1197}," (change directory) позволяет перейти в указанную директорию. Например, ",{"type":1186,"tag":45,"props":1199,"children":1201},{"className":1200},[],[1202],{"type":1190,"value":1203},"cd /home/user",{"type":1190,"value":891},{"data":1206,"body":1207},{},{"type":1183,"children":1208},[1209],{"type":1186,"tag":21,"props":1210,"children":1211},{},[1212,1214,1219,1221,1226,1228,1234],{"type":1190,"value":1213},"Используйте команду ",{"type":1186,"tag":45,"props":1215,"children":1217},{"className":1216},[],[1218],{"type":1190,"value":462},{"type":1190,"value":1220}," для вывода всего содержимого или ",{"type":1186,"tag":45,"props":1222,"children":1224},{"className":1223},[],[1225],{"type":1190,"value":470},{"type":1190,"value":1227},"/",{"type":1186,"tag":45,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":1190,"value":1233},"more",{"type":1190,"value":1235}," для постраничного просмотра.",{"data":1237,"body":1238},{},{"type":1183,"children":1239},[1240],{"type":1186,"tag":21,"props":1241,"children":1242},{},[1243,1244,1249,1251,1256,1257,1262],{"type":1190,"value":70},{"type":1186,"tag":45,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":1190,"value":541},{"type":1190,"value":1250}," показывает список процессов. Для более удобного просмотра используйте ",{"type":1186,"tag":45,"props":1252,"children":1254},{"className":1253},[],[1255],{"type":1190,"value":553},{"type":1190,"value":48},{"type":1186,"tag":45,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":1190,"value":556},{"type":1190,"value":891},{"data":1264,"body":1265},{},{"type":1183,"children":1266},[1267],{"type":1186,"tag":21,"props":1268,"children":1269},{},[1270,1271,1276,1278,1284],{"type":1190,"value":70},{"type":1186,"tag":45,"props":1272,"children":1274},{"className":1273},[],[1275],{"type":1190,"value":303},{"type":1190,"value":1277}," копирует файлы и директории. Например, ",{"type":1186,"tag":45,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":1190,"value":1283},"cp file1.txt file2.txt",{"type":1190,"value":891},{"data":1286,"body":1287},{},{"type":1183,"children":1288},[1289],{"type":1186,"tag":21,"props":1290,"children":1291},{},[1292,1294,1299,1300,1305,1306,1311],{"type":1190,"value":1293},"Изучите команды ",{"type":1186,"tag":45,"props":1295,"children":1297},{"className":1296},[],[1298],{"type":1190,"value":66},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":1190,"value":104},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":1190,"value":164},{"type":1190,"value":1312}," для перемещения и просмотра содержимого директорий.",{"data":1314,"body":1315},{},{"type":1183,"children":1316},[1317],{"type":1186,"tag":21,"props":1318,"children":1319},{},[1320,1322,1327,1328,1333,1335,1340,1342,1347,1349,1354],{"type":1190,"value":1321},"Освойте создание (",{"type":1186,"tag":45,"props":1323,"children":1325},{"className":1324},[],[1326],{"type":1190,"value":254},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1329,"children":1331},{"className":1330},[],[1332],{"type":1190,"value":262},{"type":1190,"value":1334},"), копирование (",{"type":1186,"tag":45,"props":1336,"children":1338},{"className":1337},[],[1339],{"type":1190,"value":303},{"type":1190,"value":1341},"), перемещение (",{"type":1186,"tag":45,"props":1343,"children":1345},{"className":1344},[],[1346],{"type":1190,"value":330},{"type":1190,"value":1348},") и удаление (",{"type":1186,"tag":45,"props":1350,"children":1352},{"className":1351},[],[1353],{"type":1190,"value":47},{"type":1190,"value":1355},") файлов.",{"data":1357,"body":1358},{},{"type":1183,"children":1359},[1360],{"type":1186,"tag":21,"props":1361,"children":1362},{},[1363,1365,1370,1371,1376,1378,1383,1384,1390],{"type":1190,"value":1364},"Научитесь выводить содержимое файлов (",{"type":1186,"tag":45,"props":1366,"children":1368},{"className":1367},[],[1369],{"type":1190,"value":462},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1372,"children":1374},{"className":1373},[],[1375],{"type":1190,"value":470},{"type":1190,"value":1377},") и редактировать их с помощью ",{"type":1186,"tag":45,"props":1379,"children":1381},{"className":1380},[],[1382],{"type":1190,"value":515},{"type":1190,"value":48},{"type":1186,"tag":45,"props":1385,"children":1387},{"className":1386},[],[1388],{"type":1190,"value":1389},"vim",{"type":1190,"value":891},{"data":1392,"body":1393},{},{"type":1183,"children":1394},[1395],{"type":1186,"tag":21,"props":1396,"children":1397},{},[1398,1400,1405,1406,1411,1412,1417],{"type":1190,"value":1399},"Познакомьтесь с командами ",{"type":1186,"tag":45,"props":1401,"children":1403},{"className":1402},[],[1404],{"type":1190,"value":541},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1407,"children":1409},{"className":1408},[],[1410],{"type":1190,"value":553},{"type":1190,"value":1035},{"type":1186,"tag":45,"props":1413,"children":1415},{"className":1414},[],[1416],{"type":1190,"value":617},{"type":1190,"value":1418}," для мониторинга и управления процессами.",{"data":1420,"body":1421},{},{"type":1183,"children":1422},[1423],{"type":1186,"tag":21,"props":1424,"children":1425},{},[1426,1428,1433,1435,1440],{"type":1190,"value":1427},"Используйте ",{"type":1186,"tag":45,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":1190,"value":694},{"type":1190,"value":1434}," для поиска файлов и ",{"type":1186,"tag":45,"props":1436,"children":1438},{"className":1437},[],[1439],{"type":1190,"value":758},{"type":1190,"value":1441}," для поиска текста внутри файлов.",{"data":1443,"body":1444},{},{"type":1183,"children":1445},[1446],{"type":1186,"tag":21,"props":1447,"children":1448},{},[1449,1451,1456,1458,1463],{"type":1190,"value":1450},"Не забывайте про ",{"type":1186,"tag":45,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":1190,"value":788},{"type":1190,"value":1457}," для подробной документации и ",{"type":1186,"tag":45,"props":1459,"children":1461},{"className":1460},[],[1462],{"type":1190,"value":818},{"type":1190,"value":1464}," для краткой справки по командам.",[1466,2723,3894],{"id":1467,"title":1468,"appliesTo":1469,"author":11,"body":1474,"canonical":1107,"code":1107,"createdAt":2666,"description":2667,"difficulty":2668,"draft":1111,"estimatedTime":2669,"extension":1113,"faq":2670,"howToSteps":2683,"howToTotalTime":2699,"image":1107,"keywords":2700,"locale":1158,"meta":2710,"navigation":1160,"path":1164,"platform":1162,"related":2711,"section":1167,"seo":2715,"severity":1107,"stem":2716,"summary":2717,"tags":2718,"twitterCreator":1107,"twitterSite":1107,"type":1178,"updatedAt":2666,"__hash__":2722},"content_ru/guides/linux/linux-file-permissions.md","Полное руководство по правам доступа в Linux: chmod и chown",[1470,1471,1472,1473],"Все дистрибутивы Linux","Ubuntu 20.04+","CentOS 7+","Debian 10+",{"type":13,"value":1475,"toc":2648},[1476,1480,1483,1487,1489,1514,1518,1525,1570,1573,1666,1676,1680,1685,1690,1706,1711,1804,1815,1819,1829,1833,1845,1927,1932,1989,1993,2029,2033,2112,2116,2126,2249,2262,2264,2268,2271,2275,2286,2349,2353,2363,2433,2437,2444,2497,2500,2502,2505,2541,2543,2645],[16,1477,1479],{"id":1478},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,1481,1482],{},"В Linux права доступа — это фундаментальный механизм безопасности. Они определяют, кто может читать, изменять или выполнять файлы и папки. Неправильные настройки могут привести к утечке конфиденциальных данных, ошибкам работы программ или невозможности совместного использования ресурсов. Этот гайд поможет вам освоить полный цикл управления правами: от чтения текущих настроек до тонкой настройки с помощью ACL. Вы сможете защитить систему и гибко настраивать доступ для разных пользователей и групп.",[16,1484,1486],{"id":1485},"требования-подготовка","Требования / Подготовка",[21,1488,30],{},[32,1490,1491,1494,1497],{},[35,1492,1493],{},"Доступ к терминалу Linux (любой дистрибутив: Ubuntu, CentOS, Debian, Arch и т.д.).",[35,1495,1496],{},"Базовые навыки работы с командной строкой (навигация, создание файлов).",[35,1498,1499,1500,1502,1503,1506,1507,1510,1511,1513],{},"Права администратора (",[45,1501,51],{},") для смены владельца (",[45,1504,1505],{},"chown",") и установки некоторых расширенных прав (ACL). Для простого ",[45,1508,1509],{},"chmod"," права ",[45,1512,51],{}," обычно не требуются, если вы являетесь владельцем файла.",[16,1515,1517],{"id":1516},"шаг-1-понимание-текущих-прав-доступа","Шаг 1: Понимание текущих прав доступа",[21,1519,1520,1521,1524],{},"Прежде чем что-то менять, нужно уметь читать текущие настройки. Основная команда — ",[45,1522,1523],{},"ls -l",". Она выводит детальную информацию о файлах.",[75,1526,1528],{"className":77,"code":1527,"language":79,"meta":80,"style":80},"$ ls -l /etc/passwd\n-rw-r--r-- 1 root root 2564 фев 16 10:30 /etc/passwd\n",[45,1529,1530,1543],{"__ignoreMap":80},[84,1531,1532,1535,1538,1540],{"class":86,"line":87},[84,1533,1534],{"class":180},"$",[84,1536,1537],{"class":122}," ls",[84,1539,190],{"class":90},[84,1541,1542],{"class":122}," /etc/passwd\n",[84,1544,1545,1548,1551,1554,1556,1559,1562,1565,1568],{"class":86,"line":94},[84,1546,1547],{"class":180},"-rw-r--r--",[84,1549,1550],{"class":90}," 1",[84,1552,1553],{"class":122}," root",[84,1555,1553],{"class":122},[84,1557,1558],{"class":90}," 2564",[84,1560,1561],{"class":122}," фев",[84,1563,1564],{"class":90}," 16",[84,1566,1567],{"class":122}," 10:30",[84,1569,1542],{"class":122},[21,1571,1572],{},"Разберем вывод:",[875,1574,1575,1636,1642,1648,1654,1660],{},[35,1576,1577,1579,1580],{},[45,1578,1547],{}," — это строка прав доступа (10 символов).\n",[32,1581,1582,1600,1612,1629],{},[35,1583,1584,1585,1588,1589,1591,1592,1595,1596,1599],{},"Первый символ (",[45,1586,1587],{},"-","): тип файла (",[45,1590,1587],{}," — обычный файл, ",[45,1593,1594],{},"d"," — каталог, ",[45,1597,1598],{},"l"," — ссылка).",[35,1601,1602,1603,1035,1606,1035,1609,891],{},"Следующие 9 символов разбиты на три triplet по 3 символа: ",[377,1604,1605],{},"владелец (user)",[377,1607,1608],{},"группа (group)",[377,1610,1611],{},"остальные (others)",[35,1613,1614,1617,1618,1621,1622,1625,1626,1628],{},[45,1615,1616],{},"r"," — чтение (read), ",[45,1619,1620],{},"w"," — запись (write), ",[45,1623,1624],{},"x"," — выполнение (execute), ",[45,1627,1587],{}," — отсутствие права.",[35,1630,1631,1632,1635],{},"Пример: ",[45,1633,1634],{},"rw-"," — чтение и запись, но без выполнения.",[35,1637,1638,1641],{},[45,1639,1640],{},"1"," — количество жестких ссылок.",[35,1643,1644,1647],{},[45,1645,1646],{},"root root"," — владелец и группа файла.",[35,1649,1650,1653],{},[45,1651,1652],{},"2564"," — размер в байтах.",[35,1655,1656,1659],{},[45,1657,1658],{},"фев 16 10:30"," — дата и время последнего изменения.",[35,1661,1662,1665],{},[45,1663,1664],{},"/etc/passwd"," — имя файла.",[21,1667,1668,1671,1672,1675],{},[377,1669,1670],{},"Ключевое правило:"," Права применяются в порядке: ",[377,1673,1674],{},"владелец > группа > остальные",". Система проверяет, кем вы являетесь (владельцем, членом группы или ни тем, ни другим), и применяет первую подходящую тройку.",[16,1677,1679],{"id":1678},"шаг-2-изменение-владельца-и-группы-команда-chown","Шаг 2: Изменение владельца и группы (команда chown)",[21,1681,1682,1683,891],{},"Часто требуется сменить, кто owns (владеет) файлом. Это делается командой ",[45,1684,1505],{},[21,1686,1687],{},[377,1688,1689],{},"Базовый синтаксис:",[75,1691,1693],{"className":77,"code":1692,"language":79,"meta":80,"style":80},"sudo chown [новый_владелец] [файл]\n",[45,1694,1695],{"__ignoreMap":80},[84,1696,1697,1699,1702],{"class":86,"line":87},[84,1698,51],{"class":180},[84,1700,1701],{"class":122}," chown",[84,1703,1705],{"class":1704},"sVt8B"," [новый_владелец] [файл]\n",[21,1707,1708],{},[377,1709,1710],{},"Примеры:",[75,1712,1714],{"className":77,"code":1713,"language":79,"meta":80,"style":80},"# Сменить только владельца\nsudo chown alice script.sh\n\n# Сменить и владельца, и группу\nsudo chown alice:developers script.sh\n\n# Сменить только группу (владелец остается прежним)\nsudo chown :developers script.sh\n\n# Рекурсивно для всей директории и ее содержимого\nsudo chown -R alice:developers /project/\n",[45,1715,1716,1721,1733,1738,1743,1755,1760,1766,1778,1783,1789],{"__ignoreMap":80},[84,1717,1718],{"class":86,"line":87},[84,1719,1720],{"class":97},"# Сменить только владельца\n",[84,1722,1723,1725,1727,1730],{"class":86,"line":94},[84,1724,51],{"class":180},[84,1726,1701],{"class":122},[84,1728,1729],{"class":122}," alice",[84,1731,1732],{"class":122}," script.sh\n",[84,1734,1735],{"class":86,"line":139},[84,1736,1737],{"emptyLinePlaceholder":1160},"\n",[84,1739,1740],{"class":86,"line":150},[84,1741,1742],{"class":97},"# Сменить и владельца, и группу\n",[84,1744,1746,1748,1750,1753],{"class":86,"line":1745},5,[84,1747,51],{"class":180},[84,1749,1701],{"class":122},[84,1751,1752],{"class":122}," alice:developers",[84,1754,1732],{"class":122},[84,1756,1758],{"class":86,"line":1757},6,[84,1759,1737],{"emptyLinePlaceholder":1160},[84,1761,1763],{"class":86,"line":1762},7,[84,1764,1765],{"class":97},"# Сменить только группу (владелец остается прежним)\n",[84,1767,1769,1771,1773,1776],{"class":86,"line":1768},8,[84,1770,51],{"class":180},[84,1772,1701],{"class":122},[84,1774,1775],{"class":122}," :developers",[84,1777,1732],{"class":122},[84,1779,1781],{"class":86,"line":1780},9,[84,1782,1737],{"emptyLinePlaceholder":1160},[84,1784,1786],{"class":86,"line":1785},10,[84,1787,1788],{"class":97},"# Рекурсивно для всей директории и ее содержимого\n",[84,1790,1792,1794,1796,1799,1801],{"class":86,"line":1791},11,[84,1793,51],{"class":180},[84,1795,1701],{"class":122},[84,1797,1798],{"class":90}," -R",[84,1800,1752],{"class":122},[84,1802,1803],{"class":122}," /project/\n",[371,1805,1806],{},[21,1807,375,1808,1811,1812,1814],{},[377,1809,1810],{},"Важно:"," Для смены владельца почти всегда требуются права ",[45,1813,51],{},". Обычный пользователь не может \"забрать\" файл у другого пользователя.",[16,1816,1818],{"id":1817},"шаг-3-изменение-прав-доступа-команда-chmod","Шаг 3: Изменение прав доступа (команда chmod)",[21,1820,1821,1822,1825,1826,1828],{},"Самая частая операция — установка прав ",[45,1823,1824],{},"rwx",". Это делает команда ",[45,1827,1509],{},". Есть два основных способа: числовой (octal) и символьный.",[61,1830,1832],{"id":1831},"числовой-режим-octal","Числовой режим (octal)",[21,1834,1835,1836,1035,1839,1035,1842,891],{},"Здесь каждая позиция (владелец, группа, другие) задается цифрой от 0 до 7, которая является суммой значений: ",[45,1837,1838],{},"r=4",[45,1840,1841],{},"w=2",[45,1843,1844],{},"x=1",[1846,1847,1848,1862],"table",{},[1849,1850,1851],"thead",{},[1852,1853,1854,1859],"tr",{},[1855,1856,1858],"th",{"align":1857},"left","Цифра",[1855,1860,1861],{"align":1857},"Права (rwx)",[1863,1864,1865,1874,1881,1889,1897,1905,1913,1920],"tbody",{},[1852,1866,1867,1871],{},[1868,1869,1870],"td",{"align":1857},"0",[1868,1872,1873],{"align":1857},"---",[1852,1875,1876,1878],{},[1868,1877,1640],{"align":1857},[1868,1879,1880],{"align":1857},"--x",[1852,1882,1883,1886],{},[1868,1884,1885],{"align":1857},"2",[1868,1887,1888],{"align":1857},"-w-",[1852,1890,1891,1894],{},[1868,1892,1893],{"align":1857},"3",[1868,1895,1896],{"align":1857},"-wx",[1852,1898,1899,1902],{},[1868,1900,1901],{"align":1857},"4",[1868,1903,1904],{"align":1857},"r--",[1852,1906,1907,1910],{},[1868,1908,1909],{"align":1857},"5",[1868,1911,1912],{"align":1857},"r-x",[1852,1914,1915,1918],{},[1868,1916,1917],{"align":1857},"6",[1868,1919,1634],{"align":1857},[1852,1921,1922,1925],{},[1868,1923,1924],{"align":1857},"7",[1868,1926,1824],{"align":1857},[21,1928,1929],{},[377,1930,1931],{},"Пример:",[75,1933,1935],{"className":77,"code":1934,"language":79,"meta":80,"style":80},"# Дать владельцу полные права (rwx=7), группе и остальным — чтение и выполнение (r-x=5)\nchmod 755 script.sh\n\n# Разрешить всем полный доступ (НЕБЕЗОПАСНО, только для общих папок!)\nchmod 777 shared_folder/\n\n# Владелец: чтение/запись, группа: только чтение, остальные: никаких\nchmod 640 config.conf\n",[45,1936,1937,1942,1951,1955,1960,1970,1974,1979],{"__ignoreMap":80},[84,1938,1939],{"class":86,"line":87},[84,1940,1941],{"class":97},"# Дать владельцу полные права (rwx=7), группе и остальным — чтение и выполнение (r-x=5)\n",[84,1943,1944,1946,1949],{"class":86,"line":94},[84,1945,1509],{"class":180},[84,1947,1948],{"class":90}," 755",[84,1950,1732],{"class":122},[84,1952,1953],{"class":86,"line":139},[84,1954,1737],{"emptyLinePlaceholder":1160},[84,1956,1957],{"class":86,"line":150},[84,1958,1959],{"class":97},"# Разрешить всем полный доступ (НЕБЕЗОПАСНО, только для общих папок!)\n",[84,1961,1962,1964,1967],{"class":86,"line":1745},[84,1963,1509],{"class":180},[84,1965,1966],{"class":90}," 777",[84,1968,1969],{"class":122}," shared_folder/\n",[84,1971,1972],{"class":86,"line":1757},[84,1973,1737],{"emptyLinePlaceholder":1160},[84,1975,1976],{"class":86,"line":1762},[84,1977,1978],{"class":97},"# Владелец: чтение/запись, группа: только чтение, остальные: никаких\n",[84,1980,1981,1983,1986],{"class":86,"line":1768},[84,1982,1509],{"class":180},[84,1984,1985],{"class":90}," 640",[84,1987,1988],{"class":122}," config.conf\n",[61,1990,1992],{"id":1991},"символьный-режим","Символьный режим",[21,1994,1995,1996,1999,2000,2003,2004,2007,2008,2011,2012,1035,2014,1035,2016,2018,2019,2022,2023,2025,2026,440],{},"Более гибкий способ, где вы явно указываете, для кого (",[45,1997,1998],{},"u"," — user, ",[45,2001,2002],{},"g"," — group, ",[45,2005,2006],{},"o"," — others, ",[45,2009,2010],{},"a"," — all) и какие права (",[45,2013,1616],{},[45,2015,1620],{},[45,2017,1624],{},") добавлять (",[45,2020,2021],{},"+","), убирать (",[45,2024,1587],{},") или устанавливать точно (",[45,2027,2028],{},"=",[21,2030,2031],{},[377,2032,1710],{},[75,2034,2036],{"className":77,"code":2035,"language":79,"meta":80,"style":80},"# Добавить выполнение (x) для владельца\nchmod u+x script.sh\n\n# Убрать запись (w) у группы и остальных\nchmod go-w important.log\n\n# Дать группе полные права (rwx), остальным — только чтение\nchmod g=rwx,o=r file.txt\n\n# Установить точные права: владелец rwx, группа и остальные r-x\nchmod a=rx,u+w file.sh  # эквивалент 755\n",[45,2037,2038,2043,2052,2056,2061,2071,2075,2080,2090,2094,2099],{"__ignoreMap":80},[84,2039,2040],{"class":86,"line":87},[84,2041,2042],{"class":97},"# Добавить выполнение (x) для владельца\n",[84,2044,2045,2047,2050],{"class":86,"line":94},[84,2046,1509],{"class":180},[84,2048,2049],{"class":122}," u+x",[84,2051,1732],{"class":122},[84,2053,2054],{"class":86,"line":139},[84,2055,1737],{"emptyLinePlaceholder":1160},[84,2057,2058],{"class":86,"line":150},[84,2059,2060],{"class":97},"# Убрать запись (w) у группы и остальных\n",[84,2062,2063,2065,2068],{"class":86,"line":1745},[84,2064,1509],{"class":180},[84,2066,2067],{"class":122}," go-w",[84,2069,2070],{"class":122}," important.log\n",[84,2072,2073],{"class":86,"line":1757},[84,2074,1737],{"emptyLinePlaceholder":1160},[84,2076,2077],{"class":86,"line":1762},[84,2078,2079],{"class":97},"# Дать группе полные права (rwx), остальным — только чтение\n",[84,2081,2082,2084,2087],{"class":86,"line":1768},[84,2083,1509],{"class":180},[84,2085,2086],{"class":122}," g=rwx,o=r",[84,2088,2089],{"class":122}," file.txt\n",[84,2091,2092],{"class":86,"line":1780},[84,2093,1737],{"emptyLinePlaceholder":1160},[84,2095,2096],{"class":86,"line":1785},[84,2097,2098],{"class":97},"# Установить точные права: владелец rwx, группа и остальные r-x\n",[84,2100,2101,2103,2106,2109],{"class":86,"line":1791},[84,2102,1509],{"class":180},[84,2104,2105],{"class":122}," a=rx,u+w",[84,2107,2108],{"class":122}," file.sh",[84,2110,2111],{"class":97},"  # эквивалент 755\n",[16,2113,2115],{"id":2114},"шаг-4-расширенные-права-доступа-acl","Шаг 4: Расширенные права доступа (ACL)",[21,2117,2118,2119,2122,2123,891],{},"Стандартная модель (владелец/группа/остальные) часто недостаточна. Для тонкого управления (например, дать права отдельному пользователю ",[45,2120,2121],{},"ivan"," на конкретный файл) используются ",[377,2124,2125],{},"Access Control Lists (ACL)",[875,2127,2128,2162,2196,2224],{},[35,2129,2130,2133,2134,2158,2161],{},[377,2131,2132],{},"Проверьте, включена ли поддержка ACL"," на вашем разделе (обычно включена по умолчанию для ext4):",[75,2135,2137],{"className":77,"code":2136,"language":79,"meta":80,"style":80},"mount | grep ' / ' | grep acl\n",[45,2138,2139],{"__ignoreMap":80},[84,2140,2141,2144,2146,2148,2151,2153,2155],{"class":86,"line":87},[84,2142,2143],{"class":180},"mount",[84,2145,573],{"class":572},[84,2147,576],{"class":180},[84,2149,2150],{"class":122}," ' / '",[84,2152,573],{"class":572},[84,2154,576],{"class":180},[84,2156,2157],{"class":122}," acl\n",[2159,2160],"br",{},"Если вывод есть — все в порядке.",[35,2163,2164,2167,2168,2171,2172,2174,2175],{},[377,2165,2166],{},"Установите ACL"," для файла ",[45,2169,2170],{},"report.pdf",", чтобы пользователь ",[45,2173,2121],{}," мог его читать и писать:",[75,2176,2178],{"className":77,"code":2177,"language":79,"meta":80,"style":80},"sudo setfacl -m u:ivan:rw- report.pdf\n",[45,2179,2180],{"__ignoreMap":80},[84,2181,2182,2184,2187,2190,2193],{"class":86,"line":87},[84,2183,51],{"class":180},[84,2185,2186],{"class":122}," setfacl",[84,2188,2189],{"class":90}," -m",[84,2191,2192],{"class":122}," u:ivan:rw-",[84,2194,2195],{"class":122}," report.pdf\n",[35,2197,2198,2201,2202,2214,2216,2217],{},[377,2199,2200],{},"Просмотрите текущий ACL",":",[75,2203,2205],{"className":77,"code":2204,"language":79,"meta":80,"style":80},"getfacl report.pdf\n",[45,2206,2207],{"__ignoreMap":80},[84,2208,2209,2212],{"class":86,"line":87},[84,2210,2211],{"class":180},"getfacl",[84,2213,2195],{"class":122},[2159,2215],{},"Вывод будет содержать стандартные права и строку с пользовательскими настройками:",[75,2218,2222],{"className":2219,"code":2221,"language":1190},[2220],"language-text","user:ivan:rw-\n",[45,2223,2221],{"__ignoreMap":80},[35,2225,2226,2229,2230],{},[377,2227,2228],{},"Удалите ACL"," для пользователя:",[75,2231,2233],{"className":77,"code":2232,"language":79,"meta":80,"style":80},"sudo setfacl -x u:ivan report.pdf\n",[45,2234,2235],{"__ignoreMap":80},[84,2236,2237,2239,2241,2244,2247],{"class":86,"line":87},[84,2238,51],{"class":180},[84,2240,2186],{"class":122},[84,2242,2243],{"class":90}," -x",[84,2245,2246],{"class":122}," u:ivan",[84,2248,2195],{"class":122},[371,2250,2251],{},[21,2252,2253,2254,2257,2258,2261],{},"💡 ",[377,2255,2256],{},"Совет:"," ACL особенно полезны для общих сетевых папок (",[45,2259,2260],{},"/srv/share","), где нужно предоставить доступ нескольким конкретным пользователям, не создавая отдельные группы.",[407,2263],{},[16,2265,2267],{"id":2266},"шаг-5-практические-примеры","Шаг 5: Практические примеры",[21,2269,2270],{},"Теперь применим знания на типичных задачах.",[61,2272,2274],{"id":2273},"пример-1-сделать-скрипт-исполняемым","Пример 1: Сделать скрипт исполняемым",[21,2276,2277,2278,2281,2282,2285],{},"У вас есть скрипт ",[45,2279,2280],{},"deploy.sh",", но при запуске ",[45,2283,2284],{},"./deploy.sh"," вы получаете \"Permission denied\".",[75,2287,2289],{"className":77,"code":2288,"language":79,"meta":80,"style":80},"# 1. Проверьте текущие права\nls -l deploy.sh\n# Вывод: -rw-r--r-- 1 user user 1234 ... deploy.sh (нет x)\n\n# 2. Добавьте право на выполнение для владельца\nchmod u+x deploy.sh\n\n# 3. Проверьте результат\nls -l deploy.sh\n# Вывод: -rwxr--r-- 1 user user 1234 ... deploy.sh\n",[45,2290,2291,2296,2305,2310,2314,2319,2327,2331,2336,2344],{"__ignoreMap":80},[84,2292,2293],{"class":86,"line":87},[84,2294,2295],{"class":97},"# 1. Проверьте текущие права\n",[84,2297,2298,2300,2302],{"class":86,"line":94},[84,2299,164],{"class":180},[84,2301,190],{"class":90},[84,2303,2304],{"class":122}," deploy.sh\n",[84,2306,2307],{"class":86,"line":139},[84,2308,2309],{"class":97},"# Вывод: -rw-r--r-- 1 user user 1234 ... deploy.sh (нет x)\n",[84,2311,2312],{"class":86,"line":150},[84,2313,1737],{"emptyLinePlaceholder":1160},[84,2315,2316],{"class":86,"line":1745},[84,2317,2318],{"class":97},"# 2. Добавьте право на выполнение для владельца\n",[84,2320,2321,2323,2325],{"class":86,"line":1757},[84,2322,1509],{"class":180},[84,2324,2049],{"class":122},[84,2326,2304],{"class":122},[84,2328,2329],{"class":86,"line":1762},[84,2330,1737],{"emptyLinePlaceholder":1160},[84,2332,2333],{"class":86,"line":1768},[84,2334,2335],{"class":97},"# 3. Проверьте результат\n",[84,2337,2338,2340,2342],{"class":86,"line":1780},[84,2339,164],{"class":180},[84,2341,190],{"class":90},[84,2343,2304],{"class":122},[84,2345,2346],{"class":86,"line":1785},[84,2347,2348],{"class":97},"# Вывод: -rwxr--r-- 1 user user 1234 ... deploy.sh\n",[61,2350,2352],{"id":2351},"пример-2-разрешить-запись-для-группы-разработчиков","Пример 2: Разрешить запись для группы разработчиков",[21,2354,2355,2356,2359,2360,891],{},"Вы хотите, чтобы все члены группы ",[45,2357,2358],{},"devs"," могли редактировать файл ",[45,2361,2362],{},"config.ini",[75,2364,2366],{"className":77,"code":2365,"language":79,"meta":80,"style":80},"# 1. Убедитесь, что файл принадлежит группе devs\nls -l config.ini\n# Вывод: -rw-r--r-- 1 alice devs ... config.ini\n\n# 2. Если группа уже devs, просто дайте группе право на запись\nchmod g+w config.ini\n# Теперь права: -rw-rw-r-- (764). Группа devs может читать и писать.\n\n# 3. (Опционально) Если файл должен быть доступен только на чтение для остальных\nchmod o-r config.ini\n# Итог: -rw-rw---- (760)\n",[45,2367,2368,2373,2382,2387,2391,2396,2405,2410,2414,2419,2428],{"__ignoreMap":80},[84,2369,2370],{"class":86,"line":87},[84,2371,2372],{"class":97},"# 1. Убедитесь, что файл принадлежит группе devs\n",[84,2374,2375,2377,2379],{"class":86,"line":94},[84,2376,164],{"class":180},[84,2378,190],{"class":90},[84,2380,2381],{"class":122}," config.ini\n",[84,2383,2384],{"class":86,"line":139},[84,2385,2386],{"class":97},"# Вывод: -rw-r--r-- 1 alice devs ... config.ini\n",[84,2388,2389],{"class":86,"line":150},[84,2390,1737],{"emptyLinePlaceholder":1160},[84,2392,2393],{"class":86,"line":1745},[84,2394,2395],{"class":97},"# 2. Если группа уже devs, просто дайте группе право на запись\n",[84,2397,2398,2400,2403],{"class":86,"line":1757},[84,2399,1509],{"class":180},[84,2401,2402],{"class":122}," g+w",[84,2404,2381],{"class":122},[84,2406,2407],{"class":86,"line":1762},[84,2408,2409],{"class":97},"# Теперь права: -rw-rw-r-- (764). Группа devs может читать и писать.\n",[84,2411,2412],{"class":86,"line":1768},[84,2413,1737],{"emptyLinePlaceholder":1160},[84,2415,2416],{"class":86,"line":1780},[84,2417,2418],{"class":97},"# 3. (Опционально) Если файл должен быть доступен только на чтение для остальных\n",[84,2420,2421,2423,2426],{"class":86,"line":1785},[84,2422,1509],{"class":180},[84,2424,2425],{"class":122}," o-r",[84,2427,2381],{"class":122},[84,2429,2430],{"class":86,"line":1791},[84,2431,2432],{"class":97},"# Итог: -rw-rw---- (760)\n",[61,2434,2436],{"id":2435},"пример-3-создать-защищенную-общую-папку-с-sticky-bit","Пример 3: Создать защищенную общую папку с sticky bit",[21,2438,2439,2440,2443],{},"Вы создаете папку ",[45,2441,2442],{},"/shared/uploads",", куда все могут загружать файлы, но удалять могут только свои файлы или root.",[75,2445,2447],{"className":77,"code":2446,"language":79,"meta":80,"style":80},"mkdir /shared/uploads\n# Даем полный доступ всем на запись и чтение (для загрузки)\nchmod 777 /shared/uploads\n# Включаем sticky bit (t в правах для \"остальных\")\nchmod +t /shared/uploads\n# Проверьте: drwxrwxrwt (последний символ 't' вместо 'x')\nls -ld /shared/uploads\n",[45,2448,2449,2456,2461,2469,2474,2483,2488],{"__ignoreMap":80},[84,2450,2451,2453],{"class":86,"line":87},[84,2452,262],{"class":180},[84,2454,2455],{"class":122}," /shared/uploads\n",[84,2457,2458],{"class":86,"line":94},[84,2459,2460],{"class":97},"# Даем полный доступ всем на запись и чтение (для загрузки)\n",[84,2462,2463,2465,2467],{"class":86,"line":139},[84,2464,1509],{"class":180},[84,2466,1966],{"class":90},[84,2468,2455],{"class":122},[84,2470,2471],{"class":86,"line":150},[84,2472,2473],{"class":97},"# Включаем sticky bit (t в правах для \"остальных\")\n",[84,2475,2476,2478,2481],{"class":86,"line":1745},[84,2477,1509],{"class":180},[84,2479,2480],{"class":122}," +t",[84,2482,2455],{"class":122},[84,2484,2485],{"class":86,"line":1757},[84,2486,2487],{"class":97},"# Проверьте: drwxrwxrwt (последний символ 't' вместо 'x')\n",[84,2489,2490,2492,2495],{"class":86,"line":1762},[84,2491,164],{"class":180},[84,2493,2494],{"class":90}," -ld",[84,2496,2455],{"class":122},[21,2498,2499],{},"Теперь любой пользователь может создать файл в этой папке, но не сможет удалить или переименовать файл, созданный другим пользователем.",[16,2501,870],{"id":869},[21,2503,2504],{},"После внесения изменений обязательно проверьте:",[875,2506,2507,2520,2532],{},[35,2508,2509,2512,2513,2516,2517,2519],{},[377,2510,2511],{},"Базовые права:"," ",[45,2514,2515],{},"ls -l [файл/папка]"," — убедитесь, что владелец, группа и триплеты (",[45,2518,1824],{},") соответствуют ожиданиям.",[35,2521,2522,2512,2525,2528,2529,891],{},[377,2523,2524],{},"ACL (если использовали):",[45,2526,2527],{},"getfacl [файл]"," — проверьте наличие и корректность записей ",[45,2530,2531],{},"user:[имя]:[права]",[35,2533,2534,2537,2538,891],{},[377,2535,2536],{},"Функциональность:"," Попробуйте выполнить действие от имени нужного пользователя (например, прочитать, записать или выполнить файл). Для теста можно использовать ",[45,2539,2540],{},"sudo -u [пользователь] [команда]",[16,2542,938],{"id":937},[32,2544,2545,2586,2609,2627],{},[35,2546,2547,2558],{},[377,2548,2549,2550,2553,2554,48,2556,2201],{},"Ошибка ",[45,2551,2552],{},"Operation not permitted"," при ",[45,2555,1505],{},[45,2557,1509],{},[32,2559,2560,2566,2576],{},[35,2561,2562,2563,2565],{},"Вы не запустили команду с ",[45,2564,51],{}," (если меняете не свой файл).",[35,2567,2568,2569,48,2572,2575],{},"Файловая система смонтирована с опцией ",[45,2570,2571],{},"nosuid",[45,2573,2574],{},"nodev"," (редко).",[35,2577,2578,2579,2582,2583,891],{},"У файла установлен immutable флаг (",[45,2580,2581],{},"chattr +i файл","). Снимите его: ",[45,2584,2585],{},"sudo chattr -i файл",[35,2587,2588,2591],{},[377,2589,2590],{},"ACL не применяются:",[32,2592,2593,2599],{},[35,2594,2595,2596,891],{},"Файловая система не поддерживает ACL (см. Шаг 4). Нужно перемонтировать с опцией ",[45,2597,2598],{},"acl",[35,2600,2601,2602,2604,2605,2608],{},"Вы не использовали ",[45,2603,51],{}," для ",[45,2606,2607],{},"setfacl"," (требуется для изменения ACL чужих файлов).",[35,2610,2611,2617],{},[377,2612,2613,2614,2616],{},"Изменения ",[45,2615,1509],{}," не влияют на доступ:",[32,2618,2619,2622],{},[35,2620,2621],{},"Вы пытаетесь изменить права на файл, который находится на смонтированном сетевом ресурсе (NFS, Samba). Права могут управляться на стороне сервера.",[35,2623,2624,2625,891],{},"Вы являетесь не владельцем файла и у вас нет ",[45,2626,51],{},[35,2628,2629,2636],{},[377,2630,2631,2632,2635],{},"После ",[45,2633,2634],{},"chmod 777"," доступ все равно запрещен:",[32,2637,2638],{},[35,2639,2640,2641,2644],{},"Проверьте SELinux/AppArmor. Они могут блокировать доступ независимо от стандартных прав. Временно отключите для диагностики (не в продакшене!): ",[45,2642,2643],{},"sudo setenforce 0"," (SELinux).",[1057,2646,2647],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":80,"searchDepth":94,"depth":94,"links":2649},[2650,2651,2652,2653,2654,2658,2659,2664,2665],{"id":1478,"depth":94,"text":1479},{"id":1485,"depth":94,"text":1486},{"id":1516,"depth":94,"text":1517},{"id":1678,"depth":94,"text":1679},{"id":1817,"depth":94,"text":1818,"children":2655},[2656,2657],{"id":1831,"depth":139,"text":1832},{"id":1991,"depth":139,"text":1992},{"id":2114,"depth":94,"text":2115},{"id":2266,"depth":94,"text":2267,"children":2660},[2661,2662,2663],{"id":2273,"depth":139,"text":2274},{"id":2351,"depth":139,"text":2352},{"id":2435,"depth":139,"text":2436},{"id":869,"depth":94,"text":870},{"id":937,"depth":94,"text":938},"2026-02-16 14:14:51","Узнайте, как управлять правами доступа к файлам и папкам в Linux. Пошаговая инструкция по командам chmod, chown и setfacl с примерами. Настройте безопасность своей системы за 15 минут.","medium","15-30 минут",[2671,2674,2677,2680],{"question":2672,"answer":2673},"В чем разница между chmod 755 и 777?","755 (rwxr-xr-x) дает полные права владельцу и только чтение/выполнение группе и остальным. 777 (rwxrwxrwx) дает полные права всем, что небезопасно и может привести к компрометации системы.",{"question":2675,"answer":2676},"Как рекурсивно изменить права на всю папку с файлами?","Используйте опцию -R: `chmod -R 755 папка/` или `chown -R пользователь:группа папка/`. Будьте осторожны: это изменит права на все вложенные файлы и папки.",{"question":2678,"answer":2679},"Что такое sticky bit и setgid?","Sticky bit (t в правах, например drwxrwxrwt) запрещает удаление файлов в папке другим пользователем, даже если у них есть права записи. Setgid (s в группе) заставляет новые файлы в папке наследовать группу папки, а не группу создателя.",{"question":2681,"answer":2682},"Как проверить, включена ли поддержка ACL в файловой системе?","Используйте `mount | grep acl`. Если в опциях монтирования вашего раздела нет `acl`, его нужно добавить в /etc/fstab и перемонтировать. Для ext4 ACL включены по умолчанию.",[2684,2687,2690,2693,2696],{"name":2685,"text":2686},"Анализ текущих прав","Используйте команду `ls -l`, чтобы увидеть текущие права доступа, владельца и группу файла.",{"name":2688,"text":2689},"Изменение владельца и группы","Примените команду `chown` для смены владельца и/или группы файла или папки.",{"name":2691,"text":2692},"Настройка прав доступа через chmod","Используйте `chmod` в числовом или символьном формате, чтобы задать права для владельца, группы и остальных.",{"name":2694,"text":2695},"Работа с расширенными ACL","Для детального управления доступом отдельных пользователей и групп используйте `setfacl` и `getfacl`.",{"name":2697,"text":2698},"Практические примеры","Примените полученные знания на реальных примерах: настройка скриптов, общих папок и защищенных файлов.","PT20M",[2701,2702,2703,2704,2705,2706,2707,2708,2709],"права доступа linux","команда chmod","chown linux примеры","setfacl linux","как изменить права на файл","755 777 права linux","владелец группа файла linux","управление доступом linux","linux file permissions explained",{},[2712,2713,2714],"/guides/linux/linux-commands-basics","/guides/linux/linux-user-management","/errors/linux/permission-denied",{"title":1468,"description":2667},"guides/linux/linux-file-permissions","Этот гайд подробно объясняет систему прав доступа в Linux. Вы научитесь изменять владельца, группу и права доступа, а также использовать расширенные ACL для тонкого контроля.",[1162,2719,1509,1505,2607,2720,2721],"permissions","права доступа","управление файлами","bOYgbmjbsMBTE2P1OVWSdkJHx68JUA9ka1W3l1Vub9s",{"id":2724,"title":2725,"appliesTo":2726,"author":11,"body":2732,"canonical":1107,"code":1107,"createdAt":3838,"description":3839,"difficulty":2668,"draft":1111,"estimatedTime":1112,"extension":1113,"faq":3840,"howToSteps":3853,"howToTotalTime":1146,"image":1107,"keywords":3869,"locale":1158,"meta":3879,"navigation":1160,"path":1165,"platform":1162,"related":3880,"section":1167,"seo":3884,"severity":1107,"stem":3885,"summary":3886,"tags":3887,"twitterCreator":1107,"twitterSite":1107,"type":1178,"updatedAt":3838,"__hash__":3893},"content_ru/guides/linux/linux-process-management.md","Управление процессами в Linux: ps, kill, systemd и journalctl",[2727,2728,2729,2730,2731],"Ubuntu 22.04+","Debian 11+","CentOS 8+/RHEL 8+","Fedora 35+","Linux с systemd",{"type":13,"value":2733,"toc":3797},[2734,2736,2751,2753,2808,2810,2814,2820,2825,2837,2840,2869,2878,2896,2905,2936,2945,2955,2969,2985,2989,2996,3019,3023,3108,3112,3117,3123,3196,3204,3207,3224,3230,3234,3244,3248,3369,3373,3376,3387,3414,3423,3431,3446,3449,3451,3592,3594,3602,3626,3633,3672,3679,3752,3759,3794],[16,2735,1479],{"id":1478},[21,2737,2738,2739,1035,2741,2743,2744,2747,2748,891],{},"Управление процессами — одна из ключевых задач системного администратора и разработчика в Linux. Понимание того, как находить, анализировать, завершать и контролировать службы, позволяет быстро диагностировать проблемы с производительностью, высвобождать ресурсы и обеспечивать стабильную работу системы. Этот гайд покрывает как базовые команды (",[45,2740,541],{},[45,2742,617],{},"), так и современный подход через ",[45,2745,2746],{},"systemd"," и анализ логов ",[45,2749,2750],{},"journalctl",[16,2752,1486],{"id":1485},[875,2754,2755,2769,2798],{},[35,2756,2757,2760,2761,1035,2764,2766,2767,891],{},[377,2758,2759],{},"Доступ к терминалу"," с правами обычного пользователя. Для завершения чужих процессов и управления службами (",[45,2762,2763],{},"systemctl",[45,2765,617],{}," на чужие PID) потребуются права ",[377,2768,51],{},[35,2770,2771,2774,2775,2778,2779,1035,2781,2783,2784,2778,2787,2783,2790,2792,2793,2783,2795,2797],{},[377,2772,2773],{},"Установленные базовые утилиты",": ",[45,2776,2777],{},"procps"," (содержит ",[45,2780,541],{},[45,2782,553],{},"), ",[45,2785,2786],{},"sysstat",[45,2788,2789],{},"pidstat",[45,2791,556],{}," (опционально, более удобная альтернатива ",[45,2794,553],{},[45,2796,2746],{}," (стандарт для большинства современных дистрибутивов).",[35,2799,2800,2803,2804,48,2806,891],{},[377,2801,2802],{},"Знание PID (Process ID)"," — уникального идентификатора процесса. Его можно получить через ",[45,2805,541],{},[45,2807,553],{},[407,2809],{},[16,2811,2813],{"id":2812},"шаг-1-поиск-и-мониторинг-активных-процессов","Шаг 1: Поиск и мониторинг активных процессов",[61,2815,2817,2818],{"id":2816},"статический-просмотр-ps-aux","Статический просмотр: ",[45,2819,547],{},[21,2821,70,2822,2824],{},[45,2823,547],{}," выводит полный список всех процессов, запущенных всеми пользователями.",[75,2826,2828],{"className":77,"code":2827,"language":79,"meta":80,"style":80},"ps aux\n",[45,2829,2830],{"__ignoreMap":80},[84,2831,2832,2834],{"class":86,"line":87},[84,2833,541],{"class":180},[84,2835,2836],{"class":122}," aux\n",[21,2838,2839],{},"Ключевые колонки:",[32,2841,2842,2848,2854,2863],{},[35,2843,2844,2847],{},[45,2845,2846],{},"USER"," — владелец процесса.",[35,2849,2850,2853],{},[45,2851,2852],{},"PID"," — идентификатор процесса (главное для управления).",[35,2855,2856,1035,2859,2862],{},[45,2857,2858],{},"%CPU",[45,2860,2861],{},"%MEM"," — использование ресурсов.",[35,2864,2865,2868],{},[45,2866,2867],{},"COMMAND"," — команда, запустившая процесс.",[21,2870,2871,2874,2875,2877],{},[377,2872,2873],{},"Фильтрация",": Используйте ",[45,2876,758],{}," для поиска по имени.",[75,2879,2881],{"className":77,"code":2880,"language":79,"meta":80,"style":80},"ps aux | grep nginx\n",[45,2882,2883],{"__ignoreMap":80},[84,2884,2885,2887,2889,2891,2893],{"class":86,"line":87},[84,2886,541],{"class":180},[84,2888,569],{"class":122},[84,2890,573],{"class":572},[84,2892,576],{"class":180},[84,2894,2895],{"class":122}," nginx\n",[61,2897,2899,2900,2902,2903],{"id":2898},"интерактивный-мониторинг-top-и-htop","Интерактивный мониторинг: ",[45,2901,553],{}," и ",[45,2904,556],{},[32,2906,2907,2919],{},[35,2908,2909,2911,2912,2914,2915,2918],{},[45,2910,553],{}," — стандартная утилита. Нажмите ",[45,2913,439],{}," для выхода, ",[45,2916,2917],{},"k"," для завершения процесса (запросит PID).",[35,2920,2921,2923,2924,2927,2928,2931,2932,2935],{},[45,2922,556],{}," — улучшенная версия с цветами, удобным интерфейсом и возможностью завершения процесса через ",[45,2925,2926],{},"F9",". Установка: ",[45,2929,2930],{},"sudo apt install htop"," (Debian/Ubuntu) или ",[45,2933,2934],{},"sudo yum install htop"," (RHEL/CentOS).",[75,2937,2939],{"className":77,"code":2938,"language":79,"meta":80,"style":80},"htop\n",[45,2940,2941],{"__ignoreMap":80},[84,2942,2943],{"class":86,"line":87},[84,2944,2938],{"class":180},[61,2946,2948,2949,2902,2952],{"id":2947},"поиск-по-pid-или-имени-pgrep-и-pidof","Поиск по PID или имени: ",[45,2950,2951],{},"pgrep",[45,2953,2954],{},"pidof",[32,2956,2957,2963],{},[35,2958,2959,2962],{},[45,2960,2961],{},"pgrep \u003Cимя_процесса>"," — вернет PID всех процессов, чье имя совпадает.",[35,2964,2965,2968],{},[45,2966,2967],{},"pidof \u003Cимя_процесса>"," — похоже, но менее гибко.",[75,2970,2972],{"className":77,"code":2971,"language":79,"meta":80,"style":80},"pgrep -l nginx  # Покажет PID и имя\n",[45,2973,2974],{"__ignoreMap":80},[84,2975,2976,2978,2980,2982],{"class":86,"line":87},[84,2977,2951],{"class":180},[84,2979,190],{"class":90},[84,2981,579],{"class":122},[84,2983,2984],{"class":97},"  # Покажет PID и имя\n",[16,2986,2988],{"id":2987},"шаг-2-завершение-процессов-сигналы","Шаг 2: Завершение процессов (сигналы)",[21,2990,2991,2992,2995],{},"Процессы завершаются посылкой ",[377,2993,2994],{},"сигналов",". Главные:",[32,2997,2998,3007,3013],{},[35,2999,3000,3003,3004],{},[377,3001,3002],{},"SIGTERM (15)"," — вежливая просьба завершиться. Процесс может обработать сигнал, завершить операции и выйти. ",[377,3005,3006],{},"Рекомендуемый первый вариант.",[35,3008,3009,3012],{},[377,3010,3011],{},"SIGKILL (9)"," — принудительное завершение. Ядро немедленно убивает процесс. Нельзя проигнорировать или обработать. Используйте, если SIGTERM не помог.",[35,3014,3015,3018],{},[377,3016,3017],{},"SIGHUP (1)"," — перезагрузка. Часто используется для служб, чтобы перечитать конфигурацию без полной остановки.",[61,3020,3022],{"id":3021},"команды-для-отправки-сигналов","Команды для отправки сигналов",[875,3024,3025,3043,3065,3082],{},[35,3026,3027,3030,3031],{},[45,3028,3029],{},"kill \u003CPID>"," — отправляет SIGTERM (15) по умолчанию.\n",[75,3032,3034],{"className":77,"code":3033,"language":79,"meta":80,"style":80},"kill 1234\n",[45,3035,3036],{"__ignoreMap":80},[84,3037,3038,3040],{"class":86,"line":87},[84,3039,617],{"class":90},[84,3041,3042],{"class":90}," 1234\n",[35,3044,3045,48,3048,3051,3052],{},[45,3046,3047],{},"kill -s SIGKILL \u003CPID>",[45,3049,3050],{},"kill -9 \u003CPID>"," — отправляет SIGKILL.\n",[75,3053,3055],{"className":77,"code":3054,"language":79,"meta":80,"style":80},"kill -9 1234\n",[45,3056,3057],{"__ignoreMap":80},[84,3058,3059,3061,3063],{"class":86,"line":87},[84,3060,617],{"class":90},[84,3062,630],{"class":90},[84,3064,3042],{"class":90},[35,3066,3067,3070,3071],{},[45,3068,3069],{},"pkill \u003Cимя_процесса>"," — завершает все процессы по имени (отправляет SIGTERM).\n",[75,3072,3074],{"className":77,"code":3073,"language":79,"meta":80,"style":80},"pkill nginx\n",[45,3075,3076],{"__ignoreMap":80},[84,3077,3078,3080],{"class":86,"line":87},[84,3079,640],{"class":180},[84,3081,2895],{"class":122},[35,3083,3084,3087,3088,3090,3091],{},[45,3085,3086],{},"killall \u003Cимя_процесса>"," — похоже на ",[45,3089,640],{},", но точнее совпадает с именем команды.\n",[75,3092,3094],{"className":77,"code":3093,"language":79,"meta":80,"style":80},"killall -9 nginx  # Принудительно все nginx\n",[45,3095,3096],{"__ignoreMap":80},[84,3097,3098,3101,3103,3105],{"class":86,"line":87},[84,3099,3100],{"class":180},"killall",[84,3102,630],{"class":90},[84,3104,579],{"class":122},[84,3106,3107],{"class":97},"  # Принудительно все nginx\n",[16,3109,3111],{"id":3110},"шаг-3-управление-службами-systemd","Шаг 3: Управление службами systemd",[21,3113,3114,3115,891],{},"В современных Linux (Ubuntu 16.04+, CentOS 7+, Fedora) основная работа с долгоживущими процессами (демонами) ведется через ",[377,3116,2746],{},[61,3118,3120,3121],{"id":3119},"основные-команды-systemctl","Основные команды ",[45,3122,2763],{},[32,3124,3125,3145,3168,3190],{},[35,3126,3127,3130,3131],{},[45,3128,3129],{},"systemctl status \u003Cслужба>"," — подробный статус, последние логи.\n",[75,3132,3134],{"className":77,"code":3133,"language":79,"meta":80,"style":80},"systemctl status nginx\n",[45,3135,3136],{"__ignoreMap":80},[84,3137,3138,3140,3143],{"class":86,"line":87},[84,3139,2763],{"class":180},[84,3141,3142],{"class":122}," status",[84,3144,2895],{"class":122},[35,3146,3147,3150,3151],{},[45,3148,3149],{},"sudo systemctl start/stop/restart \u003Cслужба>"," — управление состоянием.\n",[75,3152,3154],{"className":77,"code":3153,"language":79,"meta":80,"style":80},"sudo systemctl restart nginx\n",[45,3155,3156],{"__ignoreMap":80},[84,3157,3158,3160,3163,3166],{"class":86,"line":87},[84,3159,51],{"class":180},[84,3161,3162],{"class":122}," systemctl",[84,3164,3165],{"class":122}," restart",[84,3167,2895],{"class":122},[35,3169,3170,3173,3174],{},[45,3171,3172],{},"sudo systemctl enable/disable \u003Cслужба>"," — включить/отключить автозапуск при загрузке.\n",[75,3175,3177],{"className":77,"code":3176,"language":79,"meta":80,"style":80},"sudo systemctl enable nginx\n",[45,3178,3179],{"__ignoreMap":80},[84,3180,3181,3183,3185,3188],{"class":86,"line":87},[84,3182,51],{"class":180},[84,3184,3162],{"class":122},[84,3186,3187],{"class":122}," enable",[84,3189,2895],{"class":122},[35,3191,3192,3195],{},[45,3193,3194],{},"systemctl list-units --type=service --state=running"," — список всех запущенных служб.",[61,3197,3199,3200,3203],{"id":3198},"управление-через-service-устаревший-но-совместимый","Управление через ",[45,3201,3202],{},"service"," (устаревший, но совместимый)",[21,3205,3206],{},"На некоторых старых системах (или для совместимости) можно использовать:",[75,3208,3210],{"className":77,"code":3209,"language":79,"meta":80,"style":80},"sudo service nginx restart\n",[45,3211,3212],{"__ignoreMap":80},[84,3213,3214,3216,3219,3221],{"class":86,"line":87},[84,3215,51],{"class":180},[84,3217,3218],{"class":122}," service",[84,3220,579],{"class":122},[84,3222,3223],{"class":122}," restart\n",[21,3225,3226,3227,3229],{},"Но ",[45,3228,2763],{}," — предпочтительный и более мощный инструмент.",[16,3231,3233],{"id":3232},"шаг-4-просмотр-логов-служб-с-помощью-journalctl","Шаг 4: Просмотр логов служб с помощью journalctl",[21,3235,3236,3237,3240,3241,3243],{},"Логи systemd собираются в ",[377,3238,3239],{},"journal",". Утилита ",[45,3242,2750],{}," — основной инструмент для их чтения.",[61,3245,3247],{"id":3246},"основые-сценарии","Основые сценарии",[32,3249,3250,3277,3303,3325,3349],{},[35,3251,3252,3255,3256],{},[377,3253,3254],{},"Логи конкретной службы",":\n",[75,3257,3259],{"className":77,"code":3258,"language":79,"meta":80,"style":80},"journalctl -u nginx.service --since \"1 hour ago\"\n",[45,3260,3261],{"__ignoreMap":80},[84,3262,3263,3265,3268,3271,3274],{"class":86,"line":87},[84,3264,2750],{"class":180},[84,3266,3267],{"class":90}," -u",[84,3269,3270],{"class":122}," nginx.service",[84,3272,3273],{"class":90}," --since",[84,3275,3276],{"class":122}," \"1 hour ago\"\n",[35,3278,3279,3282,3283,3286,3287],{},[377,3280,3281],{},"Отслеживание в реальном времени"," (аналог ",[45,3284,3285],{},"tail -f","):\n",[75,3288,3290],{"className":77,"code":3289,"language":79,"meta":80,"style":80},"journalctl -u nginx.service -f\n",[45,3291,3292],{"__ignoreMap":80},[84,3293,3294,3296,3298,3300],{"class":86,"line":87},[84,3295,2750],{"class":180},[84,3297,3267],{"class":90},[84,3299,3270],{"class":122},[84,3301,3302],{"class":90}," -f\n",[35,3304,3305,3255,3308],{},[377,3306,3307],{},"Логи с момента последней загрузки",[75,3309,3311],{"className":77,"code":3310,"language":79,"meta":80,"style":80},"journalctl -b -u nginx.service\n",[45,3312,3313],{"__ignoreMap":80},[84,3314,3315,3317,3320,3322],{"class":86,"line":87},[84,3316,2750],{"class":180},[84,3318,3319],{"class":90}," -b",[84,3321,3267],{"class":90},[84,3323,3324],{"class":122}," nginx.service\n",[35,3326,3327,3330,3331],{},[377,3328,3329],{},"Фильтрация по приоритету"," (например, только ошибки):\n",[75,3332,3334],{"className":77,"code":3333,"language":79,"meta":80,"style":80},"journalctl -u nginx.service -p err\n",[45,3335,3336],{"__ignoreMap":80},[84,3337,3338,3340,3342,3344,3346],{"class":86,"line":87},[84,3339,2750],{"class":180},[84,3341,3267],{"class":90},[84,3343,3270],{"class":122},[84,3345,272],{"class":90},[84,3347,3348],{"class":122}," err\n",[35,3350,3351,3255,3354],{},[377,3352,3353],{},"Показать логи определенного PID",[75,3355,3357],{"className":77,"code":3356,"language":79,"meta":80,"style":80},"journalctl _PID=1234\n",[45,3358,3359],{"__ignoreMap":80},[84,3360,3361,3363,3366],{"class":86,"line":87},[84,3362,2750],{"class":180},[84,3364,3365],{"class":122}," _PID=",[84,3367,3368],{"class":90},"1234\n",[16,3370,3372],{"id":3371},"шаг-5-поиск-процессов-по-портам-и-файлам","Шаг 5: Поиск процессов по портам и файлам",[21,3374,3375],{},"Иногда нужно найти, какой процесс использует конкретный сетевой порт или файл.",[61,3377,3379,3380,3383,3384],{"id":3378},"по-порту-ss-рекомендуется-или-netstat","По порту: ",[45,3381,3382],{},"ss"," (рекомендуется) или ",[45,3385,3386],{},"netstat",[75,3388,3390],{"className":77,"code":3389,"language":79,"meta":80,"style":80},"sudo ss -tulpn | grep :80\n# -t: TCP, -u: UDP, -l: listening, -p: show process, -n: numeric\n",[45,3391,3392,3409],{"__ignoreMap":80},[84,3393,3394,3396,3399,3402,3404,3406],{"class":86,"line":87},[84,3395,51],{"class":180},[84,3397,3398],{"class":122}," ss",[84,3400,3401],{"class":90}," -tulpn",[84,3403,573],{"class":572},[84,3405,576],{"class":180},[84,3407,3408],{"class":122}," :80\n",[84,3410,3411],{"class":86,"line":94},[84,3412,3413],{"class":97},"# -t: TCP, -u: UDP, -l: listening, -p: show process, -n: numeric\n",[21,3415,3416,3417,2902,3420,891],{},"Вывод покажет ",[45,3418,3419],{},"pid",[45,3421,3422],{},"process name",[61,3424,3426,3427,3430],{"id":3425},"по-файлу-lsof-list-open-files","По файлу: ",[45,3428,3429],{},"lsof"," (List Open Files)",[75,3432,3434],{"className":77,"code":3433,"language":79,"meta":80,"style":80},"sudo lsof /var/log/nginx/access.log\n",[45,3435,3436],{"__ignoreMap":80},[84,3437,3438,3440,3443],{"class":86,"line":87},[84,3439,51],{"class":180},[84,3441,3442],{"class":122}," lsof",[84,3444,3445],{"class":122}," /var/log/nginx/access.log\n",[21,3447,3448],{},"Покажет все процессы, которые имеют открытым данный файл (чтение/запись).",[16,3450,870],{"id":869},[875,3452,3453,3490,3539],{},[35,3454,3455,3458,3459,48,3461,1050,3463],{},[377,3456,3457],{},"После завершения процесса",": Убедитесь, что PID больше не отображается в ",[45,3460,547],{},[45,3462,553],{},[75,3464,3466],{"className":77,"code":3465,"language":79,"meta":80,"style":80},"ps aux | grep \u003Cимя_процесса>\n",[45,3467,3468],{"__ignoreMap":80},[84,3469,3470,3472,3474,3476,3478,3481,3484,3487],{"class":86,"line":87},[84,3471,541],{"class":180},[84,3473,569],{"class":122},[84,3475,573],{"class":572},[84,3477,576],{"class":180},[84,3479,3480],{"class":572}," \u003C",[84,3482,3483],{"class":122},"имя_процесс",[84,3485,3486],{"class":1704},"а",[84,3488,3489],{"class":572},">\n",[35,3491,3492,3495,3496],{},[377,3493,3494],{},"После управления службой systemd",": Проверьте статус.\n",[75,3497,3499],{"className":77,"code":3498,"language":79,"meta":80,"style":80},"systemctl is-active \u003Cслужба>  # Должен вернуть 'active'\nsystemctl is-enabled \u003Cслужба> # Должен вернуть 'enabled' (если включали)\n",[45,3500,3501,3521],{"__ignoreMap":80},[84,3502,3503,3505,3508,3510,3513,3515,3518],{"class":86,"line":87},[84,3504,2763],{"class":180},[84,3506,3507],{"class":122}," is-active",[84,3509,3480],{"class":572},[84,3511,3512],{"class":122},"служб",[84,3514,3486],{"class":1704},[84,3516,3517],{"class":572},">",[84,3519,3520],{"class":97},"  # Должен вернуть 'active'\n",[84,3522,3523,3525,3528,3530,3532,3534,3536],{"class":86,"line":94},[84,3524,2763],{"class":180},[84,3526,3527],{"class":122}," is-enabled",[84,3529,3480],{"class":572},[84,3531,3512],{"class":122},[84,3533,3486],{"class":1704},[84,3535,3517],{"class":572},[84,3537,3538],{"class":97}," # Должен вернуть 'enabled' (если включали)\n",[35,3540,3541,3544,3545],{},[377,3542,3543],{},"После изменения конфигурации",": Перезагрузите службу и проверьте логи на ошибки.\n",[75,3546,3548],{"className":77,"code":3547,"language":79,"meta":80,"style":80},"sudo systemctl restart \u003Cслужба>\njournalctl -u \u003Cслужба>.service -n 50 --no-pager\n",[45,3549,3550,3566],{"__ignoreMap":80},[84,3551,3552,3554,3556,3558,3560,3562,3564],{"class":86,"line":87},[84,3553,51],{"class":180},[84,3555,3162],{"class":122},[84,3557,3165],{"class":122},[84,3559,3480],{"class":572},[84,3561,3512],{"class":122},[84,3563,3486],{"class":1704},[84,3565,3489],{"class":572},[84,3567,3568,3570,3572,3574,3576,3578,3580,3583,3586,3589],{"class":86,"line":94},[84,3569,2750],{"class":180},[84,3571,3267],{"class":90},[84,3573,3480],{"class":572},[84,3575,3512],{"class":122},[84,3577,3486],{"class":1704},[84,3579,3517],{"class":572},[84,3581,3582],{"class":122},".service",[84,3584,3585],{"class":90}," -n",[84,3587,3588],{"class":90}," 50",[84,3590,3591],{"class":90}," --no-pager\n",[16,3593,938],{"id":937},[61,3595,3597,3598,48,3600],{"id":3596},"_1-operation-not-permitted-при-kill-или-systemctl","1. \"Operation not permitted\" при ",[45,3599,617],{},[45,3601,2763],{},[32,3603,3604,3615],{},[35,3605,3606,3609,3610,3612,3613,891],{},[377,3607,3608],{},"Причина",": Вы пытаетесь завершить процесс, принадлежащий другому пользователю (обычно ",[45,3611,1183],{},"), без прав ",[45,3614,51],{},[35,3616,3617,2874,3620,48,3623,891],{},[377,3618,3619],{},"Решение",[45,3621,3622],{},"sudo kill \u003CPID>",[45,3624,3625],{},"sudo systemctl ...",[61,3627,3629,3630],{"id":3628},"_2-процесс-не-завершается-даже-после-kill-9","2. Процесс не завершается даже после ",[45,3631,3632],{},"kill -9",[32,3634,3635,3652],{},[35,3636,3637,3639,3640,48,3646,891],{},[377,3638,3608],{},": Процесс может находиться в состоянии ",[377,3641,3642,3645],{},[45,3643,3644],{},"Z"," (zombie)",[377,3647,3648,3651],{},[45,3649,3650],{},"D"," (uninterruptible sleep, обычно ожидание I/O)",[35,3653,3654,3255,3656],{},[377,3655,3619],{},[32,3657,3658,3664],{},[35,3659,3660,3663],{},[377,3661,3662],{},"Zombie",": Это уже завершенный процесс, ожидающий родителя, который прочитает его статус. Нельзя убить, нужно перезапустить родительский процесс.",[35,3665,3666,3671],{},[377,3667,3668,3669],{},"Состояние ",[45,3670,3650],{},": Часто вызвано проблемами с NFS или \"зависшим\" драйвером оборудования. Единственный выход — перезагрузка системы или устранение причины зависания I/O.",[61,3673,3675,3676],{"id":3674},"_3-служба-systemd-не-запускается-после-start","3. Служба systemd не запускается после ",[45,3677,3678],{},"start",[32,3680,3681,3689],{},[35,3682,3683,3685,3686,3688],{},[377,3684,3608],{},": Ошибка в конфигурационном файле службы (",[45,3687,3582],{},") или в самом приложении.",[35,3690,3691,3693,3694,1050,3697,3745,3746,48,3749,891],{},[377,3692,3619],{},": Смотрите логи ",[377,3695,3696],{},"сразу после попытки запуска",[75,3698,3700],{"className":77,"code":3699,"language":79,"meta":80,"style":80},"sudo systemctl start \u003Cслужба>\njournalctl -u \u003Cслужба>.service -n 50 --no-pager  # Покажет последние 50 строк\n",[45,3701,3702,3719],{"__ignoreMap":80},[84,3703,3704,3706,3708,3711,3713,3715,3717],{"class":86,"line":87},[84,3705,51],{"class":180},[84,3707,3162],{"class":122},[84,3709,3710],{"class":122}," start",[84,3712,3480],{"class":572},[84,3714,3512],{"class":122},[84,3716,3486],{"class":1704},[84,3718,3489],{"class":572},[84,3720,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3742],{"class":86,"line":94},[84,3722,2750],{"class":180},[84,3724,3267],{"class":90},[84,3726,3480],{"class":572},[84,3728,3512],{"class":122},[84,3730,3486],{"class":1704},[84,3732,3517],{"class":572},[84,3734,3582],{"class":122},[84,3736,3585],{"class":90},[84,3738,3588],{"class":90},[84,3740,3741],{"class":90}," --no-pager",[84,3743,3744],{"class":97},"  # Покажет последние 50 строк\n","\nИщите строки с ",[45,3747,3748],{},"Failed",[45,3750,3751],{},"Error",[61,3753,3755,3756,3758],{"id":3754},"_4-journalctl-показывает-no-journal-files-were-found","4. ",[45,3757,2750],{}," показывает \"No journal files were found\"",[32,3760,3761,3773],{},[35,3762,3763,3765,3766,3769,3770,891],{},[377,3764,3608],{},": Journaling отключен или логи очищены. Иногда это происходит в минималистичных контейнерах (Docker) или если в ",[45,3767,3768],{},"/etc/systemd/journald.conf"," стоит ",[45,3771,3772],{},"Storage=none",[35,3774,3775,3777,3778,3781,3782,3785,3786,3789,3790,3793],{},[377,3776,3619],{},": Проверьте конфиг ",[45,3779,3780],{},"sudo cat /etc/systemd/journald.conf",". Для включения постоянного хранения раскомментируйте ",[45,3783,3784],{},"Storage=auto"," (или ",[45,3787,3788],{},"persistent",") и перезапустите ",[45,3791,3792],{},"sudo systemctl restart systemd-journald",". Если нужно сохранить логи, настройте ротацию.",[1057,3795,3796],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":80,"searchDepth":94,"depth":94,"links":3798},[3799,3800,3801,3809,3812,3818,3821,3827,3828],{"id":1478,"depth":94,"text":1479},{"id":1485,"depth":94,"text":1486},{"id":2812,"depth":94,"text":2813,"children":3802},[3803,3805,3807],{"id":2816,"depth":139,"text":3804},"Статический просмотр: ps aux",{"id":2898,"depth":139,"text":3806},"Интерактивный мониторинг: top и htop",{"id":2947,"depth":139,"text":3808},"Поиск по PID или имени: pgrep и pidof",{"id":2987,"depth":94,"text":2988,"children":3810},[3811],{"id":3021,"depth":139,"text":3022},{"id":3110,"depth":94,"text":3111,"children":3813},[3814,3816],{"id":3119,"depth":139,"text":3815},"Основные команды systemctl",{"id":3198,"depth":139,"text":3817},"Управление через service (устаревший, но совместимый)",{"id":3232,"depth":94,"text":3233,"children":3819},[3820],{"id":3246,"depth":139,"text":3247},{"id":3371,"depth":94,"text":3372,"children":3822},[3823,3825],{"id":3378,"depth":139,"text":3824},"По порту: ss (рекомендуется) или netstat",{"id":3425,"depth":139,"text":3826},"По файлу: lsof (List Open Files)",{"id":869,"depth":94,"text":870},{"id":937,"depth":94,"text":938,"children":3829},[3830,3832,3834,3836],{"id":3596,"depth":139,"text":3831},"1. \"Operation not permitted\" при kill или systemctl",{"id":3628,"depth":139,"text":3833},"2. Процесс не завершается даже после kill -9",{"id":3674,"depth":139,"text":3835},"3. Служба systemd не запускается после start",{"id":3754,"depth":139,"text":3837},"4. journalctl показывает \"No journal files were found\"","2026-02-15 00:29:10","Полное руководство по управлению процессами в Linux. Узнайте, как находить, завершать и мониторить службы с помощью ps, kill, systemctl и journalctl. Пошаговая инструкция с примерами.",[3841,3844,3847,3850],{"question":3842,"answer":3843},"Как найти PID процесса по имени?","Используйте `pgrep \u003Cимя_процесса>` или `ps aux | grep \u003Cимя_процесса>`. Первый вариант точнее.",{"question":3845,"answer":3846},"В чем разница между SIGTERM (15) и SIGKILL (9)?","SIGTERM (15) — вежливая просьба завершиться, процесс может обработать сигнал и сохранить состояние. SIGKILL (9) — принудительное завершение, процесс не может его игнорировать.",{"question":3848,"answer":3849},"Что делать, если процесс не завершается даже после kill -9?","Возможно, процесс в состоянии 'Z' (zombie) или 'D' (uninterruptible sleep). Zombie нужно дождаться завершения родительского процесса. Состояние 'D' часто связано с проблемами с NFS или драйверами.",{"question":3851,"answer":3852},"Как посмотреть, какая служба использует порт 80?","Используйте `sudo ss -tulpn | grep :80` или `sudo lsof -i :80`. Покажет PID и имя процесса.",[3854,3857,3860,3863,3866],{"name":3855,"text":3856},"Поиск активных процессов (ps, top, htop)","Используйте команды `ps aux` для статического снимка и `top`/`htop` для интерактивного мониторинга. `htop` предоставляет цветной интерфейс и удобное управление.",{"name":3858,"text":3859},"Завершение процесса по PID или имени (kill, pkill)","Отправьте сигнал SIGTERM (15) через `kill \u003CPID>` или `pkill \u003Cимя>`. Для принудительного завершения используйте `kill -9 \u003CPID>`.",{"name":3861,"text":3862},"Управление службами systemd (systemctl)","Для служб, управляемых systemd, используйте `systemctl status \u003Cслужба>`, `sudo systemctl stop/start/restart \u003Cслужба>` и `sudo systemctl enable/disable \u003Cслужба>`.",{"name":3864,"text":3865},"Анализ логов служб (journalctl)","Просматривайте логи systemd через `journalctl -u \u003Cслужба> --since \"1 hour ago\"`. Для реального отслеживания добавьте `-f`.",{"name":3867,"text":3868},"Поиск процессов по порту или файлу (ss, lsof)","Найдите процесс, слушающий порт: `sudo ss -tulpn | grep :\u003Cпорт>`. Найдите, какой процесс использует файл: `sudo lsof /путь/к/файлу`.",[3870,3871,3872,3873,3874,3875,3876,3877,3878],"управление процессами linux","как завершить процесс в linux","systemd status команда","journalctl посмотреть логи службы","ps aux что показывает","kill -9 сигнал","systemctl restart служба","zombie процесс linux","daemon управление",{},[3881,3882,3883],"/guides/linux/systemd-service-creation","/guides/linux/journalctl-troubleshooting","/errors/linux/systemd-failed-to-start",{"title":2725,"description":3839},"guides/linux/linux-process-management","В этом гайде вы научитесь эффективно управлять процессами и службами в Linux: от базовых команд ps и kill до работы с systemd и анализа логов через journalctl.",[3888,2746,3889,3890,3891,79,3892],"процессы","sysadmin","daemons","monitoring","terminal","r88nKixAr1YC_PbXSj0n5OH3efHv9HNtjve94WYFKxE",{"id":3895,"title":3896,"appliesTo":3897,"author":1107,"body":3900,"canonical":1107,"code":1107,"createdAt":1107,"description":4710,"difficulty":1110,"draft":1111,"estimatedTime":4711,"extension":1113,"faq":4712,"howToSteps":4725,"howToTotalTime":2699,"image":1107,"keywords":4741,"locale":1158,"meta":4751,"navigation":1160,"path":1166,"platform":1162,"related":4752,"section":1167,"seo":4756,"severity":1107,"stem":4757,"summary":4758,"tags":4759,"twitterCreator":1107,"twitterSite":1107,"type":1178,"updatedAt":1107,"__hash__":4762},"content_ru/guides/linux/vim-basics.md","Vim для начинающих: освойте редактор за 20 минут",[2727,2728,3898,3899],"CentOS 8+","Любой дистрибутив Linux с установленным Vim",{"type":13,"value":3901,"toc":4696},[3902,3904,3907,3909,3953,3957,3961,3968,3980,3983,3995,3998,4018,4028,4032,4035,4087,4102,4107,4142,4152,4156,4162,4242,4246,4282,4286,4291,4373,4377,4388,4453,4455,4511,4514,4516,4602,4604,4608,4611,4679,4693],[16,3903,1479],{"id":1478},[21,3905,3906],{},"Vim — это мощный, консольный текстовый редактор, который предустановлен практически в любой системе Linux. Его изучение — критически важный навык для системного администратора, разработчика и любого, кто работает с серверами через SSH. Даже если вы предпочитаете графические редакторы, знание Vim спасает, когда графический интерфейс недоступен. Этот гайд даст вам прочный фундамент: вы перестанете бояться Vim и сможете комфортно редактировать конфиги, скрипты и текстовые файлы прямо в терминале.",[16,3908,1486],{"id":1485},[875,3910,3911,3917,3926],{},[35,3912,3913,3916],{},[377,3914,3915],{},"Система:"," Любой дистрибутив Linux (Ubuntu, Debian, CentOS, Fedora и т.д.).",[35,3918,3919,3922,3923,3925],{},[377,3920,3921],{},"Доступ:"," Права на запуск терминала и редактирование целевых файлов (может потребоваться ",[45,3924,51],{}," для системных конфигов).",[35,3927,3928,3931,3932],{},[377,3929,3930],{},"Пакет:"," Vim обычно уже установлен. Если нет, установите его:\n",[32,3933,3934,3942],{},[35,3935,3936,2512,3939],{},[377,3937,3938],{},"Debian/Ubuntu:",[45,3940,3941],{},"sudo apt update && sudo apt install vim",[35,3943,3944,2512,3947,48,3950],{},[377,3945,3946],{},"RHEL/CentOS/Fedora:",[45,3948,3949],{},"sudo yum install vim",[45,3951,3952],{},"sudo dnf install vim",[16,3954,3956],{"id":3955},"пошаговая-инструкция","Пошаговая инструкция",[61,3958,3960],{"id":3959},"шаг-1-запуск-vim-и-понимание-интерфейса","Шаг 1: Запуск Vim и понимание интерфейса",[21,3962,3963,3964,3967],{},"Откройте терминал (",[45,3965,3966],{},"Ctrl+Alt+T"," в большинстве дистрибутивов). Для редактирования конкретного файла выполните:",[75,3969,3971],{"className":77,"code":3970,"language":79,"meta":80,"style":80},"vim /путь/к/файлу.conf\n",[45,3972,3973],{"__ignoreMap":80},[84,3974,3975,3977],{"class":86,"line":87},[84,3976,1389],{"class":180},[84,3978,3979],{"class":122}," /путь/к/файлу.conf\n",[21,3981,3982],{},"Для создания нового файла:",[75,3984,3986],{"className":77,"code":3985,"language":79,"meta":80,"style":80},"vim новый_файл.txt\n",[45,3987,3988],{"__ignoreMap":80},[84,3989,3990,3992],{"class":86,"line":87},[84,3991,1389],{"class":180},[84,3993,3994],{"class":122}," новый_файл.txt\n",[21,3996,3997],{},"После запуска вы увидите:",[32,3999,4000,4006,4012],{},[35,4001,4002,4005],{},[377,4003,4004],{},"Титульную строку"," (вверху) — информацию о файле.",[35,4007,4008,4011],{},[377,4009,4010],{},"Основную область"," — содержимое файла (или пустую).",[35,4013,4014,4017],{},[377,4015,4016],{},"Строку состояния"," (внизу) — здесь будут появляться сообщения и команды.",[21,4019,4020,4023,4024,4027],{},[377,4021,4022],{},"Ключевой момент:"," Сразу после запуска вы находитесь в ",[377,4025,4026],{},"нормальном режиме"," (Normal mode). В этом режиме каждая клавиша — это команда для навигации, удаления, копирования и т.д. Вы не можете просто начать печатать текст. Для этого нужно переключиться.",[61,4029,4031],{"id":4030},"шаг-2-основные-движения-курсором-режим-normal","Шаг 2: Основные движения курсором (режим Normal)",[21,4033,4034],{},"Практикуйтесь в этих командах, находясь в нормальном режиме. Не нажимайте другие клавиши, пока не освоите эти.",[1846,4036,4037,4047],{},[1849,4038,4039],{},[1852,4040,4041,4044],{},[1855,4042,4043],{"align":1857},"Команда",[1855,4045,4046],{"align":1857},"Действие",[1863,4048,4049,4059,4069,4078],{},[1852,4050,4051,4056],{},[1868,4052,4053],{"align":1857},[45,4054,4055],{},"h",[1868,4057,4058],{"align":1857},"Влево",[1852,4060,4061,4066],{},[1868,4062,4063],{"align":1857},[45,4064,4065],{},"j",[1868,4067,4068],{"align":1857},"Вниз",[1852,4070,4071,4075],{},[1868,4072,4073],{"align":1857},[45,4074,2917],{},[1868,4076,4077],{"align":1857},"Вверх",[1852,4079,4080,4084],{},[1868,4081,4082],{"align":1857},[45,4083,1598],{},[1868,4085,4086],{"align":1857},"Вправо",[21,4088,4089,4090,4092,4093,4095,4096,4098,4099,4101],{},"Эти четыре клавиши — основа основ. Запомните их: ",[377,4091,4055],{}," — left (лево), ",[377,4094,4065],{}," — down (вниз, как стрелка вниз), ",[377,4097,2917],{}," — up (вверх), ",[377,4100,1598],{}," — right (право).",[21,4103,4104],{},[377,4105,4106],{},"Быстрые перемещения:",[32,4108,4109,4114,4120,4125,4130,4136],{},[35,4110,4111,4113],{},[45,4112,1620],{}," — на начало следующего слова.",[35,4115,4116,4119],{},[45,4117,4118],{},"b"," — на начало предыдущего слова.",[35,4121,4122,4124],{},[45,4123,1870],{}," (ноль) — в самый конец строки.",[35,4126,4127,4129],{},[45,4128,1534],{}," — в самый конец строки.",[35,4131,4132,4135],{},[45,4133,4134],{},"gg"," — в самое начало файла.",[35,4137,4138,4141],{},[45,4139,4140],{},"G"," (Shift+g) — в самый конец файла.",[21,4143,4144,4147,4148,4151],{},[377,4145,4146],{},"💡 Совет:"," Если вы нажали клавишу и что-то не так — просто нажмите ",[45,4149,4150],{},"Esc",", чтобы сбросить любую незавершенную команду и вернуться в чистый нормальный режим.",[61,4153,4155],{"id":4154},"шаг-3-режимы-вставки-insert-и-редактирования","Шаг 3: Режимы вставки (Insert) и редактирования",[21,4157,4158,4159,891],{},"Чтобы начать вводить или редактировать текст, нужно перейти в ",[377,4160,4161],{},"режим вставки",[1846,4163,4164,4176],{},[1849,4165,4166],{},[1852,4167,4168,4170,4173],{},[1855,4169,4043],{"align":1857},[1855,4171,4172],{"align":1857},"Когда использовать",[1855,4174,4175],{"align":1857},"Куда станет курсор",[1863,4177,4178,4194,4209,4228],{},[1852,4179,4180,4185,4191],{},[1868,4181,4182],{"align":1857},[45,4183,4184],{},"i",[1868,4186,4187,4190],{"align":1857},[377,4188,4189],{},"I","nsert (вставить)",[1868,4192,4193],{"align":1857},"Перед текущим символом",[1852,4195,4196,4200,4206],{},[1868,4197,4198],{"align":1857},[45,4199,2010],{},[1868,4201,4202,4205],{"align":1857},[377,4203,4204],{},"A","ppend (добавить)",[1868,4207,4208],{"align":1857},"После текущего символа",[1852,4210,4211,4215,4221],{},[1868,4212,4213],{"align":1857},[45,4214,2006],{},[1868,4216,4217,4220],{"align":1857},[377,4218,4219],{},"O","pen (открыть)",[1868,4222,4223,4224,4227],{"align":1857},"В новую строку ",[377,4225,4226],{},"ниже"," текущей",[1852,4229,4230,4235,4237],{},[1868,4231,4232,4234],{"align":1857},[45,4233,4219],{}," (Shift+o)",[1868,4236],{"align":1857},[1868,4238,4223,4239,4227],{"align":1857},[377,4240,4241],{},"выше",[21,4243,4244],{},[377,4245,1931],{},[875,4247,4248,4258,4267,4277],{},[35,4249,4250,4251,4254,4255,891],{},"Находясь в нормальном режиме, поставьте курсор на букву ",[45,4252,4253],{},"e"," в слове ",[45,4256,4257],{},"текст",[35,4259,4260,4261,4263,4264,891],{},"Нажмите ",[45,4262,4184],{},". Внизу в строке состояния появится ",[45,4265,4266],{},"-- INSERT --",[35,4268,4269,4270,4274,4275,891],{},"Начните печатать. Текст будет вставлен ",[4271,4272,4273],"em",{},"перед"," символом ",[45,4276,4253],{},[35,4278,4260,4279,4281],{},[45,4280,4150],{},". Вы вернетесь в нормальный режим, и можно снова управлять редактором.",[61,4283,4285],{"id":4284},"шаг-4-удаление-замена-и-отмена","Шаг 4: Удаление, замена и отмена",[21,4287,4288,4289,891],{},"Все эти действия выполняются в ",[377,4290,4026],{},[32,4292,4293,4332,4355],{},[35,4294,4295,4298],{},[377,4296,4297],{},"Удаление:",[32,4299,4300,4308,4314,4320,4326],{},[35,4301,4302,4304,4305,440],{},[45,4303,1624],{}," — удалить символ под курсором (как ",[45,4306,4307],{},"Delete",[35,4309,4310,4313],{},[45,4311,4312],{},"dd"," — удалить всю строку, на которой курсор.",[35,4315,4316,4319],{},[45,4317,4318],{},"dw"," — удалить слово, начиная с курсора.",[35,4321,4322,4325],{},[45,4323,4324],{},"d$"," — удалить от курсора до конца строки.",[35,4327,4328,4331],{},[45,4329,4330],{},"d0"," — удалить от курсора до начала строки.",[35,4333,4334,4337],{},[377,4335,4336],{},"Замена:",[32,4338,4339],{},[35,4340,4341,4343,4344,4347,4348,4351,4352,4354],{},[45,4342,1616],{}," + ",[45,4345,4346],{},"символ"," — заменить один символ под курсором на указанный (например, ",[45,4349,4350],{},"rx"," заменит символ на ",[45,4353,1624],{},"). После этого вы останетесь в нормальном режиме.",[35,4356,4357,4360],{},[377,4358,4359],{},"Отмена (Undo) и Повтор (Redo):",[32,4361,4362,4367],{},[35,4363,4364,4366],{},[45,4365,1998],{}," — отменить последнее изменение.",[35,4368,4369,4372],{},[45,4370,4371],{},"Ctrl + r"," — повторить (откатить отмену).",[61,4374,4376],{"id":4375},"шаг-5-сохранение-и-выход","Шаг 5: Сохранение и выход",[21,4378,4379,4382,4383,4385,4386,440],{},[377,4380,4381],{},"Всегда проверяйте, в каком режиме вы находитесь!"," Для сохранения и выхода нужно быть в ",[377,4384,4026],{}," (",[45,4387,4150],{},[875,4389,4390,4395],{},[35,4391,4260,4392,4394],{},[45,4393,2201],{}," (двоеточие). Курсор перейдет вниз, в строку команд.",[35,4396,4397,4398],{},"Введите одну из команд:\n",[32,4399,4400,4409,4420,4426,4437,4447],{},[35,4401,4402,4405,4406,4408],{},[45,4403,4404],{},":w"," — ",[377,4407,1620],{},"rite (сохранить).",[35,4410,4411,4405,4414,4416,4417],{},[45,4412,4413],{},":q",[377,4415,439],{},"uit (выйти). ",[377,4418,4419],{},"Работает только если файл не изменялся!",[35,4421,4422,4425],{},[45,4423,4424],{},":wq"," — сохранить и выйти.",[35,4427,4428,4431,4432,4434,4435,440],{},[45,4429,4430],{},"ZZ"," (Shift+zz) — быстрый аналог ",[45,4433,4424],{}," (не требует нажатия ",[45,4436,2201],{},[35,4438,4439,4442,4443,4446],{},[45,4440,4441],{},":q!"," — выйти ",[377,4444,4445],{},"без сохранения",", отменив все изменения с последнего сохранения.",[35,4448,4449,4452],{},[45,4450,4451],{},":w имя_файла"," — сохранить под другим именем.",[16,4454,870],{"id":869},[875,4456,4457,4463,4468,4472,4483,4491,4496],{},[35,4458,4459,4460,891],{},"Создайте тестовый файл: ",[45,4461,4462],{},"vim test_vim.txt",[35,4464,4260,4465,4467],{},[45,4466,4184],{},", введите несколько строк текста.",[35,4469,4260,4470,891],{},[45,4471,4150],{},[35,4473,4474,4475,1035,4477,1035,4479,1035,4481,891],{},"Попробуйте переместиться по файлу с помощью ",[45,4476,4065],{},[45,4478,2917],{},[45,4480,1620],{},[45,4482,4118],{},[35,4484,4485,4486,4488,4489,440],{},"Удалите пару слов (",[45,4487,4318],{},") или строку (",[45,4490,4312],{},[35,4492,4260,4493,4495],{},[45,4494,1998],{}," — изменения должны отмениться.",[35,4497,4260,4498,4500,4501,4503,4504,4507,4508,891],{},[45,4499,2201],{}," и введите ",[45,4502,4424],{},". Файл ",[45,4505,4506],{},"test_vim.txt"," должен сохраниться в текущей директории. Проверьте: ",[45,4509,4510],{},"cat test_vim.txt",[21,4512,4513],{},"Если все прошло успешно — вы освоили жизненно важный минимум.",[16,4515,938],{"id":937},[32,4517,4518,4547,4562,4587],{},[35,4519,4520,4523,4524,4526,4527,891,4530],{},[377,4521,4522],{},"Проблема:"," При попытке выйти (",[45,4525,4413],{},") Vim пишет ",[45,4528,4529],{},"E37: No write since last change (add ! to override)",[32,4531,4532,4537],{},[35,4533,4534,4536],{},[377,4535,947],{}," Файл был изменен, но не сохранен.",[35,4538,4539,4541,4542,4544,4545,440],{},[377,4540,951],{}," Либо сохраните (",[45,4543,4424],{},"), либо выйдите без сохранения (",[45,4546,4441],{},[35,4548,4549,4551,4552],{},[377,4550,4522],{}," Нажал случайно клавишу, и появилась странная строка внизу или текст начал вести себя непредсказуемо.",[32,4553,4554],{},[35,4555,4556,4558,4559,4561],{},[377,4557,951],{}," Нажмите ",[45,4560,4150],{}," несколько раз. Это гарантированно вернет вас в чистый нормальный режим.",[35,4563,4564,4566,4567],{},[377,4565,4522],{}," Не могу ввести текст, только перемещаюсь.",[32,4568,4569,4574],{},[35,4570,4571,4573],{},[377,4572,947],{}," Вы находитесь в нормальном режиме.",[35,4575,4576,4558,4578,1035,4580,48,4582,4584,4585,891],{},[377,4577,951],{},[45,4579,4184],{},[45,4581,2010],{},[45,4583,2006],{},", чтобы перейти в режим вставки. В строке состояния появится ",[45,4586,4266],{},[35,4588,4589,4591,4592],{},[377,4590,4522],{}," Не знаю, в каком режиме нахожусь.",[32,4593,4594],{},[35,4595,4596,4598,4599,4601],{},[377,4597,951],{}," Просто нажмите ",[45,4600,4150],{},". Если вы были в режиме вставки, вы вернетесь в нормальный. Если уже были в нормальном — ничего не изменится. Это безопасный способ \"сброса\".",[407,4603],{},[16,4605,4607],{"id":4606},"дальнейшее-развитие-навыков","Дальнейшее развитие навыков",[21,4609,4610],{},"Освоив эти основы, вы уже можете работать. Чтобы стать быстрым, осваивайте команды постепенно:",[875,4612,4613,4629,4649,4666],{},[35,4614,4615,2512,4618,4621,4622,4624,4625,4628],{},[377,4616,4617],{},"Копирование и вставка:",[45,4619,4620],{},"yy"," (копировать строку), ",[45,4623,21],{}," (вставить после курсора), ",[45,4626,4627],{},"P"," (вставить перед).",[35,4630,4631,2512,4634,4343,4637,4640,4641,4644,4645,4648],{},[377,4632,4633],{},"Поиск:",[45,4635,4636],{},"/текст",[45,4638,4639],{},"Enter"," (искать вперед), ",[45,4642,4643],{},"n"," — следующее совпадение, ",[45,4646,4647],{},"N"," — предыдущее.",[35,4650,4651,2512,4654,4657,4658,4661,4662,4665],{},[377,4652,4653],{},"Работа с несколькими файлами:",[45,4655,4656],{},":e имя_файла"," (открыть), ",[45,4659,4660],{},":bn"," / ",[45,4663,4664],{},":bp"," (следующий/предыдущий буфер).",[35,4667,4668,2512,4671,4674,4675,4678],{},[377,4669,4670],{},"Разделение окна:",[45,4672,4673],{},":split"," (горизонтально), ",[45,4676,4677],{},":vsplit"," (вертикально).",[21,4680,4681,4682,4685,4686,1035,4689,4692],{},"Полезная шпаргалка всегда под рукой: в самом Vim введите ",[45,4683,4684],{},":help"," или найдите онлайн-ресурсы по запросу \"vim cheat sheet\". Главное — практика. Откройте любой конфигурационный файл (",[45,4687,4688],{},"/etc/fstab",[45,4690,4691],{},"~/.bashrc",") и попробуйте внести в него изменения с помощью Vim. У вас всё получится!",[1057,4694,4695],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":80,"searchDepth":94,"depth":94,"links":4697},[4698,4699,4700,4707,4708,4709],{"id":1478,"depth":94,"text":1479},{"id":1485,"depth":94,"text":1486},{"id":3955,"depth":94,"text":3956,"children":4701},[4702,4703,4704,4705,4706],{"id":3959,"depth":139,"text":3960},{"id":4030,"depth":139,"text":4031},{"id":4154,"depth":139,"text":4155},{"id":4284,"depth":139,"text":4285},{"id":4375,"depth":139,"text":4376},{"id":869,"depth":94,"text":870},{"id":937,"depth":94,"text":938},{"id":4606,"depth":94,"text":4607},"Полное руководство по Vim на Linux. Учим движения, редактирование, сохранение и выход. Пошаговая инструкция с примерами для быстрого старта.","15-20 мин",[4713,4716,4719,4722],{"question":4714,"answer":4715},"Как выйти из Vim, если застрял?","Нажмите `Esc`, затем введите `:q!` и `Enter` для принудительного выхода без сохранения. Для сохранения и выхода используйте `:wq`.",{"question":4717,"answer":4718},"В чем разница между vi и vim?","Vim (Vi IMproved) — это усовершенствованная, более функциональная и удобная версия классического vi. В большинстве современных систем команда `vi` запускает именно Vim.",{"question":4720,"answer":4721},"Нужно ли запоминать все команды Vim сразу?","Нет. Начните с 5-10 базовых команд для движения и редактирования. Освойте их до автоматизма, и уже через день добавляйте новые по мере необходимости.",{"question":4723,"answer":4724},"Почему Vim кажется сложным, и стоит ли его учить?","Vim имеет высокий порог входа из-за необычного управления, но окупается скоростью работы без мыши. Он везде: в серверах, консоли восстановления, через SSH. Освоение базов — must-have для админа и разработчика.",[4726,4729,4732,4735,4738],{"name":4727,"text":4728},"Запуск Vim и понимание интерфейса","Откройте терминал и выполните `vim имя_файла` или просто `vim` для нового файла. Вы увидите титульную строку, область текста и строку состояния внизу. Сразу вы находитесь в **нормальном режиме** (Normal mode) для навигации и управления.",{"name":4730,"text":4731},"Основные движения курсором (режим Normal)","Клавиши `h`, `j`, `k`, `l` двигают курсор влево, вниз, вверх, вправо. Это основа. Для быстрого перемещения: `w` — на начало следующего слова, `b` — на начало предыдущего, `0` — в начало строки, `$` — в конец строки, `gg` — в начало файла, `G` — в конец файла.",{"name":4733,"text":4734},"Режимы вставки (Insert) и редактирования","Чтобы начать вводить текст, перейдите в режим вставки: нажмите `i` (вставить перед курсором), `a` (вставить после курсора), `o` (создать новую строку ниже). Текст появится. Чтобы вернуться в нормальный режим и продолжить управление, нажмите `Esc`.",{"name":4736,"text":4737},"Удаление, замена и отмена","В нормальном режиме: `x` — удалить символ под курсором, `dd` — удалить всю строку, `dw` — удалить слово. `r` + символ — заменить один символ. `u` — отменить последнее действие, `Ctrl + r` — повторить (откат отмены).",{"name":4739,"text":4740},"Сохранение и выход","Убедитесь, что вы в нормальном режиме (нажмите `Esc`). `:w` — сохранить (write), `:q` — выйти. `:wq` или `ZZ` — сохранить и выйти. `:q!` — выйти без сохранения, отменив все изменения.",[4742,4743,4744,4745,4746,4747,4748,4749,4750],"vim основы","как пользоваться vim","как выйти из vim","vim команды для начинающих","редактор vim linux","vim режимы","освоить vim быстро","вим клавиши","vim tutorial русский",{},[4753,4754,4755],"/guides/linux/nano-basics","/guides/linux/bash-shortcuts","/errors/linux/vim-unknown-command",{"title":3896,"description":4710},"guides/linux/vim-basics","Это руководство поможет вам преодолеть первоначальный барьер и эффективно использовать Vim — мощный текстовый редактор, доступный в любой системе Linux. Вы научитесь базовым командам навигации, редактирования, сохранения и выхода.",[4760,4761,1162,79,3892,1175],"вим","редактор текста","gzbSL4FpdCqKXalrN7dRv6P7PTx-e2boMa2_aV4Tb_w"]