/l3/users/eb/2009/linux15/user :1 :2 :3 :4 :5 :6 |
|
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed May 27 17:14:24 linux15 monit[21543]: Monit stopped May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start |
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed May 27 17:14:24 linux15 monit[21543]: Monit stopped May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start |
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed May 27 17:14:24 linux15 monit[21543]: Monit stopped May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start |
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed May 27 17:14:24 linux15 monit[21543]: Monit stopped May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start |
#tail /var/log/
apt/ dmesg.0 gdm/ messages aptitude dmesg.1.gz kern.log news/ auth.log dmesg.2.gz lastlog pycentral.log boot dmesg.3.gz lp-acct syslog bootstrap.log dmesg.4.gz lp-errs user.log btmp dpkg.log lpr.log wtmp ConsoleKit/ exim4/ mail.err Xorg.0.log daemon.log faillog mail.info Xorg.0.log.old debug fontconfig.log mail.log dmesg fsck/ mail.warn |
#tail /var/log/mail.err
|
#tail /var/log/mail.info
May 27 12:45:36 linux16 sendmaill: prikol May 27 12:45:40 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:42 linux16 sendmaill: prikol May 27 12:45:42 linux16 sendmaill: prikol May 27 12:45:13 linux15 sendmail: teststststst May 27 12:45:15 linux15 sendmail: teststststst May 27 15:22:22 linux15 sendmail: teststststst |
#tail /var/log/mail.log
May 27 12:45:36 linux16 sendmaill: prikol May 27 12:45:40 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:41 linux16 sendmaill: prikol May 27 12:45:42 linux16 sendmaill: prikol May 27 12:45:42 linux16 sendmaill: prikol May 27 12:45:13 linux15 sendmail: teststststst May 27 12:45:15 linux15 sendmail: teststststst May 27 15:22:22 linux15 sendmail: teststststst |
#tail /var/log/mail.
mail.err mail.info mail.log mail.warn |
#tail /var/log/mail.warn
|
#tail /var/log/daemon.log
May 27 17:13:38 linux15 monit[21543]: 'cron' process is not running May 27 17:13:38 linux15 monit[21543]: 'cron' trying to restart May 27 17:13:38 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:08 linux15 monit[21543]: 'cron' failed to start May 27 17:14:08 linux15 monit[21543]: 'cron' process is not running May 27 17:14:08 linux15 monit[21543]: 'cron' trying to restart May 27 17:14:08 linux15 monit[21543]: 'cron' start: /etc/init.d/ssh May 27 17:14:24 linux15 monit[21543]: monit daemon with pid [21543] killed May 27 17:14:24 linux15 monit[21543]: Monit stopped May 27 17:14:24 linux15 monit[21543]: 'cron' failed to start |
#cat /etc/default/monit
# Defaults for monit initscript # sourced by /etc/init.d/monit # installed at /etc/default/monit by maintainer scripts # Fredrik Steen <stone@debian.org> # You must set this variable to for monit to start startup=1 # To change the intervals which monit should run uncomment # and change this variable. # CHECK_INTERVALS=180 |
$ssh quiz@10.0.35.100
quiz@10.0.35.100's password: +---------------------------------- | ТЕМЫ ПЕРВОГО ДНЯ | man, shell, vi, screen | Общее количество вопросов: 40 | | Вам будут заданы вопросы и показаны варианты ответа на них. | После каждого вопроса вы должны вводить номер варианта ответа, который вы считаете наиболее правильным. | После ввода номера нужно нажимать <ENTER>. | Возвращаться назад и менять ответ, после того как вы нажали <ENTER>, нельзя. ... У вас в текущем каталоге есть файл, который называется -rf , и вы хотите его стереть. Вы даёте команду rm -rf , но в ответ получаете какие-то сообщения об ошибках. Как быть? 1 Такого быть не может, файл с именем -rf создать нельзя 2 Такого быть не может, ошибок никаких быть не должно, файл удалится без вопросов 3 Надо перелогиниться под root'ом, использовать su или sudo 4 Программа удаляет все файлы на диске и сообщает, что какие-то файлы удалить она не может. Но это уже всё равно 5 Всё правильно, надо было просто вызвать так: rm -- -rf 6 Всё правильно, надо было просто вызвать так: rm ./-rf Connection to 10.0.35.100 closed. |
$ssh quiz@10.0.35.100
3 Вы не любите vi несмотря ни на что. Вы хотите его не использовать, и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах. Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор! Как сделать так чтобы вместо vi в таких случаях вызывался nano? 1 Никак. Команда называется vipw, потому вызывается и редактор vi 2 вызвать nanopw 3 EDITOR=nano 4 set EDITOR=nano 5 export EDITOR=nano ... но вместо желаемого подключения получаете какой-то странный текст. Что это? 1 Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться 2 Это вызвался режим тонкой настройки screen 3 screen должен быть запущен в multiuser-режиме (multiuser on) 4 Эта сборка screen не поддерживает несколько одновременных подключений 5 Для этого необходимо выполнять screen в режиме ядра 1 Your score: 27 Connection to 10.0.35.100 closed. |
#init 0
|
$ssh root@10.0.35.100
root@10.0.35.100's password: Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu May 28 09:44:56 2009 from linux14.unix.nt |
#cat /etc/hostname
linux15 |
#cat /etc/host.conf
multi on |
#man hostname
|
#man hosts
|
#exit
exit |
$su
Пароль: |
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data. From 192.168.15.15 icmp_seq=1 Destination Host Unreachable From 192.168.15.15 icmp_seq=2 Destination Host Unreachable From 192.168.15.15 icmp_seq=3 Destination Host Unreachable ^[[3~^C --- 192.168.15.16 ping statistics --- 6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5030ms , pipe 3 |
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data. From 192.168.15.15 icmp_seq=1 Destination Host Unreachable From 192.168.15.15 icmp_seq=2 Destination Host Unreachable From 192.168.15.15 icmp_seq=3 Destination Host Unreachable ^C --- 192.168.15.16 ping statistics --- 6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5030ms , pipe 3 |
#ifconfig
eth0 Link encap:Ethernet HWaddr 00:22:15:c8:4e:d2 inet addr:192.168.15.15 Bcast:192.168.15.255 Mask:255.255.255.0 inet6 addr: fe80::222:15ff:fec8:4ed2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:398 (398.0 B) Interrupt:28 Base address:0x6000 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:54 errors:0 dropped:0 overruns:0 frame:0 TX packets:54 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5162 (5.0 KiB) TX bytes:5162 (5.0 KiB) |
#ping 192.168.15.16
PING 192.168.15.16 (192.168.15.16) 56(84) bytes of data. From 192.168.15.15 icmp_seq=1 Destination Host Unreachable From 192.168.15.15 icmp_seq=2 Destination Host Unreachable From 192.168.15.15 icmp_seq=3 Destination Host Unreachable From 192.168.15.15 icmp_seq=4 Destination Host Unreachable From 192.168.15.15 icmp_seq=5 Destination Host Unreachable From 192.168.15.15 icmp_seq=6 Destination Host Unreachable From 192.168.15.15 icmp_seq=7 Destination Host Unreachable From 192.168.15.15 icmp_seq=8 Destination Host Unreachable From 192.168.15.15 icmp_seq=9 Destination Host Unreachable ... 64 bytes from 192.168.15.16: icmp_seq=72 ttl=64 time=0.069 ms 64 bytes from 192.168.15.16: icmp_seq=73 ttl=64 time=0.069 ms 64 bytes from 192.168.15.16: icmp_seq=74 ttl=64 time=0.067 ms 64 bytes from 192.168.15.16: icmp_seq=75 ttl=64 time=0.070 ms 64 bytes from 192.168.15.16: icmp_seq=76 ttl=64 time=0.069 ms 64 bytes from 192.168.15.16: icmp_seq=77 ttl=64 time=0.074 ms ^C --- 192.168.15.16 ping statistics --- 77 packets transmitted, 15 received, +60 errors, 80% packet loss, time 76333ms rtt min/avg/max/mdev = 0.065/0.070/0.081/0.005 ms, pipe 3 |
#!l3
l3-agent |
#ssh root@10.0.35.100
root@10.0.35.100's password: Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu May 28 10:11:07 2009 from linux16.unix.nt |
#ls /home/quiz/
quiz start-quiz |
#cat /home/quiz/start-quiz
#!/usr/bin/perl $id = $ENV{"SSH_CLIENT"}; $id = (split(/\s+/, $id))[0]; if ($id) { $id .= "-"}; $quiz_file = "quiz"; $log_file = ".quiz/$id".time().'.log'; @Questions = (); $Score = 0; sub ask_question($) { ... } else { $question .= $_; }; } close(QUIZ); for $question (@Questions) { $Score += ask_question($question); } print "Your score: $Score\n"; |
#cat /home/quiz/quiz
Как заменить во всём файле последовательность abc на последовательность xyz? # :s/abc/xyz/ # :!s/abc/xyz/ # :%s/abc/xyz/ # :*s/abc/xyz/ # :s/abc/xyz/g # :!s/abc/xyz/g #! :%s/abc/xyz/g # :*s/abc/xyz/g # :s/abc/xyz/G ... # pkill screen # kill $(pgrep screen) Вы хотите подключиться к активному сеансу screen, даёте команду screen -x, но вместо желаемого подключения получаете какой-то странный текст. Что это? #! Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться # Это вызвался режим тонкой настройки screen # screen должен быть запущен в multiuser-режиме (multiuser on) # Эта сборка screen не поддерживает несколько одновременных подключений # Для этого необходимо выполнять screen в режиме ядра |
#screen -x
|
#find / -perm +4000 -ls
find: `/proc/6598/task/6598/fd/6': Нет такого файла или каталога find: `/proc/6598/task/6598/fdinfo/6': Нет такого файла или каталога find: `/proc/6598/fd/6': Нет такого файла или каталога find: `/proc/6598/fdinfo/6': Нет такого файла или каталога 722354 32 -rwsr-xr-x 1 root root 30788 Дек 10 2007 /bin/ping 722355 28 -rwsr-xr-x 1 root root 26616 Дек 10 2007 /bin/ping6 722347 68 -rwsr-xr-x 1 root root 64112 Апр 29 2008 /bin/mount 722372 44 -rwsr-xr-x 1 root root 44088 Апр 29 2008 /bin/umount 722365 28 -rwsr-xr-x 1 root root 27908 Май 22 18:03 /bin/su 559661 40 -rwsr-xr-- 1 root messagebus 38888 Май 9 00:48 /usr/lib/dbus-1.0/dbus-daemon-launch-helper ... 529539 128 -rwsr-xr-x 2 root root 123636 Мар 28 23:17 /usr/bin/sudo 528944 24 -rwsr-sr-x 1 root lp 24144 Май 20 2008 /usr/bin/lpr 528946 24 -rwsr-sr-x 1 root lp 22316 Май 20 2008 /usr/bin/lprm 525509 24 -rwsr-xr-x 1 root root 23780 Май 22 18:03 /usr/bin/newgrp 525519 36 -rwsr-xr-x 1 root root 34392 Май 22 18:03 /usr/bin/passwd 525456 48 -rwsr-xr-x 1 root root 48760 Май 22 18:03 /usr/bin/gpasswd 528984 328 -rwsr-sr-x 1 root utmp 328960 Апр 17 12:50 /usr/bin/screen 525402 36 -rwsr-xr-x 1 root root 36280 Май 22 18:03 /usr/bin/chfn 529539 128 -rwsr-xr-x 2 root root 123636 Мар 28 23:17 /usr/bin/sudoedit 525405 28 -rwsr-xr-x 1 root root 27736 Май 22 18:03 /usr/bin/chsh |
#scp /home/quiz/quiz 192.168.15.15:/home/user/
The authenticity of host '192.168.15.15 (192.168.15.15)' can't be established. RSA key fingerprint is 34:6c:c2:da:38:7c:d7:17:e9:cd:17:8d:e7:cf:f1:a6. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.15.15' (RSA) to the list of known hosts. root@192.168.15.15's password: quiz 100% 18KB 17.8KB/s 00:00 |
#exit
exit Connection to 10.0.35.100 closed. |
#find / -perm +2000 -ls
673153 28 -rwxr-sr-x 1 root shadow 26372 Мар 21 05:36 /sbin/unix_chkpwd find: `/proc/6606/task/6606/fd/6': Нет такого файла или каталога find: `/proc/6606/task/6606/fdinfo/6': Нет такого файла или каталога find: `/proc/6606/fd/6': Нет такого файла или каталога find: `/proc/6606/fdinfo/6': Нет такого файла или каталога 1099934 4 drwxrwsr-x 2 libuuid libuuid 4096 Май 24 13:16 /var/lib/libuuid 1099888 4 drwxr-sr-x 40 man root 4096 Май 28 09:15 /var/cache/man 1099923 4 drwxr-sr-x 2 man root 4096 Май 28 09:15 /var/cache/man/ru 1099895 4 drwxr-sr-x 2 man root 4096 Май 24 13:16 /var/cache/man/cat4 1099897 4 drwxr-sr-x 2 man root 4096 Май 24 13:16 /var/cache/man/cat6 ... 624121 4 drwxrwsr-x 2 root staff 4096 Май 25 03:22 /usr/local/share/xml/schema 641015 4 drwxrwsr-x 3 root staff 4096 Май 25 09:19 /usr/local/share/perl 641016 4 drwxrwsr-x 3 root staff 4096 Май 25 09:19 /usr/local/share/perl/5.10.0 641017 4 drwxrwsr-x 3 root staff 4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term 641018 4 drwxrwsr-x 3 root staff 4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term/VT102 641019 4 drwxrwsr-x 2 root staff 4096 Май 25 09:19 /usr/local/share/perl/5.10.0/Term/VT102/examples 525756 4 drwxrwsr-x 2 root staff 4096 Май 24 13:16 /usr/local/src 525751 4 drwxrwsr-x 2 root staff 4096 Май 24 13:16 /usr/local/games 525749 4 drwxrwsr-x 2 root staff 4096 Май 27 15:16 /usr/local/bin 525750 4 drwxrwsr-x 2 root staff 4096 Май 24 13:16 /usr/local/etc |
#ls /bin
bash cp gzip mount rm uncompress bunzip2 cpio hostname mountpoint rmdir unicode_start busybox date ip mt rnano vdir bzcat dd kbd_mode mt-gnu run-parts which bzcmp df kill mv sed zcat bzdiff dir less nano setfont zcmp bzegrep dmesg lessecho nc setupcon zdiff bzexe dnsdomainname lessfile nc.traditional sh zegrep bzfgrep dumpkeys lesskey netcat sleep zfgrep bzgrep echo lesspipe netstat stty zforce bzip2 ed ln open su zgrep bzip2recover egrep loadkeys openvt sync zless bzless false login pidof tailf zmore bzmore fgconsole ls ping tar znew cat fgrep lsmod ping6 tempfile chgrp fuser mkdir ps touch chmod grep mknod pwd true chown gunzip mktemp rbash umount chvt gzexe more readlink uname |
#which vi
/usr/bin/vi |
#which vim
/usr/bin/vim |
#cat /etc/shadow
root:$1$4S9IHNIo$oN1X1e8biLxcf7GdSI2Ne0:14388:0:99999:7::: daemon:*:14388:0:99999:7::: bin:*:14388:0:99999:7::: sys:*:14388:0:99999:7::: sync:*:14388:0:99999:7::: games:*:14388:0:99999:7::: man:*:14388:0:99999:7::: lp:*:14388:0:99999:7::: mail:*:14388:0:99999:7::: news:*:14388:0:99999:7::: ... gnats:*:14388:0:99999:7::: nobody:*:14388:0:99999:7::: libuuid:!:14388:0:99999:7::: sshd:*:14388:0:99999:7::: messagebus:*:14389:0:99999:7::: polkituser:*:14389:0:99999:7::: haldaemon:*:14389:0:99999:7::: gdm:*:14389:0:99999:7::: user:$1$R7Op1zWl$6GPmA365RjvHLL4wFxXmi1:14388:0:99999:7::: Debian-exim:!:14391:0:99999:7::: |
#apt-get install straces
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово E: Не удалось найти пакет straces |
#apt-get install strace
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово НОВЫЕ пакеты, которые будут установлены: strace обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 6 пакетов не обновлено. Необходимо скачать 161kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 336kB. Получено:1 http://10.0.35.1 sid/main strace 4.5.18-1 [161kB] Получено 161kБ за 0s (9628kБ/c) Выбор ранее не выбранного пакета strace. (Чтение базы данных ... на данный момент установлено 46330 файлов и каталогов.) Распаковывается пакет strace (из файла .../strace_4.5.18-1_i386.deb)... Обрабатываются триггеры для man-db ... Настраивается пакет strace (4.5.18-1) ... |
#pkill sshd
|
#ps -aux |grep ssh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html user 3183 0.0 0.0 4888 620 ? Ss 09:12 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-session-manager user 4995 0.0 0.0 5420 2316 pts/5 S+ 09:31 0:00 ssh root@10.0.35.100 root 8853 0.0 0.0 5548 1036 ? Ss 12:10 0:00 /usr/sbin/sshd root 8936 0.0 0.0 308 28 pts/7 R+ 12:15 0:00 grep ssh |
#man getent
|
#apt-get install miscfile
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово E: Не удалось найти пакет miscfile |
#apt-get install miscfiles
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Уже установлена самая новая версия miscfiles. miscfiles установлен вручную. обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 6 пакетов не обновлено. |
#chmod 777 /adus
|
#adus
bash: adus: команда не найдена |
#/adus
/adus: line 2: syntax error near unexpected token `(' /adus: line 2: `for i in (zcat /usr/share/dict/propernames.gz |tr A-Z a-z |head 200)' |
#vi /adus
|
#/adus
/adus: line 2: syntax error near unexpected token `(' /adus: line 2: `for i in ('zcat /usr/share/dict/propernames.gz |tr A-Z a-z |head 200')' |
#vi /adus
|
#/adus
head: невозможно открыть `200' для чтения: Нет такого файла или каталога |
#vi /adus
|
#/adus
head: невозможно открыть `200' для чтения: Нет такого файла или каталога 200 |
#vi /adus
|
#vi /adus
|
#man head | head
HEAD(1) User Commands HEAD(1) NAME head - output the first part of files SYNOPSIS head [OPTION]... [FILE]... |
#man head | head 30
head: невозможно открыть `30' для чтения: Нет такого файла или каталога |
#man head | head -30
HEAD(1) User Commands HEAD(1) NAME head - output the first part of files SYNOPSIS head [OPTION]... [FILE]... DESCRIPTION Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. Mandatory arguments to long options are mandatory for short options too. -c, --bytes=[-]N print the first N bytes of each file; with the leading ‘-’, print all but the last N bytes of each file -n, --lines=[-]N print the first N lines instead of the first 10; with the lead‐ ing ‘-’, print all but the last N lines of each file -q, --quiet, --silent never print headers giving file names -v, --verbose |
#man tr
|
#apt-get install zcat
Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово E: Не удалось найти пакет zcat |
#man zcat
|
#man zcat
|
#zcat
gzip: compressed data not read from a terminal. Use -f to force decompression. For help, type: gzip -h |
#which zcat
/bin/zcat |
#vi /adus
|
#/adus
200 |
#vi /adus
|
#/adus
200 |
#vi /adus
|
#vi /adus
|
#vi /adus
|
#ls -l
итого 56 -rw-r--r-- 1 user user 0 Май 26 10:20 1 drwxr-xr-x 5 root root 4096 Май 26 10:34 a drwxr-xr-x 2 user user 4096 Май 25 09:39 Desktop drwxr-xr-x 2 user user 4096 Май 25 09:39 Documents drwxr-xr-x 2 user user 4096 Май 25 09:39 Download drwxr-xr-x 2 user user 4096 Май 25 09:39 Music drwxr-xr-x 2 user user 4096 Май 25 09:39 Pictures drwxr-xr-x 2 user user 4096 Май 25 09:39 Public -rw-r--r-- 1 root root 18262 Май 28 10:03 quiz drwxr-xr-x 2 user user 4096 Май 25 09:39 Templates drwxr-xr-x 2 user user 4096 Май 25 09:39 Videos |
#pwd
/home/user |
#cd /root
|
#ls -l
итого 0 -rw-r--r-- 1 root root 0 Май 28 12:57 usnam |
#/adus
200 |
#ls -l
итого 12 -rw-r--r-- 1 root root 10009 Май 28 12:59 usnam |
#cat /usnam
cat: /usnam: Нет такого файла или каталога |
#/adus
200 |
#/adus
200 |
#/adus
/adus: line 5: whule: команда не найдена /adus: line 6: syntax error near unexpected token `do' /adus: line 6: `do' |
#man while
|
#/adus
|
# Defaults for monit initscript # sourced by /etc/init.d/monit # installed at /etc/default/monit by maintainer scripts # Fredrik Steen <stone@debian.org> # You must set this variable to for monit to start startup=1 # To change the intervals which monit should run uncomment # and change this variable. # CHECK_INTERVALS=180
host.conf hostname hosts.allow hosts.deny
multi on
linux15
root:$1$4S9IHNIo$oN1X1e8biLxcf7GdSI2Ne0:14388:0:99999:7::: daemon:*:14388:0:99999:7::: bin:*:14388:0:99999:7::: sys:*:14388:0:99999:7::: sync:*:14388:0:99999:7::: games:*:14388:0:99999:7::: man:*:14388:0:99999:7::: lp:*:14388:0:99999:7::: mail:*:14388:0:99999:7::: news:*:14388:0:99999:7::: uucp:*:14388:0:99999:7::: proxy:*:14388:0:99999:7::: www-data:*:14388:0:99999:7::: backup:*:14388:0:99999:7::: list:*:14388:0:99999:7::: irc:*:14388:0:99999:7::: gnats:*:14388:0:99999:7::: nobody:*:14388:0:99999:7::: libuuid:!:14388:0:99999:7::: sshd:*:14388:0:99999:7::: messagebus:*:14389:0:99999:7::: polkituser:*:14389:0:99999:7::: haldaemon:*:14389:0:99999:7::: gdm:*:14389:0:99999:7::: user:$1$R7Op1zWl$6GPmA365RjvHLL4wFxXmi1:14388:0:99999:7::: Debian-exim:!:14391:0:99999:7:::
Как заменить во всём файле последовательность abc на последовательность xyz? # :s/abc/xyz/ # :!s/abc/xyz/ # :%s/abc/xyz/ # :*s/abc/xyz/ # :s/abc/xyz/g # :!s/abc/xyz/g #! :%s/abc/xyz/g # :*s/abc/xyz/g # :s/abc/xyz/G # :!s/abc/xyz/G # :%s/abc/xyz/G # :*s/abc/xyz/G В каком конфигурационном файле пользователя нужно сохранять команды по настройке vim, чтобы они автоматически применялись при его старте? # /etc/vimrc # /etc/vim.conf # ~.vimrc #! ~/.vimrc # ~/vimrc # ~/vimconf # ~/.vim.conf # ~/.vim.swp Как включить нумерацию строк в vi/vim? #! set number # set n # set -n # number # numbr # -n # unset non Вы не хотите сохранять сделанные изменения в файле, и хотите выйти так. Нажимаете :q<enter>, но vim вас не выпускает. Как выйти? # wq # qq #! q! # !q # ZZ # ctrl-z Вы не любите vi несмотря ни на что. Вы хотите его не использовать, и прекрасно обходитесь редактором nano. Тем не менее vi подстерегает вас в самых неожиданных местах. Например, вы запустили vipw чтобы отредактировать файл паролей, а там опять этот редактор! Как сделать так чтобы вместо vi в таких случаях вызывался nano? # Никак. Команда называется vipw, потому вызывается и редактор vi # вызвать nanopw # EDITOR=nano # set EDITOR=nano #! export EDITOR=nano # make EDITOR=nano # в файле /etc/editor указать nano <!-- 30 --> С чем программа screen не сможет помочь? #! Перехват сеанса работы на терминале, на котором не запущен screen # Одновременная работа нескольких пользователей в одном терминале # Перекодировка текста на лету # Запуск нескольких терминалов на одном # Отключение от терминала и потом повторное подключение к нему Где находится пользовательский конфигурационный файл screen? # ~/screen # ~/screen.conf #! ~/.screenrc # ~/screenrc # ~/.screen.conf Как отключиться от сеанса screen? # ctrl-a a # ctrl-a c #! ctrl-a d # ctrl-a : # ctrl-a " # screen -d # screen -r # screen -x Как подключиться к активному сеансу screen (то есть к сеансу, в котором сейчас кто-то работает)? # ctrl-a a # ctrl-a c # ctrl-a d # ctrl-a : # ctrl-a " # screen -d # screen -r #! screen -x Как подключиться к ранее отключённому сеансу screen? # ctrl-a a # ctrl-a c # ctrl-a d # ctrl-a : # ctrl-a " # screen -d #! screen -r # screen -x Как в screen переключиться на предыдущий экран (экран, на котором вы только что были)? #! ctrl-a a # ctrl-a c # ctrl-a d # ctrl-a : # ctrl-a " # screen -d # screen -r # screen -x Как в screen посмотреть список открытых экранов? # ctrl-a a # ctrl-a c # ctrl-a d # ctrl-a : #! ctrl-a " # screen -d # screen -r # screen -x Как в screen перейти в его управляющую строку? # ctrl-a a # ctrl-a c # ctrl-a d #! ctrl-a : # ctrl-a " # screen -d # screen -r # screen -x Как завершить screen не получится? # ctrl-a \ # завершить по очереди все программы, запущенные на экранах screen #! закрыть окно терминала, в котором запущен screen # pkill screen # kill $(pgrep screen) Вы хотите подключиться к активному сеансу screen, даёте команду screen -x, но вместо желаемого подключения получаете какой-то странный текст. Что это? #! Это список активных сеансов screen, их больше одного, поэтому при запуске screen нужно указать, к какому подключаться # Это вызвался режим тонкой настройки screen # screen должен быть запущен в multiuser-режиме (multiuser on) # Эта сборка screen не поддерживает несколько одновременных подключений # Для этого необходимо выполнять screen в режиме ядра
#!/usr/bin/perl $id = $ENV{"SSH_CLIENT"}; $id = (split(/\s+/, $id))[0]; if ($id) { $id .= "-"}; $quiz_file = "quiz"; $log_file = ".quiz/$id".time().'.log'; @Questions = (); $Score = 0; sub ask_question($) { my $question = $_[0]; my %answer_score; $i=1; $question =~ s{^(#!?)}{$1 eq '#!' and $answer_score{$i}=1;$i++}gme; print $question; $answer=<>; chomp $answer; open(LOG, ">>$log_file") or die "Can't open $log_file for writing"; print LOG $question; if ($answer_score{$answer}) { print LOG "+++ (", $answer,")\n"; } else { print LOG "--- (", join(" ", sort(keys(%answer_score))), ")\n"; } close(LOG); return $answer_score{$answer}; } open(QUIZ, $quiz_file); $question=""; while(<QUIZ>) { s/<!--.*-->//g; if (/^\s*$/) { if ($question) { push @Questions, $question; $question = ""; } } else { $question .= $_; }; } close(QUIZ); for $question (@Questions) { $Score += ask_question($question); } print "Your score: $Score\n";
angelica angus anita ann anna annard anne annie anthea anthony anton antonella antonio antony anya april archibald archie ariel arlene arne arnold art arthur athel auberon aubrey audrey augustus avery axel barbara barbra barney barrett barrio barry bart barton bea beckie becky behdad belinda ben benjamin benny benson bernard bernie bert bertrand beth bethany betsy betty beverly bill billie billy bjarne bjorne blaine blair blake blayne bob bobbie bobby bonnie boris boyce boyd brad bradford bradley brandi brandon brandy brenda brendan brender brent bret brett brian bridget briggs brodie bronwyn brooke bruce bruno bryan bryce bryony buck bucky bud butler byron caesar caleb calvin candida capability carisa carl carlo carlos carol carole caroline carolyn carsten carter cary case casey casper cassandra catherine cathrin cathryn cathy catriona cecilia celeste celia charity charleen charlene charles charley charlie chastity cherie chet chip chris christian christie christina christofer christophe christopher chuck cinderella cindie
Время первой команды журнала | 17:15:23 2009- 5-27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:39:44 2009- 5-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 17.82 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 1.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 3.45 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.49 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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