Bash
==Handy Bash commands==
- Force the system to check all file systems at boot:
sudo touch /forcefsck
- 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.
- 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
- Open new root bash environment:
sudo bash — Use “exit” to return to your onw shell.
- 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.
- 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.
- 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.
- Hide your cursor:
tput civis — Hides cursor.
tput cnorm — Brings cursor back.
- Fix a terminal that’s gone crazy:
. .profile — Reloads your environment.
reset — resets the terminal completely.
- 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.
- 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.
- 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.
- 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.
- 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