Команда 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.
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