Ищи в Linux как профи! Как использовать всю мощь *nix инструментов на примере find

Поделиться
HTML-код
  • Опубликовано: 17 май 2024
  • Философия Unix гласит, что, во-первых, программы должны делать что-то одно и делать это хорошо, а во-вторых, что программы должны работать вместе, используя текстовые потоки. Посмотрим, как реализуется эта концепция на примере команды find, позволяющей находить файлы и выполнять с ними любые операции.
    Мой курс «Хардкорная веб-разработка» - course.to.digital
    Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.digital/
    Telegram: t0digital.t.me
    0:00 О поиске файлов в *nix
    1:27 Вывод всех файлов директории
    2:41 Использование find в связке с less
    3:35 Поиск по маске имени файла
    4:36 Ограничение поиска по уровню вложенности
    5:19 Ищем только файлы или директории
    6:03 Исключение директорий из поиска
    10:00 Использование логического ИЛИ в поиске
    10:45 Поиск без учёта регистра
    11:28 Команда stat
    13:12 Поиск по дате открытия файла
    15:26 Поиск по дате изменения файла
    15:55 Поиск файлов новее указанного файла
    17:14 Поиск по размеру файла
    18:32 Поиск по размеру с выводом этого размера
    19:33 Поиск самых больших файлов
    20:36 Поиск файлов с выводом их содержимого
    22:11 Гибкое удаление файлов
    22:58 Зачем искать файлы?
    /****************** about ******************/
    Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
    - Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
    - Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
    Telegram канал - t.me/t0digital
    ВК - digitalize.team
    RuTube - rutube.ru/channel/24802975/ab...
    Дзен - dzen.ru/id/6235d32cb64df01e6e...

