|
|
Line 1: |
Line 1: |
− | == Linux Commands ==
| |
| | | |
− |
| |
− | <source lang="bash">
| |
− | cd # Home directory or changes directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cd .. # Up a directory and to up 2 directories ../.. and so on
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cd - # Returns you to the directory you previously were in
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cd / # Changes directory to root
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls # Lists the files that are in a directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls –a # Shows all files/hidden files in a directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls –al # Shows all files/hidden files and time/write permissions in a directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls -alh # Shows same as above command but shows file sizes in a better readable format
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls -l # Shows the files and write permissions in the directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ls / # Shows the contents of the root directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cat <file name. extension> # Prints the contents of a file on the shell
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mkdir <Directory Name> # Makes a directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mkdir -p EXAMPLE/RIGHT/IN/HERE # Makes multiple folders in the directory created
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mv /FILE/NAME/OR/DIR /TO/DIR/WANTED # Moves a file to a directory or renames a file
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rm <FILE NAME> # Removes a file
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rmdir <DIRECTORY> # Removes an empty directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rm –r # Removes a directory and its contents
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rm -rf # Force deletes everything
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rm –rf / # Deletes everything under root directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo # Runs command as sudo
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo -i # Changes to root privellages
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo su # Gives SUPERUSER privellages
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | man <COMMAND> # Displays how a command can be used and what it does
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | grep # searching, finding, filtering command
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | top # Shows running processes
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | htop # Shows more information than top and in more detail
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ps -A # Shows all running processes
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | kill PID # Kills process under a certain PID
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | kill -9 PID # Force kills a process that wont kill normally
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo killall NAME # Kill all processes under the NAME
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo pkill -u USER # Kills all USER processes
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | head FILENAME # Prints the first 10 lines
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | tail FILENAME # Prints the last 10 lines
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | clear # Clears the screen
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | pwd # Print working directory
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | <file name. extension> # Makes a file in current directory ##unsure of this##
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cal # Shows current calender date (also cal mm/yy)
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | whatis # Type a command after to see a brief description of what it does/is
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | adduser USERNAME # Create a USER
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | adduser USERNAME sudo # Adds USER to the sudo group
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | who # Shows current users on the machine and when they logged in
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | w # Shows whos logged in, from where, how long and what they're doing
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | nano # Edit a text file
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | vi # Nano is better...
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | vim # Another editor... type vimtutor on commandline to learn more
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sort # Sort lines of text files
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | wc # Wordcount a text file
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | rig # Random Identity Generator
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | apt-cache search # ??
| |
− | </source>
| |
− |
| |
− |
| |
− | == Networking ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | ifconfig # Shows network info IP/MAC address
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo netdiscover # Shows who's on the network and identifies the ip address of each connection
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo lsof -i # Lists the open ports and the process that owns them (to see which process is bound to port use :PORTNUMBER)
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo netstat # Seeing what might be exposed to the network</source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo netstat -tulpn # t=tcp, u=udp ports, l=listening ports, p=processes, n=numerical
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo macchanger -s enp4s0/eth0/wps/ # To see mac addresses
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo macchanger -r enp4s0 # Changes the current mac address to a new one
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ssh -NCD 1080 user@ip # Proxy network traffic over port 1080 (edit below settings on firefox to port traffic correctly)
| |
− | </source>
| |
− | Manual Proxy Configuration
| |
− | Socks Host: localhost
| |
− | port: 1080
| |
− |
| |
− |
| |
− | == SSH ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | ssh-keygen -t # creates a key in .ssh
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo nano /etc/ssh/sshd_config # change ssh parameters (key logging/password authentication)
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo service ssh restart # saves ssh modifications
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | ssh-copy-id USER@IP # saves the pub key to be known as an authenticated key
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | scp -r USER@IP /home/USER/FILE/FOLDER /home/local/machine # copy from server to localmachine
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | scp -r /home/USER/local/machine/file/folder USER@IP:/home/USER/VPS
| |
− | </source>
| |
− |
| |
− |
| |
− | == System Info ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | dmidecode | less # Shows bios information
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | lscpu # Shows cpu/hardware information
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | lspci # List all PCI devices
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | lsusb # List all USB devices
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | lsblk # List all Hard disks, Cd drives etc
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cat /proc/meminfo # Shows memory information
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cat /proc/version # Shows current running kernal version
| |
− | </source>
| |
− |
| |
− |
| |
− | == System Commands & Services ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | sudo apt-get update && sudo apt-get install # Updates n upgrades system to latest
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | crontab -e # the crontab (short for "cron table") is a list of commands that are scheduled to run at regular time intervals on your computer system
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | sudo nano /etc/default/grub # change grub options (boot timer)
| |
− | </source>
| |
− |
| |
− |
| |
− | == Shutdown/Reboot ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | shutdown -r +60 # restarts in 60mins
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | shutdown -h +60 # shutdown in 60mins
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | poweroff # shuts system down
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | reboot # restarts computer
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | init 6 # same as reboot
| |
− | </source>
| |
− |
| |
− |
| |
− | == Account Management ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | useradd # Adds a user
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | useradd -m -d # Create a new user and makes a home directory for the user and define the home directory /home/DIR/FOR/USER
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | userdel # Deletes a user</source>
| |
− |
| |
− | <source lang="bash">
| |
− | usermod -L USER # Locks the user from logging in
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | usermod -U USER # Unlocks the user so they can log in again
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | tail /etc/shadow
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | tail /etc/passwd
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | tail /etc/group
| |
− | </source>
| |
− |
| |
− | Note users will have a "!" after their name if they are locked out of their account
| |
− | to check this type in the above shadow command
| |
− |
| |
− | == File Permissions ==
| |
− |
| |
− |
| |
− | (R)ead=4
| |
− |
| |
− | (W)rite=2
| |
− |
| |
− | (X)ecute=1
| |
− |
| |
− | d=directory
| |
− |
| |
− | l=link
| |
− |
| |
− | 4+2+1 = (r+w+x) = 7
| |
− |
| |
− | 4+2 = (r+w) = 6
| |
− |
| |
− | 4+1 = (r+x) = 5
| |
− |
| |
− | 4 = (r) = 4
| |
− |
| |
− | 2+1 = (w+x) = 3
| |
− |
| |
− | 2 = (w) = 2
| |
− |
| |
− | 1 = (x) = 1
| |
− |
| |
− | <source lang="bash">
| |
− | chmod xxx dir # Change all files in a single directories permissions
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | chmod -R xxx dir # Change all file/folders permissions recursively
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | chown owner:group DIRECTORYNAME # Changes the owner and group name of files
| |
− | </source>
| |
− |
| |
− | == Mail ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | mail # Checks mail for current user
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mail -s "SUBJECT" USER < /home/USER/test.text # sends a mail to the user with test.text as the body
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mail -f USER # Checks mail for selected user
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | mail -f guest # checks guest messages
| |
− | </source>
| |
− |
| |
− |
| |
− | == Piping & Redirection ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | cat /FILE/IN/A/DIRECTORY | less # Shows in a opened document view without clogging the terminal
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | cat /FILE/IN/A/DIRECTORY | espeak # Speaks the text document in linux voice
| |
− | </source>
| |
− |
| |
− |
| |
− | == Git ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | git add . # add all files for committing
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | git commit -am "COMMIT MESSAGE" # commit the changes locally
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | git push origin master # push changes to the server
| |
− | </source>
| |
− |
| |
− |
| |
− | == Crontab Script Commands ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | @reboot macchanger -r enp4s0 # (or eth0) # changes to random mac address on each reboot
| |
− | </source>
| |
− |
| |
− |
| |
− | == Handy things to remember ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | CTRL r # to search for previously used COMMAND
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | CTRL p # shows previously used COMMAND
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | CTRL a # brings you to begin of line
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | CTRL e # brings to the end of line
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | tail -f FILENAME # this will follow the file while it's being edited
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | echo "some kind of text" > example.text # this will overwrite the .text file with the quoted line
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | echo "new line of text" >> example.text # this will write the quoted line on a new line
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | alias COMMANDNAME="DESIREDNAME" # this will temporarily save a command to the desired name
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | echo "alias COMMANDNAME=\"DESIREDNAME\";" >> ~/.bashrc # this will permanently save a desired command to the bash file
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | && # chain commands together
| |
− | </source>
| |
− |
| |
− |
| |
− | == Examples of Things ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | ls -alh /home/user/some/random/place >> ANYNAME # cat ANYNAME to see it show the directory with info
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | grep WHATEVERSEARCHINGFOR ./* # Useful for findings things.. If successful this will print out what it finds in the shell
| |
− | </source>
| |
− |
| |
− |
| |
− |
| |
− | == Random Password Generators ==
| |
− |
| |
− |
| |
− | <source lang="bash">
| |
− | openssl rand -base64 32 # generates random 32 character password
| |
− | </source>
| |
− |
| |
− | <source lang="bash">
| |
− | </dev/urandom tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' | head -c 10 ; echo # Sauls random character/symbol generated password command
| |
− | </source>
| |