Dev null in windows

Есть ли / dev / null в Windows?

Что эквивалентно в /dev/null Windows?

Я думаю, что вы хотите NUL , по крайней мере, в командной строке или пакетных файлов.

не создает файл.

верю, что то же самое верно, если вы пытаетесь создать файл программно, но я не пробовал.)

В PowerShell вы хотите $null :

Согласно этому сообщению в списке рассылки GCC , вы можете использовать файл «nul» вместо / dev / null:

(Кредиты Дэнни за этот код; скопированы из его сообщения.)

Вы также можете использовать этот специальный файл «nul» через перенаправление.

NUL в Windows, кажется, на самом деле виртуальный путь в любой папке. Так же , как .. , . в любой файловой системе.

Используйте любую папку с NUL будет работать.

имеют тот же эффект, что и /dev/null в Linux.

Это было проверено на Windows 7, 64 бит.

Джон Скит прав. Вот страница Nul Device Driver в документации Windows Embedded (я понятия не имею, почему это не где-то еще . ).

NUL работает программно, а также. Например, следующее:

работает как положено без создания файла. (MSVC ++ 12.0)

Если вам нужно выполнить в Microsoft Windows эквивалент символической ссылки /dev/null в Linux, которую вы откроете, cmd введите администратор и введите:

Для файлов:

Или для каталогов:

Это будет держать файл / direcotry всегда в 0 байт, и все равно возвращать успех при каждой попытке записи.

Для этого вы должны использовать start и $ NUL в Windows PowerShell :

Введите эту команду, предполагая, что mySum это имя вашего приложения и 5 10 аргументы командной строки, которые вы отправляете.

Команда start запустит отдельный процесс, аналогичный эффекту & . Эта /B опция запрещает запуску открытия нового окна терминала, если запущенная программа является консольным приложением. и NUL является эквивалентом Windows /dev/null . The 2>&1 в конце перенаправит stderr в stdout, который все пойдет в NUL .

Есть ли /dev/null в Windows?

Что эквивалентно /dev/null на винде?

7 ответов

Я думаю ты хочешь NUL по крайней мере в командной строке или пакетных файлах.

не создает файл.

верю, что то же самое верно, если вы пытаетесь создать файл программно, но я не пробовал.)

В PowerShell вы хотите $null :

Согласно этому сообщению в списке рассылки GCC, вы можете использовать файл «nul» вместо / dev / null:

(Кредиты Дэнни за этот код; скопированы из его сообщения.)

Вы также можете использовать этот специальный файл «nul» через перенаправление.

Джон Скит прав. Вот страница Nul Device Driver в документации Windows Embedded (я понятия не имею, почему это не где-то еще. ).

Читайте также:  Служба репозитория состояний windows 10 грузит процессор

NUL в Windows, кажется, на самом деле виртуальный путь в любой папке. Как .. , . в любой файловой системе.

Используйте любую папку с NUL будет работать.

имеют тот же эффект, что и /dev/null в линуксе

Это было проверено на Windows 7, 64 бит.

NUL работает программно, а также. Например, следующее:

работает как положено без создания файла. (MSVC++ 12.0)

Для этого вы должны использовать start и $NUL в Windows PowerShell:

Введите эту команду, предполагая, mySum название вашей заявки и 5 10 являются аргументами командной строки, которые вы отправляете.

start Команда запустит отдельный процесс, аналогичный эффект & , /B опция запрещает запуску открытия нового окна терминала, если программа, которую вы запускаете, является консольным приложением. а также NUL Windows эквивалентно /dev/null , 2>&1 в конце перенаправит stderr на стандартный вывод, который все пойдет на NUL ,

Is there a /dev/null on Windows?

What is the equivalent of /dev/null on Windows?

7 Answers 7

I think you want NUL , at least within a command prompt or batch files.

doesn’t create a file.

(I believe the same is true if you try to create a file programmatically, but I haven’t tried it.)

In PowerShell, you want $null :

According to this message on the GCC mailing list, you can use the file «nul» instead of /dev/null:

(Credits to Danny for this code; copy-pasted from his message.)

You can also use this special «nul» file through redirection.

NUL in Windows seems to be actually a virtual path in any folder. Just like .. , . in any filesystem.

Use any folder followed with NUL will work.

have the same effect as /dev/null on Linux.

This was tested on Windows 7, 64 bit.

Jon Skeet is correct. Here is the Nul Device Driver page in the Windows Embedded documentation (I have no idea why it’s not somewhere else. ).

Here is another:

NUL works programmatically as well. E.g. the following:

works as expected without creating a file. (MSVC++ 12.0)

If you need to perform in Microsoft Windows the equivalent of a symlink to /dev/null in Linux you would open and administrator’s cmd and type:

For files:

Or, for directories:

This will keep the file/direcotry always at 0 byte, and still return success to every write attempt.

You have to use start and $NUL for this in Windows PowerShell:

Type in this command assuming mySum is the name of your application and 5 10 are command line arguments you are sending.

The start command will start a detached process, a similar effect to & . The /B option prevents start from opening a new terminal window if the program you are running is a console application. and NUL is Windows’ equivalent of /dev/null . The 2>&1 at the end will redirect stderr to stdout, which will all go to NUL .

Читайте также:  Windows 10 windowsapps как получить полный доступ

