Комментарии 268
Не понял фразы. "Программа пришла на смену управлению файлами в MS-DOS и стала заменой многочисленным файловым оболочкам вроде Norton Commander, хотя многие пользователи по привычке ещё долгие годы пользовались NC и Windows-версией Total Commander."
Тотал фар и т.п. обладают мягко говоря куда большими возможностями. Именно поэтому они применяются до сих пор, хотя и заметно меньше.
На смену управлению файлами в MS-DOS, диспетчер файлов пришел в ранних версиях Windows.
На тот момент ни тотала ни фара еще не было, они появились уже во временя win-95, если не во время OSR-2.
Тотал появился позже, но до него был Norton Commander, это ПО еще с седых времен DOS было.
DN появился кажется еще в 91году.
хотя многие пользователи по привычке ещё долгие годы пользовались NC и Windows-версией Total Commander
До сих пор для меня Far — основной файловый менеджер :) Перешел на него с Norton Commander, Total мне не пошел.
Не, я серьезен. Far 2.0.1420 :)
Хорошо, но на какой системе? Я о том, что пользоваться этим на какой нибудь винде (тоесть с GUI) было бы странно.
Я только в винде и работаю. С линуксом я очень сильно на "Вы", могу только раз в пару месяцев подправить или обновить что-то на удаленном сервере хостинга :)
Сидел на Far в любых версиях винды, от 98 до 10 включительно и никуда слазить не собираюсь.
Каждый инструмент в чем-то удобен, в чем-то нет.
Но кстати сказать, картинки просматривать Far умеет, есть соотвествующий плагин, пользуюсь регулярно.
Даже в документации MS этот вопрос до конца не прояснён: в одном месте написано, что этого достаточно, а в другом — что ещё и у конкретного приложения в манифесте должны быть разрешены длинные пути.
Во-первых, для проводника не помогает.
Во-вторых, для прочих приложений, просто не требуется, если они нормально написаны. Тотал коммандер, например.
Решил проверить и наткнулся на вот эту статью: Сравнение файловых систем/Ограничения. Дошло, что длина имени файла и длина пути в NTFS совпадают. В очередной раз выпал в осадок.
Кстати, не 260 тогда, а 259, потому что NULL — завершение строки вообще и к пути, как таковому, отношения не имеет.
А чего удивительного? Есть over 9000 существующих программ с кодом вида
char path[260];
(ну и далее там хранится какой-то путь). Если ограничения снять, эта программа перестанет работать.
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters.
…
To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".
я в нескольких разных полу-ИТ конторах работал с количеством сотрудников от 50 до 500 человек, везде очень активно использовался FAR, даже среди менеджмента и рядовых сотрудников
а что еще использовать в 2018-м?
Total Commander ничем не хуже. Вкусовщина конечно.
а про 2018 год… так тотал старше фара и интерфейс у обоих «устаревший для 18 года», только у фара он так и остался в привычной среде, а тотал казался чуждым уже в 95 винде не говоря уже о современных версиях (P.S. сугубое imho, знаю что ярых поклонников тотала великое множество и меня заминусят)
Впрочем, убогость виндовой, а по факту — всё ещё DOS-овой, консоли признали даже в MS, организовав установку Bash штатными средствами. Но даже без неё работать в винде очень сложно.
%command%| Select-String -Pattern %regexPattern%
Очень удобно
Давайте выберите мне из «ls -l» все файлы этого года.
mywiki.wooledge.org/ParsingLs
find. -type f -newermt 2018-01-01
все файлы этого года
Созданные в этом году? Модифицированные в этом году? man find?
Вот, например, из кучи картинок выбрать картинки с определенными размерами. bash + imagemagick + awk — и за 2 минуты фильтр будет готов, а через 10 минут я про него забуду, за ненадобностью.
Потому что задали совершенно конкретный ключ, который влечёт за собой вывод списка файлов в совершенно конкретном формате, который совершенно не обязательно содержит год.
Если же говорить о просто команде ls, то можно задать формат вывод и отработать его с помощью grep, egrep или sed — это уже по ситуации. А ещё можно скормить тоже команде ls выхлоп утилиты find, которой задать поиск файлов с ограничениями по времени.
Не именами файлов, не выводом ls или dir, а возможностью обратиться к конкретной проперти юзера в AD, или даже ячейки excel без сторонних библиотек.
Под Linux, где вместо объектов .net есть /dev, /proc — powershell заметно проигрывает.
Также он заметно проигрывает башу в простоте конструкций и кроссплатформенности.
Это к тому, что у нас выборки разные и слишком маленькие, чтобы быть репрезентативными. Я писал про своих клиентов, которых не особо затруднял запуск скрипта из командной строки в MacOS X. Был только один случай, когда заказчик с этим не справился. А вот те, кто пользуется Windows не справляются регулярно. Вплоть до того, что они не знают, что такое файл и что такое директория, что обнаруживается уже на этапе приёмки работы. Вплоть до того, что один явно изъявил согласие на интерфейс командной строки, не зная, что это такое.
Пользователи консольных утилит. В отличие от powershell, основы баша невероятно просты.
Тот же ffmpeg запустить, чтобы на даче с камеры видео сжимать/править — скриптик написал из двух строк и все.
Тот же ffmpeg запустить, чтобы на даче с камеры видео сжимать/править — скриптик написал из двух строк и все.Я не пробовал, но уверен, что на powershell будет примерно так же.
Как раз наоборот: Bash оперирует теми же типом объектов, что и пользователь, то есть человек.
Белковые люди оперируют не строками, а папками, документами, фотографиями и т.п. Именно в эту сторону и развивалась стандартная оболочка Windows, т.е. explorer.
(Можете сами спросить свою бабушку, оперирует ли она строками.)
В нутре это самой вашей виндовз — строки, много строк. Сравниваются, сортируются…
Имя любого файла/каталога — строка.
с помощью bash и на ubuntu (там команды date, ls, awk, grep из коробки) это можно сделать вот так
YEAR=$(date +"%Y");ls --full-time | awk -F " " '{print $6}' | grep -E "^${YEAR}\-"
да, немного ключ пришлось изменить для ls, но мне лень вспоминать корректный синтаксис регулярного выражения для случая ключа -l команды ls. Из возможностей bash тут только присваивание переменной, разделение команд и пайпы. Если не ошибаюсь, это еще command.com из MS-DOS умеет. Не стоит возможности оболочки путать с внешними для оболочки командами. В Powershell наинтегрировали много всего, но удобней он от этого не стал. Да, там наконец реализовали возможности которые были в *nix давным давно, и наконец инегрировали возможности ОС и .Net туда, но в плане написания кода, для меня неудобней только perl (пользуюсь редко, синтаксис быстро забывается). Реально было удобней поставить minsys или cygwin для решения большинства задач.
Не везде --full-time существует:
$ ls --full-time
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
И для точности «ls» к башу отношения не имеет. Кроме того, вы изменили задачу — я вам предлагал «ls -l», вы мне — «ls --full-time». Не надо так.
Я могу решить задачу найти файлы этого года кучей способов (в том числе, убрав из вашей строки grep и переменную), я хотел проиллюстрировать, что строки — отстой, так как они не имеют чётких полей.
Строки — это универсальный человекочитаемый формат. Содержимое строки можно проконтролировать глазами. Функция Bash — не администрирование отдельно взятого семейства ОС, а «клей» для организации взаимодействия между специализированными инструментами и общения пользователя с этими инструментами.
Я понимаю идеологию баша, я за консолью линуксов больше 20 лет.
Вот это Powershell (на баше тоже будет работать, но «cat» будет лишним):
cat user-agents.log | sort -u
и это PowerShell:
ls | where {!$_.length} | %{rm $_}
А groovysh как выглядит?
ls | where {!$_.length} | %{rm $_}
Я так понимаю, это заклинание на удаление пустых файлов. В проводнике это делается, например, так:
клик мышкой в заголовок поля с размером
промотать список до конца
клик с шифтом
промотать до первого непустого файла
клик с шифтом
del
Проводник проще и быстрее, чем bash вместе с powershell ;)
Проводник проще и быстрее, чем bash вместе с powershell ;)
Вы забываете, что ЛЮБАЯ команда в консоли — легко превращается в скрипт, а скрипт легко вызывать например по расписанию.
Нельзя сравнивать GUI и CLI интерфейсы без контекста использования.
Можно сравнивать разные оболочки одного типа, например powershell и bash.
А Вы, со своим проводником, просто видимо никогда не встречаетесь с задачами чуть сложнее чем запустить ярлык.
Например: 10 тысяч файлов в папке. Сколько будете мотать список в вашем проводнике до первого непустого, если он будет например трехтысячным?
Нельзя сравнивать GUI и CLI интерфейсы без контекста использования.
Да. Проводинк, nc, FAR — менеджеры файлов. В каждом из них задача «удалить пустые файлы» решается в несколько щелчков мыши. Это как правило быстрее, чем вспоминать/гуглить/придумывать заклинание для PS/bash.
На shell можно все, и даже больше, да. Но иногда проще не писать однострочник, а взять более подходящий инструмент.
Вы забываете, что ЛЮБАЯ команда в консоли — легко превращается в скрипт
Верно. Но кому, кроме некоторой части профессиональных ИТшников, это может быть нужно? 99.99% кейсов использования любой командной оболочки — это как раз что-то запустить, реже переименовать, удалить, скопировать. Причем не по повторяющемуся шаблону, а однократно. И зачастую с необходимостью предпросмотра содержимого. Так что кроме узкого специального круга задач Проводник действительно проще и быстрее.
Если сейчас синтаксис PowerShell причесали — отлично, но пока он не станет «общим местом», пока именно он не начнёт запускаться при запуске «Командной строки», он будет такой же экзотикой, как Tcl, который безумно удобен для построения сложных комбинаций из самостоятельных программ, но, не являясь оболочкой, пользователям на глаза не попадается. И даже так: я тот же Tcl знаю, но, поскольку работаю в Bash, Bash мне на глаза первым и попадается/ F написать на нём короткий однострочник, для которого даже редактор запускать не надо, куда проще и быстрее, чем на Python или том же Tcl.
Особенности есть у всего. Не нравится Bash? Используйте csh, tcsh или любую другую оболочку из кучи имеющихся в репозиториях разных ОС и дистрибутивов.
Вы, вероятно, удивитесь, но ничего не разваливается. Можно использовать кавычки, можно выставить набор разделителей.Я вам рассказываю как пишут, а не как можно сделать. Вы же мне сами пишете про «человека без специальной подготовки».
И мне не нравится не баш, мне не нравится, когда люди незаслуженно ругают powershell и говорят, что баш лучше. Он не лучше, он хуже.
Ваше же позиционирование этих языков — это просто ваше мнение, у меня оно другое. А аргумент про новый язык я не понял — баш же вы учили? Или он и является основным языком проекта?
А аргумент про новый язык я не понял — баш же вы учили? Или он и является основным языком проекта?
Вопрос был в том, что вот у меня уже сделанная программа и её надо сдавать. И у меня есть программа на Bash, которая отлично работает, а заказчик внезапно хочет всё запускать на винде. То есть мне надо разгрестись с новым языком чтобы написать одну программу, которая у меня уже есть на языке оболочки.
Я понимаю, что можно сделать всё то же, что и на Bash, вопрос в синтаксисе. Мне он показался ничуть не более понятным, чем у cmd.exe, с которым я работал довольно много.
Уж никак не сравнить PS и Java. Тем более простые однострочники на PS иногда неотличимы от bash.
И у меня есть программа на Bash, которая отлично работает, а заказчик внезапно хочет всё запускать на винде
В windows 10 баш уже есть в винде.
В любую другую адекватную версию windows баш ставится на раз-два.
В чем проблема то?
1. Эта программа требует файлов конфигурации и, если не делать специальную сборку, придётся создавать песочницу, которая сильно всё попортит. Ну и не забываем, что сам по себе Bash — это просто «клей» или менеджер потоков, то есть понадобится установить ещё кучу всего.
2. Установка ЕЩЁ одной программы, а по факту — нескольких. И имена некоторых из них конфликтуют с уже имеющимися в системе. Например, юниксовый find внезапно называется так же, как убогий досовый, который доступен по умолчанию. Поскольку даже это убожество кем-то используется в пакетных файлах (потому что нормального по умолчанию нет), я не могу просто взять и переписать его. Собственно, отсюда и причина для морока с песочницей.
3. Пользователю часто и так тяжко поставить одну программу, которая ставится, по сути, сама. Я имею в виду интерпретатор Python. А Вы предлагаете ставить целый ворох непонятно чего, которое потом ещё и настраивать надо. Не, я лучше ещё один скрипт на питоне напишу: это будет быстрее, чем возиться с установкой Bash и компании ради перебора файлов. Если бы то же самое можно было бы делать на cmd, было бы вообще замечательно, но там синтаксис вообще какой-то кошмарный и циклы с ветвлениями — просто ад.
Про скрипты под виндой. 15 лет назад я пришёл в одну контору. Писали могучую систему для технических писателей. Писали на Java, но, по факту, всё было заточено под винду. Так вот, сборочные скрипты были написаны — тадам! — на Bash и Perl. Под виндой. 15 лет назад. С обязательными танцами с бубном вокруг Cygwin. Перетаскивание под *nix началось только через три года, когда пришёл запрос от Sun Microsystems.
Если бы то же самое можно было бы делать на cmd, было бы вообще замечательно, но там синтаксис вообще какой-то кошмарный и циклы с ветвлениями — просто ад.
Вопрос привычки. Кто десять лет писал батники и впервые увидел баш, тому башевские циклы с ветвлениями покажутся кошмаром и адом, и наоборот.
Так вот, сборочные скрипты были написаны — тадам! — на Bash и Perl. Под виндой. 15 лет назад. С обязательными танцами с бубном вокруг Cygwin.
Скорее всего, причина чисто историческая — кому-то, стоявшему у истоков проекта, ближе всего были Bash и Perl.
А то я работал было в одной конторе, где админские скрипты были написаны на PHP (!), просто потому, что предыдущий админ не знал ни Bash, ни Perl, ни PowerShell, но знал и любил PHP.
Что все с этими пробелами прицепились.
Вы лучше скажите, почему я могу сделать под Линуксом
echo «hello» > my:file
А на винде ругнется даже в повершеле. Повершел такой убогий, что не умеет двоеточие экранировать? ;)
Потому что её часто допускают и это самая понятная проблема и обсуждаемая проблема. Про остальные (типа «выставляй IFS») многие писатели на баше и не знают.
Про двоеточие не пишу, вам выше ответили уже.
Get-AdUser, Set-NetIPAddress, Set-WsusServerSynchronization, всё английским по белому.
В целом, синтаксис командлетов в PS достаточно однообразен. Например в bash, как подсказывают коллеги, мы пишем «ip a», но «ifconfig -a», то есть параметры для разных команд обозначаются по разному.
Cmd тоже этим страдает с внешними утилитами. Например «ping -t», но «shutdown -s».
А вот в Powershell, на сколько я помню, всё более менее единообразно.
Вообще, я не пытаюсь доказать, что PS круче bash или что-то подобное, просто всё началось с того, что вы сказали, что вам синтаксис PS показался невразумительным и я искренне пытаюсь понять, что именно это значит. Вот сейчас на мой пример с параметрами, вы отвечаете «ну да, это же одни люди делали и буквально вчера, еще бы там были такие проблемы».
Я понимаю, зачем это было в DOS: ресурсов было мало и надо было упихать в короткую строку как можно больше. Но этот синтаксис остаётся и сейчас.
А ничего, что юниксовый sh был написан в 1971 для компьютера с 64 КБ памяти на магнитных сердечниках, но тот же синтаксис остаётся и сейчас?
Магнитные сердечники в 70-х? Вы не ошиблись?
Magnetic-core memory was the predominant form of random-access computer memory for 20 years between about 1955 and 1975.
Первый вариант UNIX писался под DEC PDP-7, а стандартный Shell попал в состав UNIX только в 1977.
The first Unix shell was the Thompson shell, sh, written by Ken Thompson at Bell Labs and distributed with Versions 1 through 6 of Unix, from 1971 to 1975.[2] Though rudimentary by modern standards, it introduced many of the basic features common to all later Unix shells, including piping, simple control structures using if and goto, and filename wildcarding.
пока именно он не начнёт запускаться при запуске «Командной строки»
Он никогда не будет так запускаться. Потому что Командная строка в Win — это cmd.exe
Но в Win+X менюшке уже пару релизов как по умолчанию живёт пошик.
Как бы крут ни был этот инструмент, пока пользователи его не видят, он бесполезен. Даже я, вынужденный периодически заниматься настройкой компьютеров с виндой, не знал этого. Что уж говорить об обычных пользователя?
Совершенно естественно, что инструмент, нужный 0.1% пользователей Windows, спрятан как можно дальше, чтобы обычные пользователи его случайно не запустили и что-нибудь при помощи него не повредили.
А обычным пользователям винды не нужен ни пошик ни cmd.
А про WinAPI я писал применительно к JScript и VB, которые могли бы претендовать на роль главного скриптового языка, но, поскольку средствами языка почти ничего не могли делать, пользы от них оказалось ноль: если я пишу что-то на Python, мне, в общем-то безразлично, в какой ОС я работаю, пока не натыкаюсь на специфику, которая разруливается через какие-то вызовы или переменные стандартных библиотек. То есть работа с сетью, включая самые распространённые транспортные протоколы, работа с диском и прочими «общими» функциями реализованы через стандартные библиотеки языка, а в том же JScript, насколько я помню, чтобы всё это делать, надо изучать ровно то же, что и при программировании на Си. И подключать все те же DLL поимённо. И зачем мне тогда скриптовый язык? Поэтому JScript, насколько я знаю, практически нигде не используется, а ниши VB — компилируемые программы и VBA, где он выполняется в контексте приложения, через реализованные в приложении интерфейсы, имеет доступ к его внутренним струкрурам.
XP это отдельный разговор много по какому поводу. Но в современных OS Windows PS уже есть и при выборе между батником и ps скриптом я сейчас почти всегда выбираю второе.
VB, как мне кажется, как скриптовый язык в винде сейчас полностью заменен PS. Раньше его использовали просто потому, что он мог гораздо больше, чем cmd, и работал на любой виндовой системе, сейчас же эту роль выполняет PS, причем у него гораздо ниже порог вхождения и, на мой взгляд, он гораздо удобнее VB, хотя бы по тому, что в VB надо работать напрямую с WinApi, а не с удобными командлетами.
Специализация на администрировании это фича PS, но это не единственное, что он умеет. То есть там просто есть еще и нативные модули для AD, hyper-v, sql и так далее. Я не специалист по пайтону, но не представляю сходу, что такого, можно сделать на пайтоне, чего нельзя сделать в PS.
Я скорее про то, что не виндовыми службами едиными.
Именно этот подход кажется более удобным и устойчивым к изменениями — собственно поэтому шелл-программинг живет так долго практически не теряя обратной совместимости, при этом оставаясь удобным инструментом с минимум устаревшего подхода.
Сейчас активно пишу шелл скрипты, которые работают и под вин и под линукс и радуюсь.
Второй момент — синтаксис. Не как отдельного языка программирования, а как оболочки, чей язык может быть прозрачно использован в качестве языка программирования. Если я правильно помню, синтаксис команд ветвления и циклов там такой же, как в cmd.exe, то есть довольно страшненький.
Синтаксис циклов (на примере for) на мой взгляд не особо отличается от питона. Зато наличие объектов позволяет очень удобно работать с массивами в цикле. Банальный пример, взяли нужные компьютеры из AD по имени и тут же вывели любой их параметр или любое сочетание параметров.
«Интерфейс для платформы .NET, а не для ОС» — простите, я не понимаю эту фразу.
Есть примеры Core версии Windows Server, где powershell это единственный интерфейс который у вас есть. И в этом случае это как раз «интерфейс для ОС, для управления файлами и потоками».
FAR всегда дружелюбно относился к CLI, и являлся отличным дополнением. Особенно в связке с ConEMU.
А такие команды как:
edit:<grep -P «myregexp» *.txt
А встроенные макросы, которые могут работать не только внутри редактора но и непосредственно в панелях?
Понятно, что на безрыбье и рак — рыба, но отсутствие вызова fork и нормальных конвейеров превращают сильно ломают работу таких привычных инструментов. Так изрядно портит впечатление то, что многие вещи устаревают на несколько лет, прежде чем попадают в этот комплект, а сборка из исходников чаще всего оказывается тем бегом по граблям. Не в последнюю очередь — по причине сильно устаревших утилит и библиотек.
С GnuWin не сталкивался: полтора года назад этот продукт в поиске не попался. Но, думаю, там так же создаётся структура директорий, оформляющая файловую систему *nix, потому что программы ищут свои настроечные файлы в определённых местах.
Насколько удобно перемещать данные из консоли в редактор и обратно, видеть результат консоли например вместо одной из панелей?
Не настолько удобно, как в FAR. Невозможно ни вместо одной из панелей, ни скрывать окно менеджера, оставляя окно командной строки. Если же написать ping 8.8.8.8, то он просто откроет отдельное окно командной строки, как указал AndreyHenneberg ниже. Но можно пользоваться чем-нибудь типа cd %$APPDATA%
Подробности, как это делается в FAR, я сейчас не вспомню
Control+Enter вставляет имя текущего файла из панели в командную строку. Причем имена с пробелами обрамляет в кавычки.
Я имел в виду возможность вытряхнуть выделенные имена в командную строку стразу пачкой
А, тогда прошу прощения, это я не знаю как делается :)
Разве что Control+Insert (копирует имена всех выделенных файлов) и потом Shift+Inser.
Можно вставить путь одной из панель через Ctrl + [ или ]
Можно подвинуть панели вверх, чтобы видеть пару строк консоли и соответственно видеть результат выполнения.
Можно вообще много чего делать. Например через Netbox подключится к удаленной sftp сессии на линукс, и не только ходить там по файловой системе и копировать файлы, но и сразу выполнять обычные линукс команды на удаленной системе.
В общем если с винды часто лазите на линукс-машины, и часто работаете со скриптовыми языками (баш, питон, cmd, etc) то FAR становится мега-удобным.
Total Commander ничем не хуже. Вкусовщина конечно.
Есть одна проблема — он платный и только под windows. А щелканье по цифрам во время запуска не освобождает от ответственности. Давно перешел на открытый double commnader, который поддерживает плагины от TC.
В обычных условиях Far запускается полсекунды.
У меня FAR долго запускается.
Доли секунды. Ну и можно вообще не закрывать месяцами — утечек не вижу.
память кушает больше, чем Total Commander
Простите, что? сколько килобайт, ну ладно мегабайт там разницы? Это же не браузеры, у которых сотня мегабайт туда-сюда.
Еще минус FAR — консоль Windows, шрифты
Использование консоли — это не минус, это особенность, из-за которой большинство пользователей ФАР-а и сидят на ФАРе-.
А если вам не нравится шрифт — в 2018 году сидеть на FAR-е без ConEmu, который решает все вопросы с шрифтами, ресайзом и выделением текста — показатель, что вы в принципе не активный пользователей панельного менеджера.
в 2018 году сидеть на FAR-е без ConEmu, который решает все вопросы с шрифтами, ресайзом и выделением текста — показатель, что вы в принципе не активный пользователей панельного менеджера.
Никаких ConEmu не знаю, и ничего похожего на перечисленные проблемы в FAR в консоли win7 не замечал. Пользуюсь активно. Причём тут номер года, вообще непонятно.
Как вы это делаете в стандартной win7 консоли?
А с ALT могу выделить блоком.
p.s. вдобавок, подозреваю, что у вас не стандартная консоль, ибо в стандартной win7 консоли нужно сперва leftclick на меню слева-сверху, а уже там mark
Как зачем? Именно в этом и заключается основной момент — чем вы занимаетесь. Для тех, кот активно работает со скриптами, с управлением файлов и конфигурациями, очень удобно копировать что-то с экрана и сразу вставлять в консоль.
В FAR+conemu я могу это делать так, как в gui-шных putty например — то есть просто выделение мышкой, выделение дабл-кликом слова, выделением трипл-кликом всей строки. Быстро и удобно.
Я как бы подозреваю, что админов и продвинутых пользователей консолей не так много, но именно для них подобные инструменты будут удобнее любых других. К хорошему быстро привыкаешь.
p.s. вдобавок, подозреваю, что у вас не стандартная консоль, ибо в стандартной win7 консоли нужно сперва leftclick на меню слева-сверху, а уже там mark
Либо Alt+Space, что быстрее.
В любом случае, Alt+Space — E — K должно работать, притом быстрее, чем манипуляции мышкой.
1) выделить мышкой
вы предлагаете
2) ALT+Space — E — K и затем выделить мышкой.
И вы утверждаете, что второй вариант быстрее?
И вставить тоже не
1) Ctrl-V
а
2) ALT+Space — E — P?
Директори опус, дорого, не крякается, но стоит того
Что за набор дезинформации. Кроме того, что как уже выше сказали, File Manager никогда не становился заменой нормальным альтернативам — Norton Commander и его клонам
Поддержки длинных имён файлов не было, как и поддержки пробелов в именах. Если Диспетчеру приходилось отображать длинные файлы, то он показывал первые шесть символов, затем символ тильды "~" и число, обычно единицу.
Это не диспетчер, это старое file api операционной системы. Про пробелы — отдельное враньё, их поддерживал и DOS с давних времён.
вы оцените потрясающую обратную совместимость программ под Windows, ведь софт 28-летней давности почти без модификаций работает на последней ОС
Это не достижение, это норма. Причём по-хорошему он должен работать не "почти без модификаций" а вообще без модификаций.
Специально для установки Windows 3.0 приходилось докупать несколько мегабайт оперативной памяти, а иногда и апгрейдить процессор, например, с 20 МГц до 40 МГц.
3.1 (и тем более 3.0) нормально работал и на около-10МГц
Апгрейд до 40 это скорее про Win95.
Это не достижение, это норма. Причём по-хорошему он должен работать не «почти без модификаций» а вообще без модификаций.
А потом окошки ругают за тормознутость из-за обратной совместимости, когда в каждой версии необходимо поддерживать и эмулировать все предыдущие, включая баги.
Про пробелы — отдельное враньё, их поддерживал и DOS с давних времён.Нет, пробелы не поддерживались. Нажмите Ctrl+N в фаре, чтобы посмотреть, как выглядели имена в DOS.
в pcdos и системные файлы по другому назывались и набор утилит был другой в поставке
Очевидно же, что поддержка пробела в именах не зависит ни от набора поставляемых утилит, ни от имён системных файлов.
В любом случае, вы можете сами зайти на www.pcjs.org и там поэкспериментировать с различными досами.
1) В именах поддерживаются знаки вопроса
2) В именах поддерживаются пробелы
3) В именах поддерживаются пробелы и знаки вопроса
4) В именах не поддерживаются ни пробелы, ни знаки вопроса
5. Походу магия PC DOS умеет превращать знак вопроса (недопустимый символ для FAT) в пробел (допустимый).
ren magic look?at.me
переименует файл magic
в lookсat.me
. Осталось добавить, что имена в FAT дополняются до 8.3 пробелами — вот и объяснение, почему команда на моём скриншоте оставила внутри имени пробел.Специально для установки Windows 3.0 приходилось докупать несколько мегабайт оперативной памяти, а иногда и апгрейдить процессор
Windows 3.0 вполне сносно работала на 5МГц процессоре с 640 Кб ОЗУ, и с CGA-дисплеем. Вот 3.1 уже была попрожорливее, и требовала как минимум процессора с поддержкой защищенного режима.
Если Диспетчеру приходилось отображать длинные файлы, то он показывал первые шесть символов, затем символ тильды "~" и число, обычно единицу. Если папка содержала несколько файлов с одинаковыми первыми шестью символами в названии, то им присваивались цифры 2, 3 и так далее.
Это не он «показывал», это формат записи длинных имен в FAT в стандартную запись о файле — поскольку в файловой системе просто не было предусмотрено места для длинных имен. Я уж не помню как там хранились длинные имена, но как-то через Ж. Так что диспетчер не то чтобы специально показывал тильду и число, он просто показывал то, что записано в поле с именем файла в файловой системе, и не умел читать длинные имена.
Я уж не помню как там хранились длинные имена, но как-то через Ж
Через несколько связанных записей, ЕМНИП.
Да, что-то такое, я уже точно не помню. По-моему там еще в каждой записи кроме номера текущего куска указывалось и общее количество записей.
Когда-то давным-давно делал на микроконтроллере CD/MP3-плеер, работающий с CD-приводами и жесткими дисками, разбирал FAT16 и FAT32. Распространенных библиотек для контроллеров тогда еще не было, все приходилось делать самому :)
Весьма занимательное чтиво по этому поводу.
3.0 имела 3 режима работы:
- На 8086 — «640КБ хватит на всех», кажется умело также EMS использовать (это такие железные платки с памятью в ISA) — можно было жить на этих самых 8086/8088, но софта я уже не встречал
- 80286 «standard mode» — 1-16MB RAM
- 80386 «Enhanced mode» — 2MB+ RAM
И 1МБ SIMM во времена 3.1, которой нужно было минимум 2МБ (как раз минимум на 386SX, 4х1МБ получалось 386DX) стоил порядка $100. На 4МБ вполне «многозадачно» уже было — winrar пакует в фоне+winword что-то можно делать. В проц сама винда не упиралась — 386SX16MHz — люди вполне работали. И главное — скорость своппинга тогда в относительніх величинах была намного выше, чем сейчас и своппинг реально спасал ситуацию. Линейная скорость дисков не выросла пропорционально их объёмам и росту объёмов ОЗУ в ПК — как итог с «своп в 3 раза больше ОЗУ» формула уехала в сторону «своп лучше выключить, совсем».
winegcc его собирает?
Да, было реально. На работе, помню, докупили и вставили в 386 4 МБ (насколько я помню) оперативки, так два из них сразу пустили под виртуальный диск для оперативных задач :)
У меня как раз такой самый первый из х86 компьютеров был: брендовый(купленный б/у на знаменитой «Юноне») Siemens на Am286-12 и 2 МБ памяти в виде 1x2 МБ 30p SIMM
Потом эти 2 SIMM модуля при модернизации переехали в новый уже собственноручно собранный компьютер на базе 386DX-40 и я помнится не мог почему оно не работает. И только с большим опозданием дошло что 386DX это 32 бит процессор не только в плане вычислений, но и шины памяти в отличии от 16 бит 286го и поэтому согласен кушать 8 битные 30p SIMM модули только порциями по 4 штуки за раз (а всего разъемов под них 8 шт было, которые почти четверть материнской платы занимали).
Пришлось еще срочно незапланированно добывать деньги еще на 2 SIMM модуля, которые изначально планировались к покупке когда-нибудь позже.
kloppspb
Диспетчер файлов из Windows быстро вышел на первую строчку в списке самых популярных репозиториев GitHub за сутки.Это не удивительно — я, например, даже не дочитав статью, собрал этот проект чтобы вспомнить замечательное время простых интерфейсов.
Microsoft открыла исходный код Диспетчера файлов