User Tools

Site Tools


opus:spring2014:aforce2:start

Alexander's Spring 2014 Opus

WELCOME!!!

Introduction

I'm the guy with the beard. Love punk/rock music. Play bass guitar! I love video games such as battlefield. Im in the HPC program.

C/C++ Programming Journal

Jan 30, 2014

STDIN - Keyboard
STDOUT - Terminal
STDERR - Terminal
Printf(“”);
Fprintf(stdout,“
___”); == What Printf does.
00000000 = 0
11111111 = 255
0-255 = 256 unique values
Printf format specifiers
%d = signed int
%v = unsigned int
%c = ASCII character(char)
%s = array of character(string)
%f = floating point
%lf = double
%lu = unsigned long int
%hu = unsigned half/short int
%hhu = unsigned half half int
%x = hexidecimal %X = hexidecimal

0x00 = hexidecimal number
binary = 0,1
octal = 0-7
decimal = 0-9
hexidecimal = 0-9a-f

Feb 6, 2014

HexidecimalOctalUnsigned DecimalBinarySigned Decimal
0 00 00 0000 +0
1 01 01 0001 +1
2 02 02 0010 +2
3 03 03 0011 +3
4 04 04 0100 +4
5 05 05 0101 +5
6 06 06 0110 +6
7 07 07 0111 +7
8 10 08 1000 -8
9 11 09 1001 -7
A 12 10 1010 -6
B 13 11 1011 -5
C 14 12 1100 -4
D 15 13 1101 -3
E 16 14 1110 -2
F 17 15 1111 -1
UDBSD
low : 0 low:0000 low:-8
high : 15 high:1111 high:+7
qty : 16 qty:10000 qty:16

MSB - Sign Bit
0 - +
1 = -

Two's Complement:
0001

to\\

1110 #invert
+ 1 #add one
1111

01111111
0x7F

10000000
0x80

Mental Math

2 digit numbers end in 5

15^2 = 225\
square second number 1|5^2
25
time 1st number by next number up
1*2=2
=225

int input; #variable
printf(“Enter Value:”);
Scanf(“%d”,&input); #address oaddress of

Feb 27, 2014

  • Today we learned more about arrays and a little bit about loops. char[10] and
  • i is looping variable, i=0 is the starting value, i⇐ is loop as long as
  •  for(i=0; i<=strlen(input); i++) 

  • This will make working with strings possible and make working with loops easier to work with arrays!
  • At this moment i haven't completely figured out how to work with the loops but I am working on it.
  • The main challenge with this course for me is learning Binary!

March 6, 2014

for loop

for(i=13, i>2, i-=3)

i-=3 means i = i - 3

while - top-driven loop - 0 or more times
do while - bottom-driven loop - 1 or more times

while(condition) - no semi colon
{
do stuff
}

do
{
do stuff
}while(condition); always does one loop first

return type - int main(int argc, char **argv)
{
int x=4;
x = square(x);
return(0);
}

y = f(x) - X is a parameter

==Function Prototype== - int square(int);

look into recursion!

March 20, 2014

fgetc(stdin); = Gets Rid Of Enter As A Input! For Char Inputs!

