Differences

This shows you the differences between the selected revisions of the page.

2020-02-06 2020-02-07
syntax highlighting for local custom commands (martin) syntax highlighting for remote custom commands (martin)
Line 11: Line 11:
==== Tar/Gzip ==== ==== Tar/Gzip ====
-··tar -xvzf --directory="!?&Extract to which directory:?.!" "!"+<code custom-command-remote> 
 +tar -xvzf --directory="!?&Extract to which directory:?.!" "!"
 +</code>;
-··tar -czvf "!?&Enter an Archive Name:?archive.tgz!" +<code custom-command-remote> 
- ···--exclude="!?&Exclude files matching pattern:?*.exe!" +tar -czvf "!?&Enter an Archive Name:?archive.tgz!" 
- ···!&+ ·--exclude="!?&Exclude files matching pattern:?*.exe!" 
 + ·!&
 +</code>;
==== [[gzip]] Gzip ==== ==== [[gzip]] Gzip ====
-··gzip -f "!"+<code custom-command-remote> 
 +gzip -f "!"
 +</code>;
-··gunzip -f "!"+<code custom-command-remote> 
 +gunzip -f "!"
 +</code>;
==== [[zip]] Zip ==== ==== [[zip]] Zip ====
Line 27: Line 35:
To unpack to the current directory: To unpack to the current directory:
-··unzip "!"+<code custom-command-remote> 
 +unzip "!"
 +</code>;
To unpack to an alternate directory: To unpack to an alternate directory:
-··unzip -d "!?&Extract to directory:?.!" "!"+<code custom-command-remote> 
 +unzip -d "!?&Extract to directory:?.!" "!"
 +</code>;
To create an archive: To create an archive:
-··zip -r "!?&Enter an Archive Name:?archive.zip!" !&+<code custom-command-remote> 
 +zip -r "!?&Enter an Archive Name:?archive.zip!" !&
 +</code>;
==== Rar ==== ==== Rar ====
-··rar a -ep "!?&Enter an Archive Name:?archive.rar!" !&+<code custom-command-remote> 
 +rar a -ep "!?&Enter an Archive Name:?archive.rar!" !&
 +</code>;
===== [[delete]] Quick Deleting ===== ===== [[delete]] Quick Deleting =====
Line 45: Line 61:
Use following command to quickly delete large directory structures: Use following command to quickly delete large directory structures:
-<code>rm -f -r "!"</code>+<code custom-command-remote> 
 +rm -f -r "!" 
 +</code>
The same command can ask for confirmation before deleting: The same command can ask for confirmation before deleting:
-<code>test "!?Do you really want to delete ?no!" == "yes" && rm -rf !&</code>+<code custom-command-remote> 
 +test "!?Do you really want to delete ?no!" == "yes" && rm -rf !& 
 +</code>
===== [[delete_background]] Deleting on Background ===== ===== [[delete_background]] Deleting on Background =====
Line 65: Line 85:
Use following command if current [[protocols|protocol]] does not allow changing ownership: Use following command if current [[protocols|protocol]] does not allow changing ownership:
-<code>chown "!?New owner:?!" !&</code>+<code custom-command-remote> 
 +chown "!?New owner:?!" !& 
 +</code>
To change group use ''chgrp'' instead of ''chown''. Or use following command: To change group use ''chgrp'' instead of ''chown''. Or use following command:
-<code>chown "!?New owner (and group: user:group):!" !&</code>+<code custom-command-remote> 
 +chown "!?New owner (and group: user:group):!" !& 
 +</code>
or with two separate prompts: or with two separate prompts:
-<code>chown -R "!?New owner:?!":"!?New group:?!" !&</code> +<code custom-command-remote> 
 +chown -R "!?New owner:?!":"!?New group:?!" !& 
 +</code>
===== [[url]] URL Address of Selected File ===== ===== [[url]] URL Address of Selected File =====
Line 95: Line 120:
Example shows how to launch simple PHP script that maps file path to URL. Example shows how to launch simple PHP script that maps file path to URL.
-<code>echo '<?="https://www.example.com".str_replace("home/user/public_html", "~user", "'`pwd`'")."/!\n"?>' | php -q</code>+<code custom-command-remote> 
 +echo '<?="https://www.example.com".str_replace("home/user/public_html", "~user", "'`pwd`'")."/!\n"?>' | php -q 
 +</code>
Hints: Hints:
Line 108: Line 135:
Another example using shell commands only, in case PHP is not available: Another example using shell commands only, in case PHP is not available:
-<code>echo 'https://www.example.com'`pwd`'/!' | sed s#home/user/public_html#~user#</code> +<code custom-command-remote> 
 +echo 'https://www.example.com'`pwd`'/!' | sed s#home/user/public_html#~user# 
 +</code>
