Вход | Регистрация
 
О жизни... :: Администрирование

OFF: Команда DIR сырая, использовать DOS пока нельзя

OFF: Команда DIR сырая, использовать DOS пока нельзя
Я
   Базис
 
12.02.21 - 15:24
Кончается место на диске. Нашёл большую папку, старый Гарант, 30 ГБ.
На всякий случай в FAR MANAGER сохраняю список файлов командой dir >>fileslist.txt
fileslist.txt не создаю.
После 1 запуска команды вижу в этом файле его имя:

Том в устройстве C не имеет метки.
Серийный номер тома: ****-****

Содержимое папки C:\Большие Файлы Сергея\Garant\data2

12.02.2021  15:14    <DIR>          .
12.02.2021  15:14    <DIR>          ..
06.06.2011  09:27        14 681 064 data.0ey
06.06.2011  09:38       433 811 530 data.1ey
06.06.2011  09:38             4 104 data.2ey
06.06.2011  09:38        91 493 304 data.3ey
06.06.2011  09:38        37 737 209 data.4tr
06.06.2011  09:38        45 404 531 data.5ey
06.06.2011  09:33     2 147 479 552 data.6t0
06.06.2011  09:34     2 147 479 552 data.6t1
06.06.2011  09:35     2 147 479 552 data.6t2
06.06.2011  09:36     2 147 479 552 data.6t3
06.06.2011  09:37     2 147 479 552 data.6t4
06.06.2011  09:38     1 115 914 240 data.6t5
06.06.2011  09:31     2 147 476 744 data.6tr
06.06.2011  09:38             8 200 data.7tr
06.06.2011  09:30     1 169 125 376 data.8t0
06.06.2011  09:30     2 147 476 981 data.8tr
06.06.2011  09:27        58 864 395 data.9tr
06.06.2011  09:48       127 734 385 data.key
06.06.2011  09:42     2 147 483 136 data.nd0
06.06.2011  09:43     2 147 483 136 data.nd1
06.06.2011  09:45     2 147 483 136 data.nd2
06.06.2011  09:46     2 147 483 136 data.nd3
06.06.2011  09:47     2 147 483 136 data.nd4
06.06.2011  09:48       655 071 232 data.nd5
06.06.2011  09:48     2 147 483 136 data.ndt
06.06.2011  10:22               575 data.ORG
06.06.2011  09:40     2 147 479 552 data.st0
06.06.2011  09:40       387 276 800 data.st1
06.06.2011  09:48     2 147 476 931 data.str
12.02.2021  15:14                 0 fileslist.txt
              30 файлов ** *** *** *** байт
               2 папок   * *** *** *** байт свободно

Почему файл попал в выборку? Кто так пишет? Эта команда в Windows идёт с DOS, значит оба семейства ОС ещё сырые и не должны использоваться? На Линуксе, наверное, правильно?
   ДенисЧ
 
1 - 12.02.21 - 15:27
В пингвинуксе правильно, потому что там нет команды dir
   DGorgoN
 
2 - 12.02.21 - 15:40
Не правильно это когда в описании команды явно сказано 1 а при её выполнении явно происходит в другое. А в (0) это особенности выполнения.
   mistеr
 
3 - 12.02.21 - 15:44
(0) Что не так-то?
   Многолетний Апельсин
 
4 - 12.02.21 - 15:45
(0) думаю там внутри код из разряда что-то типа:

ВывестиМеткуИСерийномерДиска(); // Здесь в момент вывода текста перенаправление создает filelist.txt
ВывестиСписокФайловКаталога(); // Сканирование папки происходит внутри этой процедуры и подхватывает filelist.txt
   mistеr
 
5 - 12.02.21 - 15:45
(0) ">>" это конвейер (pipeline). Ты в курсе, что это и как работает?
   mistеr
 
6 - 12.02.21 - 15:46
У ТС понимание ОС сырое, пользоваться пока не стоит.
   Garykom
 
7 - 12.02.21 - 15:47
(0) многопоточность
старая dos была однопоточной, а тут у тебя dir начал считывать имена файлов и записывать в fileslist.txt, т.е. он создался
а чтение имен файлов все продолжается и тут дошли до самого себя, пока с размером 0 ибо не закрыта запись
   Garykom
 
8 - 12.02.21 - 15:48
и да это классический косяк программера с бесконечным циклом
что те мешало fileslist.txt в другой каталог/диск?
   Asmody
 
9 - 12.02.21 - 15:50
(0) потому что ты перенаправил вывод. чтобы команда могла куда-то писать, ОС должно это "что-то" ей дать. По-умолчанию, это stdout. Перенаправление вывода меняет это поведение. ОС (точнее, оболочка) создала файл, отрыла на запись и отдала в качестве stdout команде dir. Пока команда не завершила вывод, файл на запись не закрывается, и для чтения он заблокирован. Поэтому, размер 0.
   Garykom
 
10 - 12.02.21 - 15:52
(9) даже стало интересно, в виртуалку что ли dos 6.22 поставить и провести эксперимент
а не в этой эмуляции dos консоли на винде
   Базис
 
11 - 12.02.21 - 15:53
(9) Размер 0 - согласен. Но в момент выполнения команды файла ещё не было.
   Fish
 
12 - 12.02.21 - 15:58
(11) " Но в момент выполнения команды файла ещё не было." - Ошибочное утверждение.
   mistеr
 
13 - 12.02.21 - 16:00
(11) Появился в процессе.

Это тебе не скуль тут кислотой (ACID) не пахнет.
   Волшебник
 
