/l3/users/28-09-2015/NT-Ladm/debian4.net.nt/root :1 :2 :3 :4 :5 :6 :7 |
|
#ls ??sh
bash dash rzsh |
#ls ?a*
bash cat dash date false nano tailf tar |
#ls [bcd]*
bash cat chmod chvt cpio date df dmesg domainname busybox chgrp chown cp dash dd dir dnsdomainname dumpkeys |
#ls [b-f]*
bash chgrp chvt dash df dnsdomainname echo fgconsole fuser busybox chmod cp date dir domainname egrep fgrep cat chown cpio dd dmesg dumpkeys false findmnt |
#ls [!b-f]*
grep lessfile more open run-parts tailf zcat gunzip lesskey mount openvt rzsh tar zcmp gzexe lesspipe mountpoint pidof sed tempfile zdiff gzip ln mt ping setfont touch zegrep hostname loadkeys mt-gnu ping6 setupcon true zfgrep ip login mv ps sh umount zforce kbd_mode ls nano pwd sh.distrib uname zgrep kill lsblk nc rbash sleep uncompress zless kmod lsmod nc.traditional readlink ss unicode_start zmore ksh mkdir netcat rm stty vdir znew less mknod netstat rmdir su which zsh lessecho mktemp nisdomainname rnano sync ypdomainname zsh4 |
#bash man
/usr/bin/man: /usr/bin/man: не могу запустить бинарный файл |
#man bash
|
#echo +([[:digit:]])
l3script: syntax error near unexpected token `(' |
#ls +([[:digit:]])
l3script: syntax error near unexpected token `(' |
#ls @([^a-h]|cd)
l3script: syntax error near unexpected token `(' |
#cd
|
#touch file{1,2,3,4,5}
|
#ls
file1 file2 file3 file4 file5 install report shadow |
#cp /etc/profile{,/old}
cp: обращение к «/etc/profile/old»: Это не каталог |
#cp /etc/profile{,.old}
|
#ls /etc/profile
/etc/profile |
#ls /etc/prof*
/etc/profile /etc/profile.old /etc/profile.d: bash_completion.sh |
#cd /proc/1878
l3script: cd: /proc/1878: Нет такого файла или каталога |
#pidof rsyslogd
1876 |
#cd /proc/1876
|
#cd /proc/`pidof rsyslogd`
|
#cd
|
#cd /proc/`pidof rsyslogd`
|
#cd
|
#ls -l `which chsh`
-rwsr-xr-x 1 root root 41272 Май 26 2012 /usr/bin/chsh |
#ls -l $(which chsh)
-rwsr-xr-x 1 root root 41272 Май 26 2012 /usr/bin/chsh |
#vim privet.sh
--- /dev/null 2015-09-25 17:23:00.264000008 +0300 +++ privet.sh 2015-09-29 10:53:54.119833962 +0300 @@ -0,0 +1,2 @@ +#!/bin/bash +echo "Privet ${1}!" |
#bash privet.sh
Privet ! |
#privet.sh
l3script: privet.sh: команда не найдена |
#./privet.sh
l3script: ./privet.sh: Отказано в доступе |
#ls -l
итого 16 -rw-r--r-- 1 root root 0 Сен 29 10:35 file1 -rw-r--r-- 1 root root 0 Сен 29 10:35 file2 -rw-r--r-- 1 root root 0 Сен 29 10:35 file3 -rw-r--r-- 1 root root 0 Сен 29 10:35 file4 -rw-r--r-- 1 root root 0 Сен 29 10:35 file5 -rw-r--r-- 1 root root 5268 Окт 13 2014 install -rw-r--r-- 1 root root 32 Сен 29 10:53 privet.sh -rw-r--r-- 1 root root 0 Сен 28 14:25 report -rw-r----- 1 root root 1029 Сен 28 14:23 shadow |
#chmod u+x privet.sh
|
#ls -l
итого 16 -rw-r--r-- 1 root root 0 Сен 29 10:35 file1 -rw-r--r-- 1 root root 0 Сен 29 10:35 file2 -rw-r--r-- 1 root root 0 Сен 29 10:35 file3 -rw-r--r-- 1 root root 0 Сен 29 10:35 file4 -rw-r--r-- 1 root root 0 Сен 29 10:35 file5 -rw-r--r-- 1 root root 5268 Окт 13 2014 install -rwxr--r-- 1 root root 32 Сен 29 10:53 privet.sh -rw-r--r-- 1 root root 0 Сен 28 14:25 report -rw-r----- 1 root root 1029 Сен 28 14:23 shadow |
#ls -l --color
итого 16 -rw-r--r-- 1 root root 0 Сен 29 10:35 file1 -rw-r--r-- 1 root root 0 Сен 29 10:35 file2 -rw-r--r-- 1 root root 0 Сен 29 10:35 file3 -rw-r--r-- 1 root root 0 Сен 29 10:35 file4 -rw-r--r-- 1 root root 0 Сен 29 10:35 file5 -rw-r--r-- 1 root root 5268 Окт 13 2014 install -rwxr--r-- 1 root root 32 Сен 29 10:53 privet.sh -rw-r--r-- 1 root root 0 Сен 28 14:25 report -rw-r----- 1 root root 1029 Сен 28 14:23 shadow |
#./privet.sh
Privet ! |
#./privet.sh Evhen
Privet Evhen! |
#bash privet.sh
Privet ! |
#vim privet.sh
--- /tmp/l3-saved-8304.31998.153 2015-09-29 10:57:45.759833961 +0300 +++ privet.sh 2015-09-29 10:58:30.555833960 +0300 @@ -1,2 +1,2 @@ #!/bin/bash -echo "Privet ${1}!" +echo "Privet ${1:-Noname}!" |
#./privet.sh Evhen
Privet Evhen! |
#./privet.sh
Privet Noname! |
#./privet.sh Evhen
Privet Evhen! |
#vim privet.sh
--- /tmp/l3-saved-8304.3699.20484 2015-09-29 10:59:51.899833961 +0300 +++ privet.sh 2015-09-29 11:00:12.591833962 +0300 @@ -1,2 +1,2 @@ #!/bin/bash -echo "Privet ${1:-Noname}!" +echo "Privet ${1:+Noname}!" |
#./privet.sh Evhen
Privet Noname! |
#./privet.sh
Privet ! |
#echo $((7+5))
12 |
#echo $((7+5)/(2))
l3script: command substitution: line 1: syntax error near unexpected token `/' l3script: command substitution: line 1: `(7+5)/(2)' |
#echo $(((7+5)/(2)))
6 |
#echo $[(7+5)/2]
6 |
#i=1
|
#echo $1
|
#echo $i
1 |
#i=$[$i+1]
|
#echo $i
2 |
#top
top - 11:05:03 up 3 days, 17:42, 4 users, load average: 1,01, 1,04, 1,05 Tasks: 64 total, 2 running, 62 sleeping, 0 stopped, 0 zombie %Cpu(s): 0,0 us, 0,0 sy, 51,8 ni, 0,0 id, 0,0 wa, 0,0 hi, 0,0 si, 48,2 st KiB Mem: 507368 total, 321512 used, 185856 free, 90228 buffers KiB Swap: 0 total, 0 used, 0 free, 118112 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5338 root 39 19 20628 6388 860 R 99,9 1,3 1225:35 john 4120 root 20 0 0 0 0 S 0,3 0,0 0:05.19 kworker/0:0 1 root 20 0 10648 828 696 S 0,0 0,2 0:05.25 init 1 root 20 0 10648 828 696 S 0,0 0,2 0:05.25 init ... 134 root 20 0 0 0 0 S 0,0 0,0 0:09.58 jbd2/xvda1-8 135 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit 278 root 20 0 21248 1228 784 S 0,0 0,2 0:00.04 udevd 395 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kpsmoused 1876 root 20 0 52772 1640 1204 S 0,0 0,3 0:00.05 rsyslogd 1906 root 20 0 4116 652 512 S 0,0 0,1 0:00.00 acpid 1948 root 20 0 22520 1068 824 S 0,0 0,2 0:01.79 cron 2225 Debian-e 20 0 46808 1040 584 S 0,0 0,2 0:00.09 exim4 2254 root 20 0 49932 1248 640 S 0,0 0,2 0:00.01 sshd 2278 root 20 0 18368 972 812 S 0,0 0,2 0:00.03 getty |
#ps ax
PID TTY STAT TIME COMMAND 1 ? Ss 0:05 init [2] 2 ? S 0:00 [kthreadd] 3 ? S 0:00 [ksoftirqd/0] 5 ? S 0:00 [kworker/u:0] 6 ? S 0:00 [migration/0] 7 ? S 0:02 [watchdog/0] 8 ? S< 0:00 [cpuset] 9 ? S< 0:00 [khelper] 10 ? S 0:00 [kdevtmpfs] ... 8409 ? Ss 0:00 sshd: petr [priv] 8411 ? S 0:00 sshd: petr@pts/4 8412 pts/4 Ss+ 0:00 -bash 8493 ? Ss 0:00 sshd: user [priv] 8495 ? S 0:00 sshd: user@pts/5 8496 pts/5 Ss 0:00 -bash 8541 pts/5 S+ 0:00 script -f -c l3script -q /home/user/.lilalo//50581307 8612 pts/5 S+ 0:00 script -f -c l3script -q /home/user/.lilalo//50581307 8613 pts/6 Ss+ 0:00 l3script 9375 pts/2 R+ 0:00 ps ax |
#ps ax | wc -l
66 |
#echo $[$(ps ax | wc -l)-4]
63 |
#p=$[$(ps ax | wc -l)-4]
|
#echo $p
63 |
#who
root pts/0 2015-09-29 09:36 (192.168.16.101) ivan pts/3 2015-09-29 09:37 (192.168.16.101) petr pts/4 2015-09-29 09:39 (192.168.16.101) user pts/5 2015-09-29 09:40 (192.168.16.101) |
#cat report
|
#cat
q wertyuio q wertyuio |
#echo $/
$/ |
#echo $?
0 |
#cat
qwer qwer |
#echo $?
0 |
#jobs
|
#cat &
[1] 9479 [1]+ Stopped cat |
#jobs
[1]+ Stopped cat |
#jobs -l
[1]+ 9479 Остановлено (ввод с терминала) cat |
#cd /proc/9479/fd
|
#ls -l
итого 0 lrwx------ 1 root root 64 Сен 29 11:17 0 -> /dev/pts/2 lrwx------ 1 root root 64 Сен 29 11:17 1 -> /dev/pts/2 lrwx------ 1 root root 64 Сен 29 11:17 2 -> /dev/pts/2 |
#tty
/dev/pts/0 |
#pstree --color
pstree: неизвеÑÑнÑй клÑÑ Â«--color» ÐÑполÑзование: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -u ] [ -A | -G | -U ] [ PID | ÐÐÐ tree -V ÐоказÑÐ²Ð°ÐµÑ Ð´ÐµÑево пÑоÑеÑÑов. -a, --arguments показÑваÑÑ Ð°ÑгÑменÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки -A, --ascii иÑполÑзоваÑÑ ASCII-ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð´Ð»Ñ ÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ -c, --compact не ÑжимаÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñе поддеÑевÑÑ -h, --highlight-all вÑделÑÑÑ ÑвеÑом ÑекÑÑий пÑоÑеÑÑ Ð¸ его пÑедков -H PID, ... вклÑÑÐ°ÐµÑ -c -G, --vt100 иÑполÑзоваÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÑеÑминала VT100 Ð´Ð»Ñ ÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ -l, --long не обÑезаÑÑ Ð´Ð»Ð¸Ð½Ð½Ñе ÑÑÑоки -n, --numeric-sort ÑоÑÑиÑоваÑÑ Ð²Ñвод по PID -p, --show-pids показÑваÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑÑ Ð¿ÑоÑеÑÑов (PID); вклÑÑÐ°ÐµÑ -c -u, --uid-changes показÑваÑÑ Ð¿ÐµÑÐµÑ Ð¾Ð´Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑов полÑзоваÑелей -U, --unicode иÑполÑзоваÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ UTF-8 (Ñникод) Ð´Ð»Ñ ÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ -V, --version показаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ веÑÑии PID наÑинаÑÑ Ð¾Ñ Ñказанного PID; по ÑмолÑÐ°Ð½Ð¸Ñ 1 (init) ÐÐво пÑоÑеÑÑов Ñказанного полÑзоваÑÐµÐ»Ñ |
#pstree
init─┬─acpid ├─cron ├─exim4 ├─6*[getty] ├─john ├─2*[l3-agent] ├─rsyslogd───3*[{rsyslogd}] ├─sshd─┬─sshd───bash───script───script───l3script─┬─cat │ │ └─pstree │ ├─2*[sshd───sshd───bash] │ └─sshd───sshd───bash───script───script───l3script └─udevd |
#pstree -p
init(1)─┬─acpid(1906) ├─cron(1948) ├─exim4(2225) ├─getty(2278) ├─getty(2279) ├─getty(2280) ├─getty(2281) ├─getty(2282) ├─getty(2283) ├─john(5338) ├─l3-agent(3372) ├─l3-agent(5436) ├─rsyslogd(1876)─┬─{rsyslogd}(1877) │ ├─{rsyslogd}(1879) │ └─{rsyslogd}(1880) ├─sshd(2254)─┬─sshd(8225)───bash(8227)───script(8272)───script(8303)───+ │ ├─sshd(8325)───sshd(8327)───bash(8328) │ ├─sshd(8409)───sshd(8411)───bash(8412) │ └─sshd(8493)───sshd(8495)───bash(8496)───script(8541)───sc+ └─udevd(278) |
#ls -l
итого 0 lrwx------ 1 root root 64 Сен 29 11:17 0 -> /dev/pts/2 lrwx------ 1 root root 64 Сен 29 11:17 1 -> /dev/pts/2 lrwx------ 1 root root 64 Сен 29 11:17 2 -> /dev/pts/2 |
#cd
|
#find / -user ivan -type f
/tmp/users /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/d4/d3/d1/f1 /home/ivan/d4/d3/d1/users /home/ivan/.profile /home/ivan/.viminfo /home/ivan/.bash_logout /proc/8328/task/8328/fdinfo/0 /proc/8328/task/8328/fdinfo/1 ... /proc/8328/oom_adj /proc/8328/oom_score_adj /proc/8328/loginuid /proc/8328/sessionid /proc/8328/coredump_filter /proc/8328/io find: `/proc/9565/task/9565/fd/5': Нет такого файла или каталога find: `/proc/9565/task/9565/fdinfo/5': Нет такого файла или каталога find: `/proc/9565/fd/5': Нет такого файла или каталога find: `/proc/9565/fdinfo/5': Нет такого файла или каталога |
#find / -user ivan -type f 2> errors
/tmp/users /home/ivan/.bashrc /home/ivan/.bash_history /home/ivan/d4/d3/d1/f1 /home/ivan/d4/d3/d1/users /home/ivan/.profile /home/ivan/.viminfo /home/ivan/.bash_logout /proc/8328/task/8328/fdinfo/0 /proc/8328/task/8328/fdinfo/1 ... /proc/8328/stack /proc/8328/cpuset /proc/8328/cgroup /proc/8328/oom_score /proc/8328/oom_adj /proc/8328/oom_score_adj /proc/8328/loginuid /proc/8328/sessionid /proc/8328/coredump_filter /proc/8328/io |
#ls
errors file1 file2 file3 file4 file5 install privet.sh report shadow |
#cat errors
find: `/proc/9573/task/9573/fd/5': Нет такого файла или каталога find: `/proc/9573/task/9573/fdinfo/5': Нет такого файла или каталога find: `/proc/9573/fd/5': Нет такого файла или каталога find: `/proc/9573/fdinfo/5': Нет такого файла или каталога |
#find / -user ivan -type f 2> errors 1> files
|
#find / -user ivan -type f &> all
|
#mail ivan
Subject: hello Privet Ivan . EOT |
#mail -s report ivan < all
|
#ls
all file1 file3 file5 install report errors file2 file4 files privet.sh shadow |
#shopt
autocd off cdable_vars off cdspell off checkhash off checkjobs off checkwinsize on cmdhist on compat31 off compat32 off compat40 off ... no_empty_cmd_completion off nocaseglob off nocasematch off nullglob off progcomp on promptvars on restricted_shell off shift_verbose off sourcepath on xpg_echo off |
#set -o noclobber
|
#chattr +a ./report
|
#lsattr
-------------e-- ./errors -------------e-- ./file4 -------------e-- ./files -------------e-- ./all -------------e-- ./shadow -------------e-- ./file1 -----a-------e-- ./report -------------e-- ./file5 -------------e-- ./privet.sh -------------e-- ./file3 -------------e-- ./install -------------e-- ./file2 |
#chattr +a report
|
#lsattr
-------------e-- ./errors -------------e-- ./file4 -------------e-- ./files -------------e-- ./all -------------e-- ./shadow -------------e-- ./file1 -----a-------e-- ./report -------------e-- ./file5 -------------e-- ./privet.sh -------------e-- ./file3 -------------e-- ./install -------------e-- ./file2 |
#find / -user ivan -type f &> all
|
#chattr +i report
|
#rm repotr
rm: невозможно удалить «repotr»: Нет такого файла или каталога |
#date >> report
l3script: report: Отказано в доступе |
#mv repotr report2
mv: не удалось выполнить stat для «repotr»: Нет такого файла или каталога |
[1] 9479 [1]+ Stopped cat
qwer qwer
find: `/proc/9573/task/9573/fd/5': Нет такого файла или каталога find: `/proc/9573/task/9573/fdinfo/5': Нет такого файла или каталога find: `/proc/9573/fd/5': Нет такого файла или каталога find: `/proc/9573/fdinfo/5': Нет такого файла или каталога
Время первой команды журнала | 09:19:16 2015- 9-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 10:32:18 2015- 9-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 14.85 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.22 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.38 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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