Today we played with regular expressions in class and used them to sort through the dictionary. We learned regular expressions are helpful in finding things when you don't know exactly what you're looking for or don't know all of what your looking for.
Today we learned more regular expressions and were given time to play. Haas helped me figure out how to do the basics of my Spambot idea so he can now scream at anyone who talks to him ^.^
Today we played a bit with C programming after a conversation about the death of bills gates vs. the death of the producer of C. We wrote a script in C and then made the same script in Bash.
Today we had playtime to protest the cursed snow that has arrived early. I spent some time working on my bot.
Text Processing is the simple act of typing in a text editor. Unix has two main text editors. Nano, and VI. It's a lot like wordpad versus microsoft word. Nano is about as basic as you can get with nothing aside from the ability to enter text and save text files. VI, the “greatest text editor” ever however comes with a whole bunch of useful commands that allow you to edit your text in it's command mode, as well as an insert mode that allows you to simply edit text.
Compressing a file reduces it's size but makes it completely unacessable until it's Decompressed. The compression command for a file is gzip while the command to Decompress it gunzip. An example is shown below.
lab46:~$ ls Datatypes.c Hello.s bin data dl irc motd tmp Downloads Maildir closet datatyes hello link scripts uhoh Hello.c bashex cscript2.c datatypes in longcat src lab46:~$ gziplongcat -bash: gziplongcat: command not found lab46:~$ gzip longcat lab46:~$ ls Datatypes.c Hello.s bin data dl irc motd tmp Downloads Maildir closet datatyes hello link scripts uhoh Hello.c bashex cscript2.c datatypes in longcat.gz src lab46:~$ gunzip longcat.gz lab46:~$ ls Datatypes.c Hello.s bin data dl irc motd tmp Downloads Maildir closet datatyes hello link scripts uhoh Hello.c bashex cscript2.c datatypes in longcat src
Moving and renaming files are done with the move command mv. To rename a file you simply type mv followed by the filename and new desired name. To move them you type the name of the file followed by the directory you wish to put them in. Examples provided below.
lab46:~$ lab46:~$ ls Datatypes.c Hello.s bin data dl irc motd tmp Downloads Maildir closet datatyes hello link scripts uhoh Hello.c bashex cscript2.c datatypes in longcat src lab46:~$ mv longcat Catgnol lab46:~$ ls Catgnol Hello.c bashex cscript2.c datatypes in motd tmp Datatypes.c Hello.s bin data dl irc scripts uhoh Downloads Maildir closet datatyes hello link src lab46:~$ mv Catgnol /closet mv: cannot create regular file `/closet': Permission denied lab46:~$ mv Catgnol bin lab46:~$ ls Datatypes.c Hello.s bin data dl irc scripts uhoh Downloads Maildir closet datatyes hello link src Hello.c bashex cscript2.c datatypes in motd tmp lab46:~$
There are multiple ways to make files in Unix. You can create it with the Touch command by type “Touch” followed by the filename. You can also create a file using text editors Nano and VI by saving a blank document as the filename. An Example of the Touch Command is shown below.
lab46:~$ ls Datatypes.c Hello.s bin data dl irc scripts uhoh Downloads Maildir closet datatyes hello link src Hello.c bashex cscript2.c datatypes in motd tmp lab46:~$ touch AllHallowed lab46:~$ ls AllHallowed Hello.c bashex cscript2.c datatypes in motd tmp Datatypes.c Hello.s bin data dl irc scripts uhoh Downloads Maildir closet datatyes hello link src lab46:~$
Linking files is done with the ln command. Using ln -s and the filename followed by the linkname to create a link. An example is show below.
lab46:~$ ls AllHallowed Hello.c bashex cscript2.c datatypes in motd tmp Datatypes.c Hello.s bin data dl irc scripts uhoh Downloads Maildir closet datatyes hello link src lab46:~$ ln -s AllHallowed click lab46:~$ ls AllHallowed Hello.c bashex closet datatyes hello link src Datatypes.c Hello.s bin cscript2.c datatypes in motd tmp Downloads Maildir click data dl irc scripts uhoh lab46:~$ click -bash: click: command not found lab46:~$ cat click Happy Halloween lab46:~$
Copying a file just like on a GUI system like windows creates an exact duplicate of the file. Copying is done with the CP command followed by the file you wish to copy and the name of the new file. An example is shown below.
lab46:~/bin$ ls Binary Doomsday Password Script1.sh Script3.sh Script5.sh Spambot2.0 opusresults Catgnol IIRC Project Script2.sh Script4.sh Spambot hallow lab46:~/bin$ cp Password JPRef lab46:~/bin$ ls Binary Doomsday JPRef Project Script2.sh Script4.sh Spambot hallow Catgnol IIRC Password Script1.sh Script3.sh Script5.sh Spambot2.0 opusresults lab46:~/bin$ cat Password JPRef Ah-ah-ah. You didn't say the magic word. Ah-ah-ah. You didn't say the magic word.
C is a programming language that can be found on most computers today. Considered a 'lower' language, C can assume certain things such as using the word add instead of the addition symbol. Below is an example of C code.
#include <stdio.h> int main() { printf("Hello, world!\n"); return 0; }
When typing on Unix, on the command line and then pressing tab after typing a partial command or filename will complete the file name. However if multiple files have the same beginning then you must put enough of the file name to differentiate them or tab complete wont' work.
A wild card is used to find part of a file name or find part of a term within a file and can be used to find files when you only have a part of their name or data. An example is shown below.
lab46:/usr$ lab46:/usr$ ls bin games include lib lib32 lib64 local man sbin share src lab46:/usr$ ls *[aeiouy]|wc -l 375 lab46:/usr$
375 files end in a vowel within the usr directory
Can be used to find information within files an examples is below
lab46:~$ ls AllHallowed Downloads Hello.s bashex closet data datatypes hello irc motd src uhoh Datatypes.c Hello.c Maildir bin cscript2.c datatyes dl in link scripts tmp lab46:~$ cat Datatypes.c |grep '^[one]*$'|less|wc -l 1 lab46:~$
The Datatypes.c files has exactly one “one” in it.
The local host is the host upon which your directly accessing from your location. in the case of our Unix class the local hos would be the Lab46 server.
A remote host differs from a local host in that it isn't part of the sever or system that you are on but you can access it. An examples of this would be running a program off of cloud storage.
Understand the workings of Shell scriptings
Pick apart one of the scripts we do in class and see if i can understand how things work.
I was able to understand the basics of how our Binary Number Converter worked.
#!/bin/bash a=0 echo -n "Please enter a Number: " read number until [ $number -eq 0 ]; do n=0 until [ `echo "$number-2^$n"|bc` -lt 0 ];do let n=$n+1 done let n=$n-1 let number=$number-`echo "2^$n"|bc` places="" for((i=0;i<$n;i++)); do places="${places}0" done places="1${places}" let a=$a+$places done echo "the binary value is $a" exit 0 lab46:~/bin$
Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.
A.I think i did acceptably at it. B.There's always room for improvement. C. Not really. Measuring your understanding can't really be given an exact definition D. Yes because it makes it a bit easier when writing code for scripting E. Not really. Most of it's just experience.
What is the question you'd like to pose for experimentation? State it here.
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.
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.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
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.
What is the question you'd like to pose for experimentation? State it here.
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.
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.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
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.
If you're doing an experiment instead of a retest, delete this section.
If you've opted to test the experiment of someone else, delete the experiment section and steps above; perform the following steps:
Whose existing experiment are you going to retest? Prove the URL, note the author, and restate their question.
Evaluate their resources and commentary. Answer the following questions:
State their experiment's hypothesis. Answer the following questions:
Follow the steps given to recreate the original experiment. Answer the following questions:
Publish the data you have gained from your performing of the experiment here.
Answer the following:
Answer the following: