User Tools

Site Tools


opus:fall2011:cforman:part1

Part 1

Entries

August 29, 2011

Today is the start of the best class of the semester. We began to study basic Unix commands and began to discover the magic behind the commands. We learned some pretty useful commands:

  ls - this allowed us to see all the files inside of a directory
  who - shows who is logged onto the lab 46 terminal
  screen -r  -  this allows us to reconnect to our class chat
  ctr -a tapD - this allows us to leave our chat without closing it.

Right now the whole Unix setting doesn't make any sense but soon I hope to have a better understanding of it. The challenges I may face are basically keeping track of my time and remembering commands.

September 20, 2011

Today we played with a new web browser and worked on our opus and first project “ Filesystem Safari”. We got a lot of help with our opus and I am finally able to start editing due to the fact that I had no idea how to edit one. At this point in time my biggest challenge will be keeping up with my opus and coming up with projects. I have really bad time management and need to start doing better with these areas.

September 27, 2011

We learned today how to script using for-loops. We learned a few commands today.

    cut - which allows the removal
    -d'' - this is the delimiter. within the single quotes you place the delimiter which is the 
                  - seperater withing what your looking at. 
                            - ex filename.extension  -d'.' makes it so that the delimiter is the "."   
    --output-delimiter="..."   - this changes the delimiter so that if needed you 
                  - can change it to coincide with other O.S.

we also learned about fields. A field is the part that you are looking at. When combined with a delimiter you can select certain field designated by the delimiter.

these three things in combination within a script allow for the echo of something cut out by selecting the field designated by a delimiter.

For now luckily I am understanding everything but my biggest challange with this course is time management.

September 29, 2011

Today we learned about ii which is also called irc improved. Using this we are able to create a bot.

We also spent a small amount of time playing with a very old Toshiba Satellite that ran on ms-dos and Windows 3.11; unfortunately it was broken at first but we fixed it by dropping it.

We explored bot programming and learned how to give our bots commands and have it take action on those commands.

One funny thing that happened was Wedges bot William thought we were flooding the irc chat when we tried to all activate our bots and it banned us all. even our teacher got banned thus proving we may have invented sky-net.

One concept that is eluding me is that a bot can be random like Wezlbot but has to be programmed to respond and I wish to learn how to make it random. <(^^,)>

Topics

Local host

The local host is the person or main page of whats running. If it is a website the local host will take you to the main page. In the lab 46 terminal we work on there are many users but the local host is the lab 46 terminal because it is hosting us as the users.

Remote Host

A remote host is something that allows the access of files or data from a distant location. Say you have a server with all your info and you go to access it from your home computer and retrieve the data. the server is the local host.

Home Directory

The home directory is the main start up of a UNIX terminal. It is where you start once you log on. This is usually your directory that you can edit yourself and change restrictions of the material to others.

lab46:~$ pwd
/home/cforman
lab46:~$ whoami
cforman
lab46:~$

This shows where I am … that is the home directory within my section. cforman means i can edit there making me the owner of that directory.

Working Directory

The working directory is the space that you are in. IT has a hierarchy system to it. there is one main directory and multiple directories within it. The directory you are in is the working directory. This can be seen using the pwd command.

lab46:~$ pwd
/home/cforman

Regular Files

In Linux everything is a file. There are three types of files.

The first type is regular. This is the normal files that you edit with text. they can be edited using nano or vi.

Directory

The second type of file is a directory. This is more like a folder in Windows. You can store regular files and special files within the directory file. You can enter the directory file by using the command “cd 'directoryname'” Directories are colored blue on the terminal.

lab46:~$ cd tmp
lab46:~/tmp$ ls
file  haha  hola  killyou  mwajajaja  testsubject
lab46:~/tmp$

tmp is a directory and there are files within it.

Special Files

Special files are the third type of file. This file is not text nor is it a directory. this is an executable files usually. It allows interaction with the hardware of the computer to complete a certain function. A text file can be turned into a special file by using the command, “ chmod u+x filename”

listing files

