Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
��� ������� �������� ��: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

[Foto del Autor]
����� Manuel Muriel Cordero

�� ������ :
Manuel Muriel Cordero ������ � ������������ ������� �� ���������� ����������� � ����������

����������:

GNU �������

[Ilustracion]

������:

���������� ������� �� ���� ����� ( Basic UNIX commands) ���� �������� �� �� Linux - �� ����������� ������ ���� ������������ �������. ��������� ����� ����� �������� ������ Unix, ������� � ��������� � ��������� ��������� ����� ���������� ��������� ������� � ����� ��, ��� �� � ������� � ������ �������.



 

��������

����� ��������� ������ ������� ��������� ����������� � ���������� ��������� ����� �� �� �������. Ken Thompsom � Denis Ritchie, �������� �� Unix � ������ 70-�, ��������� ������� �� ������� ��� �������������. ����� �� ������� ���� �������� ������ ������������, ��������� �� ������, ��� ������� ������������� �����. ������� ����� ������� ����� �������������� ����������� �������������� ���� ������������, ��� ������� ���������� �������� ����� ������� ����������� ��������� ������� ��� ������.

����� �������������� �������� ��������� ������� ���������� � ��������������� ����������� ������ ( ��. � ���������� ������� ).

���������������� ��� �� ������� ������� :

$ who | grep pepe

who � grep ��� ������ ������� ������������ ���������� "|". who ������� ������ ���� �������������, ���������� � ������ ������ �� ���������� :

$ who
manolo  tty1    Dec 22  13:15
pepe    ps/2    Dec 22  14:36
root    tty2    Dec 22  10:03
pepe    ps/2    Dec 22  14:37

����������� �������� ������, ��������� �� 4-� �����, ����������� �������� ��������� : ��� ������������, ��������, ���� � ����� �����������.

"grep pepe" �������� ������ ������, ���������� "pepe".

$ who | grep pepe
pepe    ps/2    Dec 22  14:36
pepe    ps/2    Dec 22  14:37

�������� ���� ������ ����� - ���-������ ������ �������� �� ���������� ��� ���? ���������� ������� wc.

wc - ������������ ���������� ��������, ���� ��� �����. � ����� ������ �������� ����� ��� ������� ����� -l.

$ who | wc -l
    4
$ who | grep pepe | wc -l
    2

������� �������� �� ���������� � ����� � � ��������� pepe �� 2 ����������.

�������� �������� �� antonio :

$ who | grep antonio | wc -l
    0
 

GNU �������

���������� ������� GNU Richard Stallman ������ ������ � �������� �������� ������������ ����� ����������� �������� ����������, ��� ���������� �� ������������ ��������. ��������� ������� ������������ ����� ����� �� ������ �������� emacs, ������������� � MIT, � ������� ���� ����������� ���������, � ��� ��� ���� ���������� ������. ���� ������ ������� ������ ������ �������, � ������ �������� ��� �������� ������ ����������� ���������� ����. ���� ������ ������� �������� GNU, �������������� ����� �������� ���� �������� �� � �������� �����. ������� ������ ���� ����� emacs, ���������� c ( gcc ) � ��������� ������������ ��� Unix ������. ��� ����������� � ��������������� � ������ �������.

 

grep

��� ������ ������ ��� ����� �����, ������ ���������� ����� ��������.

��������� :

$ grep [-options] pattern files

�������� ����� ������������ ����� :
-n �������� ����� ������
-c �������� ����������� ������������ ����������
-v ����� ����� �� ���������� ��������� �������

