./ выполняет файлы, которые не находятся в вашем $PATH, скорее, он выполняет файл в текущем каталоге (или другом через ./home/stefano/script.sh). Теперь PATH - это переменная среды, которая содержит все места, где bash может искать исполняемые программы, не имея полного (абсолютного) пути к ним.
Это разделение необходимо, чтобы не запускать неправильный файл. То есть если у вас есть файл с именем ls в вашем домашнем каталоге, он не находится в вашем PATH, это не позволит bash запутать его с реальным ls. Переменная PATH также определяет порядок поиска:
Когда вы запускаете команду или программа пытается создать exec syscall (специальный метод ядра, как запускаются программы), система смотрит для файла, пройдя через каждую из каталогов в вашем PATH. Как только программа будет найдена, даже если она находится в нескольких каталогах, поиск прерывается и первый найден.Чтобы запустить файл, вам нужно будет установить исполняемый бит в разрешениях:
Когда вы запустите команду или программа попытается сделать exec syscall (специальный метод ядра, как запускаются программы), система ищет файл, просматривая все каталоги в вашем PATH. После того, как программа была найдена, даже если она находится в нескольких каталогах, поиск прерывается, и первый найден. Или вы можете установить разрешения, щелкнув правой кнопкой мыши файл и выбрав «Свойства»:Теперь вы можете скопировать файл в любой из каталогов в PATH, чтобы посмотреть, какие из них находятся там - и они настроены для каждого пользователя - введите echo $PATH.
stefano@3000-G530:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[d14 ] Если вы создаете исполняемый файл cat и переместите его на /usr/local/sbin, он запускается вместо правильного cat, который находится в /bin. Вы можете узнать, где находятся ваши файлы, используя type cat и whereis cat. Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, ведет переговоры с бэкэндами gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, ведет переговоры с бэкэндами gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.
Nautilus будет проходить через меньшее количество слоев косвенности, что может объяснить разницу.
Nautilus - это приложение нативного gvfs, поэтому оно напрямую связывается с бэкэндами gvfs.
Напротив, cp разговаривает с ядром через файловую систему FUSE, смонтированную в ~/.gvfs, которая обрабатывается процессом gvfs-fuse-daemon, который, в свою очередь, обращается к бэкендам gvfs.
Возможно, вы сможете получить аналогичную производительность в командной строке с помощью команды gvfs-copy из пакета gvfs-bin, скопировав ее на соответствующий URL.