/l3/users/06-08-2012/NT-Ladm/debian1.net.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 |
|
#uname -a
Linux debian1 2.6.39-bpo.2-686-pae #1 SMP Thu Aug 4 11:02:22 UTC 2011 i686 GNU/Linux |
#sleep 20 &
[1] 10220 |
#jobs
[1]+ Running sleep 20 & |
#fg 1
![]() sleep 20 ^C |
#^C
![]() |
#man test
|
#test -m /etc
![]() l3script: test: -m: ожидается использование унарного оператора |
#man test
|
#test -d /etc
|
#echo $?
0 |
#test -d /etc/123123
![]() |
#echo $?
1 |
#test -d /etc/123123 || mkdir /etc/123123
|
#test -d /etc/123123 || mkdir /etc/123123
|
#test -d /etc/123123 || mkdir /etc/123123
|
#test -d /etc/123123 || mkdir /etc/123123
|
#test -d /etc/123123 || mkdir -v /etc/123123
|
#rm -rf /etc/123123/
|
#test -d /etc/123123 || mkdir -v /etc/123123
mkdir: создан каталог «/etc/123123» |
#test -d /etc/123123 || mkdir -v /etc/123123
|
#ÑÑman test
TEST(1) User Commands TEST(1) NAME test - check file types and compare values SYNOPSIS test EXPRESSION test [ EXPRESSION ] [ ] [ OPTION DESCRIPTION ... INTEGER1 -ge INTEGER2 INTEGER1 is greater than or equal to INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 is less than or equal to INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 INTEGER1 -ne INTEGER2 INTEGER1 is not equal to INTEGER2 |
#test 12 -eq 24
![]() |
#echo $?
1 |
#test 24 -eq 12
![]() |
#echo $?
1 |
#test 24 -qt 12
![]() l3script: test: -qt: ожидается использование бинарного оператора |
#test 24 -gt 12
|
#echo $?
0 |
#test 12 -gt 24
![]() |
#echo $?
1 |
#vim script
![]() --- /dev/null 2012-08-06 12:01:35.759999991 +0300 +++ script 2012-08-07 17:49:13.000000000 +0300 @@ -0,0 +1,4 @@ +#!/bin/bash + +echo "hello world" +sleep 60 |
#ls -l
итого 148 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2011 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2012 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2013 -rw-r--r-- 1 root root 0 Авг 7 16:57 asdf.tar drwxr-xr-x 2 root root 4096 Авг 6 14:14 catalog1 drw-r--r-- 2 root root 4096 Авг 6 14:18 catalog2 -rw-r--r-- 1 root root 0 Авг 6 2037 dir1 -rw-r--r-- 1 root root 26 Авг 7 14:31 file1 -rw-r--r-- 1 root root 104692 Авг 6 15:18 hard_link ... -rw-r--r-- 1 root root 0 Авг 7 12:19 m1 -rw-r--r-- 1 root root 0 Авг 7 12:19 m2 -rw-r--r-- 1 root root 0 Авг 7 12:19 m3 -rw-r--r-- 1 root root 0 Авг 7 12:19 m4 -rw-r--r-- 1 root root 12 Авг 7 12:19 mfilelist -rw-r--r-- 1 root root 994 Авг 7 13:38 newfile -rw-r--r-- 1 root root 41 Авг 7 17:49 script drwxr-xr-x 2 root root 4096 Авг 7 16:48 soft -rw-r--r-- 1 root root 0 Авг 7 11:21 test -rw-r--r-- 1 root root 0 Авг 7 16:16 vilen_tex |
#mv script ~
![]() mv: «script» и «/root/script» - один и тот же файл |
#ls
2011 asdf.tar dir1 hock less m3 newfile test 2012 catalog1 file1 jjjj.jpg m1 m4 script vilen_tex 2013 catalog2 hard_link jj.jpeg m2 mfilelist soft |
#ls -l
итого 148 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2011 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2012 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2013 -rw-r--r-- 1 root root 0 Авг 7 16:57 asdf.tar drwxr-xr-x 2 root root 4096 Авг 6 14:14 catalog1 drw-r--r-- 2 root root 4096 Авг 6 14:18 catalog2 -rw-r--r-- 1 root root 0 Авг 6 2037 dir1 -rw-r--r-- 1 root root 26 Авг 7 14:31 file1 -rw-r--r-- 1 root root 104692 Авг 6 15:18 hard_link ... -rw-r--r-- 1 root root 0 Авг 7 12:19 m1 -rw-r--r-- 1 root root 0 Авг 7 12:19 m2 -rw-r--r-- 1 root root 0 Авг 7 12:19 m3 -rw-r--r-- 1 root root 0 Авг 7 12:19 m4 -rw-r--r-- 1 root root 12 Авг 7 12:19 mfilelist -rw-r--r-- 1 root root 994 Авг 7 13:38 newfile -rw-r--r-- 1 root root 41 Авг 7 17:49 script drwxr-xr-x 2 root root 4096 Авг 7 16:48 soft -rw-r--r-- 1 root root 0 Авг 7 11:21 test -rw-r--r-- 1 root root 0 Авг 7 16:16 vilen_tex |
#chmod +x script
|
#ls -l
итого 148 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2011 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2012 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2013 -rw-r--r-- 1 root root 0 Авг 7 16:57 asdf.tar drwxr-xr-x 2 root root 4096 Авг 6 14:14 catalog1 drw-r--r-- 2 root root 4096 Авг 6 14:18 catalog2 -rw-r--r-- 1 root root 0 Авг 6 2037 dir1 -rw-r--r-- 1 root root 26 Авг 7 14:31 file1 -rw-r--r-- 1 root root 104692 Авг 6 15:18 hard_link ... -rw-r--r-- 1 root root 0 Авг 7 12:19 m1 -rw-r--r-- 1 root root 0 Авг 7 12:19 m2 -rw-r--r-- 1 root root 0 Авг 7 12:19 m3 -rw-r--r-- 1 root root 0 Авг 7 12:19 m4 -rw-r--r-- 1 root root 12 Авг 7 12:19 mfilelist -rw-r--r-- 1 root root 994 Авг 7 13:38 newfile -rwxr-xr-x 1 root root 41 Авг 7 17:49 script drwxr-xr-x 2 root root 4096 Авг 7 16:48 soft -rw-r--r-- 1 root root 0 Авг 7 11:21 test -rw-r--r-- 1 root root 0 Авг 7 16:16 vilen_tex |
#. script
![]() l3script: .: /usr/bin/script: не могу запустить бинарный файл |
#. ./ script
![]() l3script: .: ./: является директорией |
#. ./script
![]() hello world ^C |
#vim script
--- /tmp/l3-saved-10056.28507.24012 2012-08-07 17:50:54.000000000 +0300 +++ script 2012-08-07 17:50:57.000000000 +0300 @@ -1,4 +1,3 @@ -#!/bin/bash echo "hello world" sleep 60 |
#bash script
![]() hello world ^C |
#sh script
![]() hello world ^C |
#ls
2011 asdf.tar dir1 hock less m3 newfile test 2012 catalog1 file1 jjjj.jpg m1 m4 script vilen_tex 2013 catalog2 hard_link jj.jpeg m2 mfilelist soft |
#chmod -x script
|
#ls -;
![]() ls: невозможно получить доступ к -: Нет такого файла или каталога |
#ls -l
итого 148 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2011 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2012 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2013 -rw-r--r-- 1 root root 0 Авг 7 16:57 asdf.tar drwxr-xr-x 2 root root 4096 Авг 6 14:14 catalog1 drw-r--r-- 2 root root 4096 Авг 6 14:18 catalog2 -rw-r--r-- 1 root root 0 Авг 6 2037 dir1 -rw-r--r-- 1 root root 26 Авг 7 14:31 file1 -rw-r--r-- 1 root root 104692 Авг 6 15:18 hard_link ... -rw-r--r-- 1 root root 0 Авг 7 12:19 m1 -rw-r--r-- 1 root root 0 Авг 7 12:19 m2 -rw-r--r-- 1 root root 0 Авг 7 12:19 m3 -rw-r--r-- 1 root root 0 Авг 7 12:19 m4 -rw-r--r-- 1 root root 12 Авг 7 12:19 mfilelist -rw-r--r-- 1 root root 994 Авг 7 13:38 newfile -rw-r--r-- 1 root root 29 Авг 7 17:50 script drwxr-xr-x 2 root root 4096 Авг 7 16:48 soft -rw-r--r-- 1 root root 0 Авг 7 11:21 test -rw-r--r-- 1 root root 0 Авг 7 16:16 vilen_tex |
#bash script
![]() hello world ^C |
#history |less
|
#history |awk '{ print $2,$3,$4; }' > script
|
#vim script
--- /tmp/l3-saved-10056.12823.17098 2012-08-07 17:53:47.000000000 +0300 +++ script 2012-08-07 17:53:59.000000000 +0300 @@ -1,3 +1,4 @@ +#!/bin/bash echo $((4*1/2)) A=1 B=2 |
#chmod +x script
|
#./script
![]() 2 3 1+B 1+2 ./script: line 8: syntax error near unexpected token `newline' ./script: line 8: `cat /etc/passwd >' |
#vim script
|
#su user
итого 152 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2011 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2012 drwxr-xr-x 7 root root 4096 Авг 7 11:15 2013 -rw-r--r-- 1 root root 0 Авг 7 16:57 asdf.tar drwxr-xr-x 2 root root 4096 Авг 6 14:14 catalog1 drw-r--r-- 2 root root 4096 Авг 6 14:18 catalog2 -rw-r--r-- 1 root root 0 Авг 6 2037 dir1 -rw-r--r-- 1 root root 26 Авг 7 14:31 file1 -rw-r--r-- 1 root root 104692 Авг 6 15:18 hard_link ... -rw-r--r-- 1 root root 0 Авг 7 12:19 m1 -rw-r--r-- 1 root root 0 Авг 7 12:19 m2 -rw-r--r-- 1 root root 0 Авг 7 12:19 m3 -rw-r--r-- 1 root root 0 Авг 7 12:19 m4 -rw-r--r-- 1 root root 12 Авг 7 12:19 mfilelist -rw-r--r-- 1 root root 994 Авг 7 13:38 newfile -rwxr-xr-x 1 root root 6652 Авг 7 17:53 script drwxr-xr-x 2 root root 4096 Авг 7 16:48 soft -rw-r--r-- 1 root root 0 Авг 7 11:21 test -rw-r--r-- 1 root root 0 Авг 7 16:16 vilen_tex |
#ssh root@192.168.13.253
70 memory = '512' 71 shadow_memory = '8' 72 name = '$host$i' 73 vif = [ 'mac=00:16:3e:00:00:0$i, bridge=vlan13', 74 'mac=00:16:3e:00:01:0$i, bridge=vlan$i', 75 'mac=00:16:3e:00:02:0$i, bridge=vlan$((1+$i))' ] 76 disk = [ 'phy:/dev/tom0/$host$i,hda,w', 'phy:/dev/tom0/disk$i,hdb,w', 'file:: /home/iso/debian-6.0.2.1-i386-netinst.iso,hdc:cdrom,r' ] 77 #device_model = '/usr/lib/xen/bin/qemu-dm' 78 boot='c' ... root@fobos:~# root@fobos:~# root@fobos:~# root@fobos:~# root@fobos:~# root@fobos:~# root@fobos:~# root@fobos:~# exit logout Connection to 192.168.13.253 closed. |
#cp no_file /tmp
![]() cp: невозможно выполнить stat для «no_file»: Нет такого файла или каталога |
#echo $?
1 |
#touch no_file
|
#cp no_file /tmp
|
#echo $?
0 |
#man test
|
#test 5 -gt 1
|
#echo $?
0 |
#test 5 -lt 1
![]() |
#echo $?
1 |
#test -z "$STRING"
|
#echo $?
0 |
#test "$P" !=print
![]() l3script: test: : ожидается использование унарного оператора |
#test "$P" != print
|
#echo $
$ |
#echo $?
0 |
#man test
|
#su user
![]() user@debian1:/root$ test -w /etc/passwd user@debian1:/root$ echo $? 1 user@debian1:/root$ su root Пароль: su: Сбой при проверке подлинности user@debian1:/root$ su root Пароль: su: Сбой при проверке подлинности user@debian1:/root$ su root ... user@debian1:/root$ user@debian1:/root$ exit exit root@debian1:~# root@debian1:~# root@debian1:~# root@debian1:~# exit exit user@debian1:/root$ exit exit |
#w
09:15:45 up 2 days, 14 min, 3 users, load average: 0,00, 0,01, 0,05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.16.102 09:14 1.00s 0.17s 0.17s -bash root pts/2 fobos:S.0 Mon13 0.00s 0.03s 0.00s script -f -c l3 root pts/4 net.nt Tue10 22:37m 0.16s 0.16s -bash |
#who
root pts/0 2012-08-08 09:14 (192.168.16.102) root pts/2 2012-08-06 13:59 (fobos:S.0) root pts/4 2012-08-07 10:14 (net.nt) |
#func () {
> if [ -z "$1" ] > then > echo "No param passed" > return 0 > else > echo "Param # is $1" > fi > if [ "$2" ] > then > echo "Parameter #2 is $2" > fi > } |
#func 444
Param # is 444 |
#func 555
Param # is 555 |
#func 666
Param # is 666 |
#func 888
Param # is 888 |
#adf
![]() l3script: adf: команда не найдена |
#func 222 333
Param # is 222 Parameter #2 is 333 |
#man func
![]() |
#screen -x
|
#~
![]() l3script: loging: команда не найдена |
#whoami
root |
#id
uid=0(root) gid=0(root) группы=0(root) |
#id user
uid=1000(user) gid=1000(user) группы=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev) |
#logname
![]() logname: регистрационное имя отсутствует |
#ssh root@sfnuvs.sumy.ua
The authenticity of host 'sfnuvs.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 'sfnuvs.sumy.ua,195.182.202.50' (RSA) to the list of known hosts. root@sfnuvs.sumy.ua's password: Permission denied, please try again. root@sfnuvs.sumy.ua's password: Linux www 2.6.32-5-686 #1 SMP Mon Mar 26 05:20:33 UTC 2012 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the ... wilen@www:/root$ wilen@www:/root$ whoami wilen wilen@www:/root$ logname root wilen@www:/root$ exit exit www:~# exit logout Connection to sfnuvs.sumy.ua closed. |
#vim /etc/ssh/sshd_config
|
#lastlog
Пользователь Порт С Последний раз root pts/0 192.168.16.102 Срд Авг 8 09:14:33 +0300 2012 daemon **Никогда не входил в систему** bin **Никогда не входил в систему** sys **Никогда не входил в систему** sync **Никогда не входил в систему** games **Никогда не входил в систему** man **Никогда не входил в систему** lp **Никогда не входил в систему** mail **Никогда не входил в систему** ... list **Никогда не входил в систему** irc **Никогда не входил в систему** gnats **Никогда не входил в систему** nobody **Никогда не входил в систему** libuuid **Никогда не входил в систему** Debian-exim **Никогда не входил в систему** statd **Никогда не входил в систему** user pts/5 192.168.16.102 Втр Авг 7 18:36:30 +0300 2012 sshd **Никогда не входил в систему** telnetd **Никогда не входил в систему** |
#lastlog|less
|
Время первой команды журнала | 16:32:44 2012- 8- 7 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 09:02:06 2012- 8- 8 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 20.79 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 1.98 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.48 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.14 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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