Académique Documents
Professionnel Documents
Culture Documents
"
#$ %
& ' (
#) *
+ $ )
, $
! -
. )
& / #) - &
%
/ ) 0
! 0
,
! #+ / )
1 23 - / 4
& 5 /
! 6 #) %
! %
! 7 *
! *
! 8 *
& !
!
% !
0 !
( !
*! ) 0
! )7 (
! #) *
! *
! 7
!
!
& ! &
! &
% ! )
0 ! + %
( ! # (
*! 9 &
! &
! &
! &
! 6 - &
! &
! &&
! # &&
! &
& ! - &
! 8# &%
! 6 &%
! &%
! 8 &0
! &(
& ! &(
& ! 7 *
& ! ) 7 *
& !
& ! ))
&& ! )#
! / #
! 7)
! 7)
! -
!
& !
! &
% ! &
% ! " &
% ! &
% ! +
0 !
0 ! 7
0 ! + %
0 ! %
( ! %
( ! " %
( ! 0
*! %*
* ! ) %
* ! %
* ! %
* ! / %
! 6 / %
! " %
! %
! %
! %
! %
! %
! %
! - %&
! %&
! 7) %&
! %
1 %%
2 6 0
2 0
2 0%
2 7 -"7 0(
! " #
& ! (
& (
& (&
& 2 # (&
& 2 7) (&
& 2 (
& 2 : #; (
& & 2 < : ; (%
& = (0
&& ((
$ % !& ' () & *
,/ - *
,/ , " >/ *
,/ >/ *
1. Introducción a UNIX
1.1. Historia de UNIX
, 4+ ? *, : ;@
- / 6/ 6 - :
;@ @ - 9 # - 9
/ / " 6 9 A
2 ( ( ! " : ; ' ,B ! 9 =2!
= C%@ 9 # : ; : (%*; 9 = C 3* -
/ 2 / @ - / +
+ 6 ,3
2 (% $ % " :6 " ; + 6 + @- /
+ 6 D %* < # @ -
# + # @ + " =
+
D# %*@ " & ' ( $ ) $*
- ' # - ' + ' +- $
/ @ $ # 4
@ 0* # #6 + ,- .@ 9 @
+ + @ / / # / @- 9 6
, B/ +
+ ,! % -.
' - /0
- ) 1* ' $
$ - 231 $ % " $ "
. =# - $ % 0444
%. " "
- " 5- ) + + /0
6,7 . 6 ( 7, & 6 ( 7, &
: </ ; $- /0@ 8 "8, ( , 8, (
2 $ : </ ; $ /0
- $ : </ ; $ /0@ "@ @ 6,@
2 + /A @ @ ( 9
- / # + # ' "#
# /0 - 0/ @ -# @ @9 / +
/ / # -+ @ $ ? $
&
2 ((* 6 : ; - @9 /
$ / (( / :** ; :/0 D
$ @ + $ @ , "
/A + - 9 ) @ < ? @ - /A "
+ D 4@ + / , "@ +
@ 4 # @- < # E /0@ 0/&@ $ "@
@ - ,( , , B/ + , "
2 , " </ : ) 9 A ) ) + ;@
9 + ! " " #2 +
# #4 , "E #7 - ! 9 # - / : 9
) ) @ 6 @ < @9
;@ F , @ 6 @ # @ / 9 )+ @
/+ / + # 6 + 9 # - /
/ ! )
- 5 ? -
' ) # $ #/ 2 )
$ # 3
6
= / @ " - @ /
% 6
9
) 7 / E @ 6 @
&(
- $ +
- ) ; # - #+ @9 -+
+ -
& + . #
,, ,( ,
, +
< ' ) # @ = 3G 7
& ,(
- # 6@ - A = / @ " -
,( ,
; . , , '
$ . # 9 @&H
$- = ? = 3G 7
! / < 9 @&H - ) # -
#)
$ "
01-2
D 9 /6 @ -, "@ ) -) / H
H@ - , " H = # .H D 4@ -, " $@ # 9
# , "@ 9 /A " , "
1.2. Introducción a los sistemas UNIX
- @ @9 6
+ @ -9 + @ # @ 6
$ # # 9 $
9 # 9 ? D 4@
2 " # D @
+ $ + @ # 9 @ @ #
+ @ @ +
+ E - ,
: /A / / 7 ; ) $ 9
@ , 9 + 9 #+
9 /6 " + 4
/6 9 $ - @
9 # A D - 9
@- -# $ 9 ) 9 - /6
D A 6 - # @ # 9 +
6 @ - $
! @ 9 / ) #
: @ ; - : ( ; ! /
# @- + 9 / ! )
+ @ 9 + # @# ) - 9
$ $ @ # 9
# :# ) @ + @ ;
telnet polifemo
telnet 192.168.2.100
# 9 9 , "@ # ,
9 , " / 6 / - / E
D9 4 / / - D) , " 9 / (
D ( @ # 9 9 / @
4 . @ @ @ , "
6 9 2 9 / / @
@- 9 / 9 /
$ $ /6 A
D + / 9 '
9 9@ / + H H + :
E shutdown@ halt@ reboot@ ; +
, " @ + 9 ) # ? -
A / 2 9 )- A : 6 ;@
< " @ - 9 , " + 9 +
, # / exit logoutI
A + , + 6 $
# E
Linux 2.0.30.
Last login: Fri Oct 15 12:20:22 on ttyp0 from jmal.diesia.uhu.es.
No mail.
polifemo:~$ exit
logout
• comando / @- / 9 @
<
• , flags 6 # 9 ) 9 #
# @# @ + + :C; + @ @
: 9 -< - < # ;
• , argumentos / #) @- # /6 :# ) @ ; / 9
2 < - @ 4 4 5 6 2
ls ) : '; /
ls@ / #) E
$ls
a.out* mail/ mbox min* min.c nsmail/ p/ tmp/
D4 / / ) / #
$ # -lE
$ls -l
total 20
-rwxr-xr-x 1 llorente users 4261 May 4 10:40 a.out*
drwx------ 2 llorente users 1024 Jun 1 11:09 mail/
-rw------- 1 llorente users 2308 Jun 3 14:07 mbox
-rwxr-xr-x 1 llorente users 5643 Jun 3 14:54 min*
-rw-r--r-- 1 llorente users 1296 Jun 3 14:54 min.c
drwx------ 2 llorente users 1024 Apr 7 1999 nsmail/
drwxr-xr-x 2 root root 1024 Jun 8 10:46 p/
drwxr-xr-x 2 llorente users 1024 Apr 15 15:06 tmp/
$ # -a ) E
$ls -a
./ .less .netscape/ mbox
../ .lessrc .pinerc min*
.Xauthority .mc.hot .tkdesk/ min.c
.addressbook .mc.ini .xsession-errors nsmail/
.addressbook.lu .mc.tree a.out* p/
.bash_history .ncftp/ mail/ tmp/
B /A / # 9 / 6 @
- 9 :-a -l 9 -al - 9 -la - 9 -l -a;E
ls /A + / ) 9 9 6 @
9 # min.c -a.outE
(
" - 9
man + / 6 @ 9 "
ls@ / man ls D " # / 9 +
" $ / @ - -?
• '
• ' #
2 + 4 / 9 $ / 2"
# A 9 9 + @ A
/ H# H @ / / D @ /
9 )- -# + 6 @ / 4 $ + E
• @ / 6 < @
• . ) @ ? 9 # )
• / 4 @ @ @
D @ / @ / $ , 6
/ : -< - < ;@ < - 4/ 2
/ 9 #4 @ + 2 )
$ H# H: > ;I @ @ 9
/ / !
/ @ /A / @ 6 9
/ 5 )
$ 2 passwd 2 @ + 9
$ + : ;E
$ passwd
Changing password for llorente
Old password:_
+ @- E
$ passwd
Changing password for llorente
Old password:
Incorrect password for llorente.
The password for llorente is unchanged.
*
$_
2 @ 2 + / :
;
$ passwd
Changing password for llorente
Old password:
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:_
/ A/ @ 6 : ( @ 9 ' ;-
9
= @ @ @ +
: ) # @- 9 9 / ;E
$ passwd
Changing password for llorente
Old password:
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:_
) @ )/ -passwd 6 /
E
$ passwd
Changing password for llorente
Old password:
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
$
# - + # @ / @ 6
: "' A "B ' ;-
9 $9 :- A 9
;
, 9 @ @ < 9 9
! /6 # : 6 ;@
#) 9
• =
• . )
• . )
, #) - + ,
/ @ # 9 #) - , #)
, #) : 9 ; # / 2 / )
9 / @ / $ + 9 + #
+ 6 $ - < =/ 9 #
-< - <
, / #) # " , " :;-
@ - $ 9 ) 6 @
) 9 + # + + 6 ! " H.cH 2
@ " # ' C= - @- 9 ' C= " /+
: 9 A 4 9 " ;@ - + # / I 4 + 6 /
' C= / /+ " 6 / :.COM@ .EXE@ .BAT@ ; D @ ' C=
:; / " @
$ /
B #) / +< : " 4$@ 9
+ ; 2 9 ) -9 + 4$) #) : ";
#) @ / 9 @
/ :/@ ";@ + / #) 6 @ #) libvga.config 9
vga etc@ /etc/vga/libvga.config 2 9
"& "& D 4@/etc /etc/vga
• 2 . 9 9 2 @9 /etc/vga/
9 /etc/vga/./
• 2 .. 9 9 2 @9
/etc/ 9 /etc/vga/../
! 9 # ) / #
) " 9 "& '"&@
C ! # .@ 9 &% .@ 9
. 2 )- # # @ # 9 < # /
) @ 9 ) / ) #
B /A # 2 9 &
& @# & &@ 9 $ 4$:/; 6 @ #
/etc@ 9 vga/libvga.config -/etc/vga/libvga.config B /A $ . -..
6 @ # /etc/ppp@ 9 ../vga/libvga.config -
/etc/vga/libvga.config
$ pwd
/home/llorente
$ cd .
$ pwd
/home/llorente
$ cd ..
$ pwd
/home
$ cd /etc
$ pwd
/etc
! @ " 2 "
9 /6 @ 9 ) 9 @- +<
A: 9 " 4 ; "
/ 9 - /home@ 6
! $9 @ # " D @ $
cd @ # "
2 " 6 9 4# 2
/ @ + 9 B/
/ ' (
/ = 4$ !
/bin +
/dev ! #)
/etc ! ) = #) :passwd@ shadow; - + + 9
$
/home ! "
/tmp ! )
/usr ! ) - +
/usr/include ! ) / :#include; + 6!
( "& &)
1.6.2. Localización de comandos
B + 9 + /
9 / @ " 9 &* +, : "; 9
6 9 D 4@ /
# @ / + )
+ @ 6 I @+ 6
! 9 6 + 9 /A /
: );@ $ / :.; 6 @
mi_programa@ / + 4 E
$ ./mi_programa.c
• , + :P; 9 :+ 9 ' C= ;
• 2 :Q; 9 @ 4:+ 9
' C= @ 9 ;
• 6 ) :RS; 9
# ) $ ] ) @ /
6 [
• = ) :RS; - + :C; 9
+ # : A ;@ +< D !
$ + ) @ / # :
[;@ : A [;
• B /A # 6 9 / # / #)
:!; 6 A [
B / / , B/ + 6
+ ' ( 5 & ( 6
* B )
? D ) - / + : # ;
*.* D ) 9 + + /
[a-z]* D ) 9 $ <
*.c D ) " H.cH
copia?.c copia1.c@ copia2.c@ copiaA.c@ copiaa.c@ copia_.c@
copia[123].c copia1.c@ copia2.c@ copia3.c
copia[123].* copia1.*@ copia2.*@ copia3.*
copia[1-5AB].c copia1.c@ copia2.c@ copia3.c@ copia4.c@ copia5.c@ copiaA.c@ copiaB.c
copia[!123].c B copia?.c@ " copia1.c@ copia2.c@ copia3.c
copia[123!].c copia1.c@ copia2.c@ copia3.c@ copia!.c
copia[.c 2 ) opia[.c
copia[]AB].c copia].*@ copiaA.*@ copiaB.*
copia[-AB].c copia-.*@ copiaA.*@ copiaB.*
D @ " @ @9 +< + #
A @ -@ @ @ $ / #)
6 E @ >@ &@ $@ / @- 9 / @ $
9 9 $ 4/ @ / + # B
/ E
• 2 / $ :´;
• 9 4/ + # , )
4/ / :\@ & ";
6 @ # #) con*asterisco / ´con*asterisco´ /
con\*asterisco
= # @ 4 ) A @-
# $ A
• , " 9 #)
/ B #) @ #)
) @ # 9 # #) @9 #
@- 9 # #)
D ) ) / T: ; + / U V
&
• , & 6 #A
2 #A 6 # #) 6 @ 6
#) /dev/tty@ # 9 / # #) @ # @ $
@ ! #A #) @ 9
@ - /dev , B / & + 6
#)
/ 7 ' (
/dev/tty B : ;
/dev/hda
/dev/hda1
/dev/hdb +
/dev/fd0 # "/
/dev/null = : # ;
/dev/ram ' 1D'
/ .% &
! 6 9 + @ A $ E &
&) @ &) -
• , & &) 9 + + @ # 9
/
• , &) 9 + @ #
• , 9 +
# @ # 9
@- -
• % "& E #)
• % "& E # #)
• % ." "0 E 6 #) :9 9 + ;
E
• % "& E : #) ;@
# : ? @ # )@ ; #) 9 + /A
6 -9 + / 9 A# ) ) -: / ;-
9A #) : / #) ;
• % "& E # E ? #) - #)
: 9 + / #) ; 1 9 #
#) 9 / #)
• % ." "0 E 9 / # @ 4
#) : 9 + #) ;
# #) - @(- : @ - 6 @
; D 4@ @ - C @ D @
# E
• % & E : @ (@ ; 9
) 2 ) 9 $@ 9 / /
:chown;
• % % % , & E : @ (@ ; 9
9 + 9 )
• % & E : @ (@ ; 9 9
+
# @ -- : W W@ + - @ ;
B /A ( ( ( @ -@
9 " @- " +
6 E 77 77 77@ ( 7 7 @ ( 777777@
, #) / @ chmod@ -
@ 9 + / #)
/ @ 6 #) $ 9
E :d;@ # ) :-;@ :c;@ / 9 :b;@
/ :l;@ 6 @ ( 7 7 @ 9 7 ( 7 7
#)
D @ " E / - + @
2 / ( @ +
%
2" 9 6 2 ps 9
6 ! A + 9A ) -@ /A
=@ -
= @ A A
D E ? 6 < !
? : kill; / # : =; - <
? 9 9 ! / ? E
• < ? @A # < + ? @ -
A <
• < ? @A : ; #
@ 4 ?
0
2. Intérpretes de comandos
2 > #$ - / 9 # <
/ E 6 + @ 6 #) A 9
+ 9 9 / @- 6 2 @ # @
/ 9 # /6 : 6 ;
$ @ A / / * : $ ;
2 A ) + 9 A @- 9 ) 6
" 6 @ ' C= 1% & & @
9 , "@ *& 1 % @ G 7@ 6 ) 9
A
2" A @ - " @
9 6 D+ 6 E sh@ csh@ ash@ bash@ ksh
! @ / @ + @
" @ @ + ) # @9 9 $ $9 2
) / $ chsh D @ 9 ) 9 + @
) # ) 9
2.1. bash
*: " ; ) , "@ 9
" : ; :
4 ; # 4 : @
; = /
+ # ' 6 @ " @-
$ @ 9 /
# @ / ) ) <
/ :↑; - / 6 :↓; D @ #
A # ) $9 :←; - ) :→; - # "
< @ " $ / /
) 9 - " 6 @ Hls /etc/passwdH@ /
Hls /etc/paH - / 2 9 # / "
9A ) : 9 " +< ) 4$@ 9 " ;@
/ @ / ) 9 4$ @
/ / : ) /+X ;
) - 6 / #) 9 ) @
9 / @ 6 #) - $
B $ /A : 6 9
# / #) ; $ @ -
9 : ;E
• , / :\; ) 9 9 $ + + #
• , :´; ) 9 + + #
@ 9
• , / :"; ) 9 + # :+
9 ;@ " 4/ 9 + E $@ ` \
6 @ $ / Habc*def$ghi\jkl mnoH + / E
• $ / E abc\*def\$ghi\\jkl\ mno
• 2 / E ´abc*def$ghi\jkl mno´
• 2 / / - / $ - \E
"abc*def\$ghi\\jkl mno"
B /A @ @ + # 4/ + #
E
• '\' /
• \\ /
• \´
• ´"´ /
• \´\\\´ /
•
- ,
% = 3' D
2 :`; 6 9
2 + 6 @ pwd I
/fd*@ - $ ) ls
$ ls `pwd`/fd*
2 :$;@ 9 -
/ # 6 @ / 9 '2 / 9
" @ + E
2 9 +< / ) @ ) / @
*
$ ls $HOME
2 {} /A / 2 / F9
19G
+ +
, 4/ & -; $ 2 :4 ;
@ + 4/ E
• $ ; 6 : $9 - +
);
• $ & 6 : $9 - )
$ $;
2 6 + " -
3 I + 6 / @ $ /
$ ls $HOME ; ls /bin
$ ls $HOME & ls /bin
& $ 6 + 6 @ + 6
+ @- # 9 / 9
9 ls E
$ ls /bin &
2 " $ @ 9 // A 9 )
8 ' (
2 " *@ ?@ [] -! + # 9
!
)
\ 9 9 $ + + #
´ 9 + + #
" , + # @ " $@ ` \
, - -
`
6
+
{} , / /
() , A # 6
$ , 9 / / @- -
; 9 6 : $9 ;
& 9 6 $: # ;
> 1 )
>> 1 ? ) "
< 1
9 6 $: # ;@ # 9
| $9 )
/ 4
alias dir='ls'
D $ dir + 9 ls @- 9
9 @ 6 @ 6 E
D) $ dir ls@ ? A @
9 #9 –al 9 - 4@ - 9
/ 9 E
polifemo:~$ alias
alias d='dir'
alias dir='/bin/ls $LS_OPTIONS --format=vertical'
alias joe='joe -asis'
alias ls='/bin/ls $LS_OPTIONS'
alias v='vdir'
alias vdir='/bin/ls $LS_OPTIONS --format=long'
5 6 ls # @
6 + /
D 4@ E @
/ @ @ 6 6
9 ) @ -9
9 @ / / @- 9
@ @ @- -
6 @ ls *.c@ ) ) 9 5 @ 4
9 $ + @9 - @ #
- *.c 6 #) 9
polifemo:~$ ls *.c
+ /bin/ls --8bit --color=tty -F -b -T 0 busqueda.c cgi.c cgi00.c libreria.c prueba.c
busqueda.c cgi.c cgi00.c libreria.c prueba.c
&
2 alias
+ @ + / E
/ ) –v 2 –x 9 6
9 6 @ # –x@ –v $ + @ 9
/ 2 + / @- 9
9 / / 6 : + ) )
;@ - 9 ) $ 9 6 @9
2 - 4 &@ "@ + (
, W# ) 9 / ) + /
#) 9 @ 9 6 E
polifemo:~$ set -f
polifemo:~$ ls *
/bin/ls: *: No such file or directory
$ ls >temporal
2 more ) 9 #) + @) $9
$ more <temporal
2 -) / I " 9
< 2 $ $ #) " :temporal 6 ; $ 9
& 4 : ; / 4 #) 9 / - @
@ 9 # @- - $
$ / 4 $ 4/ - :|@ ; 2 6 9 4E
$ ls | more
/ 4 B 6 #
@ # 9 $9 | $
) |
' (
, ) - / #) mifichero #) - " @
ls >mifichero
5 .% ""0
$ TEMPORAL=/tmp
$ / @ 4/ N 6 @ +
/ TEMPORALE
$ ls $TEMPORAL
&
D # / $ @ 9 6 E
$ ESTE_DIR=`pwd`
$ ls ${ESTE_DIR}/*.c
2 6 ) $ :{}; / / )/
:ls $ESTE_DIR/*.c;@ ) 4 9 / / -@ @ / :/;@
- 4
$ / # @ / 4
: ;
$ 4/ $ 9 / @ /
:´; / :\;
, / # ) ) ) 9 + $ )
$ / @ export :- ;
2" + / # - <@ 9 #6 B/ 0 ,
/ PATH@ 9 6 /< 9 $
: " HI ; D 4@ / @ 9 A
/ PATH PATH 6 ::;
' (
PATH 1 /< 9
HOME 1 "
PS1 ,
PS1 ,
SHELL ! $ )
LOGNAME / $ : / ;
HOSTNAME / 9
? ) $ / 6 @ ?
/tmp )E
$ PATH=${PATH}:/tmp
/ 9 # ) / 9 9
) 9 9 / @ -9 4/ : $; 2 "
2 9 + @ 6 #
@- @ @
2 / @ @ @ 2
/ 9 @ 9 " + + 9
# : # ; , B/ ( + + +
)/ $ / B $ 4 / T@ 9 # /
)/ 9 $ / / 2 + 6 -
# / 9 @ + @ /6 - 4 / $ #E
PS1=\\h:\\w\\$
' ' (
\h / , "
\w 1 #
\t , ) # E' ' E
\d , # ) # H$ $DH : 6 HB ' - H;
\u 2 /
\$ 2 4/ $ #
8 10 % &
%
3. Comandos
2 @ +
+ + 4E
• ' 6 #)
• #)
• ' 6 -
• ' 6
• ' 6 /
• D
•
9 @ ) # @
$ B/ *E
' ' (
R S 2
Y Z [ =/ # + : ;
parametro... , 9
/ # 4 # --help
: , "; - man : 9 ;
3.1.1. Comando ls
ls + # ' / #) - 9 )-
, " E
SINTAXIS
ls [modificadores] [ficheros...]
, # # # - , #)
#) 9 ) -9 @ #) D 4@
#) @ #/A :
/ /6 - + $9 )I -< - < @
-< ;E
0
polifemo:/boot$ ls
System.map any_d.b chain.b os2_d.b
any_b.b boot.b config
4 )/ @ + #) E
polifemo:/boot$ ls *.b
any_b.b any_d.b boot.b chain.b os2_d.b
/A E
polifemo:/boot$ ls a*.b b*
any_b.b any_d.b boot.b
2 ) , ) 9 $ :.;
) H H@ - @ 9 #9 2 )
# -aE
polifemo:/boot$ ls -a
./ System.map any_d.b chain.b os2_d.b
../ any_b.b boot.b config
/ 9 / + / #) 9
+ / :/; = , "- 9
/ 9 #) $ # 2 +
#) : @ @ ; ! ls@ / #) @ / # /
@ # -lE
polifemo:/boot$ ls -l
total 157
-rw-r--r-- 1 root root 143835 Jun 24 1997 System.map
-rw-r--r-- 1 root root 204 May 25 1996 any_b.b
-rw-r--r-- 1 root root 204 May 25 1996 any_d.b
-rw-r--r-- 1 root root 4416 May 25 1996 boot.b
-rw-r--r-- 1 root root 88 May 25 1996 chain.b
-rw-r--r-- 1 root root 5147 Jun 24 1997 config
-rw-r--r-- 1 root root 192 May 25 1996 os2_d.b
, # 9 + : $9 ) ;E :- ;@ <
9 " / #) @ @ + #) @ ? /- @ # )
# - / D @ < / 9 : 8 /-
@ 9 /A & /- ; 9 #)
2 + $ @- 9 -) / $
9 @ $ + @ $ +
(
#) 2 ) # -F : $
# @ 9 #9 ;E
polifemo:/lib$ ls -F
cpp@ libcurses.so.1@ libm.so.5@
ld-linux.so@ libcurses.so.1.0.0* libm.so.5.0.9*
ld-linux.so.1@ libdl.so@ libncurses.so@
ld-linux.so.1.9.5* libdl.so.1@ libncurses.so.1.9.9e@
ld.so* libdl.so.1.9.5* libncurses.so.3.0@
libc.so.4@ libe2p.so.2@ libncurses.so.3.0.0*
libc.so.4.7.6* libe2p.so.2.3* libss.so.2@
libc.so.5@ libext2fs.so.2@ libss.so.2.0*
libc.so.5.4.33* libext2fs.so.2.3* libtermcap.so.2@
libcom_err.so.2@ libgdbm.so.1@ libtermcap.so.2.0.8*
libcom_err.so.2.0* libgdbm.so.1.7.3* libuuid.so.1@
libcurses.so.0@ libm.so.4@ libuuid.so.1.1*
libcurses.so.0.1.2* libm.so.4.6.27* modules/
2 + ? / #) E* #) 6 / @/ @ @
%
/ @ ! ) @ ?
, B/ # ls
9 ( : &
-1 , #) < : #) 4 ;
-l . +E # #) : @ @ # )@ ;
-R 1 E @ /A #
-a B #) E - #) 9 $ :.;
-A ! #) E - #) 9 $ :.;@ " H H -H..H
/
-B & E #) & : + ;@ 9 #) 9 H~H
-d , / +
-t #) # ) -) #
-S #) ?
-X #) "
-r #) #
-U #) + # I 9
-s ' ? ) $9 / @ / 9
-F ' # / @9 #) : + ;
-i ' : $ ; 9 / # #)
'" "% ls
%
2 / ( @ +
0
' ) 9 @ @+ ) @
/ @ / H~H
*
2" ls 9 #) + E dir@
vdir@
polifemo:~$ pwd
/home/llorente
3.1.3. Comando cd
cd : " '; / # @ + /
D / 9 9 / E
SINTAXIS
cd [destino]
! / # /
@ cd / " 2 + 6 / / @
- pwd / /A 9 :
/home/llorente; /A 4/ H~HE
polifemo:~$ cd /usr/include
polifemo:/usr/include$ pwd
/usr/include
polifemo:/usr/include$ cd ..
polifemo:/usr$ cd .
polifemo:/usr$ cd /
polifemo:/$ cd /home
polifemo:/home$ cd llorente
polifemo:~$ pwd
/home/llorente
polifemo:~$ cd /tmp
polifemo:/tmp$ cd
polifemo:~$ cd /bin
polifemo:/bin$ cd ~
polifemo:~$
01-2
/ :cd; - , ' C= $ Hcd..H
@ ' C= : ;@
, # /
$ 6 @ " /tmp/1@
/tmp/1/2 D / /tmp/1@ / $ -p
, B/ # mkdir
9 ( : &
-p ! E @ : " ;
-m #
SINTAXIS
rmdir [opciones] directorios...
$ C ) / @ 9 +
#) 6 @ ) rmdir -p /tmp/1/2/3@ /tmp/1/2/3I 4
/ @ I @ + / /tmp/1/2@ + /tmp/1@ -# /tmp
, B/ # rmdir
9 ( : &
-p > E A / @ /
3.1.6. Comando cp
2 cp : '; #) D # - @ #
9 ) # #
SINTAXIS
cp [opciones] origen... destino
- / ) : / ;@ / #)
9 + @ +
@ / B ) +
26 E
, ) A # ) - 9 $ @
9 # -p / : # ; cp B/
9 ( : &
-i E + / / #) "
-l 2 $ @
-s 2 $ @ =
-b ! + ) 9 / /
-P ! ) + - +
-p ' # )@ @ -+ ) +
-R 1 E /A #) 9 A
-u D $ E / / #) 9 + 9
-v ' / #)
- '" "% cp
3.1.7. Comando rm
2 rm : ; / #) D
/
SINTAXIS
rm [opciones] ficheros...
! / ) 9 / @ rm #
9 # $ # -f @ 9 #
#) : 9 + ; $ -i
D+ 6 rmE
polifemo:~$ rm .c *.h
polifemo:~$ rm -f /tmp/*
/ -R 2 +
:- / ; # E rm -fR * = / )
$ @ 9
01- 9 +0:1- 1 2
/ # rm / :mv; ' ) ' C= /
/ @- 9 ' C= rename ; . ! &
, B/ & + rm
9 ( : &
-i E # / #)
-f # #) "
-r 1 E/ #) / - /A /
-R + 9 -r
-v ' / #) /
/ '" "% rm
3.1.8. Comando mv
2 mv : ; / / #) @ /
=/ # ) + - )- + @
/ #) W W - mv / -3 ) I
/ @ )- + @ + + @ @
-mv < )
SINTAXIS
mv [opciones] origen... destino
, 9 B/ 6 9 $
cp
9 ( : &
-i E + / / #) "
-b ! + ) 9 / /
-u D $ E #) 9 + 9
-v ' / #)
2 '" "% mv
D + 6 E
• 1 / #) copia1 copia2
• ' #)
• ' #)
3.1.9. Comando ln
2 ln : &; /
#) 2 #) 9 @ #
#) , E
• & :" ;E : / ;
# $ 9
) $ 2 $ @
< 9 ) 2 #) + /A D 4@ /
: 9 #) + ; 9 : / ;@
2 + < -@
9 @ #) ! $9 ?
#) @ <
• & !& E : / ; #) 9
: ;@ - " 9 # #) + 2 #)
+ # / / / #)
+ @ / 9 @ /6 9 - " :
G 7;
2 ln / #) + - E
SINTAXIS
ln [opciones] origen... [destino]
! + # #) @ ! #
/ : + < ) ;@ /
: + ) @ @ -
/ 9 + @ ; @ 9 @
9 + / #
2 # 9 $ -s@ 9 9 / +
# @ ln / / / #) 9 " @ + @
$ -f 9 D @ -i + / /
+< # ) "
&
2 : 4
) ; ) / 2 6
# @ " 9 / $ rmdir@ rm@ - 9
#)
# / $ : ) ; ls
-l@ - 9 6 #) 9 # #) @9
HlH 6 E + 9 " E Hdir1H -
/ A @ Hotro_dir1HI ) ls -l / 9 dir1 @ -
otro_dir1 9 @ @ dir1 : 6 / @ ) 4 ;E
, # @- 9 9 + @- )-
+ A : A # ; , 9 4 +
/ $ : # ) ; B /A ) ls -l@ -
9 + < 9 #) 2 + 6
$ /A C 9 /A H.H -H..HE
polifemo:~$ ls -al
total 7
drwx--x--x 3 llorente users 1024 Oct 15 10:08 ./
drwxr-xr-x 16 root root 5120 Oct 14 11:27 ../
drwxr-xr-x 2 llorente users 1024 Oct 15 10:01 dir1/
lrwxrwxrwx 1 llorente users 4 Oct 15 09:59 otro_dir1 -> dir1/
/ 9 E
• 2 otro_dir1 @- 9 $ A
• 2 )
• 2
• 2 +
• ,
• , # ) # @ @
, B/ % 9 ln ' ) 6
$
9 ( : &
-s 9 9 / / :- ;
-f 9 / / #) "
-i E + / / #) "
-b ! + ) 9 / /
-v ' / #)
5 '" "% ln
D+ 6 lnE
• ! / ' / ttys
• ! acceso_a_dispositivos
• #) 9 + C practicas
practica_copiada@ / / #) 9 )/ A
• #) /home/profesor/notas_practicas #) mi_susupenso
=/ - / /6 /
# $ @ - 9 / /6 + +
# @ /
5 / 6
Creación de la estructura
polifemo:~$ mkdir dir1
polifemo:~$ mkdir dir2
polifemo:~$ cat >dir1/mi_fichero
Este es el contenido de mi_fichero
^D
2 + D 9 ln : ) ls -l
;@ #) + E
%
, $ 9 @ 9 / ) + Hdir1/mi_ficheroH
/ :~/dir2/;@ @9 9 + H~/dir2/dir1/mi_ficheroH =
+ : $ / ;
H../dir1/mi_ficheroH , + 9 / 4 )/ @ 9 @
9 / @ < + :
9 9 4 / # ; 2 @ #
+ E
1 9 / /6 / I
9 / # 9
, / ) # / / +
6 @ / mi_fichero / : 6 dir3 dir2;@
6 E
2 9 @ / / @ 6 $ / 6 E
SINTAXIS
chmod [opciones] permisos ficheros...
, # # E / A 2 &"0 % 0 "@
# + "E
[{u|g|o|a}]{+|-|=}{r|w|x|s}
2 E 6 Y 8 8 8 [@ 4/ YJ8 K8 L[@ - Y 8 (8 8 [
• , # / E : ;@ + : ;@ : ;@ /
: ; @
• 2 4/ # / E ? :J;@ + :K;@
/ / < :L;
• , < # + E : ;@ :(;@ 6 : ;@
/ :; < : ;@ #
: ; + : ;
6 E
• D? E a+r
• 1 + 9 + E o-w
• 2 / rx : - 6 ; E =rx
• D? - + E ug+w
• D? # -+ E ug+s
$ . " & " "
6 @ / - 6 - 6 $ +
E a=x,u+r
2 &"0 %: " @ # < ) # @
# : < * - %; / @ @ + - @
@ # *C% +< B/ 0 2
/ @ @
(
4 < & ! +
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
6 1 %: " % ""
# # @ 9 *@ 9 % 9 *%
, / $ @ 9
4+ @ # @ 9 < $ 5 +
6 E
• + E 777
• @- @ 6 - E 744
• - 6 E 555
• - @ 6 - + - 6 E 651
, # 9 chmod B/ (
9 ( : &
-v ' / 9 $ #)
-c ' / 9 $ #) $ +< /
-f / /
-R 1 E /A #) 9 A /
SINTAXIS
chown [opciones] [propietario][{.|:}grupo] ficheros...
2 -+ # / # @ +
$2 / - + :.; ::;@
*
9 / + @ / /
+
, B/ * 5 ) + 6 chown
9 ( : &
-R 1 E / 3
+ #) /
-v ' / #) 9
-c ' / #) 9 @ ) +< /
-f 6 / 3+
SINTAXIS
cat [opciones] [ficheros...]
2 cat # B/
9 ( : &
-n 9 4 : $ ;
-b 9 4 @ 4 / : 4;
-s 2 < 4 / + < 4 4
' / H^H@ - - + D ! - 9
-A
% HM-H
3.2.2. Comando wc
2 wc :( ; 4 @ / - 9 #)
# #) @ / : ;
9 < 4 @ / - : ;- / #) D @
#) @ #
SINTAXIS
wc [opciones] [ficheros...]
wc / 6 9 )- / : @ / @
@ ; ! -c@ -w --l ) 9 $ @ -
B/ 2 9 / #) )
@ - < 4 @ / @ :
# $ ; 2 + 6 < 4 - / #) *.c
+< # ) @
9 ( : &
-c < : < /- ;
-w < /
-l < 4
$$ '" "% wc
SINTAXIS
sort [opciones] [ficheros...]
• $ -c -m@ E #) # @ # @
-
• ! -c@ sort $ / #) @ ) I
(
• ! -m@ sort $ $ #) # 9 # @
9 9 #) # A ! 6@ A
9
2 # #/A / D ! @ 9 $
2 # -f ) 9 + -< - < @ -n 9
A :- #/A ;@ -b + @ , B/
#
/ #) 9 @ @ # / + $
# :4 ;- : +< @ 6 @ / ; 2
/ :# ) ; +< 9 9 4
/ sort E
• 2 9 $ -t + :) -
9 6 A -t - ;
• 2 < 9 : ; 2 +### -
-###@ KKK < : $ *; +###
--### < : A @ ) # 4 ; 2 9
+### - -###@ A 2 < #
< :.;I 9 9 $9 < I
9 9 ) : ; < : <
@ / ; = < : ; $
# : A @ + -< 3 < @ ;@
(
B
, -o + : ; / #) @ ) 9 4
#) + 2 9 $ #) #) @
) A $
< @ C #
9 ( : &
-b + / : @ / @ ; 4
-d + 9 <
-f + # -< - <
9 ? # HJANH@ HFEBH@ HDECH D
-M
+ # -< - <
-n 9 < : ;
-r
-o # #) +
-t #
+### KKK : *;
-### KKK < : *;
26 E
• , #) - +< : ls -l /
9 ;E
polifemo:~$ ls -l|sort +2 -3
total 11
-rw-r--r-- 1 llorente users 99 Oct 19 14:35 nuevo_texto
-rw-r--r-- 1 llorente users 7869 Jul 10 1997 termcap
-rw-r-x--x 2 llorente users 41 Oct 19 14:47 fichero1*
-rw-r-x--x 2 llorente users 41 Oct 19 14:47 fichero2*
-rwsrwsrwx 1 root root 0 Oct 19 11:41 p*
• , #) - +< - A +< ?E
• ! #) - - 6 E
SINTAXIS
more [opciones] [ficheros...]
$ " + @ $ + E
• E $ +
• ED $ 4
• IE
! $9 $ #) @ 4 # @
$ ) /@ 9 -p@ 9 ) 9 +
9 $ $ : ; 9
B/
9 ( : &
-### < ### 4 +
+### < ### 4 9 ) -9 $
+/ + @) 9 #)
-p 9 + 9 $ $ : ;
SINTAXIS
less [opciones] [ficheros...]
$ - " + $ @ more@
D " - @9 man less =
/ 4 @ 9 ) -N
2 man $ less #
9 ( : &
-N ' < 4 6 4
SINTAXIS
tail [opciones] fichero...
, )/ -n@ 9 # < 4 9 ) -9
6 @ < 4 #) E
# #) $@ @ 4 @
9 -q 26 E
, B/ + # 9 $ tail
9 ( : &
-c # < # 9 ) -9 : $ 4 ;
-q 4 #) )- #)
-n # < 4 9 ) -9 : # *;
SINTAXIS
head [opciones] fichero...
, )/ -n@ 9 # < 4 9 ) -9
6 @ 4 #) E
# #) $@ @ 4 @
9 -q 26 E
, B/ % + # 9 head
%
9 ( : &
-c # < 9 ) -9 : $ 4 ;
-q 4 #) )- #)
-n # < 4 9 ) -9 : # *;
SINTAXIS
grep [opciones] patrón [ficheros...]
2 # 4 9 :
# B/ *; D @ + $@
A" @ - @
2 , / 9
+ B/ 0
8 ' (
. ! 9
[] ! 9 6 + : [0-9A-Z];
^ ! $ 4
$ . 4
< ! $ / :T_;
> . / :TM;
! 4 - @ 9 / 4/
/ @ B/ ( 9 / 9 # 4: 6 @
9 / ;@ / = #
4I / ) @ 9 A /
@ / /
0
8 ' (
x* x * :x 4;
x? x * :x 4;
x+ x :x 4;
x{n} x n :x 4 -n < ;
x{n,} x n :x 4 -n < ;
x{,n} x * n :x 4 -n < ;
x{n,m} x n m :x 4 -n -m < ;
B /A + /" $ A - $ 1 +
4/ / 4 :|;
, ) -< - < 9
-i # grep 4 9 @ /
$ E
• 4 9 $ -v
• < 4 9 $ -c
• ) 9 + 4 $ -l
" 9 9 / $ + :C;@ 4 #
2 $ -e 6 " 9 9
@ " 6 @ $ H-v-H #) /
/E
grep -e -v- *
6 E
• > / 9 HaHE
• ' #) !9 4 4E
(
, B/ * grep
9 ( : &
-i ) -< - <
-v ' 4 9
-c ' < 4 9
-l ' ) 9 + 4 @ + 4
-e # 9 9 " :- ;
-n ' < 4 9 " #)
-s 6 +< # )
-q + I A"
SINTAXIS
find rutas... [criterios] [acción]
• rutas 6 $ / find / -
/
• /< 9 @- 9 # / : / @
# )@ ; - : / @ # )@ ; , B/ +
/ / @ A D = - 1
) D =@ / / /< 9 I ) 1@ -o
D @ :!; 9 #
:/ #) 9 ; D @ # 9 <
$ A 9 A ) @
/ A / :\;@ @
• acción 9 / 6 find $9 ) 9 #9
/< 9 , B/ /
@ #) 2
9 < < H-H " 9
9 @ H+H " 9 - 9
: # < + ;
&*
& ' ( 5 !4 . 6
-name nombre > #) - / nombre
> #) - modo , # # A :
-perm modo &, " ' + &; modo +
:-; / #) 9 + @- + :+;@
/ #) 9 + +
> #) - x@ x Ef / #) @d
-type x
/ @ l / / @ c / @
> #) 9 + < ### -KKK + # KKK
-links ###
+KKK + # KKK
> #) 9 + ? ### / 9 + 9 ? / 9
-size ### 8 /- KKKk D @ -KKK + # KKK/ 9 - +KKK
+ # KKK/ 9
-user nombre > #) 9 $ nombre
> #) 9 )- ) ### 4 -KKK + # KKK 4
-atime ###
+KKK + # KKK 4
> #) 9 )- # ) ### 4 -KKK + # KKK 4
-mtime ###
+KKK + # KKK 4
-newer nombre > #) 9 #) nombre
& ' ( 5 !4 . 6
-print / ) $
26 comando / #) $ @ $ Y[@
9 ) / D @ # @ / -
-exec comando
:;; / 9 ; ) ; 6 -
exec cat {} \; ) 9 #) $
5 + 6 findE
• , $ #) passwd - E
• ' #) # llorente 9
/ 9 E
&
SINTAXIS
uniq [opciones] [entrada [salida]]
# #) @A @ -
" , 9 uniq # @ / B/
9 ( : &
-u 9 4 4
-d 9 4 4 : 4 ;
-c ' $9 4 < 9
SINTAXIS
comm [opciones] fichero1 fichero2
, C @ C -C ) 9 @ B/
&
9 ( : &
-1 9 :4 9 #) ;
-2 9 + :4 9 + #) ;
-3 9 :4 9 / #) ;
SINTAXIS
cmp [opciones] fichero1 fichero2
cmp # ! -l $ #
9 E # :/- ;@ + D ! 9
#) @ - + D ! 9 + #)
, B/ & # 9 $ cmp
9 ( : &
-l # - 9 #
-s #) # @ 9
SINTAXIS
lpr [opciones] [ficheros...]
! -# + : ; <
B/
=/ 9 % , &; , &) " "& %), @ 9
+ 9 $ : ) # ;
&
9 ( : &
-#nnn nnn <
-Pxxxxxx xxxxxx / 9 ) -9 $
-r 9 #) $# $
-m 9 4 6 /6 )-
D $ /
2 / , B/ % +
, "
01-2
, / @ #) 9 / /dev ,
: / 9 @ I- @ ; , /dev / < 9
) 7 ! # @ #
/dev
, " / + ' C= 3G 7@ 9 "
9 # ' C= 3G 7
/ 7 : &
hda : =2;
hda1 : =2;
hda2 + : =2;
hda3 B : =2;
...
hdb + : =2;
hdb1 + : =2;
...
hdc B : =2;
hdd ! : =2;
...
fd0 # "/
&
/ 7 : &
fd1 + # "/
...
(5 & "
SINTAXIS
mount [opciones] [dispositivo directorio]
• disrectorio +< 9 A 9 4@
)+ : + ;@
I $ @ 9 /
# @ mount
, " #) :# ;@ 9
/ 9 /A + 9 # 9 2
) + : -t ; / 9 /
#) E minix@ ext@ ext2@ xiafs@ hpfs@ msdos@ umsdos@ vfat@ proc@ nfs@ iso9660@ smbfs@ ncpfs@ affs@ ufs@
romfs@ sysv@ xenix@ coherent , " #) @
" 4
@ 9
: 9 + /
6; 2 @ -r@
# 9 #
2 + 6 /mntE
, B/ 0 mount
&&
9 ( : &
-r '
-t # #)
SINTAXIS
umount [opciones] {dispositivo|directorio}
" : ';@ @ #)
/ @ " - # $
, + 6 6 6
mountE
umount /dev/hda1
umount /dev/fd0
3.3.3. Comando df
2 df : & ; $ 9
E @
SINTAXIS
df [opciones]
6 @ + 9 #) polifemo #
:sda2@ 4$@ -sda3@ /home; 2 (0 ** / 9
* /- * : @ @0( F>;@ 9 ) 0 * */ 9 : L; - 9 / (& & &
/ 9 2 + ( 0%& / 9 : @*( F>;@ 9 ) 0 :
&(L; -9 / 0 *
polifemo:~$ df
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda2 1982006 684010 1195545 36% /
/dev/sda3 2191875 1218246 860324 59% /home
*
D $ / 9 & /- 9 9 +
&
SINTAXIS
mdir [opciones] directorio
2 # $ # , "-' C= 3G 7E
• 2 / # ' C= 3G 7@ + ::;
• , / :\;@ 9 9 :/;
2 + 6 $ 9 9 ' C=
9 E
mdir a:/copia/*.*
, # 9 B/ (
9 ( : &
-w ' # ) : /w ' C= 3G 7;
-a - #)
-f # / / : 4 ;
SINTAXIS
mcopy [opciones] origen... [destino]
, / #) 3 ' C= 3G 7 + +
9 mdir
&%
# #) + @- @ B /A
# #) + - #) @- / .
# #) + @- #
, 9 mcopy B/ *
9 ( : &
-t ! #) " :) CR CR+LF@ - ;
-n # / / #) , "
-o # / / #) ' C= 3G 7
SINTAXIS
mkfs [opciones] dispositivo
= # + : / ; , B/ %:
+ & ; + + , "
! -t #) : mount;
D @ -c ) 9 #9 # / / 9 ?
9 ( : &
-t # #)
-c ! / / 9 #
3.4.1. Comando ps
2 ps : ; 9
6
SINTAXIS
ps [-][opciones]
&0
, / # +< + :-; , + ps 4
/ + I ) : 9 @ 6 ;
# ps < 9 6 ps@
+ # E
• =E < #
• BBOE / 6 :-9 6 ;
• BDBE 2 E + + # E RE 6 @ SE : ;@
TE : +< ;@ ZE
• B ' 2E B 9 6 : < $9 6 ;
• ! ' ' D =E / 9 6 : ;
6 E
polifemo:~$ ps
PID TTY STAT TIME COMMAND
2500 p1 S 0:00 -bash
2897 p1 R 0:00 ps
, ps B/
9 ( : &
l . +E # /
u ' # / - 6
s ' # / ? 9 6
m ' # / 9 6
a ' /A
h 2 4 /$ : 4 ;
r 9 6 : ;
-$ '" "% ps
SINTAXIS
kill [opciones] procesos...
, # ,$ + = E
&(
• $ ps
• D 6 + : & 4 ;@ A
,$ 9 9 +
, 9 $ -s@ 9 # < ?
: / W -< W < ; ? / $
-l E
polifemo:~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR
# kill $ ? SIGTERM@ ) / $ / ! -s
)/ @ /A @ / / < ? + ,
+ 6 4 ? - ,$ & : 9 ;E
kill -9 2543
kill -s 9 2543
kill -SIGKILL 2543
kill -s SIGKILL 2543
? 9 : 9 A
)- 6 ;
, B/ /
9 ( : &
-l ' / ? - <
-XXXXX -XXXXX / < ? 9 ) -9
-s # # / < ? 9 ) -9
SINTAXIS
passwd [usuario]
2 / / 19
G @ + (
SINTAXIS
shutdown [opciones] hora [mensaje]
• hora ) 9 $ = 6 -)
9 +< , ) #
# / 2 # / hh:mm : 16:25@ - ;I
# +mm : +15@ & ; B /A $ / now@
9 +0
• 6 69 4 # "
/ /
6 @ !=C1 ' @ 9 + @-
+ + $ * E
shutdown +10 "El sistema será interrumpido para instalar una unidad de CD-ROM"
, 9 B/
9 ( : &
-k E 4 6 @
-r 9 A
+ # ) @ 4
-c
6 9 + )
SINTAXIS
adduser
! 6 + @ E / @ <
@ < + @ " @ ) @ -# ) " D @
@ / @ ) @ A# @ . )/ 9 +
2 ) adduser # @ // @
9 - 4 / -
5 + 6 @ 9 9 user133
+ " E
polifemo:~# adduser
OK, I'm about to make a new account. Here's what you entered so far:
This is it... if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.
SINTAXIS
chsh [-s shell] [usuario]
! -s # ) : ) + 9 #
) # @# # @ adduser 2 + 6 @
/ ) llorente 9 /bin/csh
B /A 4)/ ) ) $ -sE
SINTAXIS
chfn [opciones] [usuario]
, E / @ ) @ A# )@ A# - !
B/ & # 9 ) -9 / # + @
+ # # @ adduser 6 E
SINTAXIS
who [opciones]
# @ who + # @ E /
@ / 9 @ ) @ 9
6 E
polifemo:~$ who
llorente ttyp0 Oct 22 10:18 (jmal.diesia.uhu.)
ggaleano ttyp2 Oct 22 11:13 (ggg.diesia.uhu.)
root ttyp1 Oct 22 11:03 (:0.0)
SINTAXIS
whoami
26 E
polifemo:~$ whoami
llorente
SINTAXIS
tty [opciones]
6 E
polifemo:~$ tty
/dev/ttyp1
3.6.4. Comando id
2 id / - < # : =;@ 4
/ + - < # :F =; 9 $
SINTAXIS
id [opciones]
6 E
polifemo:~$ id -a
uid=1000(llorente) gid=100(users) groups=100(users)
SINTAXIS
date [opciones]
6 E
polifemo:~$ date
Fri Oct 22 11:18:33 CEST 1999
&
SINTAXIS
date [opciones] [año [mes]]
6 E
polifemo:~$ cal
October 2000
Su Mo Tu We Th Fr Sa
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
SINTAXIS
exit
3.7.2. Comando su
2 su : ; @ 9
# / : ;
SINTAXIS
su [usuario]
! @ 6 )/ 9 6 E
polifemo:~$ su chus
Password:
polifemo:/home/llorente#_
D) 6 #A # $ @ ) -9
) 9 @ exit@ 9 + +
/ $
/ @ @- 9 / )
SINTAXIS
login [usuario [variables de entorno]]
SINTAXIS
write usuario[@host] [tty]
/ 6 9 9 @ # /
9 / @: a;
2 6 @- / 9 A $
: " 4 ; D @ 6 / -
6 @ llorente / chusE
SINTAXIS
mesg [y] [n]
! y@ @- n@ # @ mseg
:His yH @ His nH ;-
# $ :* @ ;
SINTAXIS
mail usuario[@host] [opciones]
2 6:C ;@ 4 " /6
@ + 9 / " 2 9
/6 ) / 4@ 4 : ) ;
9 Hsubject:H 2 6 4 9 < :.; 2
#
6 @ 6 a ) E
SINTAXIS
polifemo:~$ mail llorente@uhu.es
Subject: hola
Hola. Acabo de llegar.
Saludos.
.
EOT
SINTAXIS
expr expresión
0
, expresión : < ; - @
, 9 ) :
A ; / / 9 + #
, B/ expr 2"
A @ + - 6 , * # -
I + $ * # - 9 < * ,
$
0 ' (
+
- 1
*
/ =
% ' : ;
< ! I
<= !
= !
== ! : A =;
!= !
>= ! '
> ! '
| -% +
& #$ +
() #
= / 2 # substr cadena posición longitud@ - longitud
substr
posición cadena
length = + 2 # length cadena
= 2 # index cadena muestra@ -
index
cadena muestra
2 + E -%@ #$@ @
@
2 + 6 / CONTADORE
CONTADOR=`expr $CONTADOR + 1`
SINTAXIS
test expresión
2 $ if - while 9 /
+ ) : G "@ + ( ; )
# @ " 2 )
@ 9 / / E
SINTAXIS ALTERNATIVA
[ expresión ]
2 ) $9 H[H + @ test@
+ / $ / 6
) $9 - "
, / " + B/ % B 9 # #) @ # #)
# " D @ / " $ B/ 0 D
+ 6 E
• ! / " #) /tmp/stastus
• ! / 4$
• ! / < - 9 &
• ! / 3 3 & % #) : @ @ ;
• ! / 9 " @ -9 /
[ -f /tmp/status ]
[ "/" = `pwd` ]
[ `who | wc -l` -gt 5 ]
[ -d /tmp/a35627 -o -f /tmp/a35627 ]
[ \( $HOME = `pwd` \) -a \( ! $USER = root \) ]
$ who : + 0; /
%*
; 7
-r ruta ruta #) : ;
-w ruta ruta #) : /;
-x ruta ruta #) 6 : 6 ;
-f ruta ruta #) : @ @ @ ;
-d ruta ruta
-b ruta ruta / 9
-c ruta ruta
-L ruta ruta /
-s ruta ruta #) ? - 9
-O ruta ruta #) -
-G ruta ruta #) - +
ruta1 -ot ruta2 ruta1 #) + 9 ruta2
ruta1 -nt ruta2 ruta1 #) 9 ruta2
-z cadena cadena +
-n cadena cadena + - 9
cadena1 = cadena2 cadena1 + cadena2
cadena1 != cadena2 cadena1 # cadena2
número1 -eq número2 número1 < + número2
número1 -ne número2 número1 < # número2
número1 -gt número2 número1 < - 9 número2
número1 -ge número2 número1 < - + 9 número2
número1 -lt número2 número1 < 9 número2
número1 -le número2 número1 < + 9 número2
-5 ) "% test
0 ' (
! +
-a D = +
-o 1 +
# :) -9 $ \ + #
()
) ;
SINTAXIS
echo [opciones] mensaje...
6# / # @ / /
@- 9 / @ - echo 9 ) /
= A 6@ echo : $ 4 ; @
$ -n
5 + 6 / < @
) 6 9 ) -n
echo $ / 6 @ / PATHE
9 ( : &
-n 2 9 4 # 6
SINTAXIS
clear
%
SINTAXIS
reset
SINTAXIS
banner [opciones] mensaje
# ? - " -wtamaño 6 E
SINTAXIS
export [variable...]
%
# @ / # ) ) @- + 9
6 A ! ) 9 4 +
9 6
SINTAXIS
set
6 E
polifemo:~$ set
BASH=/bin/bash
BASH_VERSION=1.14.7(1)
EUID=1000
HISTFILE=/home/llorente/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/home/llorente
HOSTNAME=polifemo.diesia.uhu.es
HOSTTYPE=i386
HUSHLOGIN=FALSE
LOGNAME=llorente
LS_OPTIONS=--8bit --color=tty -F -b -T 0
OSTYPE=Linux
PATH=.:/usr/local/bin:/bin:/usr/bin:/usr/X11/bin:/usr/local/jdk/bin:/usr/openwin/bin:/usr/local
/pascalfc/bin:/usr/lib/teTeX/b
in:/usr/local/pgsql/bin
PGDATA=/usr/local/pgsql/data
PGLIB=/usr/local/pgsql/lib
PPID=27357
PS1=\h:\w\$
SHELL=/bin/bash
SHLVL=1
TERM=vt220
UID=1000
USER=llorente
SINTAXIS
alias [nombre='comando [opciones]']
%
$ 6 # @ / @ - # @
/ / + 4/ =: 6 ;-
9 # @ /
6 E alias dir='ls -al'
SINTAXIS
sleep tiempo[unidad de tiempo]
26 E) * + E sleep 10
SINTAXIS
time [opciones] comando [argumentos del comando]
6 E
3.12.3. Comando at
2 6 )
SINTAXIS
at [opciones] comando [argumentos del comando]
2 + 6 6 + jesus1 ? / E
%&
SINTAXIS
man [sección] tema...
, $ ) less@ 9 $
$ "
2 # @ #) @# + 6 !@ #
+ 6@ B # 9A
@ 6 @ #
mount # # ! mount() 2 9 $
9A 9 9 , #
< 6 E
# @ man / - 9
+ # + @ man /
, E
• 0E
• E
• E + 6!
SINTAXIS
whatis [opciones] tema...
%
6 E
polifemo:~$ whatis ls
ls, dir, vdir (1) - list contents of directories
ls-R (5) - database for common TeX input files
2 @ $9 @ 6 9 :man;@
@- )@ / D + 9
@ # whatis less
SINTAXIS
whatis [opciones] tema...
%%
apropos D- ' #
at ! 26 )
banner 2
cal # '
cat #) #) : ;
chfn " D ! /
clear 2 >
cmp #) > # #)
comm #) 4 - #)
date # 5 $ / # ) -)
df & = @ - /
echo " 2 2 / 6
exit ! . $ )
export ' 6 / 9 / ) +
find #) > #)
grep #) ' 4 #) 9
halt " D =
id # < # : =; -+ :F =;
kill & ! 2 ?
less ) * #) ' #) + @
logout ! . $ )
lpr #) 2 4 #)
mail ! 2 4 6
man D- 5 +
mesg ! D 6
more #) ' #) )
mount = '
mv ' 6#) ! / / -3 #) : ;
passwd ( D ! /
ps ! ,
reboot D + -
reset 2 1 -/
shutdown " ( D +
sleep !
sort #) 4 #)
su ! 2 @
test ! ! /
time ! ! 9 6
top ! '
tty ' # /
umount = =
%(
wc ( #) ! < 4 @ / - #)
who (" # , 9
whoami (" O # = /
write ( ! 2 4 6
chfn " D ! /
halt " D =
passwd ( D ! /
reboot D + -
shutdown " ( D +
apropos D- ' #
man D- 5 +
test ! ! /
mail ! 2 4 6
mesg ! D 6
write ( ! 2 4 6
kill & ! 2 ?
ps ! ,
top ! '
exit ! . $ )
login ! 2 )/
logout ! . $ )
su ! 2 @
at ! 26 )
sleep !
time ! ! 9 6
df & = @ - /
mount = '
umount = =
banner 2
0
echo " 2 2 / 6
reset 2 1 -/
cal # '
date # 5 $ / # ) -)
id # < # : =; -+ :F =;
tty ' # /
who (" # , 9
whoami (" O # = /
mv ' 6#) ! / / -3 #) : ;
export ' 6 / 9 / ) +
cat #) #) : ;
cmp #) > # #)
comm #) 4 - #)
find #) > #)
grep #) ' 4 #) 9
less ) * #) ' #) + @
lpr #) 2 4 #)
more #) ' #) )
0
uniq I #) ' #) 4 + +
wc ( #) ! < 4 @ / - #)
/ 3 % "% = "& 4
0
4. Editores de texto
2 , " - " 5 / @
, "E
• C E $ 9 $ / 9 7, <
=2 > H H
• E -+ @ - " D # /6 + #
• E / 6@ 9 :
9 9 ;
• ( E + =2 >
H H @9 + - $
• ( E + # / 6 CG 7 (
SINTAXIS
joe [opciones] [fichero]
, - 4 / 9 $ C #
6 @ M!6 : - !@ - + 6; C -
/ / ) 6 @
M; : - ;; / 4 #)
, B/ & / 9 $ C
! ' ) ' (
^KD D ) F #)
^KE D ) ! + #)
^KB > 9 ' / 9
^KC > 9 ! / 9
^KK > 9 ' # / 9
^KM > 9 ' / 9
^KR > 9 )
^KW > 9 F / 9 #)
^KY > 9 > / 9
^KF >< 9 # " / #)
0
! ' ) ' (
^L >< 9 1 < /< 9 $ :/ + ;
5 ) < / ) ) : ? @ ^' :
^^ 2
#; 2 " 4 / / #
= ) < / 2 " 4 / /
^_ 2
#
^D 2 > )
^O 2 > / $9
^W 2 > / )
^Y 2 > 4
Del 2 > $9
^A ' ' 4
^E ' ' # 4
^KL ' ' < 4 9
^KU ' ' #)
^KV ' ' # #)
^U ' 1 +
^V ' D $ +
^X ' ' / )
^Z ' ' / $9
^C 5 B - "
^KH 5 ' - /
^KX 5 F #) @ - "
^KZ 5 " 6 : exit;
D < #+ @9 / @
^T 5
@ / @ ? / @ + @
#) ~/.joerc # @ @
- - : / ; $ )
/usr/lib/joe/joerc
SINTAXIS
emacs [fichero]
0&
D+ / 9 $ #
6 @ M66 : - 6@ - + 6;
- @ 9 M. / ) 6 @ M
: - ; 4 B /A ) - / 9 $
. @ + / $ +
6 @ 2: - + 2;
! ' ) ' (
^X^F D ) ! + #)
^X^R D ) ! + #) @
^X^S D ) F #)
^X^W D ) F #) /
^XN D ) F #) /
^Espacio > 9 ' / 9
^W > 9 2 / 9
^X^I > 9 )
^Y > 9 + < / 9 :/ +< ;
Escape w > 9 ! / 9
^R >< 9 > )
^S >< 9 >
^XR >< 9 1 /< 9 )
^XS >< 9 1 /< 9
Escape ^R >< 9 > - $ #
Escape r >< 9 > - $: + ;
^D 2 > )
^K 2 > ) # 4
^T 2 / 9 +
^X^T 2 / 4 9 +
Escape c 2 -<
Escape d 2 > / )
Escape l 2 / < : ;
Escape t 2 / / / 9 9 +
Escape u 2 / -< : ;
^A ' 4
^B ' ' $9 :←;
^E ' # 4
^F ' ' ) :→;
^N ' ' / 6 :↓;
^P ' ' / :↑;
B /6 / 9 @ / 9 ^Espacio@ # @- <
# + / 9 @ 6 @ ^W / / 9
0
! ' ) ' (
^V ' D +
^X] ' D +
Escape : ' : 4 ;
Escape ; ' . :< 4 ;
Escape a ' 4
Escape b ' ' / $9
Escape f ' ' / )
Escape v ' 1 +
^X^C 5 B
^X^U 5 = ) < /
^XB 5 ! / : ) ;
^XX 5 ! / + : ) ;
Escape ^N 5 ! / /
Escape z 5 F #) -
2 /< 9 @ / / @ $ /< 9 :
HI ; , /< 9 $ 9 A)
/ 2 B/ &
0 -
^G !
? /
. - @
, : ;
y -/ +
Espacio -/ + :+ 9 y;
n -/ +
# Escape - < @ -
6
) .emacs " #
# < /6 /6 + #
$ @ $ # A " 2 / @
" + # . @ + 9 " /
"
0%
4.3. Editor vi
" 2 / #4 6@
9 9 9 9 2 , "@
# + @ ) ? / ) @ @
' C= 3G 7 # + 2
@ @ / #) 9 9
SINTAXIS
vi [fichero]
# E " @ - =
9 / , .+ #
:sh Escape
exit ^D a i A I O
? ' " % &
• 2 " / - 6 ) $ @ )
) @ 6 +< @- + exit
• 2 /6 " E @ 4 / @
/ 4 @ 4 @ / / @ ) 3) @ / " @ + @ @ ,
+ : + -< - < ;
/ / +< 4 / @ 6 @ ::;
• 2 = ? " @
, B / && 9 $
! ' ) ' (
:w D ) F #)
:w fichero D ) F #) / fichero
^G D ) ' # / #) 9
##Y > 9 ! 4 - ##71 + : P p;
:r fichero > 9 #) fichero
p > 9 < / 9 / :dd; :Y; + 4
P > 9 < / 9 / :dd; :Y; 4
##G >< 9 4 < PP@ PP 9 <
00
! ' ) ' (
/patrón/ >< 9 " =
:## >< 9 4 < ##
?patrón? >< 9 =
n >< 9 1 < /< 9
N >< 9 1 < /< 9 @
~ 2 ! / / -< < @
a 2 @ ) : ;
A 2 @ # 4 : ;
C 2 2 4 ) - : ;
cw 2 2 / ) - : ;
D 2 > ) # 4
dd 2 > 4 : ;
dw 2 > ) ) # /
i 2 @ 6 : ;
I 2 @ 4 : ;
J 2 4 +
o 2 @ 4 + : ;
rx 2 1 $ / x
x 2 > ) : / ;
X 2 > $9 : ;
:w . ) F #)
- ' 4
$ ' # 4
^B ' 1 +
^D ' D +
^E ' D 4 :↓;
^F ' D +
^U ' 1 +
^Y ' 1 4 :↑;
+ ' 4 +
0 (cero) ' ' ) 4
b ' 1 /
B ' 1 / @ + /
Delete ' 1 :←;
e ' ' ) # /
E ' ' ) # / @ + /
Enter ' 4 +
Espacio ' D :→;
H '
0(
! ' ) ' (
L ' #
M '
w ' D $ / +
W ' D $ / + @ + /
z ' ! 9 9
z. ' !
:!comando ) 26 comando )
:sh ) ) 9 6 :exit + ;
:q 5 D/
:q! 5 D/ + /
:set 5 '
:set all 5 '
:wq 5 F #) -/
:x 5 F #) -/
u 5 = ) < /
U 5 1) < / ) )
B < @ 9 ) 9
< 6 @ 3dd / 4 $@ 23P + < " / @
, /< 9 $ :.; 4 9 /
/ H\H 6 @ / Hetc.H / / +
E H3etc\.H
#+ @9 :set 2
/A / 6 @ C
H:set aiH H:set autoindentH@ - @ H:set noaiH H:set noautoindentH
9 HnuH : HnumberH;@ 9 < 4 $9 2
set /
, /A / ) #+ @ "
2 #) / H.exrcH - / vi 6 E
.exrc
set autoindent autowrite report=2 showmatch
• , & E 6 / 9 @ @
(*
• E $ # +
• 7 & & E 4 -
• / ' E )/ $E 6 @ /6
: / ;@ @
) # 2 + $ 9
C -9 > ' C= @ <
2" + # : CG 7; ( @ A ( @ ,
.+ (
? $ "& & @
( /6 /6 + # @ 9 $ A "
+< " + # . @ @ @ /6
/ 6 .7( (
(
5. Scripts en bash
, ) @ @ + # /
@ ) # E " 7 @ @ @ #)
: "; ' C= :# ) Q9 ;@ )
D @ $ ) 4 +
E @ @
, A + : ;@ - /
D+ 4#
9 +0:1- 1 2
2 ) #) " " 4 #) I A < " @
9 #) " - 6 / +@ +< 9
" @ 6 + :/ ; 2 4 /
E @ @ ? @ 4/ @ @
2 + 6 9 $ E # )@
- F #) / ejemplo_basicoE
ejemplo_basico
date # MUESTRA LA FECHA
cal # MUESTRA UN CALENDARIO DE ESTE MES
who # MUESTRA LA LISTA DE USUARIOS CONECTADOS
2 6 + E
polifemo:~$ ./ejemplo_basico
Tue Oct 26 10:05:15 CEST 1999
October 1999
Su Mo Tu We Th Fr Sa
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
hans ttyrc Oct 26 09:52 (192.168.1.14)
javier ttyp4 Oct 26 09:49 (192.168.1.29)
amg ttyr9 Oct 26 09:51 (192.168.1.19)
jupamodo ttyrd Oct 26 10:00 (192.168.1.11)
/ $ / ) # "/ D /
9 - @ / $ E
(
• , /
• $
• 5 /
$ read@ + "E
SINTAXIS
read variable
variable / / : N; 6 E
ejemplo_read
echo Escriba algo:
read ALGO
echo Ha escrito lo siguiente: \"$ALGO\"
polifemo:~$ ./ejemplo_read
Escriba algo:
En un lugar de la mancha...
Ha escrito lo siguiente: "En un lugar de la mancha..."
, $ G9
F, R : + ( ; @
+ / $ E
• $!E = < 6 + 6 E
ejemplo_pid
sleep 3 & # Ejecuta algo en segundo plano
echo El proceso anterior tiene PID $!
ps # Muestra los PID de todos los procesos, para poder comparar
polifemo:~$ ./ejemplo_pid
El proceso anterior tiene PID 7515
PID TTY STAT TIME COMMAND
6650 r8 S 0:00 -bash
7514 r8 S 0:00 -bash
7515 r8 S 0:00 sleep 3
7516 r8 R 0:00 ps
• $?E < 6 ! + @
@9 < + # @ O
+< @ ' ) $ ,
< # / 26 E
ejemplo_test
test 0 -eq 1 # Debe terminar con error
echo $?
(
polifemo:~$ ./ejemplo_test
1
0
2 / /A $ 4 : ;@
/
) 9 2 exit :9
) ) ) ; @
, " E
SINTAXIS
exit [estado]
estado < 9 # $ @9 / * -
: $ <
; estado@ *2 + 6
%E
ejemplo_exit
echo Hola
exit 17
echo Esto nunca se escribe!!!
6 - $ + @ / 9 # +
6 @ -9 %E
5.2. Parámetros
, + # /
/ B/ &
(
/2 7 "" )% &
: 6 @ $4 )- ;@
4
2 shift ) :N ; - $
@ 9 N N@ N N@ - 4 2
$
5 6 - shift + @9
ejemplo_parE
ejemplo_par
echo Hay $# argumentos, que son: $*
echo Argumentos 1, 2 y 3:
echo $1 $2 $3
shift
echo Argumentos 2, 3 y 4:
echo $1 $2 $3
, + 6 6 E
polifemo:~$ ./ejemplo_par A B C D E
Hay 5 argumentos, que son: A B C D E
Argumentos 1, 2 y 3:
A B C
Argumentos 2, 3 y 4:
B C D
(&
SINTAXIS
for variable in conjunto
do
comandos
done
variable / / : N; conjunto 6 9 +
/ $ # 6 / #) : *.txt;@
6 : $*;@ $ / : *.txt $1 fichero1 palabra1 /tmp/*.c;
. comandos 4 9 6 6 E
) @) #) -# ) E
ejemplo_for
for I in $*
do
clear
echo Contenido del fichero $I
echo ---------------------------------------------
cat $I
sleep 1
done
2 / : do - done; + +
E
• breakE / @ 9 6 <
done :+ 9 & !;
• continueE + # : + done;@
# 9 " 9 6 + /
:+ 9 !;
SINTAXIS
while condición
do
comandos
done
(
ejemplo_while
NUM=1
while [ $NUM -le 30 ]
do
echo $NUM
NUM=`expr $NUM + 1`
done
• false ) @ : *;
• breakE / @ 9 6 <
done :+ 9 & !;
• continueE + # : + done;@
# 9 " 9 6 :+ 9
!;
SINTAXIS
until condición
do
comandos
done
2 # A (" @ " 9 /
A 6 if : ;
SINTAXIS
if condición
then
comandos
[else
(%
comandos_alternativos]
fi
ejemplo_if
TAMANO=`wc -w <$1` # Numero de palabras
NUMERO=-1 # Iniciamos de manera que entre en el bucle
SINTAXIS
case expresion in
valor1) comandos1
comandos1;;
[ valor2) comandos2
comandos2;;]
...
[ *) otros_comandos
otros_comandos;;]
esac
expresión 9 9A 6 2 / /
9 valor1@ valor2@ 2 9
+ @ 6 ) H)H - 4 )
H;;H + @- " *)@ 6
)
! < 6 @ HZ
H@ -
" 9
(0
2 + 6 < 6 #)
# @ @/ @
ejemplo_case
while true
do
echo OPCIONES
echo --------
echo L - listar información del fichero $1
echo V - visualizar contenido del fichero $1
echo E - editar fichero $1
echo R - borrar fichero $1
echo A - Abortar
echo
echo -n "Selecciona una opción: "
read OPCION
clear
case $OPCION in
L) ls -l $1;;
E) vi $1;;
V) more $1;;
R) rm -f $1
break;;
A) break;;
l|e|r|a|v) echo Debes escribir la opción en mayúsculas.;;
*) echo Esa opción no existe;;
esac
done
5 6 6 + $ –vE
script cuenta
I=$1
while [ $I -gt 0 ]
do
echo $I
I=`expr $I - 1`
done
polifemo:~$ set -v
polifemo:~$ cuenta 5
cuenta 5
I=$1
while [ $I -gt 0 ]
do
echo $I
I=`expr $I - 1`
done
5
((
expr $I - 1
4
expr $I - 1
3
expr $I - 1
2
expr $I - 1
1
expr $I – 1
2 + W @ $ W"@ 9 9 6 E
polifemo:~$ set +v
set +v
polifemo:~$ set -x
polifemo:~$ cuenta 5
+ cuenta 5
++ I=5
++ [ 5 -gt 0 ]
++ echo 5
5
+++ expr 5 - 1
++ I=4
++ [ 4 -gt 0 ]
++ echo 4
4
+++ expr 4 - 1
++ I=3
++ [ 3 -gt 0 ]
++ echo 3
3
+++ expr 3 - 1
++ I=2
++ [ 2 -gt 0 ]
++ echo 2
2
+++ expr 2 - 1
++ I=1
++ [ 1 -gt 0 ]
++ echo 1
1
+++ expr 1 - 1
++ I=0
++ [ 0 -gt 0 ]
, " &
~/.bash_profile 6 $9 @ bash ) #
6 $9 @ bash ) # @ -
~/.bash_login
" ~/.bash_profile
6 $9 @ 9 ) # : ) bash@
~/.profile
6 .profile " ~/.bash_profile ~/.bash_login;
/etc/profile 6 $9 @ bash ) #
6 $9 6 bash : ;
~/.bashrc
su
6. Bibliografía complementaria
6.1. Libros de Sistemas Operativos y UNIX
R= ( S = @ ' @ U &% & $A "0 V@ D CG -@ ((
R' 00S ' 8 @ ' @ U &% < & 1 " & > B V@ ' F 7C @ (00
R' 0(S ' + @ 1 @ ' F @ @U & ""0 &% 7V@ ' F 7C @ (0(
R> ( S > @ 5 b@ U D & "0 = % & "0 > &% V@ 1DC' D@ (( : 0 * , ";
RG ( S G )@ ' @ ` # @ , @ U3 V@ c
1 -@ (( : 0 * , ";
R!) ( S !) @`@U V@ # @ (( : 0 * ;
&%
R ( S @` @>@U > &% %% V@ D CG -@ (( : 0 * ;
R ( S ) $@ @ U D 4 V@ 1DC' D@ (( : 0 * ;