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 ==
= 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]]