Không giống như ssh, scp sử dụng công tắc P viết hoa để đặt cổng thay vì chữ thường p:
scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default
Công tắc p chữ thường được sử dụng với scp để bảo toàn thời gian và chế độ.
Dưới đây là đoạn trích từ trang man của scp với tất cả các chi tiết liên quan đến hai công tắc, cũng như giải thích lý do tại sao chữ hoa P được chọn cho scp:
Cổng -P Chỉ định cổng để kết nối trên máy chủ từ xa. Lưu ý rằng tùy chọn này được viết bằng chữ 'P', vì -p đã được dành riêng để bảo toàn thời gian và chế độ của tệp trong RCp (1).
-p Giữ thời gian sửa đổi, thời gian truy cập và chế độ từ tệp gốc.
Cập nhật và dành một bên để giải quyết một trong những ý kiến (được đánh giá cao) :
Liên quan đến nhận xét của Abdull về scp
thứ tự tùy chọn, những gì ông gợi ý:
scp -P80 -r some_directory -P 80 ...
..., xen kẽ các tùy chọn và tham số. getopt(1)
xác định rõ ràng rằng các tham số phải đến sau các tùy chọn và không được xen kẽ với chúng:
Các tham số getopt được gọi với có thể được chia thành hai phần: các tùy chọn sửa đổi cách getopt sẽ thực hiện phân tích cú pháp (các tùy chọn và chuỗi quang trong SYNOPSIS) và các tham số sẽ được phân tích cú pháp (tham số trong SYNOPSIS). Phần thứ hai sẽ bắt đầu ở tham số không tùy chọn đầu tiên không phải là đối số tùy chọn hoặc sau lần xuất hiện đầu tiên của '-'. Nếu không tìm thấy tùy chọn '-o' hoặc '--options' trong phần đầu tiên, tham số đầu tiên của phần thứ hai được sử dụng làm chuỗi tùy chọn ngắn.
Vì -r
tùy chọn dòng lệnh không cần thêm đối số, nên some_directory
"tham số không phải tùy chọn đầu tiên không phải là đối số tùy chọn". Do đó, như được viết rõ ràng trong getopt(1)
trang man, tất cả các đối số dòng lệnh thành công đi theo nó (nghĩa là -P 80 ...
) được coi là không phải là tùy chọn (và đối số không phải là tùy chọn).
Vì vậy, trong thực tế, đây là cách getopt(1)
xem ví dụ được trình bày với phần cuối của các tùy chọn và phần đầu của các tham số được phân định bằng cách thành công bing văn bản màu xám:
scp -P80 -r some_directory -P 80 ...
Điều này không liên quan gì đến scp
hành vi và mọi thứ liên quan đến cách các ứng dụng tiêu chuẩn POSIX phân tích các tùy chọn dòng lệnh bằng cách sử dụng getopt(3)
bộ hàm C.
Để biết thêm chi tiết liên quan đến đặt hàng và xử lý dòng lệnh, vui lòng đọc getopt(1)
manpage bằng cách sử dụng:
man 1 getopt