Tips and Tricks: Difference between revisions
mNo edit summary |
No edit summary |
||
| (34 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== | == Useful commands == | ||
=== Recursively set directory permissions to 755 === | |||
{{Root|<nowiki>find /var/www/path -type d -print0 | xargs -0 chmod -c 755</nowiki>}} | |||
{{Root| | |||
=== | === Recursively rename directory and files from ISO-8859-15 to UTF-8 === | ||
{{Command|<nowiki>convmv -f iso-8859-15 -t utf8 -r /var/www/path --preserve-mtimes --notest</nowiki>}} | |||
{{ | |||
=== Recursively search for files of a specitic type, e.g. documents and list them === | |||
{{ | {{Command|<nowiki>find . -regex '.*\(pdf\|doc\)'</nowiki>}} | ||
=== | === User: Change a users home directory === | ||
{{Root|usermod -d /home/newhome user}} | |||
{{Root| | |||
=== Strip comments from config file === | |||
{{Command|<nowiki>grep -v "#" file.conf</nowiki>}} | |||
=== rsync file transfer === | |||
Synchronise a directory or whole partition: | |||
{{Root|<nowiki>rsync -av --delete-before /run/media/user/4TB-WD/ /run/media/user/4TB-WD-BCK/ --exclude="/lost+found/" --dry-run</nowiki>}} | |||
{{Root| | Upload a file to a remote server via rsync over ssh: | ||
{{Root|rsync --partial --progress movie.mkv root@example.com:/var/www/subdomain.example.com/htdocs/movies/movie.mkv}} | |||
== SCP file transfer == | === SCP file transfer === | ||
File transfer via commandline. | File transfer via commandline. | ||
| Line 52: | Line 44: | ||
{{Root|scp -p -r root@remote-host.de:/root/directory /root}} | {{Root|scp -p -r root@remote-host.de:/root/directory /root}} | ||
== SSH tunnel == | === SSH tunnel === | ||
Very useful if the server you want to connect to has only the SSH port open and/or a firewall infront and you want to access for example a tomcat server running on port 8080. | Very useful if the server you want to connect to has only the SSH port open and/or a firewall infront and you want to access for example a tomcat server running on port 8080. | ||
| Line 59: | Line 51: | ||
After establishing the tunnel you can access the tomcat server of the remote machine port 8080 at your localhost port 7777. | After establishing the tunnel you can access the tomcat server of the remote machine port 8080 at your localhost port 7777. | ||
== | === Generate SSH Host Keys === | ||
{{Root|ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''}} | |||
{{Root|ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''}} | |||
{{Root|ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''}} | |||
=== SSL: Remove passphrase from a SSL key === | |||
{{Command|openssl rsa -in ssl_with_passphrase.key -out ssl_without_passphrase.key}} | |||
=== SSL: Add/change passphrase to/from a SSL key === | |||
{{Command|openssl rsa -in ssl_without_passphrase.key -out ssl_with_passphrase.key -des3}} | |||
=== Perl: List included perl core modules with their versions === | |||
{{Command|corelist -v 5.22.1}} | |||
=== Postfix: Show mailqueue === | |||
{{Root|mailq}} | |||
=== Postfix: Attempt to deliver all queued mail === | |||
{{Root|postqueue -f}} | |||
=== Postfix: Delete a single mail from queue === | |||
{{Root|postsuper -d id_of_mail}} | |||
=== Postfix: Delete all mails with a specific sender from queue === | |||
{{Root|<nowiki>mailq | tail -n +2 | awk 'BEGIN { RS = "" } / apache@example\.com$/ { print $1 } ' | tr -d '*!' | postsuper -d -</nowiki>}} | |||
=== ImageMagick: Combine images side by side === | |||
{{Command|convert image{1,2,3}.png +append output.png}} | |||
=== Safely spin down external USB drive AFTER unmounting using sg3_utils === | |||
{{Root|sg_start --readonly --stop /dev/sdX}} | |||
=== Delete content in the underlying directory of a mounted filesystem without having to unmount first === | |||
Bind mount root to a temporary mount point, e.g. /mnt/temp. Useful to fix. e.g. following systemd informational notice: | |||
tmp.mount: Directory /tmp to mount over is not empty, mounting anyway. | |||
{{Root|mount --bind / /mnt/temp}} | |||
Browse to /mnt/temp/yourmountpoint and be able to delete the files, afterwards unmount /mnt/temp again. | |||
=== eyeD3: Remove a specific ID3 tag frame === | |||
= | {{Command|<nowiki>eyeD3 file.mp3 --remove-frame=TPE2</nowiki>}} | ||
=== Ghostscript: Split a PDF file in single files per page using a python script === | |||
<pre> | |||
#!/usr/bin/python3 | |||
=== Change the Dolphin standard view to detailed view for ALL folders === | import os | ||
number_of_pages = 10 | |||
input_pdf = "file.pdf" | |||
for i in range(1, number_of_pages +1): | |||
os.system("gs -q -dBATCH -dNOPAUSE -sOutputFile=page{page:04d}.pdf -dFirstPage={page} -dLastPage={page} -sDEVICE=pdfwrite {input_pdf}".format(page=i, input_pdf=input_pdf) ) | |||
</pre> | |||
=== Ghostscript: Merge multiple PDF files === | |||
{{Command|<nowiki>gs -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=merged.pdf file1.pdf file2.pdf file3.pdf</nowiki>}} | |||
Alternativly use poppler (which removes metadata) | |||
{{Command|pdfunite file1.pdf file2.pdf file3.pdf merged.pdf}} | |||
=== Change the Dolphin standard view to detailed view for ALL folders ==== | |||
Open Dolphin -> Settings > Configure Dolphin -> Views -> Common Tab -> and mark -> Use the same view for all folders | Open Dolphin -> Settings > Configure Dolphin -> Views -> Common Tab -> and mark -> Use the same view for all folders | ||
=== Disable IPv6 until the next reboot === | |||
{{Root|echo 1 > /proc/sys/net/ipv6/conf/<iface>/disable_ipv6}} | |||
=== Stream a video via VLC to Chromecast === | |||
{{Command|<nowiki>vlc --sout="#chromecast{ip=xxx.xxx.xxx.xxx}" ~/video.mkv</nowiki>}} | |||
=== Summary of the top 15 directories occupying the most hard disc space === | |||
{{Command|<nowiki>du -cksh * | sort -hr | head -n 15</nowiki>}} | |||
== Package management (Portage) == | |||
=== To which package belongs file X === | |||
{{Root|equery belongs -f <dateiname>}} | |||
=== Which installed packages have USE-Flag X === | |||
{{Root|equery hasuse <useflag>}} | |||
=== Backup an installed package === | |||
{{Root|quickpkg net-www/apache}} | |||
After this you can install the package on another machine or do a fast downgrade if something went bad after an update. You can find the file under {{Path|/usr/portage/packages/All}} and in this example a symlink to the apache file in {{Path|/usr/portage/packages/net-www}}. To install the now precompiled binary use: | |||
{{Root|emerge --usepkgonly "<net-www/apache-2.2.4"}} | |||
=== Detect and get rid of leftover packages === | |||
{{Root|emerge depclean --pretend}} | |||
=== Change your current profile === | |||
{{Root|emerge eselect}} | |||
{{Root|eselect profile list}} | |||
{{Root|eselect profile set <nummer>}} | |||
[[Category:Software]] | [[Category:Software]] | ||
Latest revision as of 16:53, 22 February 2017
Useful commands
Recursively set directory permissions to 755
Recursively rename directory and files from ISO-8859-15 to UTF-8
Recursively search for files of a specitic type, e.g. documents and list them
User: Change a users home directory
Strip comments from config file
rsync file transfer
Synchronise a directory or whole partition:
Upload a file to a remote server via rsync over ssh:
SCP file transfer
File transfer via commandline.
Upload file:
Download file:
Upload directory:
Download directory:
SSH tunnel
Very useful if the server you want to connect to has only the SSH port open and/or a firewall infront and you want to access for example a tomcat server running on port 8080.
After establishing the tunnel you can access the tomcat server of the remote machine port 8080 at your localhost port 7777.
Generate SSH Host Keys
SSL: Remove passphrase from a SSL key
SSL: Add/change passphrase to/from a SSL key
Perl: List included perl core modules with their versions
Postfix: Show mailqueue
Postfix: Attempt to deliver all queued mail
Postfix: Delete a single mail from queue
Postfix: Delete all mails with a specific sender from queue
ImageMagick: Combine images side by side
Safely spin down external USB drive AFTER unmounting using sg3_utils
Delete content in the underlying directory of a mounted filesystem without having to unmount first
Bind mount root to a temporary mount point, e.g. /mnt/temp. Useful to fix. e.g. following systemd informational notice:
tmp.mount: Directory /tmp to mount over is not empty, mounting anyway.
Browse to /mnt/temp/yourmountpoint and be able to delete the files, afterwards unmount /mnt/temp again.
eyeD3: Remove a specific ID3 tag frame
Ghostscript: Split a PDF file in single files per page using a python script
#!/usr/bin/python3
import os
number_of_pages = 10
input_pdf = "file.pdf"
for i in range(1, number_of_pages +1):
os.system("gs -q -dBATCH -dNOPAUSE -sOutputFile=page{page:04d}.pdf -dFirstPage={page} -dLastPage={page} -sDEVICE=pdfwrite {input_pdf}".format(page=i, input_pdf=input_pdf) )
Ghostscript: Merge multiple PDF files
Alternativly use poppler (which removes metadata)
Change the Dolphin standard view to detailed view for ALL folders =
Open Dolphin -> Settings > Configure Dolphin -> Views -> Common Tab -> and mark -> Use the same view for all folders
Disable IPv6 until the next reboot
Stream a video via VLC to Chromecast
Summary of the top 15 directories occupying the most hard disc space
Package management (Portage)
To which package belongs file X
Which installed packages have USE-Flag X
Backup an installed package
After this you can install the package on another machine or do a fast downgrade if something went bad after an update. You can find the file under /usr/portage/packages/All and in this example a symlink to the apache file in /usr/portage/packages/net-www. To install the now precompiled binary use: