Unix Commands Quick Reference
Useful commands and flags that we get tired of looking up...
Alphabetical Reference
Prints the contents of the given file to the console.
cd put/target/directory/here
Changes the working directory to whatever path is typed after cd. Without an additional argument, cd brings one back to the home directory.
Get a human-readable output of disk space usage. If you add
*
then it will give you this for all files in the current directory.
fgrep "words" yourfile.txt
Print only lines in a file containing the given "words" in a particular file.
Locates and gives file names of all files in the working directory containing word in the beginning of the file name. The * represents a wildcard so it can be placed before, after, or both in order to find files that contain the given query in a particular part of the file name.
Ends a particular process. Note that you can type
killall
to end multiple processes that match the name that is input.
Lists the contents of the working directory. Add
-a
to include invisible files. Add
-l
to show more information about each file such as its owner and permission flags.
Makes a directory with a name specified by the user.
Numbers all the lines of a file.
Lists all process currently running.
Prints the working directory path to the console.
Deletes a given file.
Deletes a given directory.
Reads and executes commands from the given file in the current environment.
Prints the the full path of the program to the console (note that its directory must be in your
$PATH
). Adding an
-a
after which prints all instances of the program.
Fixing Line Endings
If you get odd errors after transferring a text file from a PC or Mac to a Unix machine, it's likely that you have a problem with
newline characters. This is especially common when editing files in Excel and saving them to tab-delimited or comma-delimited files for input into. You can generally avoid this problem and fix the line endings by using an industrial strength text editor. This command converts Mac line endings in a saved Excel file to Unix line endings.
tr "\r" "\n" < input.tab >.converted.tab
Merging commands to be serial on TACC
Sometimes you have 96 short jobs that you want to run serially 8 at a time on 12 cores rather than requesting 96 cores. This command will combine every 8 lines in a file into one line separated by && so that these commands are now run on one core.
paste -s -d'#######\n' commands | sed "s/#/ \&\& /g" > commands8
Adding your path to the command prompt
Add to your
.bashrc
,
.zshrc
, or similar shell startup script:
Now your current working directory will show up as part of your prompt. This can save you a lot of time typing
ls
.