Diff for "unixsurvivalguide" - Methods
location: Diff for "unixsurvivalguide"
Differences between revisions 31 and 32
Revision 31 as of 2012-03-22 18:13:01
Size: 4611
Editor: YaaraErez
Comment:
Revision 32 as of 2012-03-27 11:02:24
Size: 4935
Editor: DennisNorris
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 5: Line 4:
What you see below probably seems like a list of arbitrary incantations and may put you off ever going near a unix command line. However, you'll soon find that simple combinations of unix commands (possibly written as a shell script) can do things instantly that would take hours of pointing and clicking on a Mac or PC.
Line 6: Line 7:
|| '''Function''' || '''Command'''  || '''Options''' ||
|| Show contents of current directory || ''ls'' || details: ''ls –l'', hidden files: ''ls –a'', output to file: ''ls > file.txt'', wild cards: ''ls *.txt'' ||
|| Change directory || ''cd <newdir>''  || e.g. ''cd /home/myname/mydatadir'', one up: ''cd ..'' (e.g. ''cd ../batchfiles''), to home directory: ''cd ~'' ||
|| '''Function''' || '''Command''' || '''Options''' ||
|| Show contents of current directory ||        ''ls'' || details: ''ls –l'', hidden files: ''ls –a'', output to file: ''ls > file.txt'', wild cards: ''ls *.txt'' ||
|| Change directory ||  ''cd <newdir>'' || e.g. ''cd /home/myname/mydatadir'', one up: ''cd ..'' (e.g. ''cd ../batchfiles''), to home directory: ''cd ~'' ||
Line 14: Line 15:
|| Find a file in directory structure || ''find'' || find ''myfile.txt'' in current directory and below: ''find . -name myfile.txt'', wildcards: ''find . -name \*results\*.txt''  ||
|| Find letter string within text || ''grep'' || ''grep error logfile.txt'', ''ps -ef | grep <yourname>''  ||
|| Find a file in directory structure || ''find'' || find ''myfile.txt'' in current directory and below: ''find . -name myfile.txt'', wildcards: ''find . -name \*results\*.txt'' ||
|| Find letter string within text || ''grep'' || ''grep error logfile.txt'', ''ps -ef | grep <yourname>'' ||
Line 19: Line 20:
|| Send output of a command directly to another command ("pipes") || ''|'' || e.g. ''grep myfile.txt | ls -l'' || || Send output of a command directly to another command ("pipes") || ''|'' || e.g. '' ls -l | ''''grep myfile.txt '' ||
Line 24: Line 25:
|| Edit files  || ''nedit'', ''emacs'', ''vi'' || e.g. type ''nedit &'' to keep command prompt || || Edit files || ''nedit'', ''emacs'', ''vi'' || e.g. type ''nedit &'' to keep command prompt ||
Line 26: Line 27:
|| Short description of commands || ''whatis <yourcommand>'' ||  ||

|| Short description of commands || ''whatis <yourcommand>'' || ||
Line 30: Line 29:
|| Show load of linux boxes  || ''showload'' || ||
|| Change linux box  || ''ssh <machine>'' || e.g. ''ssh l42'' ||
|| Show load of linux boxes || ''showload'' || ||
|| Change linux box || ''ssh <machine>'' || e.g. ''ssh l42'' ||
Line 36: Line 35:
|| Checking where an executable file is located || ''which <filename>'' ||  || || Checking where an executable file is located || ''which <filename>'' || ||
Line 40: Line 39:
Line 46: Line 44:
Line 53: Line 50:
|| VNC (http://imaging.mrc-cbu.cam.ac.uk/imaging/UsingVNC): start Putty, ''vncserver –geometry 1280x1024 –name <somename>, for OpenGL graphics: ''vncserver.glx -geometry 1280x1024 -name <somename>'' || || VNC (http://imaging.mrc-cbu.cam.ac.uk/imaging/UsingVNC): start Putty, ''vncserver –geometry 1280x1024 –name <somename>, for OpenGL graphics: ''vncserver.glx -geometry 1280x1024 -name <somename>'' '' ||
Line 56: Line 53:
|| 32-bit machines: l21, l24-31, l33-l36, l37-l42; 64-bit machines: l43-l63; OpenGL machines: l37-l42 || || 32-bit machines: l21, l24-31, l33-l36, l37-l42; 64-bit machines: l43-l63;     OpenGL machines: l37-l42 ||

Your Survival Guide to Unix at the CBSU

What you see below probably seems like a list of arbitrary incantations and may put you off ever going near a unix command line. However, you'll soon find that simple combinations of unix commands (possibly written as a shell script) can do things instantly that would take hours of pointing and clicking on a Mac or PC.

Commands for Navigation, File Manipulation etc.

Function

Command

Options

Show contents of current directory

ls

details: ls –l, hidden files: ls –a, output to file: ls > file.txt, wild cards: ls *.txt

Change directory

cd <newdir>

e.g. cd /home/myname/mydatadir, one up: cd .. (e.g. cd ../batchfiles), to home directory: cd ~

Make directory

mkdir <newdir>

Copy file/directory

cp <old> <new>

Copy directories: cp -r <old> <new>

Move file/directory

mv <old> <new>

Delete file/directory

rm <filename>

delete directory: rm –r <dirname>, suppress warning prompt: rm -f <filename>

Create link between a new filename and an existing file

ln <filename> <linkname>

symbolic link: ln -s <filename> <linkname>, to see whether a file is "real" or a symbolic link, use ls -l

Find a file in directory structure

find

find myfile.txt in current directory and below: find . -name myfile.txt, wildcards: find . -name \*results\*.txt

Find letter string within text

grep

grep error logfile.txt, ps -ef | grep <yourname>

See list of previous commands

history

Execute command from history list

!<x>, where x is number in history list

e.g. !112 to get command 112 from history list

Send output of a command to text file

>

e.g. ls -l > listoffiles.txt, >> appends instead of overwriting

Send output of a command directly to another command ("pipes")

|

e.g. ls -l | 'grep myfile.txt

Run progress in background (keep command prompt)

&

e.g. matlab &, runmybatch.sh &

Changing access permissions

chmod

e.g. chmod 755 <myfile>

Create shortcut for command

alias

e.g. alias cd_batch "cd <mybatchdir>", alias h history

Convert text files from DOS to Unix

dos2unix <filename>

Edit files

nedit, emacs, vi

e.g. type nedit & to keep command prompt

Help on linux commands

man <yourcommand>

turn page using space bar, quit typing q

Short description of commands

whatis <yourcommand>

System-Related Commands

Show load of linux boxes

showload

Change linux box

ssh <machine>

e.g. ssh l42

Show your jobs/processes in current session

jobs

Show current processes

ps

more details: ps -ef

Kill a process

kill

kill <processID>, where <processID> is from ps output

Show most CPU-intensive tasks on current processor

top

Checking where an executable file is located

which <filename>

Show features of current linux box

uname

more details: uname -a

Check your user name

whoami

Get time or date

time, date

Useful Tricks

Use cursor keys up/down to get previous commands

Copy/paste: mark text with left mouse button, click to destination, click middle mouse button

Auto-complete commands: start typing, then “Tab” to complete to next unique possibility

Type the beginning of a previously used command, then simultaneously press Esc p to autocomplete to last used command with same beginning

General

Overview of CBU computing: http://imaging.mrc-cbu.cam.ac.uk/meg/Beginners/MatlabIntroCBU?action=AttachFile&do=get&target=RussellComputing.pdf

Computing on Intranet: http://intranet.mrc-cbu.cam.ac.uk/computing/

Intro to Unix: http://www.ee.surrey.ac.uk/Teaching/Unix/

More [http://imaging.mrc-cbu.cam.ac.uk/meg/Beginners computing-related intros]

Primer on [http://imaging.mrc-cbu.cam.ac.uk/meg/AnalyzingData/Primer_ShellScripting shell scripting]

VNC (http://imaging.mrc-cbu.cam.ac.uk/imaging/UsingVNC): start Putty, vncserver –geometry 1280x1024 –name <somename>, for OpenGL graphics: vncserver.glx -geometry 1280x1024 -name <somename>

Access home space: Windows \\home\username; Linux /home/username

Access imaging space: Windows \\samfs-lh\imaging; Linux /imaging/username

32-bit machines: l21, l24-31, l33-l36, l37-l42; 64-bit machines: l43-l63; OpenGL machines: l37-l42

None: unixsurvivalguide (last edited 2020-11-23 15:57:18 by OlafHauk)