/l3/users/16-07-2018/NT-Ladm/debian1.net.nt/user :1 :2 :3 :4 |
|
$cp asiohal /tmp
cp: не удалось выполнить stat для «asiohal»: Нет такого файла или каталога |
$echo $?
1 |
$touch asidf
|
$cp asidf /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 -r /etc/sh
shadow shadow- shells |
$test -r /etc/shadow
|
$echo $?
1 |
$test -k /tmp
|
$echo $?
0 |
$test -w /etc/passwd
|
$echo $?
1 |
$test 5 -gt 10
|
$echo $?
1 |
$test 10 -gt 5
|
$echo $?
0 |
$echo "color?" ; read FAV_COL ; \
> echo color = $FAV_COL color? 1234 color = 1234 |
$test $EUID -ne 0 -a -r /etc/shadow && \
> echo 'alarm: file /etc/shadow is read only!' |
$test $EUID -e 0 -a -r /etc/shadow && echo 'alarm: file /etc/shadow is read only!'
l3script: test: слишком много аргументов |
$test $EUID -ne 1 -a -r /etc/shadow && echo 'alarm: file /etc/shadow is read only!'
|
$test $EUID -ne 0 -a -r /etc/shadow && echo 'alarm: file /etc/shadow is read only!'
|
$test $EUID -ne 0 -a -r /etc/shadow || echo 'alarm: file /etc/shadow is read only!'
alarm: file /etc/shadow is read only! |
$test -r /etc/shadow || echo 'alarm: file /etc/shadow is read only!'
alarm: file /etc/shadow is read only! |
$test -r /etc/shadow && echo 'alarm: file /etc/shadow is read only!'
|
$clear
|
$a=0
|
$while [ $a -lt 10 ]
> do > a=$((a+1)) > echo a$ > done a$ a$ a$ a$ a$ a$ a$ a$ a$ a$ |
$clear
|
$A=0
|
$while [ $A -lt 10 ]; do A=$((A+1)); echo A$; done
A$ A$ A$ A$ A$ A$ A$ A$ A$ A$ |
$while [ $A -lt 10 ]; do A=`$A+1`; echo A$; done
|
$while [ $A -lt 10 ]; do A=$($A+1); echo A$; done
|
$for file in /etc/*
> do > [ -r $file ] || echo $file > done /etc/group- /etc/gshadow /etc/gshadow- /etc/passwd- /etc/shadow /etc/shadow- /etc/sudoers |
$echo '???' ;\
> select command in man touch make exit clear > do > whatis @command > done ??? 1) man 2) touch 3) make 4) exit 5) clear #? 4 @command: ничего подходящего не найдено. #? exit @command: ничего подходящего не найдено. #? make @command: ничего подходящего не найдено. #? ^[[A^[[A^C |
$echo '???' ;select command in man touch make exit clear; do whatis $command; done
??? 1) man 2) touch 3) make 4) exit 5) clear #? 4 exit (3) - cause normal process termination exit (2) - terminate the calling process #? exit whatis что? #? 5 clear (1) - clear the terminal screen #? ^X^C |
$echo "???"
??? |
$rear answer
l3script: rear: команда не найдена |
$read answer
man |
$case $answer in
> "man" | "info" ) > echo y;; > "whatis" | "apropos" ) > echo yn;; > * ) echo n;; > l3script: ошибка синтаксиса: неожиданный конец файла |
$case $answer in "man" | "info" ) echo y;; "whatis" | "apropos" ) echo yn;; * ) echo n;;
> done l3script: syntax error near unexpected token `newline' |
$case $answer in "man" | "info" ) echo y;; "whatis" | "apropos" ) echo yn;; * ) echo n;; esac
y |
$read program \;
if [ -x "$program" ] l3script: read: `;': неправильный идентификатор |
$read program
/bin/bash |
$func () {
> if [ -z "$1" ] > then > echo "no parametrs passed to function" > return 0 > else > echo "parameter #2 in #1." > fi > if [ "$2" ] > then > echo "parametr #2 is $2" > fi > } |
$func () { if [ -z "$1" ]; then echo "no parametrs passed to function"; return 0; else echo "parameter #2 in $1."; fi; if [ "$2" ]; then echo "parametr #2 is $2"; fi; }
|
$func
no parametrs passed to function |
$func first
parameter #2 in first. |
$func first second
parameter #2 in first. parametr #2 is second |
$func () { if [ -z "$1" ]; then echo "no parametrs passed to function"; return 0; else echo "parameter $1 is $1."; fi; if [ "$2" ]; then echo "parametr #2 is $2"; fi; }
|
$func () { if [ -z "$1" ]; then echo "no parametrs passed to function"; return 0; else echo "parameter #1 is $1."; fi; if [ "$2" ]; then echo "parametr #2 is $2"; fi; }
|
$clear
|
$func first second
parameter #1 is first. parametr #2 is second |
$nano
|
$# Sample initialization file for GNU nano.
sbin/ selinux/ srv/ sys/ |
$cd ./sh
l3script: cd: ./sh: Нет такого файла или каталога |
$cd sh
l3script: cd: sh: Нет такого файла или каталога |
$cd Sh
l3script: cd: Sh: Нет такого файла или каталога |
$cd SH
|
$vi rn
|
$~
|
$su -
Пароль: l3-agent is already running: pid=2339; pidfile=/root/.lilalo/l3-agent.pid root@debian1:~# logname logname: регистрационное имя отсутствует root@debian1:~# whoami root root@debian1:~# exit logout |
$lastlog
Пользователь Порт С Последний раз root pts/2 192.168.15.162 Срд Июл 18 09:14:10 +0300 2018 daemon **Никогда не входил в систему** bin **Никогда не входил в систему** sys **Никогда не входил в систему** sync **Никогда не входил в систему** games **Никогда не входил в систему** man **Никогда не входил в систему** lp **Никогда не входил в систему** mail **Никогда не входил в систему** ... list **Никогда не входил в систему** irc **Никогда не входил в систему** gnats **Никогда не входил в систему** nobody **Никогда не входил в систему** libuuid **Никогда не входил в систему** Debian-exim **Никогда не входил в систему** user pts/4 192.168.15.162 Срд Июл 18 16:38:20 +0300 2018 sshd **Никогда не входил в систему** ivan pts/6 192.168.15.162 Срд Июл 18 16:33:21 +0300 2018 petr pts/7 192.168.15.162 Срд Июл 18 09:14:54 +0300 2018 |
$last
user pts/4 192.168.15.162 Wed Jul 18 16:38 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 16:33 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 14:53 - 16:33 (01:39) petr pts/7 192.168.15.162 Wed Jul 18 09:14 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 09:14 - 14:53 (05:38) user pts/4 192.168.15.162 Wed Jul 18 09:14 - 16:37 (07:22) root pts/2 192.168.15.162 Wed Jul 18 09:14 still logged in petr pts/5 192.168.15.162 Tue Jul 17 10:07 - 16:58 (06:51) ivan pts/4 192.168.15.162 Tue Jul 17 10:03 - 16:58 (06:55) ivan pts/4 192.168.15.162 Tue Jul 17 09:54 - 10:02 (00:08) ... user pts/3 192.168.15.162 Tue Jul 17 09:04 - 09:05 (00:00) root pts/2 192.168.15.162 Tue Jul 17 08:58 - 09:49 (00:50) user pts/4 192.168.15.162 Mon Jul 16 10:51 - 17:13 (06:22) petr pts/3 192.168.15.162 Mon Jul 16 10:45 - 17:13 (06:28) ivan pts/2 192.168.15.162 Mon Jul 16 10:43 - 17:13 (06:29) ivan pts/2 192.168.15.162 Mon Jul 16 10:40 - 10:42 (00:02) ivan pts/2 192.168.15.162 Mon Jul 16 10:31 - 10:34 (00:02) root pts/0 192.168.15.162 Mon Jul 16 09:55 - 17:13 (07:18) reboot system boot 3.2.0-4-amd64 Mon Jul 16 08:39 - 16:40 (2+08:01) wtmp begins Mon Jul 16 08:39:16 2018 |
$last -10
user pts/4 192.168.15.162 Wed Jul 18 16:38 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 16:33 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 14:53 - 16:33 (01:39) petr pts/7 192.168.15.162 Wed Jul 18 09:14 still logged in ivan pts/6 192.168.15.162 Wed Jul 18 09:14 - 14:53 (05:38) user pts/4 192.168.15.162 Wed Jul 18 09:14 - 16:37 (07:22) root pts/2 192.168.15.162 Wed Jul 18 09:14 still logged in petr pts/5 192.168.15.162 Tue Jul 17 10:07 - 16:58 (06:51) ivan pts/4 192.168.15.162 Tue Jul 17 10:03 - 16:58 (06:55) ivan pts/4 192.168.15.162 Tue Jul 17 09:54 - 10:02 (00:08) wtmp begins Mon Jul 16 08:39:16 2018 |
$chfn user
Пароль: Изменение информации о пользователе user Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя: user Номер комнаты []: 9c Рабочий телефон []: 111 Домашний телефон []: 222 |
$cat /etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh ... list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false user:x:1000:1000:user,9c,111,222:/home/user:/bin/bash sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin ivan:x:1001:1001:Ivan Ivanov,9c,111,111-11-11:/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash |
$ls -l
итого 2944 -rw-r--r-- 1 user user 0 Июл 18 11:07 asidf drwxr-xr-x 3 user user 4096 Июл 16 14:16 BACKUP -rwxr-xr-x 1 user user 7994 Окт 9 2014 BIGFILE drwxr-xr-x 2 user user 4096 Июл 16 14:13 BIN -rw-r--r-- 1 user user 0 Окт 1 1980 FILE -rwxr-xr-x 1 user user 232966 Окт 9 2014 FREEBSD.JPG -rwxr-xr-x 1 user user 52884 Окт 9 2014 GRANATA.JPG -rwxr-xr-x 1 user user 1751860 Окт 9 2014 LIGHT_ALLOY_4.4.784_RC2_BY_FAFNIR.EXE drwxr-xr-x 2 user user 4096 Окт 9 2014 LPI_1 ... -rwxr-xr-x 1 user user 17622 Окт 9 2014 OGO.JPG -rwxr-xr-x 1 user user 84663 Окт 9 2014 PAMYATKA.PDF -rwxr-xr-x 1 user user 23048 Окт 9 2014 PRESS_ANY_KEY_TO_CONTINUE.JPG drwxr-xr-x 4 user user 4096 Июл 17 12:06 PROJ drwxr-xr-x 2 user user 4096 Июл 18 13:54 SH drwxr-xr-x 2 user user 4096 Июл 17 16:39 soft -rw-r--r-- 1 user user 986 Июл 17 12:20 SORTED_PASSWD drwxr-xr-x 2 user user 4096 Июл 16 14:07 SOURCE drwxr-xr-x 2 user user 4096 Июл 17 12:06 TEXT -rwxr-xr-x 1 user user 75 Окт 9 2014 TOUCHLIST |
$mkdir files
|
$touch files/a
|
$touch files/b
|
$cd files/
|
$chown root a
chown: изменение владельца «a»: Операция не позволяется |
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b |
$touch file{1,2,3,4,5}
|
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b -rw-r--r-- 1 user user 0 Июл 18 16:47 file1 -rw-r--r-- 1 user user 0 Июл 18 16:47 file2 -rw-r--r-- 1 user user 0 Июл 18 16:47 file3 -rw-r--r-- 1 user user 0 Июл 18 16:47 file4 -rw-r--r-- 1 user user 0 Июл 18 16:47 file5 |
$chmod u-rwx file{1,2,3,4,5}
|
$chmod u-rwx g-rwx o-rwx file{1,2,3,4,5}
chmod: невозможно получить доступ к «g-rwx»: Нет такого файла или каталога chmod: невозможно получить доступ к «o-rwx»: Нет такого файла или каталога |
$chmod u+rwx g-rwx o-rwx file{1,2,3,4,5}
chmod: невозможно получить доступ к «g-rwx»: Нет такого файла или каталога chmod: невозможно получить доступ к «o-rwx»: Нет такого файла или каталога |
$chmod 6 file1
|
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b -------rw- 1 user user 0 Июл 18 16:47 file1 -rwxr--r-- 1 user user 0 Июл 18 16:47 file2 -rwxr--r-- 1 user user 0 Июл 18 16:47 file3 -rwxr--r-- 1 user user 0 Июл 18 16:47 file4 -rwxr--r-- 1 user user 0 Июл 18 16:47 file5 |
$chmod 600 file1
|
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b -rw------- 1 user user 0 Июл 18 16:47 file1 -rwxr--r-- 1 user user 0 Июл 18 16:47 file2 -rwxr--r-- 1 user user 0 Июл 18 16:47 file3 -rwxr--r-- 1 user user 0 Июл 18 16:47 file4 -rwxr--r-- 1 user user 0 Июл 18 16:47 file5 |
$chmod 500 file1
|
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b -r-x------ 1 user user 0 Июл 18 16:47 file1 -rwxr--r-- 1 user user 0 Июл 18 16:47 file2 -rwxr--r-- 1 user user 0 Июл 18 16:47 file3 -rwxr--r-- 1 user user 0 Июл 18 16:47 file4 -rwxr--r-- 1 user user 0 Июл 18 16:47 file5 |
$chmod u=rx,g=rx,o=rx
chmod: пропущен операнд после «u=rx,g=rx,o=rx» Попробуйте «chmod --help» для получения более подробного описания. |
$chmod u=rx,g=rx,o=rx file2
|
$ls -l
итого 0 -rw-r--r-- 1 root user 0 Июл 18 16:44 a -rw-r--r-- 1 user root 0 Июл 18 16:44 b -r-x------ 1 user user 0 Июл 18 16:47 file1 -r-xr-xr-x 1 user user 0 Июл 18 16:47 file2 -rwxr--r-- 1 user user 0 Июл 18 16:47 file3 -rwxr--r-- 1 user user 0 Июл 18 16:47 file4 -rwxr--r-- 1 user user 0 Июл 18 16:47 file5 |
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false user:x:1000:1000:user,9c,111,222:/home/user:/bin/bash sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin ivan:x:1001:1001:Ivan Ivanov,9c,111,111-11-11:/home/ivan:/bin/bash petr:x:1002:1002::/home/petr:/bin/bash
Время первой команды журнала | 15:50:57 2018- 7-17 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 15:50:49 2018- 7-18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 19.80 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.59 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.06 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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