> Shellbefehle
Logo

Was mir in Sachen Linux einfällt

Shellbefehle, die ich nützlich finde


Stand März 2013

HD-Filme in ein schneidbares Format wandeln

Update von Dezember 2014

HD-Aufnahmen kann man nicht ! mit ProjectX nachbearbeiten. Allerdings kann man solche Aufnahmen - so wie sie sind - nicht mit Avidemux sauber schneiden. Man muss sie erst umwandeln. Bei Kinofilmen ist die Bildfrequenz 50Hz überflüssig, deswegen wird jedes 2. Bild verworfen, das spart Daten. Außerdem enthält ein HD-Film nur alle 300 Bilder ein Vollbild. Nur an denen kann man schneiden und das würde bedeuten, dass man nur alle 11 Sekunden schneiden kann. Ungünstig! Deshalb wird bei meinem Befehl alle 12 Bilder ein Vollbild eingefügt, das entspricht einer minimalen Schnittzeit von einer halben Sekunde. Dafür hat sich dieser Befehl bewährt. Die Anführungszeichen sind nur nötig, wenn der Dateiname Leerzeichen enthält.

ffmpeg -i "Aufnahmedatei.m2t" -c:v libxvid -vtag XVID -r 25 -aspect 16:9 -bufsize 4096 -g 12 -q:v 2 -c:a copy -map 0:v -map 0:a "FertigeDatei.avi"
oder besser:
ffmpeg -i "Aufnahmedatei.m2t" -c:v mpeg4 -r 25 -aspect 16:9 -g 12 -qscale 0 -c:a copy -map v:0:0 -map a:0:1 "FertigeDatei.mp4"

Das dauert bei mir fast genau so lange, wie der Film spielt ....



USB-Sticks formatieren (auch Festplatten und SD-Karten)

Deine Eingaben sind rot gefärbt.

Lege den USB-Stick neben die Tastatur auf den Tisch!

hartmut@Jupiter:~> su
Passwort: 
Jupiter:/home/hartmut # fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *          63    41945714    20972826   83  Linux
/dev/sda2        41945715    46154744     2104515   82  Linux Swap
/dev/sda3        46154745   976768064   465306660   83  Linux

Jetzt steckst Du den USB-Stick an den Rechner an

Jupiter:/home/hartmut # fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *          63    41945714    20972826   83  Linux
/dev/sda2        41945715    46154744     2104515   82  Linux Swap 
/dev/sda3        46154745   976768064   465306660   83  Linux

Platte /dev/sdg: 2079 MByte, 2079850496 Byte
5 Köpfe, 32 Sektoren/Spur, 25388 Zylinder, zusammen 4062208 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3072e18

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdg1            2048     4062207     2030080    b  W95 FAT32

Durch den Unterschied zu oben weißt Du jetzt genau, welches Device Dein Stick ist. Dieser darf nicht gemountet sein für die nächsten Aktionen, also:

Jupiter:/home/hartmut # umount /dev/sdg1
umount: /dev/sdg1: not mounted

Jetzt kann es weitergehen mit der Partitionierung. Wenn Du keine Tippfehler machst beim Device-Namen und sicher bist, dass der Inhalt des Sticks weg kann, kannst Du nichts kaputt machen.

Jupiter:/home/hartmut # fdisk /dev/sdg
Welcome to fdisk (util-linux 2.21.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Befehl (m für Hilfe): p

Platte /dev/sdg: 2079 MByte, 2079850496 Byte
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdg1            2048     4062207     2030080    b  W95 FAT32

Befehl (m für Hilfe): d
Partition 1 ausgewählt
Partition 1 is deleted

Befehl (m für Hilfe): p

Platte /dev/sdg: 2079 MByte, 2079850496 Byte
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System

Befehl (m für Hilfe): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   Erweiterte
Select (default p): p
Partitionsnummer (1-4, Vorgabe: 1): 1
Erster Sektor (2048-4062207, Vorgabe: 2048): ENTER
Benutze den Standardwert 2048
Last Sektor, +Sektoren or +size{K,M,G}, Vorgabe: 4062207): ENTER
Benutze den Standardwert 4062207
Partition 1 of type Linux and of size 2 GiB is set

Befehl (m für Hilfe): p

Platte /dev/sdg: 2079 MByte, 2079850496 Byte
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdg1            2048     4062207     2030080   83  Linux

Befehl (m für Hilfe): t
Partition 1 ausgewählt
Hex code (L um eine Liste anzuzeigen): l

 0  Leer            24  NEC DOS         81  Minix / old Lin 
 1  FAT12           27  Hidden NTFS Win 82  Linux Swap / So 
 2  XENIX root      39  Plan 9          83  Linux           
 3  XENIX usr       3c  PartitionMagic  84  OS/2 verst. C:- 
 4  FAT16 <32M      40  Venix 80286     85  Linux erweitert 
 5  Erweiterte      41  PPC PReP Boot   86  NTFS volume set 
 6  FAT16           42  SFS             87  NTFS volume set 
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux Plaintext 
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       
 9  AIX bootfähig   4f  QNX4.x 3rd part 93  Amoeba          
 a  OS/2 Bootmanage 50  OnTrack DM      94  Amoeba BBT          
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi 
(gekürzt)

Hex code (L um eine Liste anzuzeigen): b
Der Dateisystemtyp der Partition 1 ist nun b (W95 FAT32)

Befehl (m für Hilfe): p

Platte /dev/sdg: 2079 MByte, 2079850496 Byte
(gekürzt)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdg1            2048     4062207     2030080    b  W95 FAT32

Befehl (m für Hilfe): w
Die Partitionstabelle wurde verändert!

Rufe ioctl() um Partitionstabelle neu einzulesen.

WARNUNG: Wenn Sie eine DOS 6.x Partition angelegt
oder verändert haben, dann schauen Sie bitte in die
fdisk-manual-Seite nach weiteren Informationen
Synchronisiere Platten.

Hat der Automounter wieder zugeschlagen? Wenn ja, dann wiederhole nochmal den umount-Befehl von oben. Jetzt braucht die neue Partition noch ein Dateisystem. Mit vfat (Windows FAT32) findest Du überall Anschluss. Natürlich muss der Partitionstyp von oben (Eingabe "t") mit dem Dateisystem übereinstimmen!

Jupiter:/home/hartmut # mkfs.vfat -n KleinerStick /dev/sdg1
mkfs.vfat 3.0.10 (12 Sep 2010)
Jupiter:/home/hartmut # 

Hat der Automounter jetzt zugeschlagen? Wenn ja, dann wiederhole nochmal den umount-Befehl von oben und dann kannst Du den Stick abziehen.

Ich empfehle, einen Namen für USB-Geräte (oben "KleinerStick") anzugeben, die Geräte werden dann mit Ihrem Namen angezeigt und Du kannst sicher sein, worauf Du zugreifst.



Zeichensatz von Textdateien umwandeln:

Schema:
iconv from ist-Zeichensatz to soll-Zeichensatz infile.txt out outfile.txt

Ausführungsbeispiel
iconv -f iso-8859-1 -t utf-8 infile.txt -o outfile.txt

outfile.txt darf auch gleich infile.txt sein!


Fertig! Viel Spaß ...