![Cách sử dụng lệnh FTP trên Linux Cách sử dụng lệnh FTP trên Linux](https://www.howtogeek.com/wp-content/uploads/2019/03/img_5c94224b1cfd7.png)
Giao thức Truyền Tệp cũ hơn hầu hết các trình đọc của chúng tôi, nhưng nó vẫn đang phát triển mạnh mẽ. FTP không có tính bảo mật của một giao thức hiện đại, nhưng bạn có thể cần phải sử dụng nó. Đây là cách để làm điều đó.
Cảnh báo: Không sử dụng FTP qua Internet
Hãy làm rõ điều này ngay từ đầu: Giao thức truyền tệp (FTP) có từ đầu những năm 1970 và được viết mà không liên quan đến bảo mật. Nó không sử dụng mã hóa cho bất cứ điều gì. Thông tin đăng nhập như tên người dùng và mật khẩu của bạn, cũng như dữ liệu bạn tải xuống hoặc tải lên, được chuyển sang dạng văn bản rõ ràng. Bất kỳ ai trên đường đi đều có thể xem bí mật của bạn. Tuy nhiên, FTP vẫn có những công dụng của nó.
Nếu bạn đang chuyển các tệp trong mạng của mình, bạn sẽ được an toàn – miễn là không có ai trong mạng dò tìm gói và nghe trộm bất kỳ tài liệu nhạy cảm nào khi bạn chuyển chúng. Nếu các tệp của bạn không bí mật hoặc nhạy cảm theo bất kỳ cách nào, việc di chuyển chúng trong mạng nội bộ của bạn bằng FTP sẽ ổn. Linux có tiêu chuẩn ftp
chương trình dòng lệnh để giải quyết chính xác tình huống đó.
Nhưng chắc chắn không sử dụng ftp
lệnh để truy cập các tài nguyên bên ngoài trên internet. Đối với điều đó, hãy sử dụng sftp
chương trình dòng lệnh, sử dụng Giao thức truyền tệp SSH an toàn. Chúng tôi sẽ giới thiệu cả hai chương trình này trong hướng dẫn này.
Để làm rõ lý do tại sao bạn không bao giờ muốn sử dụng FTP qua Internet, hãy xem ảnh chụp màn hình bên dưới. Nó hiển thị mật khẩu FTP ở dạng bản rõ. Bất kỳ ai trong mạng của bạn hoặc giữa bạn và máy chủ FTP trên Internet đều có thể dễ dàng thấy mật khẩu là “MySecretPassword”.
Nếu không có mã hóa, một tác nhân độc hại cũng có thể sửa đổi các tệp bạn đang tải xuống hoặc tải lên khi chuyển tiếp.
Lệnh ftp
Giả sử bạn có tài khoản hợp lệ trên trang FTP, bạn có thể kết nối với tài khoản đó bằng lệnh sau. Trong suốt bài viết này, hãy thay thế địa chỉ IP trong các lệnh bằng địa chỉ IP của máy chủ FTP mà bạn đang kết nối.
ftp 192.168.4.25
Cảnh báo: Bạn chỉ nên sử dụng ftp
lệnh để kết nối với các máy chủ trên mạng cục bộ đáng tin cậy. Sử dụng sftp
lệnh, được đề cập bên dưới, để truyền tệp qua internet.
Máy chủ FTP phản hồi bằng một thông báo chào mừng. Từ ngữ của lời chào sẽ khác nhau giữa các máy chủ. Sau đó, nó yêu cầu tên người dùng của tài khoản bạn đang đăng nhập.
Lưu ý rằng địa chỉ IP của trang web bạn đang kết nối được hiển thị, theo sau là tên người dùng Linux của bạn. Nếu tên tài khoản của bạn trên máy chủ FTP giống với tên người dùng Linux của bạn, chỉ cần nhấn phím Enter. Điều này sẽ sử dụng tên người dùng Linux của bạn làm tên tài khoản trên máy chủ FTP. Nếu tên người dùng Linux của bạn và tên tài khoản FTP khác nhau, hãy nhập tên người dùng tài khoản FTP rồi nhấn Enter.
Đăng nhập vào Máy chủ FTP
Bạn sẽ được nhắc nhập mật khẩu của mình cho trang FTP. Nhập mật khẩu của bạn và nhấn Enter. Mật khẩu của bạn không được hiển thị trên màn hình. Nếu tổ hợp tên tài khoản người dùng FTP và mật khẩu của bạn được xác minh bởi máy chủ FTP, thì bạn sẽ được đăng nhập vào máy chủ FTP.
Bạn sẽ được giới thiệu với ftp>
lời nhắc.
Nhìn xung quanh và truy xuất tệp
Đầu tiên, có thể bạn sẽ muốn nhận danh sách các tệp trên máy chủ FTP. Các ls
lệnh chỉ làm điều đó. Người dùng của chúng tôi nhìn thấy tệp gc.c
trên máy chủ FTP và anh ấy muốn tải nó xuống máy tính của riêng mình. Máy tính của anh ấy là “máy tính cục bộ” theo cách nói của FTP.
Lệnh để truy xuất (hoặc “lấy”) một tệp là get
. Do đó, người dùng của chúng tôi đưa ra lệnh get gc.c
. Họ gõ get
, một dấu cách, và sau đó là tên của tệp mà họ muốn truy xuất.
Máy chủ FTP phản hồi bằng cách chuyển tệp sang máy tính cục bộ và xác nhận quá trình chuyển đã diễn ra. Kích thước của tệp và thời gian cần để chuyển cũng được hiển thị.
ls
get gc.c
Để truy xuất nhiều tệp cùng một lúc, hãy sử dụng mget
(nhiều get) lệnh. Các mget
lệnh sẽ yêu cầu bạn xác nhận xem bạn có muốn tải lần lượt từng tệp hay không. Trả lời bằng cách nhấn “y” cho có và “n” cho không.
Điều này sẽ là tẻ nhạt đối với một số lượng lớn các tệp. Do đó, bộ sưu tập các tệp có liên quan thường được lưu trữ trên các trang web ftp dưới dạng tệp tar.gz hoặc tar.bz2 duy nhất.
LIÊN QUAN: Cách giải nén tệp từ tệp .tar.gz hoặc .tar.bz2 trên Linux
mget *.c
Tải tệp lên máy chủ FTP
Tùy thuộc vào quyền đã được cấp cho tài khoản FTP của bạn, bạn có thể tải lên (hoặc “đặt”) tệp lên máy chủ. Để tải lên một tệp, hãy sử dụng put
chỉ huy. Trong ví dụ của chúng tôi, người dùng đang tải lên một tệp có tên là Songs.tar.gz
đến máy chủ FTP.
put Songs.tar.gz
Như bạn có thể mong đợi, có một lệnh để đưa nhiều tệp vào máy chủ FTP cùng một lúc. Nó được gọi là mput
(đặt nhiều). Giống như mget
lệnh đã làm, mput
sẽ yêu cầu xác nhận “y” hoặc “n” để tải lên từng tệp, từng tệp một.
Đối số tương tự để đưa các tập hợp tệp vào kho lưu trữ tar cũng áp dụng cho việc đặt tệp cũng như lấy tệp. Người dùng của chúng tôi đang tải lên nhiều tệp “.odt” bằng lệnh sau:
mput *.odt
Tạo và thay đổi thư mục
Nếu tài khoản người dùng của bạn trên máy chủ ftp cho phép, bạn có thể tạo các thư mục. Lệnh để làm điều này là mkdir
. Để rõ ràng, bất kỳ thư mục nào bạn tạo với mkdir
lệnh sẽ được tạo trên máy chủ ftp chứ không phải trên máy tính cục bộ của bạn.
Để thay đổi các thư mục trên máy chủ ftp, hãy sử dụng cd
chỉ huy. Khi bạn sử dụng cd
chỉ huy ftp>
lời nhắc sẽ không thay đổi để phản ánh thư mục hiện tại mới của bạn. Các pwd
lệnh (in thư mục làm việc) sẽ hiển thị cho bạn thư mục hiện tại của bạn.
Người dùng ftp của chúng tôi tạo một thư mục có tên là nhạc, thay đổi vào thư mục mới đó, xác nhận vị trí của họ bằng cách sử dụng pwd
sau đó tải lên một tệp vào thư mục đó.
mkdir music
cd music
pwd
put songs.tar.gz
Để nhanh chóng chuyển đến thư mục mẹ của thư mục hiện tại, hãy sử dụng cdup
chỉ huy.
cdup
Truy cập máy tính cục bộ
Để thay đổi thư mục trên máy tính cục bộ, bạn có thể sử dụng lcd
chỉ huy tại ftp>
lời nhắc. Tuy nhiên, rất dễ mất dấu vị trí của bạn trong hệ thống tệp cục bộ. Một phương pháp thuận tiện hơn để truy cập hệ thống tệp cục bộ là sử dụng !
chỉ huy.
Các !
lệnh mở một cửa sổ trình bao cho máy tính cục bộ. Bạn có thể làm bất cứ điều gì trong trình bao này mà bạn có thể làm trong một cửa sổ đầu cuối tiêu chuẩn. Khi bạn gõ exit
bạn được trả lại cho ftp>
lời nhắc.
Người dùng của chúng tôi đã sử dụng !
và nhập một cửa sổ shell trên máy tính cục bộ. Họ đã phát hành một ls
lệnh để xem những tệp nào có trong thư mục đó và sau đó nhập exit
để trở lại ftp>
lời nhắc.
!
ls
exit
Đổi tên tệp
Để đổi tên tệp trên máy chủ FTP, hãy sử dụng rename
chỉ huy. Tại đây, người dùng FTP của chúng tôi đổi tên tệp bằng rename
và sau đó sử dụng ls
lệnh liệt kê các tệp trong thư mục.
rename songs.tar.gz rock_songs.tar.gz
ls
Xóa tệp
Để xóa các tệp trên máy chủ FTP, hãy sử dụng delete
chỉ huy. Để xóa nhiều tệp cùng một lúc, hãy sử dụng mdelete
chỉ huy. Bạn sẽ được yêu cầu cung cấp xác nhận “y” hoặc “n” để xóa từng tệp.
Ở đây người dùng FTP của chúng tôi đã liệt kê các tệp để xem tên của chúng và sau đó chọn một tệp để xóa. Sau đó, họ quyết định xóa tất cả.
ls
delete gc.o
mdelete *.o
Sử dụng lệnh sftp
Độc giả quen thuộc với hệ thống địa chỉ IP sẽ nhận thấy rằng địa chỉ 192.168 của máy chủ FTP được sử dụng trong các ví dụ trên là địa chỉ IP nội bộ, còn được gọi là địa chỉ IP riêng. Như chúng tôi đã cảnh báo ở đầu bài viết này, ftp
lệnh chỉ nên được sử dụng trên mạng nội bộ.
Nếu bạn muốn kết nối với một máy chủ FTP từ xa hoặc công cộng, hãy sử dụng sftp
chỉ huy. Người dùng của chúng tôi sẽ kết nối với tài khoản SFTP có tên demo
trên máy chủ FTP có thể truy cập công cộng đặt tại test.trebex.net
.
Khi họ kết nối, họ được thông báo rằng kết nối đã được thiết lập. Họ cũng được thông báo rằng tính xác thực của máy chủ lưu trữ không thể được xác minh. Điều này là bình thường đối với kết nối đầu tiên với một máy chủ mới. Họ nhấn “y” để chấp nhận kết nối.
Bởi vì tên tài khoản người dùng (demo
) đã được chuyển trên dòng lệnh mà chúng không được nhắc nhập tên tài khoản người dùng. Họ chỉ được nhắc nhập mật khẩu. Điều này được nhập, xác minh và chấp nhận, và chúng được trình bày với sftp>
lời nhắc.
sftp demo@test.rebex.net
Các lệnh FTP mà chúng tôi đã mô tả ở trên sẽ hoạt động giống nhau trong một phiên SFTP, với các ngoại lệ sau.
- Để xóa một tập tin, hãy sử dụng
rm
(FTP sử dụngdelete
) - Để xóa nhiều tệp, hãy sử dụng
rm
(FTP sử dụngmdelete
) - Để chuyển đến thư mục mẹ, hãy sử dụng
cd ..
(FTP sử dụngcdup
)
Người dùng của chúng tôi đã sử dụng một số lệnh trong phiên SFTP của họ. Họ có công dụng ls
để liệt kê các tệp và cd
để thay đổi vào thư mục quán rượu. Họ đã sử dụng pwd
để in thư mục làm việc.
Có các tùy chọn khác để chuyển tệp trong thế giới Linux, đáng chú ý là scp
(bản sao bảo mật), nhưng chúng tôi đã tập trung vào FTP và SFTP ở đây. Được sử dụng trong các trường hợp áp dụng, hai lệnh này sẽ phục vụ tốt cho bạn và nhu cầu lưu trữ và truy xuất tệp của bạn.