/l3/users/10-01-2007/nt-ladm/linux4.unix.nt/user :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 :16 |
|
#test -r /etc/shadow
|
$cp no_file_with_this_name /tmp
cp: невозможно выполнить stat для `no_file_with_this_name': No such file or directory |
$echo $?
1 |
$touch no_file_with_this_name
|
$cp no_file_with_this_name /tmp
|
$echo $?
0 |
$test 5 -gt 1
|
$echo $?
0 |
$test 5 -lt 1
|
$echo $?
1 |
$test -z "$STRING"
|
$echo $?
0 |
$test "$P" != print
|
$echo $?
0 |
$test -e /etc/motd
|
$echo $?
0 |
$test -d /usr/local/bin
|
$echo $?
0 |
$test -r /etc/shadow
|
$echo $?
1 |
$test -k /tmp
|
$echo $?
0 |
$test -w /etc/passwd
|
#test -w /etc/passwd
|
$x=5
|
#mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok |
$test $x -gt $y
|
$echo $?
1 |
$x=5
|
$y=10
|
$test $x -lt $y
|
$echo $?
0 |
$x=10
|
$y=5
|
$test -gt $y
bash: test: -gt: unary operator expected |
$test $x -lt $y
|
$echo $?
1 |
$man test
|
$man test
|
$test $x -gt $y
|
$echo $?
0 |
$echo "Ваш люб цвет? ;read FAV_COL ; \
> > q > |
$echo "Ваш люб цвет? ; read FAV_COL ; \
> |
$echo "Ваш люб цвет? ; read FAV_COL ; \
> echo Ваш любимый цвет - $FAV_COL > > bash: unexpected EOF while looking for matching `"' bash: syntax error: unexpected end of file |
$kjjklk
bash: kjjklk: command not found |
$test $EUID -ne 0 -a -r /etc/shadow && \
> echo "ÐÑедÑпÑеждениеÐ: Файл /etc/shadow доÑÑÑпен Ð´Ð»Ñ ÑÑениÑ!Ð" > bash: unexpected EOF while looking for matching `"' bash: syntax error: unexpected end of file |
$test $EUID -ne 0 -a -r /etc/shadow && \
> echo 'Предупреждение: Файл /etc/shadow доступен для чтения!' |
$dsfdgfd
bash: dsfdgfd: command not found |
$test -w /etc/passwd || \
> echo "ÐÑ Ð½Ðµ имееÐÑе пÑава на изменение Ñайла /etc/passwd" ÐÑ Ð½Ðµ имееÑе пÑава на изменение Ñайла /etc/passwd |
$echo "Ваша лббимая ОС?"; \
> read FAV_OC ; [ "FAV_OS" == "BSD" ] || "Странно" Ваша лббимая ОС? dfggh bash: Странно: command not found |
$echo "Ваша лббимая ОС?"; \
> read FAV_OC ; [ "FAV_OS" == "BSD" ] || echo "Странно" Ваша лббимая ОС? fdgd Странно |
$A=0
|
$while [ $A -lt 10 ]
> do > A=$((A+1)) > echo $A > done 1 2 3 4 5 6 7 8 9 10 |
$for file in /etc/*
> do > [ -r $file ] || echo $file > done /etc/at.deny /etc/chatscripts /etc/group- /etc/gshadow /etc/gshadow- /etc/identd.key /etc/passwd- /etc/shadow /etc/shadow- /etc/sudoers |
$echo "О какой команде вы хотели бы получить информацию?" ; \
> select command in man touch mount make exit clear > do > whatis $command > break > done О какой команде вы хотели бы получить информацию? 1) man 2) touch 3) mount 4) make 5) exit 6) clear #? break whatis что? |
$echo "О какой команде вы хотели бы получить информацию?" ; \
> > select command in man touch mount make exit clear О какой команде вы хотели бы получить информацию? bash: in: command not found |
$echo "О какой команде вы хотели бы получить информацию?" ; \
> select command in man touch mount make exit clear > do > whatis $command > break > done О какой команде вы хотели бы получить информацию? 1) man 2) touch 3) mount 4) make 5) exit 6) clear #? touch whatis что? |
$read answer
|
$case $answer in
> " man" | "info" ) > echo "ÐÑ Ð¿ÑавÑÑÐРТак оно и еÑÑÑ " ;; > "whatis" | "apropos" ) > echo "ÐÐе ÑовÑем Ñак ÐÑи помоÑи ÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð¶Ð½ полÑÑ ÑолÑко кÑаÑк инÑ" ;; > * ) echo "ÐÑ Ð¾ÑибаеÑеÑÑ" ;; > esac ÐÑ Ð¾ÑибаеÑеÑÑ |
$echo "Полный путь к программе, которую нужно выполнить :"
Полный путь к программе, которую нужно выполнить : |
$echo "Полный путь к программе, которую нужно выполнить ;"
Полный путь к программе, которую нужно выполнить ; |
$func () {
> if [ -z "$1" ] > then > echo "No parameters passed to function." > return 0 > else > echo "Param #1 is $1." > fi > if [ "$2" ] > then > echo "Parameter #2 is $2." > fi > } |
$func
No parameters passed to function. |
$func first
Param #1 is first. |
$func first second
Param #1 is first. Parameter #2 is second. |
$cd /usr/local/bin/bash
bash: cd: /usr/local/bin/bash: No such file or directory |
$cd /
|
$ls
bin dev initrd lib64 mnt root skeleton tmp vmlinuz boot etc initrd.img lost+found opt sbin srv usr cdrom home lib media proc selinux sys var |
$cd
|
$cd usr
bash: cd: usr: No such file or directory |
$cd /usr
|
$ls
bin games include lib lib64 local lost+found sbin share src X11R6 |
$cd /local
bash: cd: /local: No such file or directory |
$cd local
|
$ls
bin etc games include lib man sbin share src |
$cd bin
|
$ls
l3-agent l3config.pm |
$ls -la
итого 48 drwxrwsr-x 2 root staff 4096 2007-01-09 19:05 . drwxrwsr-x 10 root staff 4096 2007-01-09 16:14 .. -rwxr-xr-x 1 root staff 30860 2007-01-09 19:29 l3-agent -rw-r--r-- 1 root staff 5707 2007-01-09 19:29 l3config.pm |
$ls -l
итого 40 -rwxr-xr-x 1 root staff 30860 2007-01-09 19:29 l3-agent -rw-r--r-- 1 root staff 5707 2007-01-09 19:29 l3config.pm |
$cd /usr/local/bin/bash
bash: cd: /usr/local/bin/bash: No such file or directory |
$cd /usr/local/bin
|
$ls
l3-agent l3config.pm |
$ls -la
итого 48 drwxrwsr-x 2 root staff 4096 2007-01-09 19:05 . drwxrwsr-x 10 root staff 4096 2007-01-09 16:14 .. -rwxr-xr-x 1 root staff 30860 2007-01-09 19:29 l3-agent -rw-r--r-- 1 root staff 5707 2007-01-09 19:29 l3config.pm |
$ping mail.ru
|
$man mount
|
#ifconfig
eth0 Link encap:Ethernet HWaddr 00:13:D4:B2:47:61 inet addr:192.168.15.4 Bcast:192.168.15.255 Mask:255.255.255.0 inet6 addr: fe80::213:d4ff:feb2:4761/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:11032 errors:0 dropped:0 overruns:0 frame:0 TX packets:11814 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:8353045 (7.9 MiB) TX bytes:1923847 (1.8 MiB) Base address:0xd800 Memory:cffe0000-d0000000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:100 errors:0 dropped:0 overruns:0 frame:0 TX packets:100 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8599 (8.3 KiB) TX bytes:8599 (8.3 KiB) |
#ping 192.168.15.4
PING 192.168.15.4 (192.168.15.4) 56(84) bytes of data. 64 bytes from 192.168.15.4: icmp_seq=1 ttl=64 time=0.032 ms --- 192.168.15.4 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.032/0.032/0.032/0.000 ms |
#ping 192.168.15.15
PING 192.168.15.15 (192.168.15.15) 56(84) bytes of data. --- 192.168.15.15 ping statistics --- 4 packets transmitted, 0 received, 100% packet loss, time 3009ms |
#ping 192.168.15.3
PING 192.168.15.3 (192.168.15.3) 56(84) bytes of data. From 192.168.15.4 icmp_seq=1 Destination Host Unreachable From 192.168.15.4 icmp_seq=2 Destination Host Unreachable From 192.168.15.4 icmp_seq=3 Destination Host Unreachable --- 192.168.15.3 ping statistics --- 5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4009ms , pipe 3 |
#ifconfig eth0 down
|
#ifconfig\
> |
#ifconfig
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:110 errors:0 dropped:0 overruns:0 frame:0 TX packets:110 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9585 (9.3 KiB) TX bytes:9585 (9.3 KiB) |
#ifconfig eth0 192.168.15.4 up
|
#ping 192.168.15.3
PING 192.168.15.3 (192.168.15.3) 56(84) bytes of data. From 192.168.15.4 icmp_seq=2 Destination Host Unreachable From 192.168.15.4 icmp_seq=3 Destination Host Unreachable From 192.168.15.4 icmp_seq=4 Destination Host Unreachable From 192.168.15.4 icmp_seq=6 Destination Host Unreachable From 192.168.15.4 icmp_seq=7 Destination Host Unreachable From 192.168.15.4 icmp_seq=8 Destination Host Unreachable --- 192.168.15.3 ping statistics --- 9 packets transmitted, 0 received, +6 errors, 100% packet loss, time 8003ms , pipe 3 |
#mii-tool
eth0: no link |
Время первой команды журнала | 12:44:51 2007- 1-15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 16:26:27 2007- 1-15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 15.84 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 5.94 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.04 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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