Simply what it says. listing files is using a command to display the files in a directory. the command ls or ls -l are the most used listing commands.

lab46:~$ ls
Maildir  cake    irc   public_html     src       tmp
bin      closet  motd  shellscripting  src.orig  vitest
lab46:~$ ls -l
total 12
lrwxrwxrwx 1 cforman lab46   17 Aug 28 10:37 Maildir -> /var/mail/cforman
drwxr-xr-x 2 cforman lab46  124 Sep 29 16:49 bin
-rw-r--r-- 1 cforman lab46    3 Sep  6 16:21 cake
drwxr-xr-x 2 cforman lab46   69 Sep 15 16:11 closet
drwx------ 4 cforman lab46   39 Sep 29 14:55 irc
-rw-r--r-- 1 cforman lab46 1310 Sep 15 15:13 motd
drwx-----x 2 cforman lab46    6 Aug 26  2009 public_html
drwxr-xr-x 2 cforman lab46    6 Sep 22 15:21 shellscripting
drwx------ 2 cforman lab46    6 Sep  6 14:31 src
drwx------ 4 cforman lab46   45 Sep  4 21:29 src.orig
drwxr-xr-x 2 cforman lab46   97 Sep 30 23:06 tmp
-rw-r--r-- 1 cforman lab46   23 Sep 15 14:54 vitest
lab46:~$

ls is a basic listing of the files in a directory. ls -l shows the permisions, owner, size, last edited time, name of the files.

Copy Files

There are many ways to copy a file. you can “echo $filename | 'other file'”, you can “cat 'filename' | 'anotherfilename'” or you can just “cp 'filename' 'newfile'” all three ways work.

Removing files

This is easily done using the rm command a variation of rm “rmdir” allows for not just the removal of a file but a whole directory.

