FANDOM


This is a page of syntax for the UNIX command line tool known as Bash. It bears no relation to the violent action of bashing.

NavigationEdit

That's not important right now.

Dealing with filesEdit

wget <URL> ##  Retrieves files from the internet and saves to the current directory
cut -d "<delimitor (default = \t)>" -f <columns to use>
sort ## sort alphabetically from first column
sort -k 2n ## sort numberically from 2nd column
sort -t$'\t' -k3 -nr ## sort with delimiter \t (tab) the 3rd row reverse numerically.
uniq ## cuts out duplicates (after sorting)
uniq -c ## counts the number of duplicates (after sorting)
uniq -u ## only prints unique lines
uniq -d ## only prints duplicate lines
tail -1 ## Get last lign
tail -n +2 ## Get everything from line 2
head -4 ## Get the top 4 lines
egrep '<regex string>' ## Finds all instances
egrep -i '<regex string>' ## Case insensitive
cat <filename/path> ## prints out contents of file
less <filename/path> ## prints out contents in a more navigable format
wc ## Prints word/line/character count
wc -l ## line count only
wc -c ## character count only
wc -w ## word count only
paste file1 file2 ## Outputs contents of files in two tab separated columns
paste -d '<delimitor>' file1 file2 ## Used chosen delimitor to separate columns
paste --- < file1 ## file is organised into 3 columns
tr 'a-z' 'A-Z' ## Replaces first block with second block (in this case, capitalises all)
tr -d 'a' ## Deletes set
tr -d -c 'aeiou' ## Deletes everything not in set

Note: files must be redirected into tr

sed -E 's/regex1/regex2/g' ## Replaces regex1 with regex2 wherever it is in the file
sed -E -i "s/regex1/regex2/g" ## As above, but case insensitive
tar -cvzf backup.tgz /home/user/project
tar -xvzf backup.tgz

awkEdit

Select rows based on column properties:

awk '$2 > 6' filename ## selects rows where column 2 is greater than 6
awk '$1 == "string"' filename

Reorder columns:

awk '{ print $2, $1; }' filename

Output and inputEdit

Receive input from a file:

tr '\n' '\t' < filename

Send the output of one operation to the next using a pipe:

cut -f 2,3 filename | sort | uniq | less

Put standard output into a file:

...| cat > filename.extention

Append standared output to end of file:

...| cat >> filename.extension

Concatenate files:

cat file1 file2 > file3

Help and other useful thingsEdit

man <whatever> ## opens man page for topic
whatis <whatever> ## Gives one line description of topic
exit ## finishes processes and closes shell session

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.