/l3/users/07-07-2008/fbsd-adm/fbsd1.unix.nt/user :1 |
|
$crontab -e
ntest * * * * * echo "SHELL=$SHELL; USER=$USER; HOME=$HOME; TEST=$TEST >> /tmp/usercro ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/crontab.zcMaOJEBpx: 5 lines, 110 characters . crontab: installing new crontab |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory You have new mail in /var/mail/user |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$crontab -e
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ :q! crontab: no changes made to crontab You have new mail in /var/mail/user |
$crontab -e
ontest ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ /tmp/crontab.hJuXyIPB8N: 5 lines, 111 characters . crontab: installing new crontab |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$tail -f /tmp/usercrontest
tail: /tmp/usercrontest: No such file or directory |
$crontab -e
ontest ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ :q crontab: no changes made to crontab |
$tail -f /tmp/usercrontest
SHELL=/bin/sh; USER=user; HOME=/home/user; TEST=test variable SHELL=/bin/sh; USER=user; HOME=/home/user; TEST=test variable SHELL=/bin/sh; USER=user; HOME=/home/user; TEST=test variable SHELL=/bin/sh; USER=user; HOME=/home/user; TEST=test variable ^C |
$su
Password: |
#vim /etc/syslog.conf
|
#*.* /var/log/all.log
3 # Spaces ARE valid field separators in this file. However, 4 # other *nix-like systems still insist on using tabs as field 5 # separators. If you are sharing this file between systems, you 6 # may want to use only tabs as field separators here. 7 # Consult the syslog.conf(5) manpage. 8 *.err;kern.warning;auth.notice;mail.crit /dev/console 9 *.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/mess sages 8 uncomment this to log all writes to /dev/cons /var/log/security 19 #console.info /var/log/console.log 0 uncomment this to enable logging of all log messages to /var/log/all.log 21 # touch /var/log/all.log and chmod it to mode 600 before it will work 2 *.* /var/log/all.log 23 # uncomment this to enable logging to a remote loghost named loghost 24 #*.* @loghost 25 # uncomment these if you're running inn 26 # news.crit /var/log/news/news.crit "/etc/syslog.conf" 32L, 1335C written |
#man syslog.conf
|
#ls -l /var/log/
total 482 -rw-r--r-- 1 root wheel 33806 Jul 8 11:04 Xorg.0.log -rw-r--r-- 1 root wheel 33786 Jul 8 11:00 Xorg.0.log.old -rw------- 1 root wheel 8514 Jul 10 11:03 auth.log -rw------- 1 root wheel 52321 Jul 10 12:00 cron -rw------- 1 root wheel 6580 Jul 9 18:00 cron.0.bz2 -rw------- 1 root wheel 148 Jul 10 08:45 debug.log -rw------- 1 root wheel 12288 Jul 10 06:01 dmesg.today -rw------- 1 root wheel 62144 Jul 9 06:02 dmesg.yesterday drwxr-xr-x 2 root wheel 512 Jul 10 11:59 gdm ... -rw-r----- 1 root wheel 728 Mar 16 05:02 sendmail.st.3 -rw-r----- 1 root wheel 0 Mar 15 18:00 sendmail.st.4 -rw-r----- 1 root wheel 0 Jan 16 02:33 sendmail.st.5 -rw------- 1 root wheel 5549 Jul 9 06:02 setuid.today -rw------- 1 root wheel 5483 Mar 16 05:02 setuid.yesterday -rw-r----- 1 root network 61 Mar 15 17:05 slip.log -rw------- 1 root wheel 83291 Jul 10 08:38 userlog -rw-r--r-- 1 root wheel 4752 Jul 10 07:24 wtmp -rw-r--r-- 1 root wheel 2545 Jul 8 11:04 xdm.log -rw------- 1 root wheel 61 Mar 15 17:05 xferlog |
#ls -l /var/log/ | less
|
#vim /etc/newsyslog.conf
|
# 22 /var/log/auth.log 600 7 100 * JC
-rw------- 1 root wheel 8514 Jul 10 11:03 /var/log/auth.log |
#vim /etc/newsyslog.conf
|
#:q!
matched by this line. The following are valid flags: B indicates that the log file is a binary file, or has some special format. Usually newsyslog(8) inserts an ASCII message into a log file during rotation. This message is used to indicate when, and sometimes why the log file was rotated. If B is specified, then that informational mes- sage will not be inserted into the log file. C indicates that the log file should be created if it does not already exist, and if the -C option was also speci- fied on the command line. ... G indicates that the specified logfile_name is a shell pat- tern, and that newsyslog(8) should archive all filenames matching that pattern using the other options on this line. See glob(3) for details on syntax and matching rules. J indicates that newsyslog(8) should attempt to save disk space by compressing the rotated log file using bzip2(1). N indicates that there is no process which needs to be sig- naled when this log file is rotated. U indicates that the file specified by path_to_pid_file |
#:q!
NEWSYSLOG.CONF(5) FreeBSD File Formats Manual NEWSYSLOG.CONF(5) NAME newsyslog.conf -- newsyslog(8) configuration file DESCRIPTION The newsyslog.conf file is used to set log file rotation configuration for the newsyslog(8) utility. Configuration may designate that logs are rotated based on size, last rotation time, or time of day. The newsyslog.conf file can also be used to designate secure permissions to log files at rotation time. During initialization, newsyslog(8) reads a configuration file, normally /etc/newsyslog.conf, to determine which logs ... B indicates that the log file is a binary file, or has some special format. Usually newsyslog(8) inserts an ASCII message into a log file during rotation. This message is used to indicate when, and sometimes why the log file was rotated. If B is specified, then that informational mes- sage will not be inserted into the log file. C indicates that the log file should be created if it does not already exist, and if the -C option was also speci- fied on the command line. D indicates that newsyslog(8) should set the UF_NODUMP flag |
#newsyslog -f /etc/newsyslog.conf
|
#logger -p emesrg SHUTDOWN NOW
logger: unknown priority name: emesrg |
#logger -p emerg SHUTDOWN NOW
|
#logger -p SHUTDOWN NOW
|
#logger --help
logger: illegal option -- - usage: logger [-46Ais] [-f file] [-h host] [-P port] [-p pri] [-t tag] [message ...] |
#logger -p emerg -t sergey SHUTDOWN NOW
|
#logger -p emerg SHUTDOWN NOW
|
#vim /etc/syslog.conf
|
#*.* /var/log/all.log
7 # Consult the syslog.conf(5) manpage. 11 auth.info;authpriv.info /var/log/auth.log 8 *.err;kern.warning;auth.notice;mail.crit /dev/console 12 mail.info /var/log/maillog 9 *.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/mess 13 lpr.info /var/log/lpd-errs 14 ftp.info /var/log/xferlog 15 cron.* /var/log/cron 16 *.=debug.conf" 32L, 1335C /var/log/debug.log 17 *.emerg * 18 # uncomment this to log all writes to /dev/console to /var/log/console.log 19 #console.info /var/log/console.log 20 # uncomment this to enable logging of all log messages to /var/log/all.log 21 # touch /var/log/all.log and chmod it to mode 600 before it will work |
#*.* /var/log/all.log
Mar 15 15:05:54 fbsdvm newsyslog[529]: logfile first created Jul 10 08:45:01 fbsd1 kernel: arplookup 10.0.17.1 failed: host is not on local network |
#logger -p debug -t sergey SHUTDOWN NOW
|
#tail /var/log/debug.log
Mar 15 15:05:54 fbsdvm newsyslog[529]: logfile first created Jul 10 08:45:01 fbsd1 kernel: arplookup 10.0.17.1 failed: host is not on local network Jul 10 12:10:36 fbsd1 sergey: SHUTDOWN NOW |
#tail /var/log/debug.log
Mar 15 15:05:54 fbsdvm newsyslog[529]: logfile first created Jul 10 08:45:01 fbsd1 kernel: arplookup 10.0.17.1 failed: host is not on local network Jul 10 12:10:36 fbsd1 sergey: SHUTDOWN NOW |
#cd /usr/ports/
|
#make search name=xdm
Port: xdms-1.3.2 Path: /usr/ports/archivers/xdms Info: An Amiga DMS archiver unpacker Maint: ports@FreeBSD.org B-deps: R-deps: WWW: http://zakalwe.fi/~shd/foss/xdms/ Port: libXdmcp-1.0.2 Path: /usr/ports/x11/libXdmcp Info: X Display Manager Control Protocol library Maint: x11@FreeBSD.org B-deps: pkg-config-0.22_1 xproto-7.0.10_1 R-deps: pkg-config-0.22_1 xproto-7.0.10_1 WWW: http://www.freedesktop.org/Software/xlibs Port: xdm-1.1.6_2 Path: /usr/ports/x11/xdm Info: X.Org X display manager Maint: x11@FreeBSD.org B-deps: inputproto-1.4.2.1 kbproto-1.0.3 libICE-1.0.4,1 libSM-1.0.3,1 libX11-1.1.3,1 libXau-1.0.3_2 libXaw-1.0.4,1 libXdmcp-1.0.2 libXext-1.0.3,1 libXinerama-1.0.2,1 libXmu-1.0.3,1 libXp-1.0.0,1 libXpm-3.5.7 libXt-1.0.5 pkg-config-0.22_1 printproto-1.0.3 xextproto-7.0.2 xineramaproto-1.1.2 xproto-7.0.10_1 xtrans-1.0.4 R-deps: inputproto-1.4.2.1 kbproto-1.0.3 libICE-1.0.4,1 libSM-1.0.3,1 libX11-1.1.3,1 libXau-1.0.3_2 libXaw-1.0.4,1 libXdmcp-1.0.2 libXext-1.0.3,1 libXinerama-1.0.2,1 libXmu-1.0.3,1 libXp-1.0.0,1 libXpm-3.5.7 libXt-1.0.5 pkg-config-0.22_1 printproto-1.0.3 xextproto-7.0.2 xineramaproto-1.1.2 xproto-7.0.10_1 xtrans-1.0.4 WWW: |
#cd /usr/ports/
|
#make search name=cowsay
Port: cowsay-3.03_1 Path: /usr/ports/games/cowsay Info: Configurable talking characters in ASCII art Maint: kris@FreeBSD.org B-deps: perl-5.8.8_1 R-deps: perl-5.8.8_1 WWW: http://www.nog.net/~tony/warez/cowsay.shtml |
#cd games/cowsay
|
#ls
Makefile distinfo files pkg-descr pkg-plist |
#make install clean
===> Vulnerability check disabled, database not found => cowsay-3.03.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch from ftp://ftp.nog.net/pub/tony/cowsay/. ^Cfetch: transfer interrupted |
#make deinstall
===> Deinstalling for games/cowsay ===> cowsay not installed, skipping |
#make configure
===> Vulnerability check disabled, database not found => cowsay-3.03.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch from ftp://ftp.nog.net/pub/tony/cowsay/. ^Cfetch: transfer interrupted |
#cd /usr/ports/www/squi
squid/ squid_radius_auth/ squidpurge/ squirm/ squid25/ squidclients/ squidtimes/ squishdot/ squid30/ squidguard/ squidview/ |
#cd /usr/ports/www/squi
squid/ squid_radius_auth/ squidpurge/ squirm/ squid25/ squidclients/ squidtimes/ squishdot/ squid30/ squidguard/ squidview/ |
#cd /usr/ports/www/squid30/
|
#make config
x lqqqq-(-)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x x x[ ] SQUID_ARP_ACL Enable ACLs based on ethernet address x x x x[ ] SQUID_IPFW Enable transparent proxying with IPFW x x x x[ ] SQUID_ARP_ACL Enable ACLs based on ethernet address x x [ ] SQUID_IPFW Enable transparent proxying with IPFW x x[ ] SQUID_PFFILTER Enable transparent proxying with PFer x x [ ] SQUID_IPFILTER Enable transp. proxying with IPFilter x x[X] SQUID_ICAP Enable ICAP client functionality x x x x[X] SQUID_ESI Enable ESI support (experimental) x x x x[X] SQUID_AUFS Enable the aufs storage scheme x x x x[X] SQUID_COSS Enable the COSS storage scheme x x tqmqqqq.(+)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu x [ OK ] Cancel x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj |
#cd ../..
|
#cp /usr/share/examples/cvsup/ports-supfile /tmp
|
#vim /tmp/ports-supfile
|
#ls /usr/ports/base
ls: /usr/ports/base: No such file or directory |
#ls /usr/ports/
.cvsignore arabic/ emulators/ mbone/ shells/ CHANGES archivers/ finance/ misc/ sysutils/ COPYRIGHT astro/ french/ multimedia/ textproc/ GIDs audio/ ftp/ net/ ukrainian/ INDEX-6 benchmarks/ games/ net-im/ vietnamese/ KNOBS biology/ german/ net-mgmt/ www/ LEGAL cad/ graphics/ net-p2p/ x11/ MOVED chinese/ hebrew/ news/ x11-clocks/ Makefile comms/ hungarian/ palm/ x11-drivers/ Mk/ converters/ irc/ polish/ x11-fm/ README databases/ japanese/ ports-mgmt/ x11-fonts/ Templates/ deskutils/ java/ portuguese/ x11-servers/ Tools/ devel/ korean/ print/ x11-themes/ UIDs distfiles/ lang/ russian/ x11-toolkits/ UPDATING dns/ mail/ science/ x11-wm/ accessibility/ editors/ math/ security/ |
#ls /usr/ports/audio/
gsi splay gsm splaytk gspeakers squash gstreamer-plugins-a52dec streamripper gstreamer-plugins-cdaudio streamtranscoder gstreamer-plugins-cdparanoia streamtuner gstreamer-plugins-esound swami gstreamer-plugins-faac sweep gstreamer-plugins-faad swhplugins gstreamer-plugins-flac tagger ... madman xsidplay madplay xsynth-dssi malint xtuner maplay xvmixer mbox xwave mbrola yammi mbrolavox yamt mctoolame-decoder yell mctoolame-encoder zinf mhwaveedit zynaddsubfx |
#ls /usr/ports/audio/
gsi splay gsm splaytk gspeakers squash gstreamer-plugins-a52dec streamripper gstreamer-plugins-cdaudio streamtranscoder gstreamer-plugins-cdparanoia streamtuner gstreamer-plugins-esound swami gstreamer-plugins-faac sweep gstreamer-plugins-faad swhplugins gstreamer-plugins-flac tagger ... madman xsidplay madplay xsynth-dssi malint xtuner maplay xvmixer mbox xwave mbrola yammi mbrolavox yamt mctoolame-decoder yell mctoolame-encoder zinf mhwaveedit zynaddsubfx |
#ls /usr/ports/audio/xmms2/
Makefile distinfo files pkg-descr pkg-plist |
#ls /usr/ports/audio/
|
#vim /tmp/ports-supfile
|
#mergemaster
|
#make search key=xdm
make: don't know how to make search. Stop |
#make search key=xdm
|
Время первой команды журнала | 10:52:28 2008- 7-10 | ||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 12:24:13 2008- 7-10 | ||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 75 | ||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 40.00 | ||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.72 | ||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.75 | ||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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