-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLINUX.txt
297 lines (220 loc) · 12.2 KB
/
LINUX.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
****** IMPORTANT
=> from Morpheus YouTube Channel
=> and added from http://www.linuxcommand.org/
=> NOMODESET: if there are starting problems when booting linux mint => replace quiet splash with nomodeset
=> Change Keyboard-Setting to DE: setxkbmap de
=> show $PATH variables: sed 's/:/\n/g' <<< "$PATH"
add entry to $PATH: export PATH="/home/bin:$PATH" => /home/bin will be added
****** INSTALLATION
=> SUDO, APT-GET
Download Virtual
Download Kali Linux Image
Change USB to 1.1.
Change keyboard to german (Add German - Delete English)
=> Update Linux
""
sudo => Superuserzugriff
sudo apt-get update
sudo apt-get upgrade
sudo apg-get dist-upgrade
""
****** TERMINAL - Folder and Basic Commands
=> WD, LS, CD, TOUCH, CAT, CLEAR, MAN, HELP, MAN, READLINK
pwd => shows actual working directory (print working directory)
ls --help => description of the command
man ls => outputs the manual for the command
ls => => lists all folders and files for the actual path
ls /bin => list all folders / files in the /bin directory
ls /bin /etc => list the files in the /bin directory and the /etc directory
ls -a => shows also hidden files
ls -l => list the files in the working directory in ling format
ls -la .. => list all files in the parent of the working directory (with hidden files in ling format)
=> Output columns for -l command
""
(col1: file permissions - r read, w write, x exceute/auführen)
(col2: number of the files in the directory - 1 if it is a file)
(col3: Owner)
(col4: Group)
(col5: Size in bytes)
(col6: Modification time)
(col7: file name)
""
cd . => Change to actual folder
cd .. => Change to the folder one level aboth
readlink -e ./out.txt => Read full path for a file
touch myFirstFile => Create an empty file
cat myFirstFile => Outputs the content of a file
./Name => Run a the program "Name"
clear => Clears the terminal screen
man => For manual - shows infos for linux commands
telnet => Userinterface für TELNET-Protocol
****** LINUX FILESYSTEM
/boot => kernel and boot loader - the kernel is a file called vmlinuz
/etc: => contains the configuation files - all files should be text files
/etc/passwd: => contains essential infos for each users
/etc/fstab: => table of devices that get mounted when the system boots
/etc/hosts: => list the network host names that are known to the system
/bin: => contain most of the programs - essential programs that the system requires to operate
/usr/bin: => contain most of the programs - applications for the systems user
/sbin and /usr/sbin => contain programs for system admins - mostly for use by the superuser
/usr: => variety of things that support user applications
/usr/share/X11: => support for the x windows system
/usr/share/dict: => dictionaries for the spelling checker
/usr/share/doc: => various docu files in different formats
/usr/share/man: => the man pages are kept here
/usr/src: => installed source code files
/usr/local: => are used for installation of individual software from the user
/usr/local/bin: => install folder for individual software
/var: => files which are changing during system running
/var/log: => many logfiles during the system run
/var/spool: => queue for processes like mail or print jobs
/lib: => shared libraries (like DDL in windows)
/home: => place to keep personal work - users are only allowed to write files here
/root: => superusers home directory
/tmp: => directory in which programs can write their temporary files
/dev: => special directory - contains devices that are available to the system - /dev/sda ist the first hard drive
/proc: => special directory - it is entire virtual
/media: => is used for mount points
****** PERMISSIONS AND MANAGEMENT
=> CHMOD
""
changes access rights for files and folders
3 digit persmissions - read / write / execute - eg. 111, 110, 100
111 => 7, 100 => 4, 101 => 5
chmod 751 file => root has all rights, actual user read and excecute, others only execute
touch => changes the date of the file
""
****** FOLDERS
=> MKDIR, RM, RMDIR, CP, MV
mkdir => create folder
g* => all files which begin with the char "g"
b*.txt => all files which begin with "b" and end with the char ".txt"
Data??? => files beginning with "Data" followed by exactly 3 more chars
[abc]* => files beginning with a/b/c
[[:upper:]]* => files beginning with uppercase letter
BACKUP.[[:digit:]][[:digit:]] => beginning with "BACKUP" followed by exactly 2 digits
*[![:lower:]] => files which does not end with a lowercase letter
rm file1 file2 => delete files (longname remove) with security prompt
rm -i file1 file2 => User is prompted before every deletion
rm -f => Delete files without security prompt (danger!)
rm -r dir1 => Delete a directory with security prompt
rm -rf => Delete a whole directory with the files inside WITHOUT security prompt
rmdir => Delete directory
cp file1 file2 => <source> <destination> copy file (longname copy) - without prompting when overwritten
cp -i file1 file2 => copying file - but user is prompted before overwriting an existing file
cp file1 dir1 => copy file1 inside of directory dir1
=> copy the content of dir1 to dir2
""
cp -r dir1 dir2
(if dir2 not exists => creating dir2 with dir1 content)
(if dir2 exists => creating dir1 within dir2)
""
cp -r => copy the whole directory with content
mv file1 file2 => <source> <destination> move file (longname move)
mv -i file1 file2 => moving file but prompting when file2 exists
mv file1 file2 file3 dir1 => the 3 files are moved to dir1
mv dir1 dir2 => moving everything from dir1 to dir2
****** PROCESSES, SYSTEM
=> CRUNCH, STRG-C, PS, TYPE
ps -e => show which processes are currently running
STRG-Z => pause a process
bg => set process to background
jobs => checks which jobs are currently running
fg => take process to the foreground
type => displays the kind of command the shell will execute
****** FILTERING
=> HEAD, TAIL, GREP
head -n 3 txtfile => outputs the first 3 lines of the file
tail -n 3 txtfile => outputs the last 3 lines of the file
grep sea txtfile => return all lines where "sea" is in it
grep -i sea txtfile => searching with ignoring lower- or uppercase
grep -n sea txtfile => show also line numbers
grep -r sea => the whole directory and subdirectory will be searched
//Regex Regular Expressions
grep -E s[ei][at] -wgre
. => für einzelnen Buchstaben;
[abc] => es wird nach einem Buchstaben gesucht der a, b oder c ist
-w => nur ganze Wörter (nicht nur Teile davon)
[^at] => verbotene Buchstaben - keine a oder t
\zahl => Suche nach einer Zahl - z.b. \7
s+ea => alles was vor "ea" 1 bis x "s" hat - z.B. sssea, sea, ssea
s*ea => alles was vor "ea" 0 bis x "s" hat - z.B. auch ea
s?ea => alles was vor "ea" 0 oder 1 "s" hat
s{2]ea => alls was 2 ss hat und danach ea => "ssea"
//11 Pipes
//Filterung der Ausgabe möglich
//Zeichen: |, >, >>
ps -e | grep panel => gibt alle Prozesse bzw. filtert alle Prozesse die "panel" enthalten
ps -e | grep panel > searchpanels => gefilterte Prozesse werden in Datei umgeleitet
//wenn erneute etwas in searchpanels ausgegeben wird - erfolgt Überschreibung ohne Warnung
ps -e | grep terminal >> searchpanels => durch ">>" wird angehängt und nicht überschrieben
//Verschachtelung auch möglich:
ps -e | grep terminal | grep panel => Filterung zuerst nach "terminal" und dann nach "panel"
//12 Installieren und Archive
//SHASUM, APT-GET, GIT CLONE, TAR CVF, TAR XVF
shasum filename => Checksumme des Files wird ausgegeben
diff => vergleicht den Inhalt zweiter Dateien
diff filname1 filename2 => Vergleich zweiter Dateien
apt-get install => zum insatllieren von Programmen / Paketen
git clone github-repository-link => GIT-Repository wird von GitHub gecloned1
tar cvf packfile filename1 filename2 filname3 => packen einer Datei (cv für create and verbose)
tar xvf packfile => entpacken der Datei (x für extract)
//13 Finden von Dateien
//FIND, WHEREIS, WHICH, LOCATE, WHOAMIf
find -name txtfile => sucht File und zeigt Speicherort an (auch Unterverzeichnisse)
whereis txtfile => sucht überall (nicht nur in den Unterverzeichnissen)
which ls => sucht die ausführbare Datei "ls" und zeigt an wo sie liegt
locate txtfile => gleich Funktion wie whereis (nur etwas schneller) - Files müssen aber indiziert sein
whoami => gibt auch welche Rechte der Nutzer hat (z.B. root oder kali)
//14 Links
//LN, Hard Link, Symbolic Link
ln abc.de abcde => Hardlink der Datei abc.de wird erzeugt
(wenn anschließend eine Datei geändert - ändert sich autoamtisch auch die andere Datei)
ln -s abc.de abcde => Symbolic Link der Datei abc.de wird erstellt
(ist wie eine Verknüpfung in Windows)
//15 Fun and Small Things
curl -4 http://wttr.in/Wien => Wetter der nächsten 3 Tage wird im Terminal angezeigt
telnet towel.blinkenlights.nl => Star Wars Episode 4 als ASCII Art
curl ftp://speedtest.tele2.net/1GB.zip -0 /dev/null => Speedtest mit 1GB Testfile
asciivview bild.jpg -driver curses => Ausgabe eines Bildes als Ascii-Art (vorher aview installieren mit apt-get install aview)
//20 Videos konvertieren, schneiden
//FFMPEG
Installaton: sudo apt-get install ffmpeg
Gesamte Dokumentation: ffmpeg --help
ffmpeg -i hacking.mkv -c copy -t 15 hackingNeu.mkv => kopieren in die neue Datei, aber nur die ersten 15 Sekunden
-i => Input-Datei
-c => Angabe des Codecs (z.B. libx264 auf Linux) (c für codec)
-c copy => bestehender Codec der Datei wird übernomen (keine Neuberechnung - z.B. beim Splitten)
-t 15 => Zugriff auf die Zeit - in diesem Fall 15 Sekunden
-ss => Angabe der Startzeit in der Form 00:00:00 (hh:mm:ss)
ffmpeg -i film.mkv -t 60 -c copy Teil1.mkv -ss 00:01:00 -c copy Teil2.kmv => Film wird gesplitet (ersten 60sek in Teil1 - Rest in Teil2)
ffmpeg -f concat -i list.txt -c copy output.mkv => zusammenfügen von allen Filmdateien die in der Datei list.txt angegeben sind
- vn => Audio wird ausgelesenm
ffmpeg -i film.mkv -vn -ab 256 output.mp3 => Audio wird extrahiert mit 256KB/s
-c:v copy => Kopieren des Videocodecs
-c:a aac => Audio wird in aac-Codec umgewandelt
ffmpeg -i film.mkv -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mkv => Video- und Audiospur zusammenführen
ffmpeg -i film.mkv -vf scale=1000:-1 -t 5 -r 20 image.gif => Umwandlung einer Video-Datei in das GIF-Format
//21 Einstellung im Terminal
// Aufruf mit Sudo Visudo - Anpassung der ersten Zeile bei Defaults wo env_reset steht
pwfeedback => Passwort mit Sternchen sichtbar machen
insults => Lustige Ausgaben, Insults bei Falscheingabe des Sudo-Passworts
//22 Automatisches Herunterfahren
//SHUTDOWN
shutdown -h now => Linux wird sofort heruntergefahren
shutdown -h 23:59 => Linux fährt um 23:59 herunter
shutdown -r +765 => System rebootet in 765 Minuten
-h => normales Herunterfahren
-r => Reboot
//24 Grub Bootloader anpassen
//GRUB
sudo gedit grub => Aufruf der Datei ohne Schreibschutz
(wenn gedit noch nicht installiert => sudo apt-get install gedit)
info -f grub -n "Simple configuration" => Ausgabe einer Übersicht der Befehle
GRUB_DEFAULT=0 => Default Betriebssystem => bei 0 erstes Betriebssystem, bei 1 das zweite Betriebssytem
GRUB_TIMEOUT=5 => Auswahlzeitraum in Sekunden des Betriebssystems (mit Shift-Taste öffnet sich das Bootmenü immer)
GRUB_BACKGROUND="/home/Bilder/meinBild.png" => Hintergrund-Bild des Bootloaders festlegen
sudo update-grub => Nach den Änderungen muss dies im Terminal durchgeführt werden um die Datei zu speichern
//26 PDF Dateien vereinigen
//PDFUNITE
pdfunite file1.pdf file2.pdf ausgabe.pdf => 2 PDFs werden zusammengeführt - für beliebig viele Dateien