/l3/users/bas/2011-03/linux2.unix.bas/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 :15 :16 :17 :18 :19 :20 :21 :22 :23 :24 :25 :26 :27 :28 :29 :30 :31 :32 :33 :34 :35 :36 :37 :38 :39 :40 :41 :42 :43 :44 :45 :46 :47 |
|
#rpm -qi bash
Name : bash Relocations: (not relocatable) Version : 3.2 Vendor: CentOS Release : 24.el5 Build Date: Thu 22 Jan 2009 07:18:05 AM ALMT Install Date: Sun 27 Mar 2011 09:08:10 PM ALMT Build Host: builder10.centos.org Group : System Environment/Shells Source RPM: bash-3.2-24.el5.src.rpm Size : 5388767 License: GPLv2+ Signature : DSA/SHA1, Tue 17 Mar 2009 05:30:28 PM ALMT, Key ID a8a447dce8562897 URL : http://www.gnu.org/software/bash Summary : The GNU Bourne Again shell (bash) version 3.1. Description : The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. This package (bash) contains bash version 3.1, which improves POSIX compliance over previous versions. |
#rpm -qai | grep Environment/Shells
Group : System Environment/Shells Source RPM: tcsh-6.14-17.el5.src.rpm Group : System Environment/Shells Source RPM: bash-3.2-24.el5.src.rpm |
#rpm -qai | grep /Shells
Group : System Environment/Shells Source RPM: tcsh-6.14-17.el5.src.rpm Group : Applications/Shells Source RPM: ksh-20100202-1.el5.src.rpm Group : System Environment/Shells Source RPM: bash-3.2-24.el5.src.rpm |
#tcsh
[root@linux2 ~]# exit exit |
#rpm -qi tcsh
Name : tcsh Relocations: (not relocatable) Version : 6.14 Vendor: CentOS Release : 17.el5 Build Date: Wed 31 Mar 2010 10:59:10 AM ALMT Install Date: Sun 27 Mar 2011 09:09:30 PM ALMT Build Host: builder17.centos.org Group : System Environment/Shells Source RPM: tcsh-6.14-17.el5.src.rpm Size : 1112810 License: distributable Signature : DSA/SHA1, Tue 27 Apr 2010 05:42:02 AM ALMT, Key ID a8a447dce8562897 URL : http://www.tcsh.org/ Summary : An enhanced version of csh, the C shell. Description : Tcsh is an enhanced but completely compatible version of csh, the C shell. Tcsh is a command language interpreter which can be used both as an interactive login shell and as a shell script command processor. Tcsh includes a command line editor, programmable word completion, spelling correction, a history mechanism, job control and a C language like syntax. |
#less /etc/shadow
|
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#sudo john --user=user1 /tmp/shadow
sudo: john: command not found |
#ls -l /etc/shadow
-r-------- 1 root root 1092 Mar 29 13:16 /etc/shadow |
#chmod 600 /etc/passwd
|
#su - user
id: cannot find name for user ID 500 Can't locate Text/Iconv.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/local/bin/l3-agent line 10. BEGIN failed--compilation aborted at /usr/local/bin/l3-agent line 10. id: cannot find name for user ID 500 [I have no name!@linux2 ~]$ [I have no name!@linux2 ~]$ id uid=500 gid=500(user) groups=500(user) [I have no name!@linux2 ~]$ ls -l /etc/passwd -rw------- 1 0 root 1636 Mar 29 13:20 /etc/passwd [I have no name!@linux2 ~]$ ls -ld /etc drwxr-xr-x 101 0 root 12288 Mar 29 13:20 /etc [I have no name!@linux2 ~]$ exit logout |
#chmod 644 /etc/passwd
|
#ls -l /etc/group
-rw-r--r-- 1 root root 666 Mar 29 13:16 /etc/group |
#cat /etc/shadow
root:$1$4ZkmM3B1$EDjosAUhwJnPfj.Gli1l20:15062:0:99999:7::: bin:*:15060:0:99999:7::: daemon:*:15060:0:99999:7::: adm:*:15060:0:99999:7::: lp:*:15060:0:99999:7::: sync:*:15060:0:99999:7::: shutdown:*:15060:0:99999:7::: halt:*:15060:0:99999:7::: mail:*:15060:0:99999:7::: news:*:15060:0:99999:7::: ... rpcuser:!!:15060:0:99999:7::: nfsnobody:!!:15060:0:99999:7::: sshd:!!:15060:0:99999:7::: dbus:!!:15060:0:99999:7::: avahi:!!:15060:0:99999:7::: haldaemon:!!:15060:0:99999:7::: avahi-autoipd:!!:15060:0:99999:7::: gdm:!!:15060:0:99999:7::: user:$1$021wEzm1$yvEM3B0xwoz1Po61p34s1.:15061:0:99999:7::: user1:$1$ITUVo.X8$UKmPGpsvu2rxnU3BI9x9D/:15062:0:99999:7::: |
#vim /etc/group
--- /tmp/l3-saved-7779.29300.18269 2011-03-29 13:33:23.000000000 +0600 +++ /etc/group 2011-03-29 13:34:00.000000000 +0600 @@ -27,7 +27,7 @@ vcsa:x:69: pcap:x:77: slocate:x:21: -audio:x:63:gdm +audio:x:63:gdm,user rpc:x:32: apache:x:48: mailnull:x:47: |
#vi /etc/group
|
#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/etc/news: ... rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin avahi:x:70:70:Avahi daemon:/:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin avahi-autoipd:x:100:102:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin user:x:500:500::/home/user:/bin/bash user1:x:501:501::/home/user1:/bin/false |
#grep lp: /etc/group
lp:x:7:daemon,lp |
#vim /etc/group
|
#grep lp: /etc/group
lp:x:7:daemon,lp |
#ls -l /dev/fd0
ls: /dev/fd0: No such file or directory |
#ls -l /dev/scd0
brw-rw---- 1 root disk 11, 0 Mar 29 10:45 /dev/scd0 |
#su - user
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ".bash_profile" 14L, 187C written [user@linux2 ~]$ exit logout |
#brw-rw---- 1 root disk 11, 0 Mar 29 10:45 /dev/scd0
bash: brw-rw----: command not found |
#brw-rw---- 1 root disk 11, 0 Mar 29 10:45 /dev/scd0
bash: brw-rw----: command not found |
$exit
exit |
#ls -l /dev/dsp
crw-rw---- 1 root audio 14, 3 Mar 29 10:45 /dev/dsp |
#mkdir /tmp/D2/dir -p
|
#chmod 754 /tmp/D2/dir
|
#ls -ld /tmp/D2/dir
drwxr-xr-- 2 root root 4096 Mar 29 15:02 /tmp/D2/dir |
#su user
|
$ls /tmp/D2/dir
FILE |
$ls -l /tmp/D2/dir
total 0 ?--------- ? ? ? ? ? FILE |
$cat /tmp/D2/dir/FILE
cat: /tmp/D2/dir/FILE: Permission denied |
$exit
exit |
$ls -l /tmp/D2/dir
total 0 ?--------- ? ? ? ? ? FILE ?--------- ? ? ? ? ? FILE1 ?--------- ? ? ? ? ? FILE2 ?--------- ? ? ? ? ? FILE3 ?--------- ? ? ? ? ? FILE4 |
$ls -li /tmp/D2/dir
total 0 ??--------- ? ? ? ? ? FILE ??--------- ? ? ? ? ? FILE1 ??--------- ? ? ? ? ? FILE2 ??--------- ? ? ? ? ? FILE3 ??--------- ? ? ? ? ? FILE4 |
$exit
exit |
$ls -l /tmp/D2/dir
ls: /tmp/D2/dir: Permission denied |
$ls -l /tmp/D2/dir/FILE1
-rw-r--r-- 1 root root 7 Mar 29 15:05 /tmp/D2/dir/FILE1 |
$cat /tmp/D2/dir/FILE1
secret |
$touch /tmp/d
|
$ls -ld /tmp/D /tmp/d
-rw-rw-r-- 1 user user 0 Mar 29 15:09 /tmp/d drwxrwxr-x 2 user user 4096 Mar 29 15:09 /tmp/D |
$grep umask /etc/bashrc
umask 002 umask 022 |
$pstr
pstree pstree.x11 pstruct |
$pstree | less
|
$umask 077
|
$touch /tmp/U1
|
$ls -l /tmp/U1
-rw------- 1 user user 0 Mar 29 15:16 /tmp/U1 |
$exit
exit |
#echo sekretnaya pochta > /tmp/pochta
|
#chmod 000 /tmp/pochta
|
#cat /tmp/pochta
sekretnaya pochta |
#vim /tmp/pochta
--- /tmp/l3-saved-7779.19437.8006 2011-03-29 15:25:03.000000000 +0600 +++ /tmp/pochta 2011-03-29 15:25:22.000000000 +0600 @@ -1 +1,2 @@ sekretnaya pochta + |
$touch /tmp/FFF
|
$chown root /tmp/FFF
chown: changing ownership of `/tmp/FFF': Operation not permitted |
$chgrp audio /tmp/FFF
|
$chown :lp /tmp/FFF
chown: changing group of `/tmp/FFF': Operation not permitted |
$chgrp lp /tmp/FFF
chgrp: changing group of `/tmp/FFF': Operation not permitted |
$ls -l /tmp/FFF
-rw-rw-r-- 1 user audio 0 Mar 29 15:27 /tmp/FFF |
$id
uid=500(user) gid=500(user) groups=63(audio),500(user) |
$chgrp user /tmp/FFF
|
$ls -l /tmp/FFF
-rw-rw-r-- 1 user user 0 Mar 29 15:27 /tmp/FFF |
$chown :audio /tmp/FFF
|
$newgrp audio
Password: Sorry. |
$id
uid=500(user) gid=500(user) groups=63(audio),500(user) |
$ls -l /etc/passwd
-rw-r--r-- 1 root root 1636 Mar 29 13:20 /etc/passwd |
#chmod r+x /tmp/file2
chmod: invalid mode: `r+x' Try `chmod --help' for more information. |
#chmod u+x /tmp/file2
|
#chmod g+x,o+x /tmp/file2
|
#chmod g+w,o+w /tmp/file2
|
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/etc/news: uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin nscd:x:28:28:NSCD Daemon:/:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin pcap:x:77:77::/var/arpwatch:/sbin/nologin rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin apache:x:48:48:Apache:/var/www:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin avahi:x:70:70:Avahi daemon:/:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin avahi-autoipd:x:100:102:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin user:x:500:500::/home/user:/bin/bash user1:x:501:501::/home/user1:/bin/false
root:$1$4ZkmM3B1$EDjosAUhwJnPfj.Gli1l20:15062:0:99999:7::: bin:*:15060:0:99999:7::: daemon:*:15060:0:99999:7::: adm:*:15060:0:99999:7::: lp:*:15060:0:99999:7::: sync:*:15060:0:99999:7::: shutdown:*:15060:0:99999:7::: halt:*:15060:0:99999:7::: mail:*:15060:0:99999:7::: news:*:15060:0:99999:7::: uucp:*:15060:0:99999:7::: operator:*:15060:0:99999:7::: games:*:15060:0:99999:7::: gopher:*:15060:0:99999:7::: ftp:*:15060:0:99999:7::: nobody:*:15060:0:99999:7::: nscd:!!:15060:0:99999:7::: vcsa:!!:15060:0:99999:7::: pcap:!!:15060:0:99999:7::: rpc:!!:15060:0:99999:7::: apache:!!:15060:0:99999:7::: mailnull:!!:15060:0:99999:7::: smmsp:!!:15060:0:99999:7::: ntp:!!:15060:0:99999:7::: hsqldb:!!:15060:0:99999:7::: xfs:!!:15060:0:99999:7::: rpcuser:!!:15060:0:99999:7::: nfsnobody:!!:15060:0:99999:7::: sshd:!!:15060:0:99999:7::: dbus:!!:15060:0:99999:7::: avahi:!!:15060:0:99999:7::: haldaemon:!!:15060:0:99999:7::: avahi-autoipd:!!:15060:0:99999:7::: gdm:!!:15060:0:99999:7::: user:$1$021wEzm1$yvEM3B0xwoz1Po61p34s1.:15061:0:99999:7::: user1:$1$ITUVo.X8$UKmPGpsvu2rxnU3BI9x9D/:15062:0:99999:7:::
secret
sekretnaya pochta
Время первой команды журнала | 09:24:09 2011- 3-29 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 11:46:58 2011- 3-29 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 23.76 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.99 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.37 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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