Skip to content
Bash

Bash

==Handy Bash commands==

  1. Force the system to check all file systems at boot:

sudo touch /forcefsck

  1. Use cat to create or append text files;

cat > myfile.txt — Creates small text file. Use Ctrl+D to send text to file.

cat » myfile.txt — Appends lines to bottom of pre-existing file.

  1. Use pushd and popd to put move directories on and off of a stack.

pushd /directory — Moves to new directory.

popd — brigs you back to original directory

  1. Open new root bash environment:

sudo bash — Use “exit” to return to your onw shell.

  1. Make bash execute one command as root:

sudo bash -c “echo ‘QT_QPA_PLATFORMTHEME=gtk2’ » /etc/environment” — Note: “sudo echo” at a command prompt will not work.

  1. Use wget to download files from the internet:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb — Downloads Google Chrome installer package into the current directory.

  1. Automaticallly look for and install packages in a script:

dpkg -l | grep -qw gdebi || sudo apt-get install -yyq gdebi — Install gdebi packaage if it is not already installed.

  1. Hide your cursor:

tput civis — Hides cursor.

tput cnorm — Brings cursor back.

  1. Fix a terminal that’s gone crazy:

. .profile — Reloads your environment.

reset — resets the terminal completely.

  1. Find a command in history:

Ctrl+R — Activates history search: Start typing to search for text. Pressing enter without typing will exit search.

— Note: Pessing Ctrl+S will turn off input and output from X! Press Ctrl+Q to turn it nack on.

  1. String commands together at promt as they would run in a script:

command 1; commnad 2; commnad 3; … — Runs one command after another regardless of any command’s exit code.

  1. Change file permissions on entire directory of files:

find /path/to/directory -type f -exec chmod 644 {} ; — Note: Changing “type -f” to “type -d” will do the same for all directories in the specified directory.

  1. Using ranges in commands:

/bin/df -h /dev/sd[a-z][1-9] 2>/dev/null — Lists only drive partitions when running the df command.

mkdir test{01..10} — Creates 10 numbered directories.

  1. Catching and dumping unwanted keyboard input (Percy’s patch):

long-running-command; read -t 1 -n 10000 discard

14: Make bash script executable

chmod 555

==Find Command==

Use find to get files of a 1033 bytes size that are not executable:

  • find . -type f -size 1033c ! -executable

==Text Tools== ===Grep===

Use Grep command to find strings in text. Useful for finding matches in logs etc:

Find and print the line containing the word:

  • grep

can use the -n option to show line number

can use the -m option to stop after a number of matches

use -o to only return matches to the string

use -a to treat binary file as text

===uniq=== Use to find unique lines or strings in text

Pipe text into command to get info, eg to get only unique occurances:

  • cat | sort | uniq -u