Комментарии • 168

  • @user-sc2zb1zp1m
    @user-sc2zb1zp1m 2 года назад +25

    Здорово, что по Линуксу делаете ролики. Было бы замечательно, чтобы развернутый вариант был по bash-скриптам. Спасибо!

  • @user-hy1vn9zj5r
    @user-hy1vn9zj5r 2 года назад +28

    Очень интересно было, смотрел от начало до конца. Как атмосферного обстановка. Это какой то фильм. Боже какой просто Гений современности.... Заинтриговал c logrotate. Желаю много радости и всегда улыбался, у Вас шикарный контент тут мозги шевелятся+5=))))

  • @user-fw8je6gg8y
    @user-fw8je6gg8y 2 года назад +42

    Привет! Было бы интересно увидеть работу с logrotate. Спасибо)

    • @robojopo
      @robojopo 2 года назад

      Он же ещё проще файнда. man logrotate скорее всего хватит что бы всё понять.

  • @ruslangabitov5202
    @ruslangabitov5202 2 года назад +4

    Спасибо за видео. Благодарю за то, что несете понимание мощи *иксов в массы. Очень просто и с понятными примерами.

  • @vladimirholopov4150
    @vladimirholopov4150 2 года назад +2

    Мега полезное видео! Огромное спасибо!!! Не просто узнал много нового, но и наконец-то сумел чуть лучше начать понимать все эти непонятные символы после команды в документации. Ещё раз спасибо!!!

  • @skwii
    @skwii 2 года назад +1

    Думал будет скучно, но включил, не пожалел, интересно! Спс.

  • @creativesolution4827
    @creativesolution4827 2 года назад +1

    Я был с вами когда у вас было 900 подписчиков. Я очень рад что подписан на ваш канал. Удачи и успехов!!!🙌

  • @alex_komn
    @alex_komn 2 года назад +6

    Работаю с линуксом, но find в упор не использовал, благодаря видео, понял насколько крутая и гибкая команда
    Спасибо, за лучший образовательный контент в ютубе про *nix и Python

    • @viacheslav1392
      @viacheslav1392 2 года назад

      это точно. сам сидел использовал ls | grep ...

  • @AcacuH89
    @AcacuH89 2 года назад

    Мой любимый тип видосов, когда нет "скрытой" рекламы) Спасибо за контент, часто обращаюсь)

  • @user-tv5pd2pv9q
    @user-tv5pd2pv9q 2 года назад +3

    Алексей, спасибо за познавательные видео!

  • @Michael201078
    @Michael201078 2 года назад

    Лайк как всегда. Все четко, содержательно и без воды.

  • @F0rtung
    @F0rtung 2 года назад +2

    Очень круто! Спасибо.

  • @user-um3sw1gh2b
    @user-um3sw1gh2b 2 года назад +4

    Спасибо, очень понравилось. Да и вообще интересны любые видео связанные с терминалом unix систем, с радостью посмотрю что-нибудь в таком духе. Присоединяюсь к комментарию одного человека про exec очень интересно было бы посмотреть и про эту команду.

  • @IgnatikVodichka
    @IgnatikVodichka 2 года назад +1

    Классный видос, такие лайфхаки да еще и на шару. Спасибо.

  • @herbslife-miscusi
    @herbslife-miscusi 2 года назад +1

    Круто! Спасибо! С 10 минуты почти все новое для меня. И рассказываешь так что удобно запоминается!

  • @romanyukalexey
    @romanyukalexey 2 года назад

    Узнал про логические операторы. Никогда раньше не пользовался, а это круто. Спасибо.

  • @PythonDevelopment
    @PythonDevelopment 2 года назад +1

    Алексей, как всегда ++ Как раз попкорн делал и тут видос подкатил. Смотрел как будто боевик 90-x и закидывал кукурузу без остановки.

  • @oleksandr_petryk
    @oleksandr_petryk 2 года назад +2

    Люблю твои видео по Linux утилитам, лайк

  • @ssp7460
    @ssp7460 2 года назад +7

    Блин, круто! Почувствовал себя хакером. Лайк, классное видео.

  • @iurii.anfinogenov
    @iurii.anfinogenov 2 года назад

    Как всегда познавательно и по делу. Большое спасибо!

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin1124 2 года назад

    Спасибо, за видео!

  • @ivanka0k
    @ivanka0k 2 года назад +1

    Спасибо за видео! Очень полезно 👍🏻 про log rotate было бы интересно увидеть !

  • @acdc5369
    @acdc5369 2 года назад

    Очень полезно и емко, спасибо огромное!!

  • @Kataldo80
    @Kataldo80 2 года назад

    Отличный контент, узнал много нового! Лайк однозначно и жду следующее видео!

  • @panchwall_devops
    @panchwall_devops 2 года назад

    Вот такое интересно огонь начал снова смотреть канал

  • @ilyatokar5336
    @ilyatokar5336 2 года назад +1

    Видео огонь, как всегда годный контент. Порадовал момент -> С помощью вертикальной черты(2:57) Сделайте видео про конверы (pipe) в linux/unix подобных ос

  • @margin-call-of-duty
    @margin-call-of-duty 2 года назад

    Прикольный лайтовый но подробный видос, спасибо! Побольше бы таких

  • @user-rd3uq8ug3x
    @user-rd3uq8ug3x Год назад

    Спасибо, даже узнал что-то новое 🙂

  • @OfficialRoot
    @OfficialRoot 2 года назад

    Да. Очень полезно. Спасибо!

  • @deniskondov3043
    @deniskondov3043 2 года назад

    Полезный и приятный глазу контент)

  • @user-lz3ez3nn4j
    @user-lz3ez3nn4j 2 года назад

    Спасибо, как всегда лайк!

  • @user-cj1ct8pr1f
    @user-cj1ct8pr1f 2 года назад

    Спасибо за очень полезный урок по команде find! Очень большие возможности предоставляют терминальные команды! Хотелось бы получить урок по созданию кода для "перемешивания" треков плейлиста с обзором существующих алгоритмов.

  • @tandavme
    @tandavme 2 года назад

    Супер, спасибо, очень интересно

  • @MartinEden-ps6ld
    @MartinEden-ps6ld 2 года назад +1

    блин, ты просто гений) команда less очень крутая, я хотел себе такую но даже не знал что она есть))

  • @simadovakin739
    @simadovakin739 2 года назад +1

    We are here, we are Linux

  • @CtOblivion
    @CtOblivion 2 года назад

    Это было так круто

  • @user-ty5tm1bl4r
    @user-ty5tm1bl4r 2 года назад

    Очень полезное видео!

  • @captainkryuk1899
    @captainkryuk1899 2 года назад

    Очень хотелось бы услышать про log rotate, видео супер, спасибо большое

  • @mikisor4372
    @mikisor4372 2 года назад

    Плюсую за logrotate ! Спасибо!

  • @gapchannelAi
    @gapchannelAi 2 года назад

    Крутой и очень полезный ролик

  • @deusexxi8426
    @deusexxi8426 2 года назад

    Топ!

  • @miniguide3131
    @miniguide3131 2 года назад

    Супер

  • @RuchejAlex
    @RuchejAlex 2 года назад +2

    Автор, добрый день! Хорошие у тебя обзоры, пример.
    Запили, пожалуйста, видео, как neo vim превратить в ide, но без излиществ.
    Задача: работать над проектом в pyrhon.
    Проект запускается в докерах.
    Сейчас работаю в пайчарме. Т.к. работа ведётся с разными проектами, в разных ветках, то настройки для работы отладчика в докерах берутся из .env
    Необходим функционал отладки.
    Работа с git, т.е. видеть по строкам, кто и когда что менял.
    Находить, где данная функция используется.

  • @eYVgeni
    @eYVgeni 2 года назад

    отличное видео, спасибо

  • @zztalkerTube
    @zztalkerTube 2 года назад +1

    ещё очень полезно знать про lsof, а про logrotate надо записать, жду с нетерпением 🍿

  • @DimiEG
    @DimiEG 2 года назад

    Спасибо за как всегда качественные видео. Профессионально сделанные. Для вывода содержимого файлов обычно используют `grep'. Ещё есть потрясающая утилита `awk'. Для анализа логов например. Хотелось бы про неё послушать также. Ещё `sed'. С помощью `diff' можно сравнивать каталоги. По поводу терминала с Вами полностью согласен. Это как раз не прошлое, а будущее. Так же это в своё время послужило причиной создания PowerShell в Windows.

  • @KOTZLOVRED
    @KOTZLOVRED 2 года назад +1

    Можно запускать два поиска в одной команде
    Профит в том, что за один проход по файловой системе выполняется несколько поисков.
    Например следующая команда рекурсивно проходит по файловой системе один раз, при этом сохраняет список файлов с флагом setuid в файл /root/suid.txt, а список с большими файлами в /root/big.txt
    find / \( -perm -4000 -fprintf /root/suid.txt '%--#m-- %u %p
    ' \) , \

  • @vasilys9776
    @vasilys9776 2 года назад

    Побольше подобного контента.

  • @user-jp1hx7db2t
    @user-jp1hx7db2t 2 года назад

    Круто, мне бы это видео лет 5 назад))

  • @user-jn4cq9dy3f
    @user-jn4cq9dy3f 2 года назад +6

    А ещё find замечательно комбинируется с grep. Иногда можно и с помощью grep -r (или -nr, или -lr) вопрос решить, но если чужой проект, в котором, к тому же, лютый бардак (приложения джанги перемешаны с данными, логами, js, статикой и даже временными файлами), то приходится find с grep "состыковывать". Чтоб голова случайно не взорвалась. ;)

  • @Vasiliy_Kashtanov
    @Vasiliy_Kashtanov Год назад

    Прикольно!

  • @amigo4884
    @amigo4884 2 года назад

    Спасибо.

  • @GrandmasterPoi
    @GrandmasterPoi 2 года назад +3

    19:18 утилита du показывает не размер файла, а место, которое файл занимает на диске. Размер файла можно увидеть с помощью ls.
    echo 1 > file
    ls -lh file
    du -h file

    • @t0digital
      @t0digital  2 года назад +2

      Да. Просто мне обычно интересно именно то, что du -sh показывает, не чисто сырое количество байт контента файла

  • @eamarc
    @eamarc 2 года назад +4

    Ещё find вместе с print0 и xargs полезны для нормализации имён файлов: пробелы на подчеркивания заменить или русофобией пострадать (кириллицу на латиницу в смысле) 😁

  • @user-hp9ly9qx3p
    @user-hp9ly9qx3p 2 года назад +1

    Очень полезное видео. Да, find не раз спасала мою шкуру )) Конечно, хотелось бы услышать как использовать find в bash скриптах, при наличии пробелов в именах каталогов и файлов. Огромное спасибо автору!

    • @user-up2lc4kb5o
      @user-up2lc4kb5o 2 года назад

      find . -type f -name "*.jar" -exec printf "%q
      " {} \; | tr -d "
      " | tr "
      " ":"
      в результате получаем, в моем случае, значение аргумента -classpath с "заэскейплеными" путями к джаркам, содержащим пробелы и другую лабуду, для команды запуска java-приложения. Если убрать крайние 2 tr-а, то получим список файлов "в столбик".

    • @user-up2lc4kb5o
      @user-up2lc4kb5o 2 года назад

      От автора ролика хотелось бы еще пояснений по операции форматированного вывода результата команды find (-printf ).

  • @aluven
    @aluven 2 года назад

    спасибо

  • @736939
    @736939 2 года назад

    ПЛИЗ-плиз-плиз, побольше контентов, таких как этот! И если можно, Rust программирование тоже! Крутые коммандные приложения, за этим будущее - в том числе и постапокалиптическое будущее!

  • @user-lq5tx7gv3y
    @user-lq5tx7gv3y 2 года назад

    aaaa!!!!11один крутоооо! спасибо!

  • @antmixxx
    @antmixxx 2 года назад

    Для файлов достаточно du -h
    Параметр -s имеет смысл для директорий.
    -sh просто привычка, понимаю :-)
    ЗЫЖ Спасибо за твои видео - они классные. Всегда узнаю что-нибудь новое потому что новое - это хорошо забытое старое :-]

  • @user-ee1lx1pe7n
    @user-ee1lx1pe7n 2 года назад

    Ты гений!!!!!

  • @piratecatt
    @piratecatt 2 года назад +1

    Весь курс по unix-системам в политехе в одном видосе

  • @yuranduran
    @yuranduran 2 года назад

    Спасибо за видос :) А что за микрофончик у тебя?

    • @t0digital
      @t0digital  2 года назад +1

      Хороший звук? В этом видео Rode NTG3, до этого был Deity S-Mic 2s

  • @Rogov_Oleg
    @Rogov_Oleg Год назад

    Только с помощью find в связке с grep, wc и мониторю temp-директорию своего приложения. Ничего лучшего себе не представляю чтобы получить статистику по их обработке.
    А ещё руководитель попросил подсчитать количество символов в исходниках приложения. Я написал команду и дело сделано.

  • @piskaorangutanga
    @piskaorangutanga 11 месяцев назад

    Больше Линукса!!!

  • @DimiEG
    @DimiEG 2 года назад

    Ох, новый видос. Наконец то. А вы теперь в офисе не работаете? Всё дома снимаете. Почему вы используете Mosh, а не SSH? Ведь у него нет обратного скролинга.

  • @user-hy7ti9rq2l
    @user-hy7ti9rq2l 2 года назад +1

    Звук идеален

    • @t0digital
      @t0digital  2 года назад

      Спасибо, что написали! Новый микро:)

  • @user-to3mh3sc8l
    @user-to3mh3sc8l 2 года назад

    спасибо за find
    logrotate

  • @pokr003
    @pokr003 2 года назад +10

    Можно видео про утилиту awk ? Кстати контент топ давно хотел научиться пользоваться find :)

    • @t0digital
      @t0digital  2 года назад +10

      сделаю:)

    • @0alsh
      @0alsh 2 года назад +5

      @@t0digital Ну и про sed уж заодно. :-)

    • @user-pw4kw8xz8r
      @user-pw4kw8xz8r 2 года назад +2

      +1

    • @nikitamozg1
      @nikitamozg1 2 года назад +3

      @@t0digital Ждём с удовольствием )

  • @page_not_found
    @page_not_found 2 года назад

    Здравствуйте Алексей, я только начинаю в линуксе, Ваши видео ОЧЕНЬ помогают мне в этом.
    Ваши объяснения понятны тем, что Вы не просто называете команды, а разъясняете и переводите полное название команды, например: -Anewer, -Cnewer, -Mtime, -Atime, etc
    Подскажите, по команде stat не отображается дата создания файла/директории, с чем это может быть связано?

    • @t0digital
      @t0digital  2 года назад

      А что вводится по команде stat?

    • @page_not_found
      @page_not_found 2 года назад

      @@t0digital
      ➜ Fun tree
      .
      ├── another_folder
      │ └── second
      │ └── anotger.json
      ├── backup.log
      ├── first
      │ └── first_inner
      │ └── first.json
      ├── _rootfile.txt
      ├── _root_json.json
      ├── second
      │ ├── second_inner
      │ │ └── second.json
      │ └── second_inner.json
      └── somefile
      ➜ Fun stat somefile
      Файл: somefile
      Размер: 16 Блоков: 8 Блок В/В: 4096 обычный файл
      Устройство: 806h/2054d Инода: 2102744 Ссылки: 1
      Доступ: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu_pc) Gid: ( 1000/ zxc12)
      Доступ: 2022-02-05 17:55:12.271656725 +0400
      Модифицирован: 2022-02-05 17:55:12.271656725 +0400
      Изменён: 2022-02-05 17:55:12.271656725 +0400
      Создан: -
      И так с любым файлом/директорией

  • @TakeThisLove
    @TakeThisLove 2 года назад

    Fzf в комбинации с bat и vim. Find использую пару раз в год и то в каких-то сохранённых уанлайнерах под конкретные задачи.

  • @user-db8ny4nk8l
    @user-db8ny4nk8l 2 года назад +1

    Вау. Очередная годнота по линуксу. Спасибо! А что за \; в exec на 20:21
    Где логика в этих символах в команде?

    • @0alsh
      @0alsh 2 года назад +8

      Обратный слеш нужен для экранирования точки с запятой. Если обратный слеш убрать, то точку с запятой будет интерпретировать командный интерпретатор и до find этот символ уже не дойдёт. А самому find точка с запятой нужна чтобы знать где заканчивается команда, которую надо выполнить.

  • @andriifurman5973
    @andriifurman5973 2 года назад

    подскажите пожалуйста, как переставить `find` на маке? Походу нажал клавишу `Don't allow`, доступа find к файлам. Потом во вкладке `Privacy & Security->Privacy` добавил доступ iterm ко всему ссд (full disk access). Но файд по прежнему не работает так как надо.

  • @tz389
    @tz389 Год назад

    как можно написать команду, которая выводит только одну строку, разделенную запятыми
    имена файлов .jar из каталога /tmp.
    Пробовал так find /tmp -type f -name '*.jar' | ls -m
    и так ls -m /tmp | grep .jar
    Не получается. Может вы знаете как правильно написать?

  • @Grigrost
    @Grigrost 2 года назад

    Хороший щелчок по носу тем, кто не уважает терминал!)

  • @user-no4jf5uj9q
    @user-no4jf5uj9q 2 года назад +1

    Какие файнд ? Чувак давай про питон и джангу, про бизнес логику. Про правильное структурирование данных в БД.

  • @ivanivanov8998
    @ivanivanov8998 2 года назад

    Привет! Расскажи пожалуйста про файловый менеджер ranger.

    • @ivanivanov8998
      @ivanivanov8998 2 года назад

      Есть обзоры, но на мой взгляд сделаны не очень доходчиво и например непонятно, как попадать в нужную дерикторию, когда выходишь из ranger, а не в ту из которой он запущен.

  • @mega_salo5789
    @mega_salo5789 2 года назад

    Будет видео про ranger?

  • @sergo4220
    @sergo4220 2 года назад

    дай ссылку на видео grep , а то чот не могу нагрепать в списке твоих видео)))

  • @acdc5369
    @acdc5369 2 года назад +1

    Хотим logrotate))))

  • @mitrios
    @mitrios 2 года назад +8

    Я бы вместо фразы "вертикальная черта" или "палка" говорил "канал" или "тоннель" (pipe), чтобы новички понимали образно как это работает. Спсб за видео

  • @Azzeph
    @Azzeph 2 года назад

    вывести путь до файла проще через grep для этого ему достаточно передать два имени файла, второй например /dev/null а если не указывать патерн для фильтрации то греп работает как cat

  • @musgame1416
    @musgame1416 2 года назад

    Здравствуйте, нужен ваш совет
    Занимаюсь frontend разработкой, встал такой вопрос, какой Mac купить, сценарий работы пишу на JavaScript + react/Vue несколько проектов в потоке + 15-20 вкладок в хроме в будущем планирую изучить Backend, не монтирую ролики.
    MacBook Air 8/512 ~ 1220$
    MacBook Air 16/256 ~ 1400$
    или с запасом на будущее взять доплатить и взять
    MacBook Pro 13 8/512 ~ 1420$ , Хватает ли 8 гб ОЗУ?
    16/256~ 1700$ стоит овер дофига бюджет не позволяет (Бюджет до 1400 $)
    У меня сомнение, то что нету системы охлаждения в air он не будет тротлить, Купив Air не пожалею ли я в будущем (беру ноут на ~ 5-6 лет вперед)
    Или вместо Air 16/256 взять Pro 8/256 и не парится ?
    Что посоветуйте)

    • @user-up2lc4kb5o
      @user-up2lc4kb5o 2 года назад

      Надеюсь, Вы про Мас-и с М1? Для разработки берите ноут с 16ГБ оперативки, 8ГБ для кодинга, сборки и отладки не всегда хватает. Совсем хорошо, если возьмете Pro-шку 13. На Air-ах частота процессора программно ограничена, чтоб не перегревался и не тротлил при нагрузках. Но тесты со сборками показали, что разница минимальна (порядка 15 сек Air проигрывает Pro при сборке проекта - к примеру этот проект ноут на убунте с интелловским процессором i7-8550 собирает за 6 минут, Pro-шка собирает его же за 1 минуту 28 секунд, а Air за 1 минуту 45 секунд). Если Вам такой "проигрыш" не критичен, то берите Air, но позаботьтесь о док-станции - портов мало. Можете еще Mac-mini взять, если "мобильничать" не будете и есть большой монитор.

  • @kprohorow
    @kprohorow Год назад

    ЕМНИП опция -delete не работает с НЕ ПУСТЫМИ директориями.
    Нужно делать -exec rm -rf {} \;
    Поправьте если ошибаюсь.

  • @vitgo
    @vitgo 2 года назад

    да уж... точно сказано - операционка для программистов :-))

  • @AleksKo89
    @AleksKo89 2 года назад +1

    Про logrotate было бы интересно послушать. Я пробовал как-то настроить его на одну программу, но программа не хотела писать новые даные в новый файл, а продолжала их писать в старый файл, несмотря на то что он логротейтом уже переименовался и создался новый файл с оригинальным именем. Интересно узнать как решить эту проблему

    • @antmixxx
      @antmixxx 2 года назад

      Тебе нужно сделать так, чтобы программа "отпустила" старый файл. Некоторым достаточно kill -HUP отправить, кого-то придётся перезапускать. Зависит от программы.

  • @santerdonskoy
    @santerdonskoy 2 года назад

    Давайте видео по log rotate

  • @prepyev
    @prepyev 2 года назад

    Клёвая утилита parallel, позволяющая за 5 сек на 100500 машинах распараллелить задачу, голосую за нее

  • @streiker
    @streiker 2 года назад

    не понял про tree, у меня не получилось так отобразить

  • @user-du6ev3bp1g
    @user-du6ev3bp1g 2 года назад

    С GUI ещё одна проблема - инструкции пользователя и обучение. Например полтора десятка команд в терминале, решающих некую задачу, уместились на листе А4. Если для решения аналогичной задачи использовать GUI, то эти полтора десятка команд скорее всего придётся печатать на нескольких листах А4 с фотками и пояснениями. Терминал - это очень удобно и в очень многих случаях. Развиваться ему и совершенствоваться.
    Вопрос (а может быть и идея для ещё одного видосика) - нет ли для терминала утилиты исправления текста, напечатанного в неправильной раскладке, типа виндового PuntoSwither?

    • @nikitamozg1
      @nikitamozg1 2 года назад

      Вы пишете длинную команду или цепочку оных не глядя в терминал? Потом когда достигли последнего символа , поднимаете голову и с ужасом понимаете что раскладка не та?

    • @user-du6ev3bp1g
      @user-du6ev3bp1g 2 года назад

      @@nikitamozg1 вар1 короткие и бысто, а потом выбешивает стирать и заново кнопки тыкать. вар2 длинный текст - не команды, а именно просто текст, например в виме.

  • @satoshinacomoto
    @satoshinacomoto 2 года назад

    Контент огхонь! Я аж сбрызнул

  • @ButenkoAndrew
    @ButenkoAndrew 2 года назад

    Алексей, я не эксперт в *nix cli, но сравнивая с другими (например PowerShell) заметил странную вещь:
    например, команда exec выглядит странно с точки зрения пайплайнов:
    find ... -exec ... | sort
    было бы разумнее, когда output передаался в exec через |, а не командой
    find ... | exec ... | sort

    • @eugenemorozov
      @eugenemorozov 2 года назад +1

      Чаще используется паттерн find | xargs | что-то ещё
      Я, как и многие другие, опцию exec использую исключительно редко

  • @Deletedeletedelete
    @Deletedeletedelete 2 года назад

    предлагаю осветить тему профайлинга

  • @andreiosipov2766
    @andreiosipov2766 2 года назад

    Опа наконец-то (я котан, не собак)

    • @bogasila
      @bogasila 2 года назад

      Во, замечательно! )

  • @alexeyyakovlev6772
    @alexeyyakovlev6772 2 года назад

    logrotate - да

  • @0alsh
    @0alsh 2 года назад

    Спасибо за видео! А что ты думаешь про актуальность этой концепции Unix? Именно то, что между утилитами передаётся простой текст, а не объекты (или структуры, это уже отдельный вопрос как назвать). Из-за этого могут быть грабли разные. Самые частые - имена файлов с пробелами. При передачи таких имён от одной утилиты к другой части имени могут быть восприняты как отдельные файлы. А ещё проблема, если имя файла начинается с дефиса, т.к. следующая команда может воспринять это как параметр для неё самой. Это самые частые грабли, а так их довольно много. Не пора ли пересмотреть философию Unix и "протоптать" новый Unix way?

    • @t0digital
      @t0digital  2 года назад +3

      Да, грабли с пробелами и дефисами в начале имён есть, но тут всегда есть рекомендация не использовать пробелы в имени файлов и не начинать их с дефисов (не уверен, но возможно в каком-то официальном документе-гайде это даже прописано, я эти рекомендации в какой-то книге впервые читал). По имени файлов с дефисом первым символом есть способ - ставишь перед списком файлов два дефиса, всё что идёт после них не будет воспринято как опции, будет воспринято как аргументы. Ты вероятно в курсе, но если кто-то прочтёт, будет полезно:)
      В пустой директории создаём файл с именем file и file2:
      true >file
      true >file2
      Выполняем вывод всех файлов в простом формате:
      ls *
      Результат - вывелись 2 файла:
      file file2
      Теперь создаём корявый файл с именем "-lah":
      true >-lah
      И снова делаем ls *, результат на этот раз другой, что-то типа такого:
      rw-r--r-- 1 root root 0 Feb 4 21:35 file
      rw-r--r-- 1 root root 0 Feb 4 21:36 file2
      То есть файл "-lah" воспринялся не как файл, а как параметры команде `ls`, и по сути запустилась команда ls -lah вместо просто ls. Чтобы такого не было, надо ставить перед списком файлов два дефиса:
      ls -- *
      Тогда результат будет:
      -lah file file2
      и файл с корявым названием "-lah" ни на что не повлияет.

    • @0alsh
      @0alsh 2 года назад

      @@t0digital Спасибо за развёрнутый ответ. Да, я в курсе. Было бы здорово упомянуть про это в следующих роликах, рассказать про такие грабли и их безопасный обход, в том числе и в скриптах (про тот же разделитель в bash).
      А вообще мой вопрос всё же о другом был. Интересно мнение, что ты думаешь об устаревании подобных концепций Unix? Для своего времени они были очень хороши. А сейчас? Да, как ты показал в ролике, есть много мощных утилит, которые работают по тем самым принципам. Но данные с тех самых пор стали значительно сложнее и не всегда легко представимы в виде текста. Нужно ли развивать философию Unix в сторону работы с объектами или и так всё хорошо?

  • @nepridumal5307
    @nepridumal5307 2 года назад

    Что в итоге было с макбуком ? Заменили или отремонтировали ?

    • @t0digital
      @t0digital  2 года назад

      Заменили материнку и вернули

  • @AlexeyZubkov
    @AlexeyZubkov Год назад

    ой да, помню свой первый Дебиан начал изучать, поиск файлов наиболее важный навык особенно для тех, кто с Винды пришел. Стандарты POSIX диктуют определённую файловую структуру ОС и все хранится в определенном месте, крайне неудобно и нужно ТУПО знать пути для переменных сред, временных файлов, конфиги и бинарники...

  • @arucrsov4495
    @arucrsov4495 2 года назад

    Не стоит так же забывать про команду `locate`

    • @user-td5gz4uc6m
      @user-td5gz4uc6m 2 года назад

      Да, можно было еще сравнить ее с find

    • @antmixxx
      @antmixxx 2 года назад +1

      которая во-первых не везде есть, во-вторых она по крону создаёт себе базу и по ней потом ищет в отличии от find, который делает это по живым данным.

  • @user-pd5nw5ox3j
    @user-pd5nw5ox3j 2 года назад

    23:00 Прям в корне ищешь? find / -name "module" ?

    • @t0digital
      @t0digital  2 года назад

      Да. Возможно со звездочками вокруг module. И с sudo.

  • @VGCor
    @VGCor 2 месяца назад

    Ютубу неплохо было б доработать функцию замедленного воспроизведения, а то искажения мешают. А смотреть этого парня на скорости 1× просто невозможно :)