SCP usage tips-recursively exclude files
One can use the scp command to securely copy files between network hosts. It uses ssh for data transfer and authentication. Typical syntax is:
scp file1 user@host:/path/to/dest/ scp -r /path/to/source/ user@host:/path/to/dest/
I don't think you can filter or exclude files when using the scp command. However, there is a good workaround to exclude the file and copy it securely using ssh. This page explains how to filter or exclude files when copying a directory recursively using scp.
The syntax is:
rsync av -e ssh --exclude='*.out' /path/to/source/ user@hostB:/path/to/dest/
here:
- -a: Recurse into the directory, i.e. copy all files and subdirectories. Also, turns on archive mode and all other options (equivalent to -rlptgoD)
- -v: Verbose output
- -e ssh: Use ssh as the remote shell so everything is encrypted
- --exclude='*.out': Exclude files matching the pattern, such as *.out or *.c, etc.
In this example, all files are copied recursively from the ~/virt/ directory, but all *.new files are excluded:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
Example output:
Scp exclude files but using rsync exclude command
If rsync is not found on the remote server, the rsync command will fail. In this case, try using the following scp command, which uses bash shell pattern matching in the current directory (it does not work with the -r option):
$ ls
Example output:
centos71.log centos71.qcow2 centos71.qcow2.new centos71.v2.qcow2.new meta-data user-data
Copy everything in the current directory except .new:
$ shopt -s extglob $ scp !(*.new) root@centos7:/tmp/
Example output:
centos71.log 100 % 4262 1.3MB/s 00:00 centos71.qcow2 100 % 836MB 32.7MB/s 00: 25 meta-data 100 % 47 18.5KB/s 00:00 user-data 100 % 1543 569.7KB/s 00:00
For more information, see the following man pages:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
The above is the detailed content of SCP usage tips-recursively exclude files. For more information, please follow other related articles on the PHP Chinese website!

The main differences in architecture between Linux and Windows include: 1) Design philosophy and kernel structure: Linux uses a modular kernel, Windows uses a single kernel; 2) File system: Linux supports multiple file systems, Windows mainly uses NTFS; 3) Security: Linux is known for its permission management and open source features. Windows has a unique security mechanism but lags in repair; 4) Usage experience: Linux command line operation is more efficient, and Windows graphical interface is more intuitive.

Linux and Windows systems face different security threats. Common Linux threats include Rootkit, DDoS attacks, exploits, and permission escalation; common Windows threats include malware, ransomware, phishing attacks, and zero-day attacks.

The main difference between Linux and Windows in process management lies in the implementation and concept of tools and APIs. Linux is known for its flexibility and power, relying on kernel and command line tools; while Windows is known for its user-friendliness and integration, mainly managing processes through graphical interfaces and system services.

Linuxisidealforcustomization,development,andservermanagement,whileWindowsexcelsineaseofuse,softwarecompatibility,andgaming.Linuxoffershighconfigurabilityfordevelopersandserversetups,whereasWindowsprovidesauser-friendlyinterfaceandbroadsoftwaresupport

The main difference between Linux and Windows in user account management is the permission model and management tools. Linux uses Unix-based permissions models and command-line tools (such as useradd, usermod, userdel), while Windows uses its own security model and graphical user interface (GUI) management tools.

Linux'scommandlinecanbemoresecurethanWindowsifmanagedcorrectly,butrequiresmoreuserknowledge.1)Linux'sopen-sourcenatureallowsforquicksecurityupdates.2)Misconfigurationcanleadtovulnerabilities.Windows'commandlineismorecontrolledbutlesscustomizable,with

This guide explains how to automatically mount a USB drive on boot in Linux, saving you time and effort. Step 1: Identify Your USB Drive Use the lsblk command to list all block devices. Your USB drive will likely be labeled /dev/sdb1, /dev/sdc1, etc

Cross-platform applications have revolutionized software development, enabling seamless functionality across operating systems like Linux, Windows, and macOS. This eliminates the need to switch apps based on your device, offering consistent experien


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

Notepad++7.3.1
Easy-to-use and free code editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Chinese version
Chinese version, very easy to use
