-
Fanny Wegner authored
- /exercises/UNIX_HPC_cheat_sheet.md - /exercises/UNIX_HPC_exercise_instructions.md - /README.md
Fanny Wegner authored- /exercises/UNIX_HPC_cheat_sheet.md - /exercises/UNIX_HPC_exercise_instructions.md - /README.md
UNIX_HPC_cheat_sheet.md 2.64 KiB
Bash Cheat Sheet
A cheat sheet for bash commands.
Manage and navigate directories
pwd # Print current directory path
ls # List directories
ls -a|--all # List directories including hidden
ls -l # List directories in long form
ls -l -h|--human-readable # List directories in long form with human readable sizes
cd foo # Go to foo sub-directory
cd # Go to home directory
cd ~ # Go to home directory
cd - # Go to last directory
mkdir foo # Create foo directory
rmdir foo # Delete foo directory
rmdir -r foo # Delete foo directory including content
Manage files
cp foo.txt bar.txt # Copy file
mv foo.txt bar.txt # Move/Rename file
rm foo.txt # Delete foo.txt
rm * # Delete all files in current directory
ln -s foo bar # Create a link 'bar' to the file 'foo'
Read and manipulate files
cat foo.txt # Print all contents
less foo.txt # Print some contents at a time (g - go to top of file, SHIFT+g, go to bottom of file, /foo to search for 'foo')
head foo.txt # Print top 10 lines of file
tail foo.txt # Print bottom 10 lines of file
nano foo.txt # Simple file editor
vi foo.txt # Advanced file editor
wc foo.txt # List number of lines words and characters in the file
cut -d [delimiter] -f [field] foo.txt # Cuts out the specified fields that are separated by the specified delimiter
Input and Output
echo "Hello world!" # Print statement to standard output
echo "foo" > bar.txt # Direct output into file. Overwrites file if it already exists.
echo "foo" >> bar.txt # Direct output into file and append if it already exists.
command1 | command2 # Directs output from command1 as standard input into command2
SLURM Cheat Sheet
Connect to Science Cluster
ssh shirtname@cluster.s3it.uzh.ch
Submitting jobs
In a script myjob.sh
:
#!/usr/bin/env bash
#SBATCH --cpus-per-task=[number]
#SBATCH --mem=[memory]
#SBATCH --time=[hr:min:sec]
#SBATCH --job-name=[name]
#SBATCH --output=[name]_%j.out
#SBATCH --error=[name]_%j.err
# load any required modules
module load [module name]
command1
command2
command3
Submit script as job to the computing nodes:
sbatch myjob.sh