printf(“%.4hhd - the four leaves to blank spaces before the output the . makes the spaces zero. if it was a -4 the two spaces would be after the output. hhd means half of a half of an integer - char.
a = 41
b = 4
printf(”%.*hhd\n“,b,a); The b allows 4 zeros before the 41 because b is set to 4, variable, can change!!

==Learning More With Arrays!!
Look at program array1

1
#include<stdio.h>
 
int main()
 {
   int i, scores[8], sum = 0, total;
   float average;
 
printf("How big is the array?");
scanf("%d",&total);
scores=(int*)malloc(sizeof(int)*total);
 
   for(i=0;i<total;i++)
{
   printf("Enter Test Score %d/%d: ",(i+1),total);
   scanf("%d",(scores+i));
}
for(i=0;i<total;i++)
{
sum = sum + *(scores+i);
      // or   scores[i] 
}             
average = sum/total;
    printf("average is: %3.2f\n",average);                                                          

April 10, 2014

gcc - C - .c
g++ - C++ - .C, .cc, .c++, .cpp

look in terminal for c++ starting program.

printf(“Hello, World!\n”); in C
std :: cout « “Hello, World!” « endl; in C++

scanf(”%d“ , &a); in C
cin » a; in C++

to use cin and cout MUST INCUDE #include<iostream>

This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.

As an aid, feel free to use the following questions to help you generate content for your entries:

  • What action or concept of significance, as related to the course, did you experience on this date?
  • Why was this significant?
  • What concepts are you dealing with that may not make perfect sense?
  • What challenges are you facing with respect to the course?

MONTH Day, YEAR

This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.

As an aid, feel free to use the following questions to help you generate content for your entries:

  • What action or concept of significance, as related to the course, did you experience on this date?
  • Why was this significant?
  • What concepts are you dealing with that may not make perfect sense?
  • What challenges are you facing with respect to the course?

HPC Fundamentals Journal

MONTH Day, YEAR

This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.

As an aid, feel free to use the following questions to help you generate content for your entries:

  • What action or concept of significance, as related to the course, did you experience on this date?
  • Why was this significant?
  • What concepts are you dealing with that may not make perfect sense?
  • What challenges are you facing with respect to the course?

Jan 28, 2014

wiki.debian.org/Xen

ssh root@10.80.2.180
aptitude update
aptitude upgrade
aptitude search "VIM" , "Xen"- example
aptitude install 

hypervisor - kernel - user space

uname -a

install VIM and xen-linux-system

used Xen wiki to make Xen boot first!

vi /etc/network/interfaces

changed files according to Xen wiki

vi /etc/default/xendomains

do guest behaviour changes

restart server,

reboot

login run

xm list
 xen-create-image --verbose --hostname=test --dhcp --vcpus=2 --pygrub --dist=wheezy --force
ssh root@10.80.2.197

== sign into my VM after ssh into lab46

Jan 29, 2014

Got the virtual machines up and running, had memory problem… Changed some of the ram sticks around and found the culprit and swapped it. The computer is up and running again. Re-created VM's!

Jan 30, 2014

Working with Virtual Machines, Mine being alex1. Installing packages such as Vim, bsdgames, etc. Learned how to run visual programs such as yahtzee by starting from the pod and running:

pod02:~$ ssh -X root@10.80.2.197

Created shortcuts in .bashrc such as

alias aps='aptitude search'
alias api='aptitude install'
alias apud='aptitude update'
alias apug='aptitude upgrade'

Created Blackbeard User. Made The .vimrc and edited it.

Feb, 2014

Changed root@10.80.2.197 to root@vm04 for my sign on.

Creating Servers and Blogs Using Nginx and pybloxsom

Feb,12 2014

Finally Got My Blog Up And Running!!! Figured Out The Flavours And Have The Nice 1024px! Check out http://vm04/cgi-bin/pyblosxom.cgi

March,18 2014

Learned to create passwordless logins!!
Learned to take dumps in a new way!!

scp id_rsa.pub root@backup01:alex - copied to my root directory
cat alex » .ssh/authorized_keys - put my user into authorized keys
chmod 600 authorized_keys - changed permissions
cat authorized_keys - view the key

Continued taking dumps!!
dump -0uan -f - / | gzip -9 | ssh root@backup01 “dd of=blackbeard.dump.gz”


xm create - alex1 or wilson - Starting VM
blackbeard@router.projects.lan - arg
the type “su” to become root.
Then “screen -x” to join screen session.

April,17 2014

Subnetcalc

on lab46

%s/252/192/ will change all the 252's into 192 in the vi.
4yy copy 4 lines in vi.
cw replaces text in vi.

UNIX

Case Studies

Case Study 0x1: Archive Handling

Learned about Archives: * learned how to compress files with gzip

Used

 cp -r /var/public/unix/archives ~  

to copy to home directory.

Looking through the manual pages man gzip

 gunzip archive1.tar.gz 

unzipped this
and

 unzip archive2.zip 

worked for that file

 tar -xf arc.tar archives 

created the archive

I dont believe tar, gzip and zip are all that different just different forms of archiving.

Case Study 0x2: Unconventional Naming

Using

*

Typed:

 lab46:~/badname/exercise$ cat one* 

and it returned

 spaces, commas, two types of quotes... oh my! 

Typed:

 lab46:~/badname/exercise$ cat '???'* 

and it returned

 This file has spaces and ?'s in its name. 

Typed:

 lab46:~/badname/exercise$ cat '`ls'* 

and it returned

 will the weird filenames ever end? 

Using

 \ 

Typed:

 lab46:~/badname/exercise$ cat just\ a\ simple\ file.txt 

it returned

 Simple, but simpler without the spaces!

Typed:

 lab46:~/badname/exercise$ cat change\ my\\\ name.file 

it returned

This file has spaces and a backslash in its name.

Typed:

lab46:~/badname/exercise$ cat \*\*\*\ watch\ out\!\ \*\*\*

it returned

Care must be taken when using the '!' symbol, as it deals with history.


Its Interesting on how the “\” removes spaces and symbols such as other slashes and stars.

Using

""

Typed:

lab46:~/badname/exercise$ cat "compress \"this\" file.data"

it returned

this file has spaces and double quotes in its name.


I had to use the slashes to remove the quotes from “this”

Typed:

lab46:~/badname/exercise$ cat "#pico28903#"

it returned

laLAA... pretend this is a pico temp file.


Typed:

lab46:~/badname/exercise$ cat "( parenthesis & other odd things )"

it returned

Are we having fun yet?


Typed:

lab46:~/badname/exercise$ cat "\$USER VALUE\$" 

it returned

Watch out for those $ signs


Had to use the slashes to remove the “$”

I was able to remove “- challenge round -” with – by looking in the man pages:

lab46:~/badname/challenge$ rm -- -\ challenge\ round\ -

Case Study 0x3: The Puzzle Box


File.txt appears to be ASCII text
When using cat it says it appears to be a simple text file and contains ASCII text.
When compressed with gzip and ran with file(1) it returns

file.txt.gz: gzip compressed data, was "file.txt", from Unix, last modified: Fri Dec  6 16:06:32 2013

When compressed with the fastest speed

 gzip -1 file.txt

it returns

file.txt.gz: gzip compressed data, was "file.txt", from Unix, last modified: Fri Dec  6 16:06:32 2013, max speed

Using cat on abcd.txt returns random symbols, when running file(1) on it it returned it was a .tar file
used

 tar -xf abcd.txt 

Case Study 0x4: Unix Messaging Tools


1. lwall1 and jkosty6
2. a. jkosty6 has messages disabled.
b. Write permissions turned off.
3.a. can accept invites but cant join
b. lwall1 and jkosty6
4. c. lwall1 and jkosty6
e. Esc, S

Case Study 0x5: Web Pages

Case Study 0x6: Device Files

1.Some files in the /dev folder are:

*MAKEDEV *core *hvc4 *ppp *tty *vga_arbiter

Block:
202:1
202:2
202:3
Character:
10:1
13:32
1:5

2.Filesystems in use:
/dev/xvda1 4.0G 2.8G 996M 74% /
tmpfs 766M 0 766M 0% /lib/init/rw
udev 738M 36K 738M 1% /dev
tmpfs 766M 4.0K 766M 1% /dev/shm
/dev/xvda2 248M 11M 225M 5% /tmp
nfs:/home 2.8T 1.4T 1.5T 49% /home
nfs:/lib/mail 2.8T 1.4T 1.5T 49% /var/mail

4. crw–w—- 1 5841 5 136, 8 Dec 10 15:41 8
didn't change…

6. It does the same thing outputs it to the string except outputting it to \\tty compacts it more and outputs it to the terminal a different way. It seems to run it like a script.

7. It just displays it to the terminal. Might be useful for multiple \\terminals, for a superuser that wants to send something to multiple users.

Case Study 0x7: Scheduled Tasks


d. my bot name is mybot
e. I used .w 14830 and it told me corning's weather. It was very INTERESTING! and cool
2.

if [ `pgrep -u aforce2 python | wc -l` -eq 0 ]; then
          cd Downloads/phenny/ | ./phenny
else
 echo "I'm Running!!!"
fi

Case Study 0x8: Data Types in C

Case Study 0x9: Fun with grep

1. grep -o “coast” pelopwar.txt and the're 9 matches

Labs

Lab 0x0

* Learned was Unix was and that it was created Bell Labs in the early 1970's and just progressed from there.

* Unix is CASE sensitive!!

* Learned how to log into lab46 from home, thrugh windows and linux.

* Learned some of the command prompt, what lab46:~$ is…

- lab46 is the hostname of the system.

- The ”~” (tilde) is a representation of your home directory.

- The “$” symbol represents the end of your prompt.

- The superuser (also known as root) would have a ”#”.

* Pwd shows where you are.

* Navagation with “cd” also cd by itself will take you all the way home.

* ls lists the files in the directory

* mkdir creates directories, rmdir removes directory.

Lab 0x1

* Learned the command ls which means list, displays all the files in the directory you're in.

*Learned the command cp which means copy.

*Learned the command mv which means move.

*Learned the command rm which means remove.

*Learned the command ln which means link. ln -s creates a soft link.

*Learned the command man which followed with what your looking will open up the manual for that topic.

Lab 0x2

/bin - Essential basic tools for normal system usage
/etc - Configuration files
/home - Location of the system's user directories
/lib, - /lib64, /lib32 Contains important system libraries
/mnt - Common place to mount additional filesystems
/root - The superuser's home directory
/sbin - Essential system administration utilities
/tmp - Temporary directory
/usr - Additional (secondary) system functionality & userspace tools
/var - Misc. items (mail files & databases)

pwd prints working directory.

Lab 0x3

*Learned about cat, head and tail commands
*cat - concatenate files and print on the standard output
*head -16 then filename would show the first 16 lines in the file.

To enter insert mode, one of the following commands can be used:
i insert before cursor
o insert line below
O insert line above
a insert after cursor
To exit insert mode and return to command mode, hit the escape (ESC) key once.

When in command mode, you may use the following to alter the current file:
:wq save and exit
:w save the file
:q! quit without saving
ZZ quit and save only if changed

Lab 0x4

*Kernel - the core of the OS. It handles everything- manages I/O, etc.
*Drivers - components that instruct the kernel how to function or deal with a piece of hardware.
*Userspace - non-kernel level. System applications, utilities, files. Users exist here, hence the name “user space”

Control Code - System Code - Description:
CTRL-C - INTR - interrupt
CTRL-D - EOF - issue end of file character
CTRL-G - sound bell
CTRL-H - BS - send backspace
CTRL-J - LF - send linefeed
CTRL-L - refresh screen
CTRL-M - CR - send carriage return
CTRL-Q - XON - start code*
CTRL-S - XOFF - stop code*
CTRL-V - escape the following character
CTRL-Z - SUSPEND - suspend current job
CTRL-[ - ESC - send escape character

*ls -a shows hidden files called dotfiles

dotfile - description
.bash_profile - The first personal initialization file bash searches
.bashrc - Session personalization file called by .bash_profile
.cshrc - A personal initialization file for the csh/tcsh shells
.exrc - A configuration file for vi/ex
.signature - Text file containing a signature banner for e-mail
.plan - A personal banner file that is displayed on finger(1) lookups
.forward - A file used in automatic e-mail forwarding
.pinerc - A configuration file for pine
.vimrc - A configuration file for vim

*The .bash_history file shows all of you bash history. All the commands you have entered in the past.

Common Environmental Variables Which are identified with $ and ALL CAPS

 
  $PATH
  $HOSTNAME
  $USER
  $TERM
  $SHELL

Personal Variables are distinguished with lower-case letters.

SHELL=/bin/bash
MAIL=/home/aforce2/Maildir
TERM=xterm
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/java/bin

echo $PATH

alias ls='ls –color=auto'

Removing the alias removed the color from the ls command.

Lab 0x5: More UNIX Shell Explorations

1. b/home/aforce2/shell
d.

lab46:~/shell$ touch file1 file2 file3 file4 filea file1234 fileZZZ file41


2. \\b.

lab46:~/shell$ ls file* 
file1  file1234  file2  file3  file4  file41  fileZZZ  filea 


d.

 ls file? 

outputs only the names with one character after the word file.
f.It lists file2 and file3 because the search ask's for only a 2 or 3 character after file.
h. lists File2 file4 file41 and filea because the search tels it to search file following either a 2, 4 or an a following anything.
3. \\b.File1 now returns the message of the day! \\d. File1 changed into “-This is text-”
4.
b. It changed into More text…
d. This put file1 and file1234 into file2. This happened because file* is file with anthing after it and file1 were redirected into file2.
5.
b.

lab46:~/shell$ ls file555
ls: cannot access file555: No such file or directory


d.The error didn't go away because the file555 doesn't exist.
f. The error went away because of the STDERR redirection operator.
g. This just used STDIN with cat into file 2

7.
b.

 lab46:~/shell$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/java/bin 


d. nothing changed because it means the same thing.
f. The '' Meant literal string
8. \\a. wc is word count
b. wc -l
9.
b.

cat /etc/motd | wc -l 


c. 19 lines
10.
a. ls ????
b. ls [amf]* and 13
c. ls [abc]*[rst] and 5
11.

 lab46:/var/public/unix/shell$ cat 'Long File $PATH for Shell Lab.text'
Good work! You're done! 

Lab 0x6: Shell Scripting Concepts

1. a.ls -l shows the permissions
b. -rw-r–r–
c. \ d. chmod 744 script1.sh
e. It ran!
2.

 echo "Enter your birth year"                                                       
read birth

let age=2013-$birth

echo $age
opus/spring2014/aforce2/start.txt · Last modified: 2014/08/23 17:08 by 127.0.0.1