====== Terminal Command Reference ====== ===== System Info ===== ^ Command ^ Definition^ | ''**date**'' | Show the current date and time | | ''**cal**'' | Show this month's calendar | | ''**uptime**'' | how current uptime | | ''**w**'' | Display who is online | | ''**whoami**'' | Who you are logged in as | | ''**finger user**'' | Display information about user | | ''**uname -a**'' | Show kernel information | | ''**cat /proc/cpuinfo**'' | CPU information | | ''**cat /proc/meminfo**'' | Memory information | | ''**df -h**'' | Show disk usage | | ''**du**'' | Show directory space usage | | ''**free**'' | Show memory and swap usage | ===== Keyboard Shortcuts ===== ^ Command ^ Definition^ | ''**Enter**'' | Run the command | | ''**Up Arrow**'' | Show the previous command | | ''**Ctrl + R**'' | Allows you to type a part of the command you're looking for and finds it | | ''**Ctrl + Z**'' | Stops the current command, resume with fg in the foreground or bg in the background | | ''**Ctrl + C**''| Halts the current command, cancel the current operation and/or start with a fresh new line| | ''**Ctrl + L**'' | Clear the screen | | ''**command | less**'' |Allows the scrolling of the bash command window using Shift + Up Arrow and Shift + Down Arrow| | ''**!!**'' | Repeats the last command | | ''**command !$**'' | Repeats the last argument of the previous command| | ''**Esc + .**'' (a period) | Insert the last argument of the previous command on the fly, which enables you to edit it before executing the command| | ''**Ctrl + A**'' | Return to the start of the command you're typing | | ''**Ctrl + E**'' | Go to the end of the command you're typing | | ''**Ctrl + U**'' | Cut everything before the cursor to a special clipboard, erases the whole line| | ''**Ctrl + K**'' | Cut everything after the cursor to a special clipboard | | ''**Ctrl + Y**'' | Paste from the special clipboard that Ctrl + U and Ctrl + K save their data to | | ''**Ctrl + T**'' | Swap the two characters before the cursor (you can actually use this to transport a character from the left to the right, try it!) | | ''**Ctrl + W**'' | Delete the word / argument left of the cursor in the current line | | ''**Ctrl + D**'' | Log out of current session, similar to exit | ===== Learn the Commands ===== '''apropos subject''' – List manual pages for subject '''man -k keyword''' – Display man pages containing keyword '''man command''' – Show the manual for command '''man -t man | ps2pdf''' - > man.pdf – Make a pdf of a manual page '''which command''' – Show full path name of command '''time command''' – See how long a command takes '''whereis app''' – Show possible locations of app '''which app''' – Show which app will be run by default; it shows the full path ===== Searching ===== '''grep pattern files''' – Search for pattern in files '''grep -r pattern dir''' – Search recursively for pattern in dir '''command | grep pattern''' – Search for pattern in the output of command '''locate file''' – Find all instances of file '''find / -name filename''' – Starting with the root directory, look for the file called filename '''find / -name ”*filename*”''' – Starting with the root directory, look for the file containing the string filename '''locate filename''' – Find a file called filename using the locate command; this assumes you have already used the command updatedb (see next) '''updatedb''' – Create or update the database of files on all file systems attached to the Linux root directory '''which filename''' – Show the subdirectory containing the executable file called filename '''grep TextStringToFind /dir''' – Starting with the directory called dir, look for and list all files containing TextStringToFind ===== File Permissions ===== '''chmod octal file''' – Change the permissions of file to octal, which can be found separately for user, group, and world by adding: 4 – read (r), 2 – write (w), 1 – execute (x) Examples: '''chmod 777''' – read, write, execute for all '''chmod 755''' – rwx for owner, rx for group and world For more options, see man chmod. ===== File Commands ===== '''ls''' – Directory listing '''ls -l''' – List files in current directory using long format '''ls -laC''' – List all files in current directory in long format and display in columns '''ls -F''' – List files in current directory and indicate the file type '''ls -al''' – Formatted listing with hidden files '''cd dir''' – Change directory to dir '''cd''' – Change to home '''mkdir dir''' – Create a directory dir '''pwd''' – Show current directory '''rm name''' – Remove a file or directory called name '''rm -r dir''' – Delete directory dir '''rm -f file''' – Force remove file '''rm -rf dir''' – Force remove an entire directory dir and all it’s included files and subdirectories (use with extreme caution) '''cp file1 file2''' – Copy file1 to file2 ''' cp -r dir1 dir2''' – Copy dir1 to dir2; create dir2 if it doesn't exist '''cp file /home/dirname''' – Copy the filename called file to the /home/dirname directory '''mv file /home/dirname''' – Move the file called filename to the /home/dirname directory '''mv file1 file2''' – Rename or move file1 to file2; if file2 is an existing directory, moves file1 into directory file2 '''ln -s file link''' – Create symbolic link link to file '''touch file''' – Create or update file '''cat > file''' – Places standard input into file '''cat file''' – Display the file called file '''more file''' – Display the file called file one page at a time, proceed to next page using the spacebar '''head file''' – Output the first 10 lines of file '''head -20 file''' – Display the first 20 lines of the file called file '''tail file''' – Output the last 10 lines of file '''tail -20 file''' – Display the last 20 lines of the file called file '''tail -f file''' – Output the contents of file as it grows, starting with the last 10 lines ===== Compression ===== '''tar cf file.tar files''' – Create a tar named file.tar containing files '''tar xf file.tar''' – Extract the files from file.tar '''tar czf file.tar.gz files''' – Create a tar with Gzip compression '''tar xzf file.tar.gz''' – Extract a tar using Gzip '''tar cjf file.tar.bz2''' – Create a tar with Bzip2 compression '''tar xjf file.tar.bz2''' – Extract a tar using Bzip2 '''gzip file''' – Compresses file and renames it to file.gz '''gzip -d file.gz''' – Decompresses file.gz back to file ===== Printing ===== '''/etc/rc.d/init.d/lpd start''' – Start the print daemon '''/etc/rc.d/init.d/lpd stop''' – Stop the print daemon '''/etc/rc.d/init.d/lpd status''' – Display status of the print daemon '''lpq''' – Display jobs in print queue '''lprm''' – Remove jobs from queue '''lpr''' – Print a file '''lpc''' – Printer control tool '''man subject | lpr''' – Print the manual page called subject as plain text '''man -t subject | lpr''' – Print the manual page called subject as Postscript output '''printtool''' – Start X printer setup interface ===== Network ===== '''ifconfig''' – List IP addresses for all devices on the local machine '''iwconfig''' – Used to set the parameters of the network interface which are specific to the wireless operation (for example: the frequency) '''iwlist''' – used to display some additional information from a wireless network interface that is not displayed by iwconfig '''ping host''' – Ping host and output results '''whois domain''' – Get whois information for domain '''dig domain''' – Get DNS information for domain '''dig -x host''' – Reverse lookup host '''wget file''' – Download file '''wget -c file''' – Continue a stopped download ===== SSH ===== '''ssh user@host''' – Connect to host as user '''ssh -p port user@host''' – Connect to host on port port as user '''ssh-copy-id user@hos'''t – Add your key to host for user to enable a keyed or passwordless login ===== User Administration ===== '''adduser accountname''' – Create a new user call accountname '''passwd accountname''' – Give accountname a new password '''su''' – Log in as superuser from current login '''exit''' – Stop being superuser and revert to normal user ===== Process Management ====== '''ps''' – Display your currently active processes '''top''' – Display all running processes '''kill pid''' – Kill process id pid '''killall proc''' – Kill all processes named proc (use with extreme caution) '''bg''' – Lists stopped or background jobs; resume a stopped job in the background '''fg''' – Brings the most recent job to foreground '''fg n''' – Brings job n to the foreground ===== Installation from source ===== '''./configure''' '''make''' '''make install''' '''dpkg -i pkg.deb''' – install a DEB package (Debian / Ubuntu / Linux Mint) '''rpm -Uvh pkg.rpm''' – install a RPM package (Red Hat / Fedora) ===== Stopping & Starting ===== '''shutdown -h now''' – Shutdown the system now and do not reboot '''halt''' – Stop all processes - same as above '''shutdown -r 5''' – Shutdown the system in 5 minutes and reboot '''shutdown -r now''' – Shutdown the system now and reboot '''reboot''' – Stop all processes and then reboot - same as above '''startx''' – Start the X system