Not the answer you’re looking for? Browse other questions tagged windows or ask your own question.

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Что означает «> /dev/null 2>&1»?

Долгое время никто не мог объяснить мне, что за амперсанды, знаки и цифры идут после юниксовых команд. При этом все примеры были показаны без объяснения — зачем все это? Гугл также не давал ответа. Особенно заметно использование таких команд во время работы компилятора. В этой статье постараюсь объяснить эти странные команды.

К примеру, у нас есть такая строчка:
cron job command > /dev/null 2>&1

Перенаправление вывода

Оператор > («больше чем»), как в примере выше, переадресовывает вывод программы. В данном случае, что-то отправляется в /dev/null, а что-то переадресовывается в &1.

Стандартные ввод, вывод и ошибка

Существует три стандартных значения ввода и вывода для программ. Ввод получают от клавиатуры (интерактивная, диалоговая программа), или из программы, обрабатывающей вывод другой программы.
Результат программы обычно печатается в стандартной вывод и иногда в файл «STDERR» (ошибка). Все это три дескриптора файла (вы можете представить их как «потоки данных», пришли из языка программирования C), которые часто называют STDIN, STDOUT и STDERR.

Но часто к ним обращаются не по имени, а по номеру:
0 — STDIN, 1 — STDOUT и 2 — STDERR
По умолчанию, если вы не укажете номер, то будет подразумеваться STDOUT.

В нашем примере видно, что команда направляет свой стандартный вывод в /dev/null (псевдоустройство, которое может принять произвольный объём данных, не сохраняя их совершенно нигде, следовательно, подавив стандартный вывод). Затем все ошибки (то есть STDERR) перенаправить в стандартный вывод. Необходимо поставить амперсанд «&» перед номером назначения.

Смысл вкратце — «весь вывод указанной команды спихнуть в черную дыру!«.
Это один из способов сделать программу по-настоящему безмолвной. Добавлю, что команда в примере аналогична команде cron job command >/dev/null 2>/dev/null

Официальный FAQ FreeBSD предупреждает: отправка данных в /dev/null/ перегревает ваш процессор 🙂

Dev null in windows

может кто подскажет есть ли в win2000 аналог перенаправления вывода в /dev/null

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • /dev/null для windows, allez, 06:36 , 19-Окт-05, (1)
    • /dev/null для windows, Moralez, 10:06 , 20-Окт-05, (2)
      • /dev/null для windows, allez, 11:13 , 20-Окт-05, (3)
        • /dev/null для windows, Moralez, 11:43 , 20-Окт-05, (4)
          • /dev/null для windows, allez, 11:53 , 20-Окт-05, (5)
  • /dev/null для windows, Dmitry U. Karpov, 00:36 , 17-Ноя-05, (6)
    • /dev/null для windows, Vincent Rijmen, 14:45 , 23-Фев-09, ( 7 )

Сообщения по теме [Сортировка по времени | RSS]

>может кто подскажет есть ли в win2000 аналог перенаправления вывода в /dev/null
>

Есть. Называется null. Пришел окольными путями из Unix, поэтому работа с
ним вполне привычна:

C:\>dir fignya > null
Файл не найден
C:\>

1. «/dev/null для windows»
Сообщение от allez (ok) on 19-Окт-05, 06:36
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. «/dev/null для windows»
Сообщение от Moralez (ok) on 20-Окт-05, 10:06

Индусы, работающие программерами в Микрософт думают, что слово null с одним «l» пишется.

allez, файлики null с диска потри, они там ни к чему.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. «/dev/null для windows»
Сообщение от allez (ok) on 20-Окт-05, 11:13

>Индусы, работающие программерами в Микрософт думают, что слово null с одним «l»
>пишется.
>
>allez, файлики null с диска потри, они там ни к чему.

Да я их и не создавал 🙂

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. «/dev/null для windows»
Сообщение от Moralez (ok) on 20-Окт-05, 11:43

Типа echo 1>null у вас не создаёт файлик null? Может у вас не виндовс?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. «/dev/null для windows»
Сообщение от allez (ok) on 20-Окт-05, 11:53

>Типа echo 1>null у вас не создаёт файлик null? Может у вас не виндовс?

Да нет, я просто по памяти свое сообщение писал, вот память и подвела ;-).
Машины с DOS/Windows рядом не было. Когда вспомнил про лишнюю букву, вообще
компьютера под рукой не оказалось, а потом уже просто не до того стало.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. «/dev/null для windows»
Сообщение от Dmitry U. Karpov on 17-Ноя-05, 00:36

Файлы «NUL», «CON», «LPT», «COM1», «COM2» и т.п. как бы существуют в каждой директории. Это связано с тем, что когда-то в DOS не было поддиректорий — так что директория была всего одна, она же корневая, она же текущая. Вот для совместимости и пришлось извратиться через анус.

Это свойство иногда используют для различания файлов и директорий:
if exist директрия\nul
позволяет проверить существование директории с нужным именем, тогда как
if exist директрия
сработает даже если это не директория, а файл. В Unix это сделано намного умнее — есть утилита «test» (она же «[«) с кучей ключей, в т.ч. -d, -r и др., что позволяет не извращаться, а прямо спросить у операционки то, что мне надо.

Читайте также:  Tmeter для windows 10
Оцените статью