Unix - Hour 8

Filters and Piping

 

8.1.1) Created a file called testme.
internet$ touch testme
8.1.2) Displayied permission information about the file just created. Redirected the
       result of command ls -l to this file and displayied permission information again.
internet$ ls -l testme
-rw-r--r--   1 spantaro students        0  Jun  2 17:03 testme
internet$ ls -l > testme
internet$ ls -l testme
-rw-r--r--   1 spantaro students     1342  Jun  2 17:04 testme
internet$ 
8.1.3) Used redirecttion to display the content of the file.
internet$ cat < testme
total 28
-rwx------   1 spantaro students     1373  May 22 23:42 README
-rw-r--r--   1 spantaro students     1373  May 30 17:08 READMES
drwx------   2 spantaro students     1024 May  9 16:50 bugTrack
drwx------   2 spantaro students     1024 Apr 13 11:18 cis316
drwx------   3 spantaro students     2048 Sep 19  2000 cis325
drwx------   2 spantaro students      512 Oct  4  2000 cis327
drwx------   2 spantaro students     1024 Apr 16 23:10 cis328
drwx------   2 spantaro students      512 Sep 19  2000 cis377
drwx------   2 spantaro students      512 May 16 17:20 cis396q
-rwxr-xr-x   1 spantaro students        0  May 30 13:08 example
drwx------   2 spantaro students      512 Sep 19  2000 m13com
drwx------   2 spantaro students      512 Sep 19  2000 m1feedback
-rwxr-xr-x   1 spantaro students        0  May 30 10:53 my.new.cmd
-rw-r--r--   1 spantaro students       90  May 28 13:04 new.login
-rw-r--r--   1 spantaro students        0  May 22 23:44 newfile
drwx------   2 spantaro students     1536 Apr 28  2000 prokids
drwx------   2 spantaro students      512 Mar 30 13:06 public-web
-rwxr-xr-x   1 spantaro students       62  May 30 18:35 say.hi
-rw-r--r--   1 spantaro students     7907  May 22 16:59 sort.manpage.Z
d--x------   3 spantaro students      512 May 28 13:58 testdir
-rw-r--r--   1 spantaro students        0  Jun  2 17:04 testme
internet$ 
8.1.4) appended the result of another command to the file testme and listed the
       content using redirection.
internet$ ls -FC >> testme
internet$ cat < testme
total 28
-rwx------   1 spantaro students     1373  May 22 23:42 README
-rw-r--r--   1 spantaro students     1373  May 30 17:08 READMES
drwx------   2 spantaro students     1024 May  9 16:50 bugTrack
drwx------   2 spantaro students     1024 Apr 13 11:18 cis316
drwx------   3 spantaro students     2048 Sep 19  2000 cis325
drwx------   2 spantaro students      512 Oct  4  2000 cis327
drwx------   2 spantaro students     1024 Apr 16 23:10 cis328
drwx------   2 spantaro students      512 Sep 19  2000 cis377
drwx------   2 spantaro students      512 May 16 17:20 cis396q
-rwxr-xr-x   1 spantaro students        0  May 30 13:08 example
drwx------   2 spantaro students      512 Sep 19  2000 m13com
drwx------   2 spantaro students      512 Sep 19  2000 m1feedback
-rwxr-xr-x   1 spantaro students        0  May 30 10:53 my.new.cmd
-rw-r--r--   1 spantaro students       90  May 28 13:04 new.login
-rw-r--r--   1 spantaro students        0  May 22 23:44 newfile
drwx------   2 spantaro students     1536 Apr 28  2000 prokids
drwx------   2 spantaro students      512 Mar 30 13:06 public-web
-rwxr-xr-x   1 spantaro students       62  May 30 18:35 say.hi
-rw-r--r--   1 spantaro students     7907  May 22 16:59 sort.manpage.Z
d--x------   3 spantaro students      512 May 28 13:58 testdir
-rw-r--r--   1 spantaro students        0  Jun  2 17:04 testme
README*         cis327/         m13com/         prokids/        testme
READMES         cis328/         m1feedback/     public-web/
bugTrack/       cis377/         my.new.cmd*     say.hi*
cis316/         cis396q/        new.login       sort.manpage.Z
cis325/         example*        newfile         testdir/
internet$
8.2.1) Showed in three diferrent ways how to list total of lines, words and characters
       of a file.
internet% wc testme
      27     212    1545 testme
internet% wc < testme
      27     212    1545
internet% cat testme | wc
      27     212    1545
internet%
8.2.2) Displayied just total of words when flag -w was used , total of lines when
       -l flag was used, and showed the result for combination of these flags.
       The order is always fixed. First lines, then words, and the characters no mather
       how they are arranged.
internet% wc -w testme
     212 testme
internet% wc -l testme
      27 testme
internet% wc -lw testme
      27     212 testme
internet% wc -wl testme
      27     212 testme
internet% wc testme
      27     212    1545 testme
internet%
8.2.3) Used pipe to redirect the first command to the second one. This showed how many
       files are in the current directory. The book says that ls lists each file in a
       new line, but this did not occurred. However the result obtained does show the
       total of files somehow.
internet% ls | wc -l
      22
