man
- show manual information about a command
sudo
- do it as root (superuser)
apt
- use interactively only (use apt-get
in scripts)
sudo apt update
- update all the sources for packages
sudo apt upgrade
- upgrade all packages to latest version
apt search ^neo
- search for all package starting with neo
sudo apt install neofetch
- install neofetch
and dependencies
sudo apt remove neofetch
- remove neofetch
sudo apt autoremove
- automatically remove unused packages
ls
- list the files in the (current) directory
ls -al
- list all the files including hidden (begin with .
)
hostname
- display name of host computer
pwd
- print working directory
cd foo
- change into the foo
directory
cd
, cd ~
- change back to the home directory
cd ..
- change into the relative parent directory
cd ../..
- change into the relative parent of the parent directory
cd -
- change to previous directory
-
cd /
change to the root directory
-
ip a
- show all IP addresses (ipconfig /all
, on Windows)
clear
- clears the screen
which ssh
- display full path to ssh program
type ssh
- display what type of thing it is
who
- display who is logged in an how
id
- display user and group names and ids for self
w
- display logger version of who is logged in
whoami
- print effective user name/ID
users
- short name of all logged in users
last
- summary of last logged in users
exit
- exit the current program or login or shell
| less
or | more
- see scrolled output in terminal (q
to quit)
<Ctrl>-c
- interrupt whatever (exit)
<Ctrl>-d
- send "end of data/file"
sudo apt install openssh-server
- install ssh server (if not)
vboxmanage startvm <VMNAME> --type headless
- start vm headless
vboxmanage list runningvms
- list running vms
vboxmanage list vms
- list all vms
vboxmanage controlvm <VMNAME> poweroff
- power off headless vm
vim
- basic vim https://rwx.gg/visurvive
-
nano
- just so you understand nano editor is a thing
-
ip -c a
- lookup IP addresses
set -o noclobber
- stop from blowing away files
mv foo other
- change file/directory foo
name to other
(or move)
mv -i foo other
- change file name but protect against overwrites
cp foo other
- copy file/directory foo
name to other
(or move)
cp -ar foo other
- copy all foo
to other
keeping timestamp
scp foo target:
- copy foo from host to remote target home dir (def)
ls -ld
(or with .
) - look directory permission on current directory
stat foo
- see all the details about the foo
inode
chmod +x foo
- make foo file executable by user, group, other
chmod o-r foo
- make foo unreadable by other
chown rando foo
- change ownership of foo
to rando
chown -R jill:jill olddir
- recursively change ownership/group
sudo su -
- effectively login as root without logging out
sudo su - foo
effectively login as foo
stat -c '%a'
- to see octal permissions
cd -
- change into previous directory
echo foo
- write foo to standard output
cat foo
- write content of foo file to standard output
which foo
- print the full file path to the executable foo
ls -l $(which sudo)
- list perms for sudo
command
sudo adduser foo
- interactively add a user named foo
(not RedHat)
sudo deluser foo
- interactively delete a user named foo
(not RedHat)
sudo passwd foo
- change the password for foo
passwd
- change own password
touch
- create new text file or update last modified time stat
rmdir foo
- remove an empty foo
directory
rm -rf foo
- remove directory or file foo and everything in it
grep jill /etc/passwd
- list only line containing jill
-
file foo
- tell type of inode
-
find .
- sort of the same as ls -l1
find . -ls
- sort of the same as ls -l1
find . -name '???'
- find files/dirs with three letter name
find . -path '.git'
- find files/dirs with .git
anywhere in path
head -5 foo
- show top five lines of foo
file
tail -5 foo
- show bottom five lines of foo
file
tac foo
- reverse lines of foo
file
wc -l
- print count of lines
nl
- add line numbers to output
tee /tmp/foo
- both writes to a file foo
and to stdout
>
- (over) write to file
>>
- append to file
|
- connect stdout to stdin
<
- send file to stdin
lolcat
- colorize things
-
cowsay
- fun way to show output
-
ssh-keygen -f key -N ''
- generates a 'key' and 'key.pub' for ssh connections. key.pub is supplied to what you want to connect to. Then connect to remote system over ssh with ssh -i key username@ip.ip.ip.ip