Command | Function |
---|---|
cd {/folder/} | cd (change directory), changes the current directory to folder |
pwd | shows current directory |
ls | shows all files and folders in the current directory in one line → confusing) |
ll | = ls –al → shows all files and folders + owner + size, 1 item each line |
alias | shows alias like „..“ for „cd ..“ |
cat {textfile} | displays the full file |
tail [-f -n 20] {file} | displays the last 20 lines of the file – extension „–f“ refreshes the file, extension „–n 20“ displays the last 20 lines |
head {file} | same as tail but it displays the first lines |
touch {file} | create a file / refresh the timestamp |
chmod [777 or +rwx] {file} | change rights of a file |
chown {user}:{group} {file or directory} [–R] | change owner and group, -R changes the complete directory including files and subdirectorys |
useradd [–m] | add a user (-m creates a homedir) |
groupadd | add a group |
cp {source} {target} [-r -a] | copy data, -r copy directory, -a keep the rights |
mv {source} {target} | move file or directory |
rm [–r] {file or folder} | removes a folder with all data in it / rmdir only removes empty folders |
cut [–d] “:” [-f] 1,3 | : is the delimiter and 1 and 3 are the columns |
echo “ ” > test.sh | deletes the entries of a textfile |
which sutp | shows path of sutp |
echo $? | 0 = success of the last command |
env | run a program in a modified environment |
uptime | shows how long your machine is running |
mkdir [–p] {/abc/abc} | create a directory including a subdirectory |
rpm [–ivh] | install a rpm file (install verbose hash) |
mount /dev/{cdrom, sr, hdc or tabtab} | mount something |
df -h | diskfree lists your diskspace |
dpkg -l | less | shows all apps installed with apt-get |
source {file} | evaluates a file |
ps [-aux] | grep '[p]erl' | look up the perl process but dont show the grep “perl” process |
ln -s {source} {target} | symlink |
cat /etc/*-release | shows the linux distribution (SLES/Ubuntu etc) |
find <PATH> -name “<FILENAME>” | finds a file in path |
history | grep xyz | finds xyz in the last executed commands |
zless /var/log/xyz.1.gz | open packed logfiles |
zless, zmore, zcat, zgrep | open gzipped files without extraction |
locate myscript | lists all paths to files named myscript |
ip addr list dev eth0 | lists all ips, including virtual ips |
echo $0 | shows the current running process (in script)/ shows the running shell (in shell) (csh,bash,etc..) |
echo $SHELL | shows the default shell (csh,bash,etc..) |
rsync -avzh [email protected]:/home/ /tmp/. | copy /home to /tmp via rsync |
wget -r ftp://<USER>:<PASS>@lunetikk.de | copy / to current folder via wget |
echo -e '\e[0;41m' | set backgroundcolor red for your current shell |
time /any/script.sh | displays the execution time |
mtr lunetikk.de | dynamic ping/traceroute |
nl test.sh | shows script with numbered lines |
curl ifconfig.me | display your external ip address |
curl ipinfo.io | display a “whois” for your ip address |
tree | display files and folders as a tree |
pstree | display running processes with children as a tree |
<space> rm secretfile | this command will not be recorded in history |
stat file.txt | displays info of the file |
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done & | display the time on the top right corner in shell |
echo "test" | mailx -s "Test mail" -S "smtp=<RELAY>" -r "<TO>" "<FROM>" | Send mails via different SMTP without changing your postfix config |
tar cfvz <archive>.tgz <dir/file> | compress files to tgz |
tar -xzfv <archive> | decompress tgz to current dir |
tar -xvjf <archive>.tar.bz2 <archive> | decompress bz2 to current dir |
tar -tvf <archive>.tar | list files in tar |
tar -xvf <archive>.tar home/foo/bar | extract /home/foo/bar from the tar (NO LEADING SLASH /) |
last -w | displays the full name instead of only 8 chars |
lsscsi -v | lists the scsi device id and its partition |
ypcat passwd | list all users from the nis masterserver |
ypwhich | list your nis masterserver |
find /tmp -type f -atime +30 -delete | delete files in /tmp with no access in the last 30 days |
dpkg –print-architecture | show cpu architecture (amd64/i386/…) (debian/ubuntu only) |
nmap -sL <IP like 192.168.178.*> | list targets to scan in the given IP-range |
nmap -sn <IP like 192.168.178.*> | ping scan in the given IP-range |
yes | yum install <package> | submit yes - also works for other commands |
du -hs * | sort -h | head | show files by size and sort by size |
rm !(*.log) | remove all files except for *.log |
ps -f -p <PID> -o lstart= | show starttime of process |
install -d -o <user> -g <group> -m <mode> <path> | mkdir with specific user, group and rights |
Command | Function |
---|---|
vim -x <file> | open file and set password |
vim <file> | open file and enter password after it was set |
Command | Function |
---|---|
ftp -i lunetikk.de | start client without corfirmation needed |
get file.txt | download file.txt |
mget * | download all files |
put file.txt | upload file.txt |
mput * | upload all files |
ls -al | show files in current folder |
cd <PATH> | change directory |
lcd <PATH> | change local directory |
If you want to create a backup or copy your website, you might want to archive your files before transfer. Check the following script which does this Github - abdulawal39/ZipCF
Copy the .zip to your targetserver and execute a php file (eg. yoursite.de/thephp.php) with the following code
<?php system('unzip <yourzipfile>.zip'); ?>
Problem | Solution |
---|---|
put /tmp/files.tgz local: /tmp/files.tgz remote: /tmp/files.tgz 200 PORT command successful 550 /tmp/files.tgz: No such file or directory | lcd /tmp/ cd /path/on/ftp put files.tgz |
Zypper Cheat Sheet 1
Zypper Cheat Sheet 2
Command | Function |
---|---|
zypper ref | Refresh repositorys |
zypper up | Update packages |
zypper in <PACKAGE> | Install PACKAGE |
zypper info <PACKAGE> | Shows the repository with PACKAGE |
zypper lr | List repositorys |
zypper ar <REPOURL> | Add repository via REPOURL |
zypper mr -e <REPO> | Activate existing REPO |
zypper se -s <PACKAGE> | Show all available packages incl. versions |
Command | Function |
---|---|
yum list all | Show all available and installed packages |
yum search <PACKAGE> | Find info about [Package] |
yum repolist | Show enabled repositorys |
yum clean all | Clean all packages and meta data from cache |
rm -rf /var/cache/yum | Clean all packages and meta data incl. orphaned data from cache |
yum update | Update all installed packages |
yum update <PACKAGE> | Update PACKAGE |
yum reinstall <PACKAGE> | Reinstall PACKAGE |
yum remove <PACKAGE> | Remove PACKAGE |
yum downgrade <PACKAGE> | Downgrade package to earlier version |
yum –disablerepo=“*” –enablerepo=“my-repo” update | Only update software of repository “my-repo” |
Command | Function |
---|---|
apt-cache search [Package] | search for [Package] (example nano) |
apt-get install [Package] | installs [Package] |
apt-get update | update sources.list/repository |
apt-get upgrade | update all installed packages |
apt-get remove [Package] | remove [Package] |
apt-get autoclean | remove software without sources |
apt-get autoremove | remove unused dependencys |
apt-get purge [Package] | remove [Package] and its configs |
apt-key list | grep expired | list all expired keys |
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv <KEY> | update a key (key = 1024D/1234A5B6) |
apt-key adv --keyserver-options http-proxy=http://PROXYIP:8080 --keyserver hkp://keyserver.ubuntu.com:80 --recv <KEY> | update a key with proxy |
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY> | add a key (key = NO_PUBKEY A12B3CD456789E0F |
apt-mark hold [Package] | hold back [Package] |
apt-mark unhold [Package] | remove hold back from [Package] |
apt-mark showhold | show held back packages |
dkpg –install [Package.deb] | installs offline packages |
aptitude install [Package] | installs [Package] alt. apt-get |
service [Service] start/stop | start/stop a service (rc for Suse) |
dpkg -l | less | shows all apps installed with apt-get |
dpkg -l | grep <package> | shows all apps installed with apt-get by packagename |
man dpkg-query
The first three columns of the output show the desired action, the package status, and errors, in that order. Desired action: u = Unknown i = Install h = Hold r = Remove p = Purge Package status: n = Not-installed c = Config-files H = Half-installed U = Unpacked F = Half-configured W = Triggers-awaiting t = Triggers-pending i = Installed Error flags: <empty> = (none) R = Reinst-required
Reset all:
echo -e "\e[0mNormal Text"
Escape characters:
\e \033 \x1B
Example:
echo -e "\e[31mHello World\e[0m" echo -e "\033[31mHello\e[0m World"
Colorcode | Code | Description |
---|---|---|
39 | echo -e “Normal Text \e[39mNormal Text” | default color |
30 | echo -e “Normal Text \e[30mBlack” | black |
31 | echo -e “Normal Text \e[31mRed” | red |
32 | echo -e “Normal Text \e[32mGreen” | green |
33 | echo -e “Normal Text \e[33mYellow” | yellow |
34 | echo -e “Normal Text \e[34mBlue” | blue |
35 | echo -e “Normal Text \e[35mMagenta” | magenta |
36 | echo -e “Normal Text \e[36mCyan” | cyan |
37 | echo -e “Normal Text \e[37mLight gray” | light gray |
90 | echo -e “Normal Text \e[90mDark gray” | dark gray |
91 | echo -e “Normal Text \e[91mLight red” | light red |
92 | echo -e “Normal Text \e[92mLight green” | light green |
93 | echo -e “Normal Text \e[93mLight yellow” | light yellow |
94 | echo -e “Normal Text \e[94mLight blue” | light blue |
95 | echo -e “Normal Text \e[95mLight magenta” | light magenta |
96 | echo -e “Normal Text \e[96mLight cyan” | light cyan |
97 | echo -e “Normal Text \e[97mWhite” | white/ mostly default… |
Colorcode | Code | Description |
---|---|---|
49 | echo -e “Normal Text \e[49mNormal Text” | default color |
40 | echo -e “Normal Text \e[40mBlack” | black/ mostly default… |
41 | echo -e “Normal Text \e[41mRed” | red |
42 | echo -e “Normal Text \e[42mGreen” | green |
43 | echo -e “Normal Text \e[43mYellow” | yellow |
44 | echo -e “Normal Text \e[44mBlue” | blue |
45 | echo -e “Normal Text \e[45mMagenta” | magenta |
46 | echo -e “Normal Text \e[46mCyan” | cyan |
47 | echo -e “Normal Text \e[47mLight gray” | light gray |
100 | echo -e “Normal Text \e[100mDark gray” | dark gray |
101 | echo -e “Normal Text \e[101mLight red” | light red |
102 | echo -e “Normal Text \e[102mLight green” | light green |
103 | echo -e “Normal Text \e[103mLight yellow” | light yellow |
104 | echo -e “Normal Text \e[104mLight blue” | light blue |
105 | echo -e “Normal Text \e[105mLight magenta” | light magenta |
106 | echo -e “Normal Text \e[106mLight cyan” | light cyan |
107 | echo -e “Normal Text \e[107mWhite” | white |
echo -e “Normal Text \e[1mBold” | bold |
echo -e “Normal Text \e[2mDim” | dim/ darker text |
echo -e “Normal Text \e[4mUnderlined” | underlined |
echo -e “Normal Text \e[5mBlink” | blink text/ doesnt work with most terminals |
echo -e “Normal Text \e[7minverted” | invert foreground and background colors |
echo -e “Normal Text \e[8mHidden” | hide text |
Command | Function |
---|---|
apt-get moo | Try it out ;) |
aptitude moo | Try it out and add aptitude -v[vvvvv] moo ;) |
Discussion