lab46:~$ ls
Maildir  cake    data  motd         shellscripting  src.orig  vitest
bin      closet  irc   public_html  src             tmp
lab46:~$ touch testfiel
lab46:~$ ls
Maildir  cake    data  motd         shellscripting  src.orig  tmp
bin      closet  irc   public_html  src             testfiel  vitest
lab46:~$ mkdir testdirectory
lab46:~$ ls
Maildir  closet  motd            src            testfiel
bin      data    public_html     src.orig       tmp
cake     irc     shellscripting  testdirectory  vitest
lab46:~$ rm testfiel
rm: remove regular empty file `testfiel'? y
lab46:~$ rmdir testdirectory
lab46:~$ ls
Maildir  cake    data  motd         shellscripting  src.orig  vitest
bin      closet  irc   public_html  src             tmp
lab46:~$

Creating Files

As seen above the commands mkdir makes directories and the command touch creates files. Files also can be created by opening the VI and saving the data inputted with a name and VI will create the file within the directory you were.

Ownership of Files

Ownership of a file is shown when the command ls -l is used.

lab46:~$ ls -l
total 16
lrwxrwxrwx 1 cforman lab46   17 Aug 28 10:37 Maildir -> /var/mail/cforman
drwxr-xr-x 2 cforman lab46 4096 Oct  6 16:22 bin
-rw-r--r-- 1 cforman lab46    3 Sep  6 16:21 cake
drwxr-xr-x 2 cforman lab46   69 Sep 15 16:11 closet
lrwxrwxrwx 1 cforman lab46   27 Oct  4 14:36 data -> /usr/local/etc/data/cforman
drwx------ 4 cforman lab46   39 Sep 29 14:55 irc
-rw-r--r-- 1 cforman lab46 1310 Sep 15 15:13 motd
drwx-----x 2 cforman lab46    6 Aug 26  2009 public_html
drwxr-xr-x 2 cforman lab46    6 Sep 22 15:21 shellscripting
drwx------ 2 cforman lab46    6 Sep  6 14:31 src
drwx------ 4 cforman lab46   45 Sep  4 21:29 src.orig
drwxr-xr-x 2 cforman lab46   97 Sep 30 23:06 tmp
-rw-r--r-- 1 cforman lab46   23 Sep 15 14:54 vitest
lab46:~$

The name of the user who created the file will show up in the line produced by the ls -l command.

Objectives

Objective 1

I would like to test my ability to use and understand information displayed by the ls and ls -l commands.

Method

I will enter the lab46 terminal and test my ability to see the files and then use the -l extension to elaborate on the information given by the ls command.

Measurement

lab46:~$ ls -l
total 16
lrwxrwxrwx 1 cforman lab46   17 Aug 28 10:37 Maildir -> /var/mail/cforman
drwxr-xr-x 2 cforman lab46 4096 Oct  6 16:22 bin
-rw-r--r-- 1 cforman lab46    3 Sep  6 16:21 cake
drwxr-xr-x 2 cforman lab46   69 Sep 15 16:11 closet
lrwxrwxrwx 1 cforman lab46   27 Oct  4 14:36 data -> /usr/local/etc/data/cforman
drwx------ 4 cforman lab46   39 Sep 29 14:55 irc
-rw-r--r-- 1 cforman lab46 1310 Sep 15 15:13 motd
drwx-----x 2 cforman lab46    6 Aug 26  2009 public_html
drwxr-xr-x 2 cforman lab46    6 Sep 22 15:21 shellscripting
drwx------ 2 cforman lab46    6 Sep  6 14:31 src
drwx------ 4 cforman lab46   45 Sep  4 21:29 src.orig
drwxr-xr-x 2 cforman lab46   97 Sep 30 23:06 tmp
-rw-r--r-- 1 cforman lab46   23 Sep 15 14:54 vitest


lab46:/$ ls
bin   etc         lib    lost+found  opt   sbin     sys  var
boot  home        lib32  media       proc  selinux  tmp  vmlinuz
dev   initrd.img  lib64  mnt         root  srv      usr
lab46:/$ ls -l
total 118
drwxr-xr-x   2 root root   4096 Sep 20 15:12 bin
drwxr-xr-x   2 root root   4096 Oct 10 21:13 boot
drwxr-xr-x  13 root root   2540 Oct 10 21:14 dev
drwxr-xr-x 102 root root  12288 Oct 11 19:13 etc
drwxr-sr-t 354 root staff 12288 Sep 20 11:05 home
lrwxrwxrwx   1 root root     34 Jun 14  2010 initrd.img -> boot/initrd.img-2.6.32-5-xen-amd64
drwxr-xr-x  10 root root  12288 Aug 28 10:14 lib
drwxr-xr-x   4 root root  12288 Oct 10 21:13 lib32
lrwxrwxrwx   1 root root      4 Jun 14  2010 lib64 -> /lib
drwx------   2 root root  16384 Jun 14  2010 lost+found
drwxr-xr-x   2 root root   4096 Jun 14  2010 media
drwxr-xr-x   2 root root   4096 Jun  1  2010 mnt
drwxr-xr-x   2 root root   4096 Jun 14  2010 opt
dr-xr-xr-x 111 root root      0 Oct 10 21:14 proc
drwx------  12 root root   4096 Oct 10 22:11 root
drwxr-xr-x   2 root root   4096 Aug 28 10:14 sbin
drwxr-xr-x   2 root root   4096 Mar 28  2010 selinux
drwxr-xr-x   2 root root   4096 Jun 14  2010 srv
drwxr-xr-x  13 root root      0 Oct 10 21:14 sys
drwxrwxrwt   6 root root   6144 Oct 11 19:17 tmp
drwxr-xr-x  12 root root   4096 Aug 28  2010 usr
drwxr-xr-x  15 root root   4096 Aug 19  2010 var
lrwxrwxrwx   1 root root     31 Jun 14  2010 vmlinuz -> boot/vmlinuz-2.6.32-5-xen-amd64

These two examples show the ls and ls -l examples. differeces include permisions on left, place is next, owned by and located at are the next two parts, number of charecters is next, last date edited and name.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do?
    • I am able to easily use and interpret the results of ls -l.
  • Room for improvement?
    • learning how to apply the results
  • Could the measurement process be enhanced to be more effective?
    • no
  • Conclusion
    • The proper use of ls -l is very key and extremely useful

Experiments

Experiment 1

Question

If you run a program you made and you use a path to activate it from another location. Do you go to the program or does the program run where you are?

Resources

All information based on in class lectures.

Hypothesis

I believe that the program will come to me.

Because I am opening a path to the program. We discussed in class that it is possible to form shells within the shell you are already in. I believe that the program will form around me and then leave after its completion.

Experiment

I am going to test it by entering a directory not near my program and activate it using a path. Within the program i added 'pwd' which allows the program to display its current location.

Data

lab46:~/bin$ script1
please enter your name: ls
hi, ls, how are you?ls
 Oh so your ls . Well I don't GIVE a care :p
/home/cforman/bin

this was a test to show what the program will do. once the program finishes it will display its location.

lab46:~/bin$ cd ../../../usr
lab46:/usr$ ~/bin/script1
please enter your name: bob
hi, bob, how are you?sad
 Oh so your sad . Well I don't GIVE a care :p
/usr

This shows that I went to the usr directory and made a path to my script. It ran in usr although it was not made or saved there.

Analysis

Based on the data collected:

  • was your hypothesis correct?
    • yes.
  • was your hypothesis not applicable?
    • no, it was applicable.
  • is there more going on than you originally thought? (shortcomings in hypothesis)
    • yes there is more happening. After talking about the results with my teacher I was able to find out not only does it run at my location, but it also forms a shell where I am. This allows the program to do what it wants and then leave without any issues.
  • what shortcomings might there be in your experiment?
    • It does not test whether or not if you have the program change location if you would follow that and leave your location. Not only that but what if the program could change the users location by some means then obviously you would go to where the program sends you.
  • what shortcomings might there be in your data?
    • unknown

Conclusions

It can be concluded that when you run a script from a different location using a path to its, that you will not go to it but it will come to you. One interesting discovery is that not only does it run at your location but will form a bubble around as it runs.

Experiment 2

Question

If we change location from within a script instead of just calling it to us, will we follow it to the area that it relocates to or stay where we were?

Resources

Used information gathered in class…. basic scripting and location checking.

Hypothesis

I believe i will stay where I started the program based on the last experiment. Changing the location in a file unless it tells the user to move somewhere the program should just move to the area of affect like it formed a shell around the user when you make a path to it.

Experiment

I am going to go to the usr directory and make a path to it

Data

lab46:~$ cd tmp
lab46:~/tmp$ touch testsubject.sts
lab46:~/tmp$ ls
file  haha  hola  killyou  mwajajaja  testsubject.sts
lab46:~/tmp$ cd
lab46:~$ cd ../../usr
lab46:/usr$ ~/bin/script4
mv: missing destination file operand after `.hi'
Try `mv --help' for more information.
mv: `file' and `file' are the same file
mv: `haha' and `haha' are the same file
mv: `hola' and `hola' are the same file
mv: `killyou' and `killyou' are the same file
mv: `mwajajaja' and `mwajajaja' are the same file
`testsubject.sts' -> `testsubject'
/home/cforman/tmp

This shows that in fact temporarily i did go to the temp file.

Analysis

Based on the data collected:

  • was your hypothesis correct?
    • no i was partially correct. I moved to the file designated by the script then went back to my previous location.
  • was your hypothesis not applicable?
    • it was applicable
  • is there more going on than you originally thought? (shortcomings in hypothesis)
    • maybe so but i can't tell what.

Conclusions

In the end I was only half correct. I did not take into account that in the shell i could travel somewhere else then when the shell disappears I return to where I was.

Experiment 3

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • was your hypothesis correct?
  • was your hypothesis not applicable?
  • is there more going on than you originally thought? (shortcomings in hypothesis)
  • what shortcomings might there be in your experiment?
  • what shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

opus/fall2011/cforman/part1.txt · Last modified: 2011/12/06 15:22 by cforman