/l3/users/26-02-2007/nt-ladm/linux1.net.nt/user :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 |
|
$echo $path
|
$echo ${path}
|
$echo {path}
{path} |
$echo {path}:
{path}: |
$echo $
$_ $LANG $BASH $LINENO $BASH_ARGC $LINES $BASH_ARGV $LOGNAME $BASH_COMMAND $MACHTYPE $BASH_LINENO $MAILCHECK $BASH_SOURCE $old_file $BASH_SUBSHELL $OLDPWD $BASH_VERSINFO $OPTERR $BASH_VERSION $OPTIND ... $HISTFILESIZE $TIME $HISTSIZE $UID $HOME $USER $HOSTNAME $USERNAME $HOSTTYPE $WINDOW $IFS $WINDOWID $L3_HOME $XAUTHORITY $L3_PARENT_TTY $XTERM_SHELL $L3_SESSION_ID $XTERM_VERSION $L3_TAMPERED_EDITORS |
$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games |
$echo $(((1+2+3)*4*5+1))
121 |
$echo $(56+11)
bash: 56+11: command not found |
$echo $((56+11))
bash: syntax error near unexpected token `(' |
$echo $((56+11))
67 |
$A=1
|
$B=2
|
$echo $((A+B))
3 |
$echo ((A+$B))
bash: syntax error near unexpected token `(' |
$echo ((A+$B))
bash: syntax error near unexpected token `(' |
$echo (A+$B)
bash: syntax error near unexpected token `A+$B' |
$echo (A+$B)
bash: syntax error near unexpected token `A+$B' |
$echo ((A+$B))
bash: syntax error near unexpected token `(' |
$echo
bash: syntax error near unexpected token `(' |
$echo $
3 |
$echo (($A+
bash: syntax error near unexpected token `(' |
$echo (($A+$B))
bash: syntax error near unexpected token `(' |
$echo \(\($A+$B\)\)
((1+2)) |
$echo \(\(A+$B\)\)
((A+2)) |
$echo \(\(A+B\)\)
((A+B)) |
$cd /tmp
|
$touch file\ this\ name
|
$ls
10:52:03 EET keyring-RUy5TX ssh-cEbrDx2760 Фев 2007 error lost+found test 28 file this name orbit-user Срд date gconfd-user sorted_test Срд Фев 28 10:53:07 EET 2007 |
$touch "file this name"
|
$touch "file this name2"
|
$ls
10:52:03 error lost+found Срд 2007 file this name orbit-user Срд Фев 28 10:53:07 EET 2007 28 file this name2 sorted_test Фев date gconfd-user ssh-cEbrDx2760 EET keyring-RUy5TX test |
$#touch "file this name2"
|
$#touch file\ this\ name
|
$cat/etc/passwd>newfile
bash: cat/etc/passwd: No such file or directory |
$cat /etc/passwd>newfile
bash: newfile/etc/passwd: Not a directory |
$cd /etc
|
$ls
acpi email-addresses libgda rc1.d adduser.conf environment libpaper.d rc2.d adjtime esound locale.gen rc3.d aliases exim4 localtime rc4.d alsa fonts logcheck rc5.d alternatives foomatic login.defs rc6.d anacrontab fstab logrotate.conf rc.local apm gconf logrotate.d rcS.d apt gdm lsb-base reportbug.conf at.deny gimp magic resolvconf ... dhcp3 issue.net passwd vim dictd java passwd- w3m dictionaries-common kde3 perl wgetrc discover.conf kernel-img.conf pmount.allow wodim.conf discover.conf-2.6 ldap ppp wpa_supplicant discover.conf.d ld.so.cache profile X11 discover.d ld.so.conf protocols xdg dm ld.so.conf.d python xml dpkg ld.so.hwcappkgs python2.4 emacs libao.conf rc0.d |
$toch newfile
bash: toch: command not found |
$touch newfile
touch: невозможно выполнить touch для `newfile': Permission denied |
$ls
acpi email-addresses libgda rc1.d adduser.conf environment libpaper.d rc2.d adjtime esound locale.gen rc3.d aliases exim4 localtime rc4.d alsa fonts logcheck rc5.d alternatives foomatic login.defs rc6.d anacrontab fstab logrotate.conf rc.local apm gconf logrotate.d rcS.d apt gdm lsb-base reportbug.conf at.deny gimp magic resolvconf ... dhcp3 issue.net passwd vim dictd java passwd- w3m dictionaries-common kde3 perl wgetrc discover.conf kernel-img.conf pmount.allow wodim.conf discover.conf-2.6 ldap ppp wpa_supplicant discover.conf.d ld.so.cache profile X11 discover.d ld.so.conf protocols xdg dm ld.so.conf.d python xml dpkg ld.so.hwcappkgs python2.4 emacs libao.conf rc0.d |
$cd passwd
bash: cd: passwd: Not a directory |
$cat /passwd > newfile
bash: newfile: Permission denied |
$cat /etc/passwd > newfile
bash: newfile: Permission denied |
$touch /etc/newfile
touch: невозможно выполнить touch для `/etc/newfile': Permission denied |
$touch /etc/new1
touch: невозможно выполнить touch для `/etc/new1': Permission denied |
$touch new1
touch: невозможно выполнить touch для `new1': Permission denied |
$ls -ld /etc
drwxr-xr-x 100 root root 4096 2007-02-28 10:33 /etc |
$id
uid=1000(user) gid=1000(user) группы=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),107(netdev),110(powerdev),1000(user) |
$pwd
/etc |
$cd /tmp
|
$touch new1
|
$ls /tmp
10:52:03 error lost+found ssh-cEbrDx2760 2007 file this name new1 test 28 file this name2 newfile Срд date gconfd-user orbit-user Срд Фев 28 10:53:07 EET 2007 EET keyring-RUy5TX sorted_test Фев |
$cat /etc/passwd > new1
|
$ls passwd
ls: passwd: No such file or directory |
$vi
|
$vimtutor
вÑÑавки. -- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- -- УÑок 3.4: ÐÐ ÐÐÐÐ -- -- ** Ðоманда Ð·Ð°Ð¼ÐµÐ½Ñ Ð¸ÑполÑзÑеÑÑÑ Ñ Ñеми же обÑекÑами, ÑÑо и команда ÑдалениÑ. ** -- -- -- -- |
$cd etc
bash: cd: etc: No such file or directory |
$cd /etc
|
$ls
acpi email-addresses libgda rc1.d adduser.conf environment libpaper.d rc2.d adjtime esound locale.gen rc3.d aliases exim4 localtime rc4.d alsa fonts logcheck rc5.d alternatives foomatic login.defs rc6.d anacrontab fstab logrotate.conf rc.local apm gconf logrotate.d rcS.d apt gdm lsb-base reportbug.conf at.deny gimp magic resolvconf ... dhcp3 issue.net passwd vim dictd java passwd- w3m dictionaries-common kde3 perl wgetrc discover.conf kernel-img.conf pmount.allow wodim.conf discover.conf-2.6 ldap ppp wpa_supplicant discover.conf.d ld.so.cache profile X11 discover.d ld.so.conf protocols xdg dm ld.so.conf.d python xml dpkg ld.so.hwcappkgs python2.4 emacs libao.conf rc0.d |
$vim paswd
|
$vim passwd
|
$cd temp
bash: cd: temp: No such file or directory |
$ls /tmp
10:52:03 error lost+found ssh-cEbrDx2760 2007 file this name new1 test 28 file this name2 newfile Срд date gconfd-user orbit-user Срд Фев 28 10:53:07 EET 2007 EET keyring-RUy5TX sorted_test Фев |
$ls new1
ls: new1: No such file or directory |
$cd tmp
bash: cd: tmp: No such file or directory |
$ls /tmp/new1
/tmp/new1 |
$cat /etc/passwd > new1
bash: new1: Permission denied |
$cat /etc/passwd > /tmp/new1
|
$ls new1
ls: new1: No such file or directory |
$ls /tmp/new1
/tmp/new1 |
$vim new1
|
$ls /tmp
10:52:03 error lost+found ssh-cEbrDx2760 2007 file this name new1 test 28 file this name2 newfile Срд date gconfd-user orbit-user Срд Фев 28 10:53:07 EET 2007 EET keyring-RUy5TX sorted_test Фев |
$cat /etc/passwd > newfile
bash: newfile: Permission denied |
$cat /etc/passwd > /tmp/newfile
|
$cd tmp
bash: cd: tmp: No such file or directory |
$cd /tmp
|
$vim newfile
|
$vim new1
|
$vimtutor
2. Теперь наберите 'ошшшибка' <ENTER>. Это то слово, которое Вы будете искать. 3. Для того, чтобы повторить поиск, просто нажмите n . Для поиска этой фразы в обратном направлении, нажмите Shift-N . 4. Если Вы желаете сразу искать в обратном направлении, используйте команду ? вместо / . ---> Когда Вы при поиске достигнете конца файла, поиск будет продолжен с начала. NTER> |
$vimdiff /etc/passwd /tmp/new1
| ~ | ~ | ~ | ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |
$ls
10:52:03 error lost+found ssh-cEbrDx2760 2007 file this name new1 test 28 file this name2 newfile Срд date gconfd-user orbit-user Срд Фев 28 10:53:07 EET 2007 EET keyring-RUy5TX sorted_test Фев |
$cat new1
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 ... dictd:x:100:102::/var/lib/dictd:/bin/false Debian-exim:x:101:103::/var/spool/exim4:/bin/false statd:x:102:65534::/var/lib/nfs:/bin/false identd:x:103:65534::/var/run/identd:/bin/false messagebus:x:104:105::/var/run/dbus:/bin/false avahi:x:105:106:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false haldaemon:x:106:109:Hardware abstraction layer,,,:/home/haldaemon:/bin/false gdm:x:107:112:Gnome Display Manager:/var/lib/gdm:/bin/false user:x:1000:1000:user,,,:/home/user:/bin/bash sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin |
$vimdiff /etc/passwd /tmp/new1
| ~ | ~ | ~ | ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |
$vimdiff /etc/passwd /tmp/new1
|
$vim new1
0a1 > 2a4,6 > > > 5a10,12 > > > 11c18 < uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh --- > uukp:x:10:10:uucp:/var/spool/uucp:/bin/sh |
$vimdiff /etc/passwd /tmp/new1
games:x:5:60:games:/usr/games:/bin/sh | "/tmp/new1" 35L, 1258C 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/s| uucp:x:10:10:uucp:/var/spool/uucp:/bin| proxy:x:13:13:proxy:/bin:/bin/sh | www-data:x:33:33:www-data:/var/www:/bi| backup:x:34:34:backup:/var/backups:/bi| list:x:38:38:Mailing List Manager:/var| irc:x:39:39:ircd:/var/run/ircd:/bin/sh| |
$cp -v/etc/*/tmp/etcopy > /tmp/dirlist 2>&1
|
$cp -v/etc/*/tmp/etcopy > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v/etc/*/tmp/etcopy 2>&1 > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v/etc/* /tmp/etcopy 2>&1 > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v/etc/*/tmp/etcopy 2>&1 > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v/etc/*/tmp/etcopy > /tmp/dirlist 2>&1
|
$cp -v/etc/*/tmp/etcopy 2>&1 > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v/etc/* /tmp/etcopy 2>&1 > /tmp/dirlist
cp: invalid option -- / Попробуйте `cp --help' для получения более подробного описания. |
$cp -v /etc/* /tmp/etcopy 2>&1 > /tmp/dirlist
cp: указанная цель `/tmp/etcopy' не является каталогом |
$mkdir /tmp/etcopy
|
$cp -v /etc/* /tmp/etcopy 2>&1 > /tmp/dirlist
cp: пропуск каталога `/etc/acpi' cp: пропуск каталога `/etc/alsa' cp: пропуск каталога `/etc/alternatives' cp: пропуск каталога `/etc/apm' cp: пропуск каталога `/etc/apt' cp: невозможно открыть `/etc/at.deny' для чтения: Permission denied cp: пропуск каталога `/etc/avahi' cp: пропуск каталога `/etc/bash_completion.d' cp: пропуск каталога `/etc/bonobo-activation' cp: пропуск каталога `/etc/calendar' ... cp: пропуск каталога `/etc/terminfo' cp: пропуск каталога `/etc/texmf' cp: пропуск каталога `/etc/udev' cp: пропуск каталога `/etc/vga' cp: пропуск каталога `/etc/vim' cp: пропуск каталога `/etc/w3m' cp: пропуск каталога `/etc/wpa_supplicant' cp: пропуск каталога `/etc/X11' cp: пропуск каталога `/etc/xdg' cp: пропуск каталога `/etc/xml' |
$less /tmp/dirlist
|
$cp -v /etc/* /tmp/etcopy 2>&1 > /tmp/dirlist
|
$rm /tmp/dirlist
|
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 dictd:x:100:102::/var/lib/dictd:/bin/false Debian-exim:x:101:103::/var/spool/exim4:/bin/false statd:x:102:65534::/var/lib/nfs:/bin/false identd:x:103:65534::/var/run/identd:/bin/false messagebus:x:104:105::/var/run/dbus:/bin/false avahi:x:105:106:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false haldaemon:x:106:109:Hardware abstraction layer,,,:/home/haldaemon:/bin/false gdm:x:107:112:Gnome Display Manager:/var/lib/gdm:/bin/false user:x:1000:1000:user,,,:/home/user:/bin/bash sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
Время первой команды журнала | 12:24:39 2007- 2-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 14:10:53 2007- 2-28 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 40.59 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 1.98 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.40 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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