===== Templates ===== ===== Templates =====
-··cp /path/to/template.html "!?&New HTML file:?!"+<code custom-command-remote> 
 +cp /path/to/template.html "!?&New HTML file:?!"
 +</code>;
===== [[tail]] Viewing End of a File (log) ===== ===== [[tail]] Viewing End of a File (log) =====
Line 119: Line 149:
==== In Console Window ==== ==== In Console Window ====
-··tail "!"+<code custom-command-remote> 
 +tail "!"
 +</code>;
You may specify further how much to transfer, e.g. You may specify further how much to transfer, e.g.
-··tail --lines 2000 "!"+<code custom-command-remote> 
 +tail --lines 2000 "!"
 +</code>;
Check custom command option //Show results in terminal//. Check custom command option //Show results in terminal//.
Line 137: Line 171:
===== [[search_file]] Searching for a File ===== ===== [[search_file]] Searching for a File =====
-··find . -name "!?Search for files:?!"+<code custom-command-remote> 
 +find . -name "!?Search for files:?!"
 +</code>;
Check custom command option //Show results in terminal//. Check custom command option //Show results in terminal//.
- 
- 
===== [[search_text]] Searching for a text/string within a directory ===== ===== [[search_text]] Searching for a text/string within a directory =====
-··grep -H -r "!?Search for text:?!" *  | cut -d: -f1+<code custom-command-remote> 
 +grep -H -r "!?Search for text:?!" *  | cut -d: -f1 
 +</code>
Check custom command option //Show results in terminal//. Check custom command option //Show results in terminal//.
Line 152: Line 188:
==== Backup a File with Current Date and Time ==== ==== Backup a File with Current Date and Time ====
-··cp ! $(echo "!" | sed "s/\..*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! | awk -F"." '{ print $NF }')+<code custom-command-remote> 
 +cp ! $(echo "!" | sed "s/\..*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! | awk -F"." '{ print $NF }') 
 +</code>
==== Rename a File with Current Date and Time ==== ==== Rename a File with Current Date and Time ====
-··mv ! $(echo "!" | sed "s/\..*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! | awk -F"." '{ print $NF }')+<code custom-command-remote> 
 +mv ! $(echo "!" | sed "s/\..*$//").$(date '+%Y-%m-%d_%H-%M').$(echo ! | awk -F"." '{ print $NF }') 
 +</code>
===== [[fxp]] Remote Transfer (FXP) ===== ===== [[fxp]] Remote Transfer (FXP) =====
Line 161: Line 201:
Use following remote custom command to transfer selected remote files to an another server: Use following remote custom command to transfer selected remote files to an another server:
-··scp -p -r !& !?Username:?!@!?Host:?!:!?Destination path:?!+<code custom-command-remote> 
 +scp -p -r !& !?Username:?!@!?Host:?!:!?Destination path:?! 
 +</code>
You may want to hard-code the //Username// and //Host//, if you work with one destination server only. Or you can use a single prompt for both (possibly even for //Destination Path//) to keep the flexibility, yet to reduce number of prompts: You may want to hard-code the //Username// and //Host//, if you work with one destination server only. Or you can use a single prompt for both (possibly even for //Destination Path//) to keep the flexibility, yet to reduce number of prompts:
-··scp -p -r !& !?Username@Host:?!:!?Destination path:?!+<code custom-command-remote> 
 +scp -p -r !& !?Username@Host:?!:!?Destination path:?! 
 +</code>
Note that you need to ensure you can connect and authenticate to the destination server without any prompts: Note that you need to ensure you can connect and authenticate to the destination server without any prompts:
Line 198: Line 242:
  * Redirect error output to ''/dev/null'', to discard it: \\ <code>   * Redirect error output to ''/dev/null'', to discard it: \\ <code>
command_that_prints_non_interesting_progress_on_error_output > /dev/null</code> command_that_prints_non_interesting_progress_on_error_output > /dev/null</code>
-  * Redirect error output to standard output, to see it in terminal, but avoid error message: \\ <code>+  * Redirect error output to standard output, to see it in terminal, but avoid error message: \\ <code custom-command-remote>
command_that_prints_interesting_info_on_error_output 2>&1</code> command_that_prints_interesting_info_on_error_output 2>&1</code>
-  * Use ''|| true'' to discard exit code: \\ <code>+  * Use ''|| true'' to discard exit code: \\ <code custom-command-remote>
command_that_returns_255_code || true</code> command_that_returns_255_code || true</code>
-  * Or combine these together: <code>+  * Or combine these together: <code custom-command-remote>
command_that_prints_interesting_info_on_error_output_and_returns_255_code 2>&1 || true</code> command_that_prints_interesting_info_on_error_output_and_returns_255_code 2>&1 || true</code>

Last modified: by martin