& ldquo; sudo cd & hellip; & rdquo; один лайнер? [dубликат]

Ответ довольно прост. Перейдите на сайт загрузки Octave и найдите последнюю версию GNU Octave и загрузите файл .tar.gz.

После этой копии и вставьте следующие команды (CTRL + ALT + T): [ ! d2]

sudo apt-get build-dep octave
cd ~/Downloads
sudo mv octave-x.x.x.tar.gz ~
cd ~
tar xvf octave-x.x.x.tar.gz
cd octave-x.x.x
./configure
make
sudo make install

Где «xxx» относится к версии GNU Octave, которую вы хотели бы установить, например 3.6.3.

20
задан 2 January 2011 в 19:36

22 ответа

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir
user@desktop:/restricted-dir$ ls
file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда. [!d3 ]

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 25 May 2018 в 23:42
  • 1
    Технически cd представляет собой команду «встроенная оболочка», (согласно man bash). – Sparhawk 10 April 2014 в 09:51
  • 2
    Если это было в случае @petersohn, то почему приглашение оболочки cd: command not found, оно не показывает проблему с разрешением. И я не думаю, что shell builtin является особой причиной, потому что sudo echo работает нормально, а эхо также shell builtin – Balman Rawat 28 July 2016 в 07:30

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir user@desktop:/restricted-dir$ ls file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда.

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 25 July 2018 в 22:40

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir user@desktop:/restricted-dir$ ls file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда.

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 26 July 2018 в 23:33

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir user@desktop:/restricted-dir$ ls file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда.

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 31 July 2018 в 10:35

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir user@desktop:/restricted-dir$ ls file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда.

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 31 July 2018 в 11:39

Теоретически проблема заключается в том, что если у вас нет прав на исполнение для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

user@desktop:/$ sudo cd restricted-dir user@desktop:/restricted-dir$ ls file1 file2

Как вы можете видеть, вы ввели каталог с использованием sudo-привилегий, а затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в директории где вы обычно не должны быть.

Технически проблема следующая:

sudo cd restricted-dir

cd - это встроенная оболочка, а не команда.

sudo cd -i restricted-dir

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и со следующей.

sudo cd -s restricted-dir

Вы открываете новую корневую оболочку cd в каталог, затем выйдите из корневой оболочки и вернитесь туда, где вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 2 August 2018 в 04:06

Теоретически проблема заключается в том, что если у вас нет прав выполнения для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

  user @ desktop: / $ sudo cd limited-dir user @ desktop: / limited-dir $ ls file1 file2  

Как вы можете видеть, вы ввели каталог, используя привилегии sudo, затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в каталоге, где обычно не должно быть.

Технически , проблема заключается в следующем:

  sudo cd limited-dir  

cd - это оболочка, встроенная, а не

  sudo cd -i limited-dir  

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и в следующем.

  sudo cd -s limited-dir  

Вы открываете новую корневую оболочку cd в каталог, затем выходите из корневой оболочки и возвращаетесь туда вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 4 August 2018 в 20:10

Теоретически проблема заключается в том, что если у вас нет прав выполнения для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

  user @ desktop: / $ sudo cd limited-dir user @ desktop: / limited-dir $ ls file1 file2  

Как вы можете видеть, вы ввели каталог, используя привилегии sudo, затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в каталоге, где обычно не должно быть.

Технически , проблема заключается в следующем:

  sudo cd limited-dir  

cd - это оболочка, встроенная, а не

  sudo cd -i limited-dir  

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и в следующем.

  sudo cd -s limited-dir  

Вы открываете новую корневую оболочку cd в каталог, затем выходите из корневой оболочки и возвращаетесь туда вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 6 August 2018 в 04:11

Теоретически проблема заключается в том, что если у вас нет прав выполнения для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

  user @ desktop: / $ sudo cd limited-dir user @ desktop: / limited-dir $ ls file1 file2  

Как вы можете видеть, вы ввели каталог, используя привилегии sudo, затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в каталоге, где обычно не должно быть.

Технически , проблема заключается в следующем:

  sudo cd limited-dir  

cd - это оболочка, встроенная, а не

  sudo cd -i limited-dir  

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и в следующем.

  sudo cd -s limited-dir  

Вы открываете новую корневую оболочку cd в каталог, затем выходите из корневой оболочки и возвращаетесь туда вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 7 August 2018 в 22:11

Теоретически проблема заключается в том, что если у вас нет прав выполнения для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

  user @ desktop: / $ sudo cd limited-dir user @ desktop: / limited-dir $ ls file1 file2  

Как вы можете видеть, вы ввели каталог, используя привилегии sudo, затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в каталоге, где обычно не должно быть.