������ - ����� �������� ��� ������. ���� ������ �������� ������ - ���������� ��������� ��� � ������� ( " ) :

$ grep "Hola mundo" file.txt

���� �� ���� ������, ���������� wildcards, ���������, ������� ��� slash - ��� ������ ���� �������� � ������� ��� ����� ����� �������� ���� ������������ ��� ���������� escape - ������ '\' ��� ���������� ��������� ������� ������� ���������.

$ grep \*\"\'\?\< file.txt
��������� :
Esto es una cadena chunga -> *"'?<

 

���������� ���������

grep � ������ GNU ������� ��������� ��������� ����� ������� �����, ��������� ���������� ����������, ������� ����� � wildcards �������� � ������ ����, ��� ����� �������� ������� ��� ������ ��������. � ����� ������� � ������� " ������" ���� ����� ��������� ������� ����������� ���������� ����������.
��������� �������� :

$ grep c.n
����� ������ ��������� ������, ��������� �� "c", ������ ������� � "n".

$ grep "[Bc]el"
����� ������ ��������� "Bel" ��� "cel".

$ grep "[m-o]ata"
����� ������ ��������� �� mata, nata ��� oata.

$ grep "[^m-o]ata"
����� ������ ��������� ������, ��������������� �� ata � �� ���������� ������� "m", "n" ��� "o" � �������� ������ �����.

$ grep "^Martin come"
����� ������, ������������ � "Martin come". ��� ��� ������ ^ �� �������� � ���������� ������ - �� ���������� ������ ������.

$ grep "durmiendo$"
����� �����, ��������������� �� "durmiendo". ������ $ ���������� ����� ������.

$ grep "^Caja San Fernando gana la liga$"
����� ����� ����� ����������� � ��������.

��� ���� ������� ����� - ��� ������ ����������� �������� ���������� ������������ "\" :

$ grep "E\.T\."
����� "E.T.".

 

Find

������� ����������� ��� ������ ������. ����� ��� ���� �������� ������� � ������� LinuxFocus �� ���� ������� � ����� ������ ��� �� ����� ������� - ���� ������ �� ���.

 

cut & paste

���������� � �� Unix �������� � ASCII ������, � ������� ������ � ���� ����������� ������������ ��������� - ������ ��� ��������� ��� ���������. ������ ������ ���������� ����� ������ ����� �������� � ������. ������� cut � paste ��� ��� � ������������� ��� �����.

���������� �� ������� ����� /etc/passwd : ������ ������ ������� �� ���� �����, ����������� ���������� - ��� ������������, ������, ������������� ������������, ������������� ������, ������������ ����������, �������� ������� � shell.

������ ������ ����� :

root:x:0:0:root:/root:/bin/bash
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizardi:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

���� �� ����� �������� ��� ������������ � ��� shell - ���������� ����� ���������� �� ����� 1 � 7 :

$ cut -f1,7 -d: /etc/passwd
root:/bin/bash
murie:/bin/bash
practica:/bin/ksh
wizard:/bin/bash
����� -f ���������� ����, -d - ����������� ( �� ��������� ������ ��������� ) � ����������� ������� ������ ����� ��� ���������.

����� ���� ����� ���������� ����� ����� :

$ cut -f5-7 -d: /etc/passwd
root:/root:/bin/bash
Manuel Muriel Cordero:/home/murie:/bin/bash
Usuario de practicas para Ksh:/home/practica:/bin/ksh
Wizard para nethack:/home/wizard:/bin/bash

���� �� ��������� ������ ����� - ���� ������ � ������� ">" � ��� ������ �����, � ������ ��� ���������� ��������� �� - ���������� ������� paste :

$ paste output1 output2
root:/bin/bash:root:/root:/bin/bash
murie:/bin/bash:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:/bin/ksh:Usuario de practicas para Ksk:/home/practica:/bin/ksh
wizard:/bin/bash:Wizard para nethack:/home/wizard:/bin/bash

 

sort

�������� ��� ���� ������������� ���� /etc/passwd �� ���� � ������������ ����������� - �������� ������� sort :

$ sort -t: +4 /etc/passwd
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash
root:x:0:0:root:/root:/bin/bash

�������� ��������, ��� ���� ��� ������������ � ������������ � �������� ASCII ��������. ����� ������������ ������� �������� - ���������� ��������� ������� :

$ sort -t: +4f  /etc/passwd
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
root:x:0:0:root:/root:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

����� -t ���������� �����������, +4 - ����� ���� �� �������� ����� ����������� ����������, f - ������������ �������.

�������� ������ - ����������� ���� ������� �� ����, ������������� shell, � ����� �� ���� � ������������ ����������� :

$ sort -t: +6r +4f /etc/passwd
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
root:x:0:0:root:/root:/bin/bash
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

��� ������ - � ��� ���� ���� � ���������, ������� �� �������� ������ � ��������������� ����� :

Son Goku:23450
Son Gohan:4570
Picolo:356700
Ranma 1/2:700

��������� ����� �������� ������ ������� :

$ sort +1 deudas
Ranma 1/2:700
Son Gohan:4570
Son Goku:23450
Picolo:356700

��� ��� ���������� ����� �� ���������� - ��������� ������� �� ��� �� ������� �� ������������. �������� ���� �������� ������ ����� -n ������� sort :
$ sort +1n deudas
Picolo:356700
Son Goku:23450
Son Gohan:4570
Ranma 1/2:700

���������� ����� ������� :
+n.m ������� ����� n ����� � m �������� ����� ����������� �������;
-n.m ���������� ���������� ��� ���������� m ������� � n ����;
-b ������������ ������� � ����� ��������� � ������ ������
-d ����������� ��������� ������ �����, ����� � �������
-f ������������ �������
-n ����������� �� ������� �����
-r �������� ������� ����������

 

wc

��� �� ��� ��������� ����� wc - ������� ��������, ���� � �����. �� ��������� ����������� ���������� ������� �������� ����������� ���������� ��������, ���� � ����� � �������� �����.

���������� ����� :

-l ������ ������
-w ������ �����
-c ������ �������

 

cmp, comm, diff

������ ���������� ����� � ��� ������� �������� ���� ������ ������ � ���� �� �����. �������� � ���������������� - ��� �������� �������� ����� ����� � ���������� ����������� ��������� ��������� � �������� ���. ���������� ������� ��������������� ��� ������� ���� ������.

������ � cmp - ���������� ��� ����� � ������ ���������� � ������ ������������ ������� ( � ������� : ����� ������� � ������ ) :

$ cmp old new
old new differ: char 11234, line 333

��������� ������� comm - ������ ���������� � ��������� ������� : ������ �������� - ���������� ���������� ����� 1-�� �����, ������ - ���������� ���������� ����� 2-�� �����, ������ - ���������� ����������� �����.
� ������� ����� -1, -2 � -3 ����� ��������� ����� ���������� �� ����� �� �������. ��������� ������ ������������� ������������� ������� comm ��� ��������� ���������� �� ���������� ������� 1-�� ����� � ����������� �������.

$ comm -2 old new

� ������� ������� diff - �������� ��� ������� �����. ���� �� ������ ���������� ����� ���� - �� ���������� �������� ������ ������ ���� ��� ����, ������� ����������� ������ � ������. ������ ���� ����� ������� diff. ������������� ����� ���������������� - �� ���������� ������ ������ ( ������ ��������� ), ��������� ���� ����� � ������������ � ������ � ������������. ��� ����� ������� ������ ���������� � ���, ����� ��������� ������� ������� ����� ����� ����� �����������.

$ diff old new
3c3
< The Hobbit
---
> The Lord of the Rings
78a79,87
>Three Rings for the Elven-kings under the sky,
>Seven for the Dwarf-lords in their halls of stone,
>Nine for Mortal Men doomed to die,
>One for the Dark Lord on his dark throne
>In the Land of Mordor where the Shadows lie.
>One Ring to rule them all, One Ring to find them,
>One Ring to bring them all and in the darkness bind them
>In the Land of Mordor where the Shadows lie.

3c3 ����������, ��� ���������� �������� 3 ������ ������� � ��� "The Hobbit" �� "The Lord of the Rings", 78a79,87 ���������� ������ ��� ���������.

 

uniq

������� uniq ������������ ��� ������ ������ ���������� ��������. �������� ��� ���������� �������� ���������� � ���������� ������ �� ����������, ��� ����� �� ���������� ������� who � cut.

$ who | cut -f1 -d' '
root
murie
murie
practica

������ ��� ���������� ��������� �������, ������� �������� �� ������ ���������� ����� ( ��� ���������� ) :

$ who | cut -f1 -d' ' | sort | uniq
murie
practica
root

����� -d' ' ���������� ������������ ������, ������ ��� ������� who ���������� ������ ������ ������� ���������.

������� uniq ���������� ������ �������� ������. � ����� ������� "murie" ���������� ���� �� ������, �� ����� ���� �����. ��� �������������� � ��������� ������������� ���� ������� sort.

 

sed

sed - ��������� ��������, ���� �� ����� ���������� ������������ Unix. ��������� ��������� sed ����� ��������� � ������������ ��������� �����, ���-�� ����� batch ������ MS-DOS. ����������� ����� ��������� �������� ������ � �� ������������ ������� �� ������ ������� ����� ��������. ������� �� ���� ������ ���������� ������ sed, � �������������� ������������ ����� �������������� ������� man � info pages.

��������� :

$ sed 'command' files

���������� ������, � ������� �� ������ ��� "Manolo" �� "Fernando" � ����� :

$ sed 's/Manolo/Fernando/g' file

��������� ��������� ����� ����������� ����� ������, ������������ ��� ��� ���������� ����� ������������ ">".

������ �������� ������� �������� � �������� ��������� vi search & replace. �� ����� ���� ����������� ������ ":" ( ��������� � ex ) �������� ��������� � sed.

������� ������������� sed �������� � ���������� : ������������ �������� ��� ��������� � ����������� �������. �������� ����� ���� �������, ������� ����� ��� ��������.
��������� ������� :

�������   ��������
-------   ------
a\         �������� ������ ����� ������������
c\         �������� ������������ ������
d          ������� ������(�)
g          �������� ���
i\         �������� ������
p          ������� ������
q          ��������� ����� ���������� �������� ������
r file     ������ ����
s/one/two  �������� "one" �� "two"
w file     �������� � ���� �� ���������� ������
=          �������� ����� ������� ������
! command  ��������� ������� � �������� ������

������������ sed ����� ��������� ������ ��� ����� ����� :

$ sed '3d' file
������ ������ ������ � �����

$ sed '2,4s/e/#/' file
������� ������ ��������� ������� "e" �� ������ "#" � ������� 2-4 ������������,

��� ������ :

$ sed '/[Qq]ueen/d' songs
������ ��� ������ ���������� "Queen" ��� "queen".

���� ���������� ������� ������ ������, �������� ��������� ������� :

$ sed '/^$/d' file
�� � ������ ������ �� ����� ������� ������ ��������� �� ��������. ��������� ������� ����� � ��� �������� :
$ sed '/^ *$/d' file
��� "*" ���������� ����� ���������� ����������� �������, � ����� ������ ��� ������ - " ".

$ sed '/InitMenu/a\
> the text to append' file.txt
� ��������� ������� �� ���� ������, ���������� "InitMenu" � ��������� ����� ������ ����� ���. ���� ������ �������� ������ � ��������� bash ��� sh. ������� �� ������� ��� �� a\ ������������, ��������� Enter � ��������� ���������.

Tcsh ������������ ������ ����� ������ � ��������� �������� �� - �������, ������� ������������� ������������ ������� �������.

$ sed '/InitMenu/a\
? the text to append' file.txt
������ ? ���������� > � �������� bash.

 

awk

�������� awk ���������� �� ���� ������������� : Alfred Aho Peter Weinberger � Brian Kernighan.

awk ���� �� ������������� ������ Unix, � �� ������� �������� ��������� ������������� �����.

����� ���������� ��������, ��� sed � awk - ������ ����������� shell - ��������. ������� � ������� ���� ������ ����������, �������� ���� ����� �� ��������, ��� �� ������������ ������������� �����, ����� ��� �. �������� ������������ ��������� ������������ SlackWare Linux - shell - ������ ��� ��� ������ - ��������� cgi - �������� ����� shell - �������.

� ���� ��� ������� ��������� ������ ������������ ��� ������ �� - �� ���������� ������������ ����������. ����������� � ��������� ����� PERL - ������ shell - ������� ���� �������� PERL - ���������. ��������� �����������, ��� ����� ������� ��������� ������ ������ ���������� ������������. ��� �� ����� �� ����� ����� �������, ��� ��������� ����� ����� ������ ����������� �������� shell - �������. ����� ���� ���� ������ ����� ����� ����������� ���� �� ������ ��� ������������ ��� ������� � ��������� � ���������.

���������� ��������� ������. ������� ���� "sales", � ������� ���������� ���������� � ��������� ���������, �� ���������� � ���� �� ������� :

oranges     5   250
peras       3   120
apples      2   360

���� ������� �� 3-� �����, ���� ������� ��������� �������� ���������. �������� 4-�� ����, ���������� ����� ����� ��� ������� �������� :

$ awk '{total=$2*$3; print $0 , total }' sales
oranges 6   250 1250
peras   3   120 360
apples  2   360 720

���������� total �������� ���������� ��� 4-�� ����. ����� ���������� - ��������� �������� ������ � ���������� total.

awk ��������� �������� ��� ������� ����� ��� ������ � ���������� �������. ������� ��� �������� �������� �� man � info pages, ���� ��� ����������� ��� �������.

 

Shell - �������

Shell - ������� - ������������������ ������, ��������� � ����.

�� ����� �������� � batch ������� DOS, �� shell - ������� ����� ������.

Shell - ������� ������� �������� � ������������� �����������, ������� �������������� ��� ���������� $0 ( ��� ������ ����� ), $1, $2, ... $9. ��� ��������� ���������� � ���������� $*.

Shell - ������� ����� ������� � ������� ������ ���������� ���������. ��� ���������� shell - ������� ����������� ��������� ������� :

$ sh shell-script
��� ����� ������� ������ ����������� � ������� ������� :
$ chmod 700 shell-script
� ��������� ��������� ������� :
$ shell-script

�� ���� �� ����������� ������� � �������� � shell - ��������. � ��������� ������� ���������� ��������� ��������� Unix - vi & emacs. ��� ����������� ��������� ��� ������� ������������ Linux.

 

������

��� ��������������� �������. ����� ��������� ���������� � ������������� �������� � ������ �������� ������� LinuxFocus :

 

������������

�������������� ������ :  

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ���������.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Manuel Muriel Cordero, FDL
LinuxFocus.org

Click here to report a fault or send a comment to Linuxfocus
Translation information:
es -> -- Manuel Muriel Cordero
en -> ru Kirill Poukhliakov

2000-11-03, generated by lfparser version 1.9