Удаление оператора перенаправления не изменяет выход. Зачем?

Я видел это использование перенаправления где-то и думал, что это опечатка:

grep root < /etc/passwd 

Но после запуска я увидел, что он дает тот же результат с grep root /etc/passwd :

 $ grep root < /etc/passwd root:x:0:0:root:/root:/bin/bash $ grep root /etc/passwd root:x:0:0:root:/root:/bin/bash 

То же самое происходит с

 cat < /etc/passwd cat /etc/passwd 

Однако при использовании с ls перенаправление игнорируется:

 ls < /etc/passwd 

не выводит один и тот же вывод с

 ls /etc/passwd 

Что происходит?

One Solution collect form web for “Удаление оператора перенаправления не изменяет выход. Зачем?”

Многие утилиты, которые работают с файлами, будут принимать stdin (стандартный ввод) в виде потокового ввода или принимать имя файла в качестве параметра. Ваши < file примеры < file перенаправляют вывод файла в утилиту. Файл был открыт оболочкой и передан вашей утилите через stdin ..

С другой стороны, с cat file , cat обрабатывает открытие и чтение файла , а перенаправление не участвует.

ls никогда не читает файл, поэтому он не принимает имя файла в качестве параметра с целью открытия и чтения файла .. (он принимает маски имен файлов) … Для ls действие перенаправления, по сути, игнорируется, потому что ничего в этом процессе не читает файл с открытым оболочкой …

Чтобы определить, как работает какая-либо утилита, просто введите man utility-name в терминале … man – сокращение от ручного … например. man cat представляет вам руководство для кошек

Interesting Posts

Вставка в середину строки с помощью sed

Тихая загрузка Linux из u-boot

Есть ли общая команда для просмотра оболочки?

Настройка перезагрузки при панике Linux

iptables отбрасывает все входящие запросы ICMP, за исключением одного IP-адреса

Мои системные фрагменты не сообщают информацию systemd-cgtop

Получить исходный код ядра: apt-get install vs apt-get source

Проблема с загрузкой с использованием nosmp

Существует ли такая команда, которая показывает пропускную способность сети и доступ к файлам запущенных процессов

Цветовая схема VIM с соляризацией выглядит неправильно при использовании tmux

Почему мой скрипт медленно использует все больше и больше памяти? Это из-за мидори?

Что означает, что точка скроет косую черту с косой чертой (.//)?

Не удалось запустить proftpd server debian 8

Проблема с запуском Matlab 2010 в Ubuntu, связанная с libXp.so.6

Как я могу навсегда исправить опечатку в моей последней команде bash?

Linux и Unix - лучшая ОС в мире.