Структура команд Linux

Изучаем Linux. Урок 10. Аргументы команды.

До сих пор мы выполняли команду ls находясь только в текущем рабочем каталоге. Однако вы можете просмотреть содержимое любого каталога, не переходя в него. Например, если ваш текущий рабочий каталог /home/elliot:

elliot@ubuntu-linux:~$ pwd

/home/elliot

Вы можете просмотреть содержимое  (все файлы) каталога  /home/angela, выполнив команду ls -a /home/angela:

elliot@ubuntu-linux:~$ ls -a /home/angela

. .. .bash_history .bash_logout .bashrc Music .profile

elliot@ubuntu-linux:~$ pwd

/home/elliot

elliot@ubuntu

Мы просмотрели содержимое /home/angela, находясь в /home/elliot. Это возможно, потому что команда ls принимает в качестве аргумента любой файл.

ЧТО ТАКОЕ АРГУМЕНТ?

Аргумент, также называемый аргументом командной строки, — это просто любое имя файла или данные, которые предоставляются команде в качестве входных данных.

Рисунок 11 Структура команд Linux

Вы можете видеть на предыдущем изображении общую структуру команды Linux. В терминологии Linux мы используем глагол pass, когда говорим об опциях и аргументах команды. Чтобы использовать правильную терминологию Linux, например, на предыдущем изображении мы говорим: «Мы передали каталог /home/angela в качестве аргумента команде ls».

Обратите внимание, что на рисунке выше мы использовали параметры и аргументы во множественном числе. Это связано с тем, что некоторые команды могут принимать несколько параметров и аргументов.

Например, мы можем вывести  полный формат данных всех файлов в /home/angela, выполнив команду ls -a -l /home/angela:

elliot@ubuntu-linux:~$ ls -a -l /home/angela

total 28

drwxr-xr-x 3 angela angela 4096 Jan 20 13:43 .

drwxr-xr-x 9 root root 4096 Jan 17 04:37 ..

-rw——- 1 angela angela 90 Jan 20 13:43 .bash_history

-rw-r—r— 1 angela angela 220 Apr 4 2018 .bash_logout

-rw-r—r— 1 angela angela 3771 Apr 4 2018 .bashrc

drwxrwxr-x 2 angela angela 4096 Jan 19 19:42 Music

-rw-r—r— 1 angela angela 807 Apr 4 2018 .profile

Итак, вы видите полный список всех файлов в /home/angela, включая скрытые файлы, также обратите внимание, что порядок параметров здесь не имеет значения, поэтому, если вы запустите команду ls -l -a /home/angela :

elliot@ubuntu-linux:~$ ls -l -a /home/angela

total 28

drwxr-xr-x 3 angela angela 4096 Jan 20 13:43 .

drwxr-xr-x 9 root root 4096 Jan 17 04:37 ..

-rw——- 1 angela angela 90 Jan 20 13:43 .bash_history

-rw-r—r— 1 angela angela 220 Apr 4 2018 .bash_logout

-rw-r—r— 1 angela angela 3771 Apr 4 2018 .bashrc

drwxrwxr-x 2 angela angela 4096 Jan 19 19:42 Music

-rw-r—r— 1 angela angela 807 Apr 4 2018 .profile

Вы получите тот же результат. Это был пример передачи двух параметров команды, а как насчет передачи двух аргументов? Ну, вы можете получить  полный список для всех файлов в /home/angela и /home/elliot одновременно, передав /home/elliot в качестве второго аргумента:

elliot@ubuntu-linux:~$ ls -l -a /home/angela /home/elliot

/home/angela:

total 28

drwxr-xr-x 3 angela angela 4096 Jan 20 13:43 .

drwxr-xr-x 9 root root 4096 Jan 17 04:37 ..

-rw——- 1 angela angela 90 Jan 20 13:43 .bash_history

-rw-r—r— 1 angela angela 220 Apr 4 2018 .bash_logout

-rw-r—r— 1 angela angela 3771 Apr 4 2018 .bashrc

drwxrwxr-x 2 angela angela 4096 Jan 19 19:42 Music

-rw-r—r— 1 angela angela 807 Apr 4 2018 .profile

/home/elliot:

total 28

drwxr-xr-x 3 elliot elliot 4096 Jan 20 16:26 .

drwxr-xr-x 9 root root 4096 Jan 17 04:37 ..

-rw——- 1 elliot elliot 90 Jan 20 13:43 .bash_history

-rw-r—r— 1 elliot elliot 220 Dec 26 23:47 .bash_logout

-rw-r—r— 1 elliot elliot 3771 Dec 26 23:47 .bashrc

drwxr-xr-x 2 elliot elliot 4096 Jan 19 14:20 Desktop

-rw-r—r— 1 elliot elliot 807 Apr 4 2018 .profile

Итак, теперь вы можете одновременно видеть содержимое каталогов /home/elliot и /home/angela.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *