Что такое "передача аргумента имени файла"?
Я учил себя командной строке Linux через PDF-книгу, и после того, как автор объясняет, как использовать cat
а также >
чтобы сделать текстовый файл, он говорит:
Мы видим, что результат такой же, как передача одного аргумента имени файла.
и я действительно не знаю, что он имеет в виду, несмотря на то, что я не пропустил ни одной части книги. Он просто говорит о вводе аргументов в терминале? Если это так, я до сих пор не знаю, что он имеет в виду.
РЕДАКТИРОВАТЬ
вот весь абзац:
Используя оператор перенаправления "<", мы меняем источник стандартного ввода с клавиатуры на файл lazy_dog.txt. Мы видим, что результат такой же, как передача одного аргумента имени файла. Это не особенно полезно по сравнению с передачей аргумента имени файла, но служит для демонстрации использования файла в качестве источника стандартного ввода.
1 ответ
Вы должны передать (аргументы)
" Передача аргумента " означает добавление параметра после определенной команды. Программа, запущенная этой командой, будет вести себя соответственно.
Например, команда " cp " используется для копирования файла и требует двух аргументов. Во-первых, ФАЙЛ ИСТОЧНИКА, а во-вторых, ФАЙЛ НАЗНАЧЕНИЯ (или каталог назначения). Обратите внимание, что порядок синтаксиса здесь очень важен.
cp <SOURCE FILE> <DESTINATION FILE>
Предположим, вы хотите скопировать файл " file.txt " в " copy_of_file.txt ". Вы должны выполнить команду:
cp file.txt copy_of_file.txt
Он создаст новый файл в том же каталоге (каталог, из которого вы выполнили команду, где должен находиться исходный файл " file.txt ")
И SOURCE FILE, и DESTINATION FILE являются аргументами, передаваемыми команде "cp".
Нужна помощь?
Если вы хотите узнать, какие или сколько аргументов требуется команде или какие необязательные аргументы она принимает, вы можете сделать следующее:
<command> --help
например:
cp --help
или же
cat --help
Он отобразит "Как использовать вашу команду" в вашем терминале.
Любопытство не убьет кошку
Давайте посмотрим на команду cat. Если вы запускаете cat с одним аргументом, скажем, текстовый файл:
cat my_file.txt
Он отобразит содержимое этого файла на терминале.
Если вы запустите cat с двумя аргументами, он отобразит содержимое обоих файлов:
cat my_first_file.txt my_second_file.txt
Оператор перенаправления ">"
Теперь> ( оператор перенаправления) выглядит немного сложнее, но на самом деле все очень просто.
Это перенаправление. Вы должны смотреть на все, что ваш терминал отображает как вывод команды. Выход обычно идет на терминал. Если вы запускаете:
cat my_file.txt
Команда - " cat ", аргумент - "my_file", а вывод - содержимое этого файла. Выход идет на терминал. Что ж, когда вы используете оператор перенаправления ">", который требует аргумента, вы фактически перенаправляете вывод в другое место назначения. Итак, что происходит, когда вы бежите
cat my_file.txt > new_file.txt
в том, что вместо отображения содержимого файла в ваш терминал, он будет записан в файл "new_file.txt".
Есть два способа об этом.
Так что, в основном, результат
cat my_file.txt > copy.txt
а также
cp my_file.txt > copy.txt
То же самое: вы создаете новый текстовый файл с содержимым другого. Но процесс совсем другой.
Одна последняя вещь:
> file.txt
при создании пустого файла (вы перенаправляете... ничего в file.txt, поэтому он пуст. Довольно очевидно, не так ли?)
Без большего контекста я не уверен, что авторы подразумевают, но я надеюсь, что это помогает. Удачи в изучении Unix, начать с него довольно сложно, но это заканчивается очень весело.
РЕДАКТИРОВАТЬ 1:
Я почти забыл ответить
"передача аргумента имени файла" означает передачу аргумента, и этот аргумент должен быть именем файла, поэтому имя файла, скажем, "file.txt". Это также может быть полный путь к файлу, например:
/home/user/Documents/file.txt