14 - 12.02.21 - 16:03
(9) Гениально
   Asmody
 
15 - 12.02.21 - 16:43
"Системное программирование на C", второй курс университета.
   Kigo_Kigo
 
16 - 12.02.21 - 16:47
Собственно вопрос то в другом, нахрена это было нужно?
   Базис
 
17 - 12.02.21 - 16:58
(15) Серьёзный университет, не-архаичные преподы, завидую. Где такое?
(16) Нужно было для оставления следа, комп отдали полностью заполненный, но прошлого хозяина уже не спросить. Ковид :(
И поведение ОС удивило. Ожидал, что всё будет сделано в единой транзакции.
   Asmody
 
18 - 12.02.21 - 16:59
(17) Приходи в СГУ в 93м году, все будет
   Asmody
 
19 - 12.02.21 - 17:02
"И поведение ОС удивило" - вообще-то, это поведение описано в POSIX. А Windows NT старается ему соответствовать.
   Доктор Манхэттен
 
20 - 12.02.21 - 17:09
(0) >> fileslist.txt не создаю.

Лжешь.
Ты создаешь этот файл командой dir >>fileslist.txt
   Arbuz
 
21 - 12.02.21 - 17:13
dir | tee filelist.txt
;)
   Базис
 
22 - 12.02.21 - 17:16
(18) Это тот, где человечки с эллиптическими головами во всей учебной документации? Знакомые выпускники юрфака - совершенные деревья, про ИТ направление у них не слышал.
   rphosts
 
23 - 12.02.21 - 17:17
(0) интересно как ты отреагируешь когда узнаешь как на самом деле выполняются самые даже простые запросы...
   rphosts
 
24 - 12.02.21 - 17:20
(19) я помню те времена когда NT была NewTecnologies...  а потом пришли ребята из фирмы DEC и забацали мелкомягким ядро NT 3.0 - первое реально не решето
   Доктор Манхэттен
 
25 - 12.02.21 - 17:22
(1) там работает точно так же, имя файла попадает в файл
   VladZ
 
26 - 12.02.21 - 17:22
(0) Пару раз замечал отличие поведения команд ДОС в чистой ДОС и в FAR MANAGER.
Поэтому, я бы проверил в чистой ДОС.
   rphosts
 
27 - 12.02.21 - 17:24
VladZ, в Мск свалил что-ли?
   Гость из Мариуполя
 
28 - 12.02.21 - 17:26
(11) если бы в момент выполнения команды его бы не было, то команда бы просто не смогла выполниться. Физически. Ей бы "некуда" было выполняться.

Для того, чтобы команда могла выполниться "куда-то", ей ПЕРЕД выполнением это самое "куда-то" надо создать.
   VladZ
 
29 - 12.02.21 - 17:27
(27) Да, уже два года здесь.
   rphosts
 
30 - 12.02.21 - 17:29
(29) комфортнее по самой жизни чем в Нкз?
 
 
   VladZ
 
31 - 12.02.21 - 17:31
(30) Я не за комфортом ехал. Так сложилось.
Что-то конкретное интересует? Спрашивай.
   rphosts
 
32 - 12.02.21 - 17:39
(31) значит пока не акклиматизировался...
Обратно не тянет?
   Garikk
 
33 - 12.02.21 - 17:41
(1) (0) https://pasteboard.co/JO1xqn1.png
тоже самое в линуксе
   Доктор Манхэттен
 
34 - 12.02.21 - 17:45
(26) Зачем проверять, если поведение логичное и ожидаемое? В чистом ДОС такое же как и в ФАРе, и в Линуксах, и в Виндовс. Команда работает правильно. То что ТСу удобнее другое поведение - это его проблемы. Кому-то наоборот нужно чтобы в файл попали все имена файлов, кому-то не нужно. Под всех не подстроишься.
   Доктор Манхэттен
 
35 - 12.02.21 - 17:47
(33) Уже писали
   VladZ
 
36 - 12.02.21 - 17:58
(32) Нет, не тянет.

Зима тут, конечно, не как в Сибири. Обычно это слякоть. Только успеваешь омывайку в машину заливать.
В этом году холоднее, чем в прошлом. Здесь ветра и влажность. Как результат: -13 по ощущениям как -20.
Прикинь, на прошлой неделе колесо заклинило (замерзла какая-то хрень в ручнике). Прикол: в Сибири не замерзало, в МСК замерзло.

Ну, в целом: большой город - больше возможностей. Но и народу больше. Это иногда конкретно напрягает.
   rphosts
 
37 - 12.02.21 - 18:34
(36) у нас ветров тоже хватает, особенно последние года... а вот слякоть -> мерзость!!! Терпеть не могу грязь!!!
Колесо бывало прихватывало... барабанные тормоза имеют такой риск. И да пробки тоже напрягают прям сильно, пока сам за рулём.
   Доктор Манхэттен
 
38 - 12.02.21 - 19:17
(36) Мне после Сибири Москва вообще не понравилась. Сам город стремный, грязный, некомфортный. Ну и климат тоже. Слякоть в минусовую погоду - это очень напрягает. И вечная грязь на дорогах, что машина постоянно грязная. Про омывайку ты точно подметил. Стекла загрязняются на раз.
   Доктор Манхэттен
 
39 - 12.02.21 - 19:18
Больше возможностей - это очень хорошо. Но когда есть возможность работать удаленно, причин оставаться в Москве - ноль.
   Кирпич
 
40 - 12.02.21 - 21:35
Элитарий. Что тут скажешь.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.