4,348
edits
add unpacking gz files |
Tags: Mobile edit Mobile web edit |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Copy including hidden files | = Finding or searching through files and folders = | ||
== Search for a string == | |||
A case-sensitive search through all of the files from current folder and below. | |||
<syntaxhighlight lang="bash"> | |||
$ find . | xargs grep -s "mystring" | more | |||
</syntaxhighlight> | |||
A ''case-insensitive'' search through all of the files from current folder and below. | |||
<syntaxhighlight lang="bash"> | |||
$ find . | xargs grep -si "mystring" | more | |||
</syntaxhighlight> | |||
A ''case-insensitive'' search through all of the files from current folder and below, and truncate long search results. | |||
<syntaxhighlight lang="bash"> | |||
$ find . | xargs grep -sioE ".{0,20}mystring.{0,20}" | more | |||
</syntaxhighlight> | |||
An alternative way to search for keywords. | |||
<source lang="bash"> | |||
$ cat file.txt | grep word | |||
$ grep -r -e word /etc" | |||
</source> | |||
= Copy including hidden files = | |||
* ''Last tested on Ubuntu 14.04.2 LTS (trusty)'' | * ''Last tested on Ubuntu 14.04.2 LTS (trusty)'' | ||
Line 8: | Line 39: | ||
== Setting a default group for a folder = | = Delete files = | ||
== Delete files recursively == | |||
* ''Lasted tested on Ubuntu 16.04.2 LTS (xenial) | |||
<source lang="bash"> | |||
$ find . -type f -name "*.mp4" -exec rm {} \; | |||
</source> | |||
== Fastest way to delete a folder == | |||
* {{testedon|2021-03-09|RHEL 8.3}} | |||
<source lang="console"> | |||
$ mkdir empty | |||
$ rsync -a --delete empty/ foldername | |||
</source> | |||
== Another method of deleting files under a folder == | |||
<source lang="console"> | |||
$ ls -f1 | xargs rm | |||
</source> | |||
= Setting a default group for a folder = | |||
* ''Last tested on Ubuntu 16.04 LTS (xenial)'' | * ''Last tested on Ubuntu 16.04 LTS (xenial)'' | ||
Line 40: | Line 100: | ||
= Unpacking gz files = | |||
The files are compressed using Lempel-Ziv (LZ77) algorithm. GNU zip (gzip/gunzip) is used for this. | The files are compressed using Lempel-Ziv (LZ77) algorithm. GNU zip (gzip/gunzip) is used for this. | ||
Line 50: | Line 110: | ||
<syntaxhighlight lang="bash">$ gzip -d file.gz</syntaxhighlight> | <syntaxhighlight lang="bash">$ gzip -d file.gz</syntaxhighlight> | ||
= Zip a folder = | |||
<source lang="bash"> | |||
$ zip -r test.zip ./test | |||
</source> | |||
= Mirror a folder = | |||
{{testedon|2020-06-08|CentOS 8}} | |||
Copy ALL and keep EVERYTHING same without deleting the source, but deleting files on the target folder that are not found in the source. | |||
<source lang="console"> | |||
$ rsync --delete -HAXavr /source/folder/foldername/ /target/folder/foldername/ | |||
</source> | |||
* ''Last tested on Ubuntu 16.04 LTS (xenial)'' | |||
This also works between servers. The first one is on the same server. | |||
Explanation of parameters used: | |||
* -a: archive - preserve permissions, ownership, and timestamps | |||
* -v: verbose | |||
* -z: compress | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ rsync -azv /folder_a/ /folder_b/ | |||
</syntaxhighlight> | |||
This one is between different servers. | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ rsync -azv ~/folder_a/ mhan@tom.myserver.com:~/folder_b/ | |||
</syntaxhighlight> | |||
= Move files = | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ rsync --remove-source-files -HAXzvhr /source/chanbara/* ./chanbara/ | |||
</syntaxhighlight> | |||
= Move files older or less than x days = | |||
* ''Last tested on Ubuntu 14.04.5 LTS (trusty)'' | |||
Make a list of files to copy. Example here is a list of files older than 365 days. | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ find . -type f -mtime +365 > /tmp/rsyncfiles | |||
</syntaxhighlight> | |||
This is a list of files younger than 365 days | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ find . -type f -mtime -365 > /tmp/rsyncfiles | |||
</syntaxhighlight> | |||
rsync across the network to another server. This command deletes the source files after they are moved. | |||
<syntaxhighlight lang="bash" highlight="1"> | |||
$ rsync --remove-source-files -zvh --files-from=/tmp/rsyncfiles . mhan@zinc.wherever.com:/target/folder/ | |||
</syntaxhighlight> | |||
[[Category:System administration]] | [[Category:System administration]] |