python 2.x около 3.4

Команда bang bang (!!) является ярлыком для повтора и запуска предыдущей команды, введенной в ваш терминал. Эта команда очень полезна, когда вы забываете, что вам нужны права администратора для выполнения определенного действия, и позволяет вам повторять ее с правами суперпользователя, просто набрав,

sudo !!

!! захватывает последний прогон

Например:

apt-get update

Выход будет,

E: Не удалось открыть файл блокировки / var / lib / apt / lists / (13: Разрешение отказано) E: Невозможно заблокировать каталог / var / lib / apt / lists / E: Не удалось открыть файл блокировки / var / lib / dpkg / lock - open (13: Permission denied) E: Не удалось для блокировки каталога администрирования (/ var / lib / dpkg /), вы root?

После этого, если мы запустим команду sudo !!, выход будет

Hit http://extras.ubuntu.com saucy/main amd64 Packages
Get:3 http://mirror.sov.uk.goscomb.net saucy-updates Release.gpg [933 B]
Hit http://ppa.launchpad.net saucy Release                                  
Hit http://extras.ubuntu.com saucy/main i386 Packages 
Hit http://mirror.sov.uk.goscomb.net saucy Release                             
99% [Waiting for headers] [Waiting for headers] [Waiting for headers]

. Это означает, что часть !! захватывает предыдущую команду apt-get update и предыдущую [ f9] делает команду работать с правами суперпользователя.

И повторить и запустить предыдущую команду , sudo !! запускает предыдущую команду с привилегиями суперпользователя, значит, обычно все команды мы ввели на терминал, хранящиеся в command history. Запустите команду history на терминале, он отобразит все введенные вами команды. Часть !! в sudo !! захватывает последнюю команду, сохраненную в истории команд и вся sudo !! запускает последнюю команду с правами администратора.

В этом сообщении блога объясняются некоторые другие команды bang.

1
задан 19 January 2016 в 22:47

1 ответ

Ubuntu имеет 2,7 и 3,4, а 2.7 - по умолчанию, а /usr/bin/python - символическая ссылка на /usr/bin/python2.7

skolodya@ubuntu:$ python
python     python2    python3    python3.4m 
python/    python2.7  python3.4  python3m

skolodya@ubuntu:$ ls -l $(which python)                                        
lrwxrwxrwx 1 root root 9 Aug 15 00:39 /usr/bin/python -> python2.7*

. Ubuntu по умолчанию не поставляется с IDE python. Достаточно открыть любой текстовый редактор, написать код с самой первой строкой, говорящей #! /usr/bin/env python, сделать исполняемый файл и запустить его. Это полезно для изучения языка и создания материала, который не требует ничего сверхъестественного для отладки

Пример из того, что я ответил вчера: 1) открыть текстовый редактор vi, написать код; 2) выйти, сделать исполняемый файл с chmod +x filename и 3) запустить его.

DIR:/python
skolodya@ubuntu:$ vi extractString.py                                          

DIR:/python
skolodya@ubuntu:$ cat extractString.py                                         
#!/usr/bin/env python
import re

reg = re.compile('CONFIG_ARCH_DEFCONFIG')

with open("/boot/config-3.19.0-32-generic") as file :
   for line in file:
       if reg.match(line):
      print line.split('"')[1]




DIR:/python
skolodya@ubuntu:$ chmod +x extractString.py                                    

DIR:/python
skolodya@ubuntu:$ ./extractString.py                                           
arch/x86/configs/x86_64_defconfig
0
ответ дан 23 May 2018 в 14:10

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

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