Технически , проблема заключается в следующем:

  sudo cd limited-dir  

cd - это оболочка, встроенная, а не

  sudo cd -i limited-dir  

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и в следующем.

  sudo cd -s limited-dir  

Вы открываете новую корневую оболочку cd в каталог, затем выходите из корневой оболочки и возвращаетесь туда вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 10 August 2018 в 10:25

Теоретически проблема заключается в том, что если у вас нет прав выполнения для каталога, вы не сможете прочитать содержимое каталога. Теперь предположим, что вы могли бы сделать то, что хотели:

  user @ desktop: / $ sudo cd limited-dir user @ desktop: / limited-dir $ ls file1 file2  

Как вы можете видеть, вы ввели каталог, используя привилегии sudo, затем, когда sudo возвращается, вы снова становитесь пользователем, и вы находитесь в каталоге, где обычно не должно быть.

Технически , проблема заключается в следующем:

  sudo cd limited-dir  

cd - это оболочка, встроенная, а не

  sudo cd -i limited-dir  

Возможно, вы находитесь в / root, но у него будет такая же проблема, как и в следующем.

  sudo cd -s limited-dir  

Вы открываете новую корневую оболочку cd в каталог, затем выходите из корневой оболочки и возвращаетесь туда вы начали.

В общем, единственное решение - открыть корневую оболочку и открыть ее, пока вы находитесь в этом каталоге.

21
ответ дан 13 August 2018 в 16:51
  • 1
    Технически cd является «командой, встроенной в оболочку». (согласно man bash ). – Sparhawk 10 April 2014 в 09:51
  • 2
    Если это было в случае @petersohn, то почему shell promt cd: command не найден , он не показывает проблему с разрешением. И я не думаю, что shell builtin является особой причиной, потому что sudo echo отлично работает, а echo также shell builtin – Balman Rawat 28 July 2016 в 07:30
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 25 May 2018 в 23:42
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 25 July 2018 в 22:40
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 26 July 2018 в 23:33
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 31 July 2018 в 10:35
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 31 July 2018 в 11:39
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
sudo sh -c "cd restricted-dir; some-other-command"

i.e.

sudo sh -c "cd /root/restricted-dir; ls -l"

ключевой элемент - это «sh -c», который я использую довольно часто для запуска цепочки команд в том же контексте / процессе оболочки.

5
ответ дан 2 August 2018 в 04:06
  • 1
    Использование && вместо ; будет препятствовать выполнению команды, если операция каталога изменений завершится с ошибкой. Другими словами: sudo sh -c "cd restricted-dir && some-other-command" – Erik Sjölund 21 August 2017 в 11:51
  sudo sh -c "cd limited-dir; some-other-command"  

ie

  sudo sh -c "cd  / root / limited-dir; ls -l " 

ключевой элемент - это« sh -c », который я использую довольно часто для запуска цепочки команд в одном контексте / процессе оболочки.

5
ответ дан 4 August 2018 в 20:10
  sudo sh -c "cd limited-dir; some-other-command"  

ie

  sudo sh -c "cd  / root / limited-dir; ls -l " 

ключевой элемент - это« sh -c », который я использую довольно часто для запуска цепочки команд в одном контексте / процессе оболочки.

5
ответ дан 6 August 2018 в 04:11
  sudo sh -c "cd limited-dir; some-other-command"  

ie

  sudo sh -c "cd  / root / limited-dir; ls -l " 

ключевой элемент - это« sh -c », который я использую довольно часто для запуска цепочки команд в одном контексте / процессе оболочки.

5
ответ дан 7 August 2018 в 22:11
  sudo sh -c "cd limited-dir; some-other-command"  

ie

  sudo sh -c "cd  / root / limited-dir; ls -l " 

ключевой элемент - это« sh -c », который я использую довольно часто для запуска цепочки команд в одном контексте / процессе оболочки.

5
ответ дан 10 August 2018 в 10:25
  sudo sh -c "cd limited-dir; some-other-command"  

ie

  sudo sh -c "cd  / root / limited-dir; ls -l " 

ключевой элемент - это« sh -c », который я использую довольно часто для запуска цепочки команд в одном контексте / процессе оболочки.

5
ответ дан 13 August 2018 в 16:51
  • 1
    Используя & amp; & amp; вместо ; предотвратит выполнение команды, если операция каталога изменений завершилась с ошибкой. Другими словами: sudo sh -c & quot; cd limited-dir & amp; & amp; & amp; некоторые-другой-команда & Quot; – Erik Sjölund 21 August 2017 в 11:51

Другие вопросы по тегам:

Похожие вопросы: