/l3/users/6-6-2017/NT-Ladm/debian1.net.nt/user :1 :2 :3 |
|
$chmod u+r date.txt
|
$cat date.txt
Птн Июн 9 12:15:20 EEST 2017 user pts/3 2017-06-09 09:42 (192.168.16.154) root pts/1 2017-06-09 09:42 (192.168.16.154) ivan pts/6 2017-06-09 09:42 (192.168.16.154) petr pts/7 2017-06-09 09:44 (192.168.16.154) |
$chmod u-r date.txt
|
$chmod u+r-w date.txt
|
$cat date.txt
Птн Июн 9 12:15:20 EEST 2017 user pts/3 2017-06-09 09:42 (192.168.16.154) root pts/1 2017-06-09 09:42 (192.168.16.154) ivan pts/6 2017-06-09 09:42 (192.168.16.154) petr pts/7 2017-06-09 09:44 (192.168.16.154) |
$who >> date.txt
l3script: date.txt: Отказано в доступе |
$chmod u+r+w date.txt
|
$which who
/usr/bin/who |
$cp `which who` .
|
$ls -l who
-rwxr-xr-x 1 user user 55888 Июн 9 12:37 who |
$chmod u-x who
|
$ls -l who
-rw-r-xr-x 1 user user 55888 Июн 9 12:37 who |
$./who
l3script: ./who: Отказано в доступе |
$chmod u+x who
|
$./who
user pts/3 2017-06-09 09:42 (192.168.16.154) root pts/1 2017-06-09 09:42 (192.168.16.154) ivan pts/6 2017-06-09 09:42 (192.168.16.154) petr pts/7 2017-06-09 09:44 (192.168.16.154) |
$echo "echo privet" > privet.sh
|
$bash privet.sh
privet |
$chmod u-r+x privet.sh
|
$./privet.sh
l3script: ./privet.sh: Отказано в доступе |
$tree -p
. ├── [-rw-r--r--] a.jpeg ├── [drwxr-xr-x] backup │ └── [drwxr-xr-x] x-backup │ ├── [-rwxr-xr-x] x │ ├── [-rwxr-xr-x] y │ └── [-rwxr-xr-x] z ├── [-rwxr-xr-x] bigfile ├── [drwxr-xr-x] bin │ ├── [-rwxr-xr-x] bigwork ... │ ├── [-rwxr-xr-x] comment-me.txt │ ├── [-rwxr-xr-x] core │ ├── [-rwxr-xr-x] hello-vi.txt │ ├── [-rw-r--r--] hellow │ ├── [-rwxr-xr-x] unixoid.err.txt │ └── [-rwxr-xr-x] unixoid.orig.txt ├── [-rwxr-xr-x] touchlist ├── [-rw-r--r--] vopr.sh └── [-rwxr-xr-x] who 17 directories, 117 files |
$ls -l /opt/project
итого 0 -rw-r--r-- 1 ivan ivan 0 Июн 9 14:49 IVAN -rw-r--r-- 1 ivan developers 0 Июн 9 14:51 IVAN2 |
$rm IVAN
rm: невозможно удалить «IVAN»: Нет такого файла или каталога |
$rm IVAN2
rm: невозможно удалить «IVAN2»: Нет такого файла или каталога |
$getfacl /opt/project
getfacl: Removing leading '/' from absolute path names # file: opt/project # owner: root # group: developers # flags: -s- user::rwx user:user:r-x group::rwx mask::rwx other::--- |
$ls -l
итого 3024 -rw-r--r-- 1 user user 0 Июн 8 15:40 a.jpeg drwxr-xr-x 3 user user 4096 Июн 6 15:02 backup -rwxr-xr-x 1 user user 7994 Окт 9 2014 bigfile drwxr-xr-x 2 user user 4096 Июн 6 14:51 bin -rw-r--r-- 1 user user 0 Июн 8 15:40 b.jpeg -rw-r--r-- 1 user user 0 Июн 8 15:40 c.jpeg drwxr-xr-x 2 user user 4096 Июн 9 12:27 d1 -rw-r--r-- 1 user user 260 Июн 9 12:32 date.txt -rw-r--r-- 1 user user 0 Окт 1 1980 file ... --wxr--r-- 1 user user 12 Июн 9 12:40 privet.sh -rwxr--r-- 1 user user 290 Июн 8 15:17 prog.sh drwxr-xr-x 3 user user 4096 Июн 6 15:02 proj drwxr-xr-x 2 user user 4096 Июн 8 16:54 sh drwxr-xr-x 2 user user 4096 Июн 8 10:22 soft drwxr-xr-x 2 user user 4096 Июн 6 14:36 source drwxr-xr-x 2 user user 4096 Окт 9 2014 text -rwxr-xr-x 1 user user 75 Окт 9 2014 touchlist -rw-r--r-- 1 user user 169 Июн 8 15:01 vopr.sh -rwxr-xr-x 1 user user 55888 Июн 9 12:37 who |
$cd nsmes
l3script: cd: nsmes: Нет такого файла или каталога |
$ls
a.jpeg granata.jpeg privet.sh backup Light_Alloy_4.4.784_RC2_by_FAFNIR.exe prog.sh bigfile lpi 1 proj bin lpi 2 sh b.jpeg man_smb_conf soft c.jpeg matrix.jpeg source d1 names text date.txt ogo.jpeg touchlist file pamyatka.pdf vopr.sh freebsd.jpeg pics who func.sh press_any_key_to_continue.jpeg |
$ls -l
итого 3024 -rw-r--r-- 1 user user 0 Июн 8 15:40 a.jpeg drwxr-xr-x 3 user user 4096 Июн 6 15:02 backup -rwxr-xr-x 1 user user 7994 Окт 9 2014 bigfile drwxr-xr-x 2 user user 4096 Июн 6 14:51 bin -rw-r--r-- 1 user user 0 Июн 8 15:40 b.jpeg -rw-r--r-- 1 user user 0 Июн 8 15:40 c.jpeg drwxr-xr-x 2 user user 4096 Июн 9 12:27 d1 -rw-r--r-- 1 user user 260 Июн 9 12:32 date.txt -rw-r--r-- 1 user user 0 Окт 1 1980 file ... --wxr--r-- 1 user user 12 Июн 9 12:40 privet.sh -rwxr--r-- 1 user user 290 Июн 8 15:17 prog.sh drwxr-xr-x 3 user user 4096 Июн 6 15:02 proj drwxr-xr-x 2 user user 4096 Июн 8 16:54 sh drwxr-xr-x 2 user user 4096 Июн 8 10:22 soft drwxr-xr-x 2 user user 4096 Июн 6 14:36 source drwxr-xr-x 2 user user 4096 Окт 9 2014 text -rwxr-xr-x 1 user user 75 Окт 9 2014 touchlist -rw-r--r-- 1 user user 169 Июн 8 15:01 vopr.sh -rwxr-xr-x 1 user user 55888 Июн 9 12:37 who |
$cd names
|
$ls -l
итого 156 -rwxr-xr-x 1 user user 1 Окт 9 2014 _1_2_3 -rwxr-xr-x 1 user user 0 Окт 9 2014 1CDESKTOP -rw-r--r-- 1 user user 0 Июн 7 12:44 *?35 -rw-r--r-- 1 user user 0 Июн 7 13:29 ABA -rw-r--r-- 1 user user 0 Июн 7 13:29 ABB -rw-r--r-- 1 user user 0 Июн 7 13:29 ABC -rw-r--r-- 1 user user 0 Июн 7 13:29 ABD drwxr-xr-x 3 user user 4096 Окт 9 2014 ACPI -rw-r--r-- 1 user user 0 Июн 8 16:02 a.jpg ... -rwxr-xr-x 1 user user 277 Окт 9 2014 MODULES -rw-r--r-- 1 user user 986 Июн 7 13:41 NEWFILE -rw-r--r-- 1 user user 0 Июн 7 12:53 ONE_SPACE -rw-r--r-- 1 user user 0 Июн 7 12:52 O_'REILLY -rwxr-xr-x 1 user user 1 Окт 9 2014 PASSWD -rwxr-xr-x 1 user user 7123 Окт 9 2014 REGEXP.H -rw-r--r-- 1 user user 36 Июн 7 13:48 SORTED -rwxr-xr-x 1 user user 1 Окт 9 2014 S_TOL_ -rwxr-xr-x 1 user user 40290 Окт 9 2014 TERM.H -rw-r--r-- 1 user user 36 Июн 7 13:48 UNSORTED |
$> f1
|
$vi f1
--- /tmp/l3-saved-15930.17759.31977 2017-06-10 10:07:42.556460743 +0300 +++ f1 2017-06-10 10:26:39.144463849 +0300 @@ -0,0 +1 @@ +erauaeu |
$~/bin/bigwork
409600+0 записей считано 409600+0 записей написано скопировано 1677721600 байт (1,7 GB), 78,1386 c, 21,5 MB/c |
$~/bin/bigwork
409600+0 записей считано 409600+0 записей написано скопировано 1677721600 байт (1,7 GB), 82,1808 c, 20,4 MB/c |
$~/bin/signal_trap
|
$ps aux | grep signal_trap
user 16505 0.0 0.1 9968 876 pts/7 S+ 10:35 0:00 grep signal_trap |
$ps aux | grep bash
root 15712 0.0 0.5 22092 2776 pts/3 Ss 09:03 0:00 -bash user 15813 0.0 0.5 22108 2800 pts/6 Ss 09:04 0:00 -bash user 16522 0.0 0.1 9968 872 pts/7 S+ 10:36 0:00 grep bash |
$ps aux | grep signal_trap
user 16531 0.0 0.1 9968 876 pts/7 S+ 10:37 0:00 grep signal_trap |
$ps aux | grep signal_trap
user 16556 0.0 0.1 9968 872 pts/7 S+ 10:38 0:00 grep signal_trap |
$ps aux | grep signal_trap
user 16565 0.0 0.1 9968 876 pts/7 S+ 10:38 0:00 grep signal_trap |
$ps aux | grep signal_trap
user 16574 0.0 0.1 9968 876 pts/7 S+ 10:39 0:00 grep signal_trap |
$ps aux | grep signal_trap
user 16585 0.0 0.1 9968 876 pts/7 S+ 10:41 0:00 grep signal_trap |
$~/bi
bigfile bin/ |
$cat ~/bin/signal_trap
#!/bin/bash sleep 380000 & |
$ls /bin
bash echo lessecho nano rzsh uncompress busybox egrep lessfile nc sed unicode_start cat false lesskey nc.traditional setfacl vdir chacl fgconsole lesspipe netcat setfont which chgrp fgrep ln netstat setupcon ypdomainname chmod findmnt loadkeys nisdomainname sh zcat chown fuser login open sh.distrib zcmp chvt getfacl ls openvt sleep zdiff cp grep lsblk pidof ss zegrep cpio gunzip lsmod ping stty zfgrep dash gzexe mkdir ping6 su zforce date gzip mknod ps sync zgrep dd hostname mktemp pwd tailf zless df ip more rbash tar zmore dir kbd_mode mount readlink tempfile znew dmesg kill mountpoint rm touch zsh dnsdomainname kmod mt rmdir true zsh4 domainname ksh mt-gnu rnano umount dumpkeys less mv run-parts uname |
$ls ~/bin
bigwork signal_trap x y z |
Птн Июн 9 12:15:20 EEST 2017 user pts/3 2017-06-09 09:42 (192.168.16.154) root pts/1 2017-06-09 09:42 (192.168.16.154) ivan pts/6 2017-06-09 09:42 (192.168.16.154) petr pts/7 2017-06-09 09:44 (192.168.16.154)
#!/bin/bash sleep 380000 &
Время первой команды журнала | 11:32:13 2017- 6- 9 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 14:55:26 2017- 6-26 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 49 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 14.29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.63 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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