/l3/users/11-04-2011/nt-ladm/debian5.net.nt/root :1 :2 :3 :4 :5 :6 |
|
#echo $a
dobro |
#unset a
bash: unset: a: не могу сбросить: доступно только для чтения variable |
#echo $*
|
#echo $@
|
#echo $#
0 |
#*=1
bash: *=1: команда не найдена |
#\*=1
bash: *=1: команда не найдена |
#declare *=1
bash: declare: `*=1': неправильный идентификатор |
#declare \*=1
bash: declare: `*=1': неправильный идентификатор |
#declare '*=1'
bash: declare: `*=1': неправильный идентификатор |
#ls /
bin dev home log media opt root selinux sys usr boot etc lib lost+found mnt proc sbin srv tmp var |
#echo $?
0 |
#ls /homeses
ls: невозможно получить доступ к /homeses: Нет такого файла или каталога |
#echo $?
2 |
#echo $-
himBH |
#echo $$
8457 |
#bash
|
#echo $$
8978 |
#echo $$
8457 |
#vim /etc/bash.bashrc
|
#vim /etc/pro
|
#vim /etc/profile
|
# fi
$_ $L3_SESSION_ID $a $L3_TAMPERED_EDITORS $b $LANG $BASH $LINENO $BASH_ALIASES $LINES $BASH_ARGC $LOGNAME $BASH_ARGV $LS_OPTIONS $BASH_CMDS $MACHTYPE $BASH_COMMAND $MAIL $BASH_COMPLETION $MAILCHECK ... $HISTCMD $SSH_CLIENT $HISTFILE $SSH_CONNECTION $HISTFILESIZE $SSH_TTY $HISTSIZE $STY $HOME $TERM $HOSTNAME $TERMCAP $HOSTTYPE $TIME $IFS $UID $L3_HOME $USER $L3_PARENT_TTY $WINDOW |
#echo $SHELL
/bin/bash |
#echo $LOGNAME
root |
#echo $USER
root |
#echo $MAIL
/var/mail/root |
#echo $
$_ $L3_SESSION_ID $a $L3_TAMPERED_EDITORS $b $LANG $BASH $LINENO $BASH_ALIASES $LINES $BASH_ARGC $LOGNAME $BASH_ARGV $LS_OPTIONS $BASH_CMDS $MACHTYPE $BASH_COMMAND $MAIL $BASH_COMPLETION $MAILCHECK ... $HISTCMD $SSH_CLIENT $HISTFILE $SSH_CONNECTION $HISTFILESIZE $SSH_TTY $HISTSIZE $STY $HOME $TERM $HOSTNAME $TERMCAP $HOSTTYPE $TIME $IFS $UID $L3_HOME $USER $L3_PARENT_TTY $WINDOW |
#cd /usr/src/
|
#pwd
/usr/src |
#echo $OLDPWD
/root |
#cd `echo $OLDPWD`
|
#pwd
/root |
#echo $BASH_VERSI
$BASH_VERSINFO $BASH_VERSION |
#echo $BASH_VERSION
4.1.5(1)-release |
#echo $
$_ $L3_SESSION_ID $a $L3_TAMPERED_EDITORS $b $LANG $BASH $LINENO $BASH_ALIASES $LINES $BASH_ARGC $LOGNAME $BASH_ARGV $LS_OPTIONS $BASH_CMDS $MACHTYPE $BASH_COMMAND $MAIL $BASH_COMPLETION $MAILCHECK ... $BASHOPTS $OPTIND $BASHPID $OSTYPE $BASH_SOURCE $PATH $BASH_SUBSHELL $PIPESTATUS $BASH_VERSINFO $PPID $BASH_VERSION $PS1 $COLUMNS $PS2 $COMP_WORDBREAKS $PS4 $DIFFNAME $PWD $DIR $RANDOM |
#echo $PIPESTATUS
0 |
#ls /homess
ls: невозможно получить доступ к /homess: Нет такого файла или каталога |
#echo $PIPESTATUS
2 |
#echo $
$_ $L3_SESSION_ID $a $L3_TAMPERED_EDITORS $b $LANG $BASH $LINENO $BASH_ALIASES $LINES $BASH_ARGC $LOGNAME $BASH_ARGV $LS_OPTIONS $BASH_CMDS $MACHTYPE $BASH_COMMAND $MAIL $BASH_COMPLETION $MAILCHECK ... $BASHOPTS $OPTIND $BASHPID $OSTYPE $BASH_SOURCE $PATH $BASH_SUBSHELL $PIPESTATUS $BASH_VERSINFO $PPID $BASH_VERSION $PS1 $COLUMNS $PS2 $COMP_WORDBREAKS $PS4 $DIFFNAME $PWD $DIR $RANDOM |
#echo $HOSTTYPE
i486 |
#ssh root@192.162.16.254
^C |
#ssh root@192.168.16.254
root@192.168.16.254's password: Linux fobos 2.6.32.26 #1 SMP Sat Dec 4 21:13:18 EET 2010 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Apr 13 11:03:19 2011 from 192.168.16.5 fobos:~# echo $HOSTTYPE i486 ... permitted by applicable law. Last login: Tue Apr 12 11:58:01 2011 from relay02.techexpert.ua www:~# echo $HOSTTYPE i486 www:~# exit logout Connection to pingvin.sumy.ua closed. fobos:~# exit logout Connection to 192.168.16.254 closed. |
#echo $OSTYPE
linux-gnu |
#man ping
|
#ping ya.ru -f
PING ya.ru (87.250.250.203) 56(84) bytes of data. ....^C --- ya.ru ping statistics --- 1530 packets transmitted, 1526 received, 0% packet loss, time 22873ms rtt min/avg/max/mdev = 51.750/54.636/150.724/5.339 ms, pipe 10, ipg/ewma 14.959/54.563 ms |
#ssh root@192.162.16.254
^C |
#ssh root@192.168.16.254
+ mount /dev/mapper/loop0p1 /mnt + echo 'DEVICE=eth0 HWADDR=00:16:6E:00:00:01 ONBOOT=yes IPADDR=192.168.16.41 NETMASK=255.255.255.0 BOOTPROTO=static DNS1=192.168.16.254' nt-fedora.sh: line 38: /mnt/etc/sysconfig/network-scripts/ifcfg-eth0: Нет такого файла или каталога + echo 'DEVICE=eth1 ... Domain-0 0 2945 2 r----- 64583.2 debian1 9 580 1 -b---- 1427.8 debian2 10 580 1 -b---- 4961.2 debian3 14 580 1 -b---- 626.7 debian4 12 580 1 -b---- 6370.9 debian5 15 580 1 r----- 9111.4 win-mon 4 1024 1 -b---- 21407.3 fobos:~# exit logout Connection to 192.168.16.254 closed. |
#vim /etc/lo
|
#vim /etc/lo
|
#vim /etc/login.defs
|
#ssh root@pingvin.sumy.ua
The authenticity of host 'pingvin.sumy.ua (195.182.202.50)' can't be established. RSA key fingerprint is ee:64:7a:c0:a2:10:35:8f:9d:10:62:f0:df:f9:78:ac. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'pingvin.sumy.ua,195.182.202.50' (RSA) to the list of known hosts. root@pingvin.sumy.ua's password: Linux www 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent ... root wilen@www:/root$ whoami wilen wilen@www:/root$ exit exit www:~# whoami root www:~# exit logout Connection to pingvin.sumy.ua closed. |
#su user
|
$mv /etc/passwd /mnt
mv: невозможно переместить «/etc/passwd» в «/mnt/passwd»: Отказано в доступе |
$su -c 'mv /etc/passwd /mnt'
Пароль: |
$ls /etc/passwd
ls: невозможно получить доступ к /etc/passwd: Нет такого файла или каталога |
$ls /mnt
passwd |
$su -c 'mv /mnt/passwd /etc'
|
$exit
exit |
#ls /mnt
passwd |
#mv /mnt/passwd /etc
|
#ls
1111 andrey script1 sort touch 123a8dss file.txt sergey sortlist unsortlist |
#ls /etc/passwd
/etc/passwd |
#man su
|
#man su
|
#apt-get install sudo
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово НОВЫЕ пакеты, которые будут установлены: sudo обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 591 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 942 kB. Получено:1 http://ftp.ua.debian.org/debian/ squeeze/main sudo i386 1.7.4p4-2.squeeze.2 [591 kB] Получено 591 kБ за 1с (550 kБ/c) Выбор ранее не выбранного пакета sudo. (Чтение базы данных ... на данный момент установлено 20652 файла и каталога.) Распаковывается пакет sudo (из файла .../sudo_1.7.4p4-2.squeeze.2_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет sudo (1.7.4p4-2.squeeze.2) ... No /etc/sudoers found... creating one for you. |
#sudo -l
Matching Defaults entries for root on this host: env_reset User root may run the following commands on this host: (ALL) ALL |
#sudo -h
usage: sudo -h | -K | -k | -L | -V usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid] usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command] usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>] usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ... |
#sudo -H
usage: sudo -h | -K | -k | -L | -V usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid] usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command] usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>] usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ... |
#sudo -v
|
#man sudo
|
#visudo
# User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d visudo: /etc/sudoers.tmp unchanged |
#export EDITOR='vim'
|
#visudo
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # "/etc/sudoers.tmp" 24L, 491C # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification #includedir /etc/sudoers.d 24,1 Внизу user ALL=(ALL) ALL "/etc/sudoers.tmp" 25L, 510C записано root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # |
#su user
|
$sudo -s
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for user: |
#exit
exit |
$exit
exit |
#visudo
Defaults:user # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command root =(ALL) # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL 9,13 Наверху [1]+ Stopped visudo |
#man sudoers
|
#fg 1
Options are: (e)dit sudoers file again e(x)it without saving changes to sudoers file (Q)uit and save changes to sudoers file (DANGER!) What now? q Options are: (e)dit sudoers file again e(x)it without saving changes to sudoers file (Q)uit and save changes to sudoers file (DANGER!) # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # What now? Q |
#visudo
# User alias specification 2 #/sudoers.tmp" 25L, 551C 3 # This file MUST be edited with the 'visudo' command as root. # Cmnd alias specification 4 # 5 # See the man page for details on how to write a sudoers file. # User privilege specification 6 # root ALL=(ALL) ALL 7 ... # Cmnd alias specification Defaults root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL #includedir /etc/sudoers.d ~ "/etc/sudoers.tmp" 23L, 490C записано |
#visudo
# Defaults env_reset # Host alias specification # User alias specification "/etc/sudoers.tmp" 23L, 490C # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) Defaults:user timestamp_timeout=5 # Host alias specification # #includedir /etc/sudoers.d "/etc/sudoers.tmp" 24L, 524C записано |
#visudo
# User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d 24,1 50% [1]+ Stopped visudo |
#man sudoers
|
#fg q
bash: fg: q: не такой задачи |
#fg 1
# See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults:user timestamp_timeout=5 # Host alias specification # User alias specification user ALL=ifconfig, apt-get =/bin/ifconfig, /bin/apt-get "/etc/sudoers.tmp" 25L, 561C записано # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d |
#su user
|
$sudo apt-get install mc
[sudo] password for user: Sorry, user user is not allowed to execute '/usr/bin/apt-get install mc' as root on debian5.net.nt. |
$exit
exit |
#visudo
# User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL #includedir /etc/sudoers.d user ALL=/bin/ifconfig, /bin/apt-get /usr/bin/apt-get 25,26 Внизу "/etc/sudoers.tmp" 25L, 565C записано |
#su user
|
$sudo apt-get install mc
[sudo] password for user: Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Будут установлены следующие дополнительные пакеты: file libglib2.0-0 libglib2.0-data libmagic1 libpcre3 mime-support shared-mime-info Предлагаемые пакеты: zip unzip bzip2 links w3m lynx arj xpdf-reader pdf-viewer dbview odt2txt gv catdvi djvulibre-bin imagemagick python python-boto python-tz ... Распаковывается пакет shared-mime-info (из файла .../shared-mime-info_0.71-4_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет libmagic1 (5.04-5) ... Настраивается пакет file (5.04-5) ... Настраивается пакет libpcre3 (8.02-1.1) ... Настраивается пакет mime-support (3.48-1) ... Настраивается пакет libglib2.0-0 (2.24.2-1) ... Настраивается пакет libglib2.0-data (2.24.2-1) ... Настраивается пакет mc (3:4.7.0.9-1) ... Настраивается пакет shared-mime-info (0.71-4) ... |
$exit
exit |
#man sudoers
|
#visudo
# User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # 7,0-1 Наверху [1]+ Stopped visudo |
#man sudoers
|
#fg 1
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # User_alias user_alias=user, sid, vasya Users_pool user_alias=user, sid, vasya Command cmd_aliases=/bins # Cmnd alias specification # ( ) ... (ALL) #includedir /etc/sudoers.d 16,24 75% [1]+ Stopped visudo root ALL=(ALL) ALL # Allow members of group sudo to execute any command # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # |
Время первой команды журнала | 10:07:02 2011- 4-13 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:56:55 2011- 4-13 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 14.85 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 1.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.75 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.96 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008