internet% ls
README           cis328           my.new.cmd       sort.manpage.Z
READMES          cis377           new.login        testdir
bugTrack         cis396q          newfile          testme
cis316           example          prokids          visible.ps_data
cis325           m13com           public-web
cis327           m1feedback       say.hi
internet%                                  
8.2.4) Showed the total of people currently connected once the result of the first command
       lists one person per line.
internet% who | wc -l
       5
internet% who
root       console      May 24 13:01    (:0)
clamm      pts/4        Jun  2 16:22    (user-uini6p4.dsl.mindspring.com)
spantaro   pts/8        Jun  2 16:41    (dhcp26-223.ggu.edu)
vochoa     pts/14       May 22 16:28    (pool54-80.ggu.edu)
root       pts/7        May 24 13:02    (:0.0)
internet%
8.2.5) This showed the total of lines of the file and not exactly the number of accounts
       are on the computeras suggested by the book.
internet% cat /etc/passwd | wc -l
      25
internet% cat /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
lanman:x:100:11:SunLink Server account:/opt/lanman:/bin/false
lmxadmin:x:10869:11:SunLink Server Administrator:/var/opt/lanman/lmxadmin:/bin/sh
lmxguest:x:10870:11:SunLink Server GUEST Login:/home/lmxguest:/bin/false
lmworld:x:10871:11:SunLink Server World Login:/home/lmworld:/bin/false
www:x:97:23:WWW Server:/web/iplanet:/usr/bin/rksh
melvin:x:10872:10::/export/melvin:/usr/local/bin/bash
iac:x:99:10:Infotrac Client Software:/usr/local/iac:/usr/bin/ksh
infotrac:x:95:10:Infotrac Login:/usr/local/infotrac:/usr/bin/ksh
keith:x:11840:1::/home/keith:/bin/sh
mysql:x:12021:602::/home/mysql:/bin/sh
templaw:x:12194:1::/home/templaw:/bin/sh
usrqt2:x:12197:1::/home/usrqt2:/bin/sh
usrqt3:x:12198:1::/home/usrqt3:/bin/sh
internet% 
8.4.1) Lists files in a case-sensitive manner
internet% ls -1F
README*
READMES
TEST
bugTrack/
cis316/
cis325/
cis327/
cis328/
cis377/
cis396q/
example*
m13com/
m1feedback/
my.new.cmd*
new.login
newfile
prokids/
public-web/
say.hi*
sort.manpage.Z
test
testdir/
testme
visible.ps_data
internet%
internet% ls -1 | sort -f
bugTrack
cis316
cis325
cis327
cis328
cis377
cis396q
example
m13com
m1feedback
my.new.cmd
new.login
newfile
prokids
public-web
README
READMES
say.hi
sort.manpage.Z
TEST
test
testdir
testme
visible.ps_data
internet% 
8.4.2) The file testme was displayied sorted in the screen.
internet% sort testme
-rw-r--r--   1 spantaro students        0  Jun  2 17:04 testme
-rw-r--r--   1 spantaro students        0  May 22 23:44 newfile
-rw-r--r--   1 spantaro students       90  May 28 13:04 new.login
-rw-r--r--   1 spantaro students     1373  May 30 17:08 READMES
-rw-r--r--   1 spantaro students     7907  May 22 16:59 sort.manpage.Z
-rwx------   1 spantaro students     1373  May 22 23:42 README
-rwxr-xr-x   1 spantaro students        0  May 30 10:53 my.new.cmd
-rwxr-xr-x   1 spantaro students        0  May 30 13:08 example
-rwxr-xr-x   1 spantaro students       62  May 30 18:35 say.hi
README*         cis327/         m13com/         prokids/        testme
READMES         cis328/         m1feedback/     public-web/
bugTrack/       cis377/         my.new.cmd*     say.hi*
cis316/         cis396q/        new.login       sort.manpage.Z
cis325/         example*        newfile         testdir/
d--x------   3 spantaro students      512 May 28 13:58 testdir
drwx------   2 spantaro students      512 Mar 30 13:06 public-web
drwx------   2 spantaro students      512 May 16 17:20 cis396q
drwx------   2 spantaro students      512 Oct  4  2000 cis327
drwx------   2 spantaro students      512 Sep 19  2000 cis377
drwx------   2 spantaro students      512 Sep 19  2000 m13com
drwx------   2 spantaro students      512 Sep 19  2000 m1feedback
drwx------   2 spantaro students     1024 Apr 13 11:18 cis316
drwx------   2 spantaro students     1024 Apr 16 23:10 cis328
drwx------   2 spantaro students     1024 May  9 16:50 bugTrack
drwx------   2 spantaro students     1536 Apr 28  2000 prokids
drwx------   3 spantaro students     2048 Sep 19  2000 cis325
total 28
internet% 
8.4.3)
internet% ls -s |sort -n
   0 TEST
   0 example
   0 my.new.cmd
   0 newfile
   0 test
total 40
   1 bugTrack
   1 cis316
   1 cis327
   1 cis328
   1 cis377
   1 cis396q
   1 m13com
   1 m1feedback
   1 new.login
   1 public-web
   1 say.hi
   1 testdir
   2 README
   2 READMES
   2 cis325
   2 prokids
   2 testme
   8 sort.manpage.Z
  10 visible.ps_data
internet%   
1