Jak korzystać z polecenia CD w systemie Linux
Łatwy sposób na zmianę katalogów w Linuksie z poziomu terminala
Prosty samouczek, który pomoże Ci przenieść pliki do zdalnego systemu z systemu Linux za pomocą polecenia scp.
SCP to skrót od „Bezpieczna kopia”. scp
to narzędzie wiersza poleceń oferowane przez Linuksa, które umożliwia przesyłanie plików i katalogów z jednego komputera na drugi przez niezabezpieczoną sieć.
Jeśli chcesz skopiować pliki z jednego systemu do drugiego, scp
może to być bardzo dobra opcja wykonania bezpiecznego transferu plików i katalogów. Gdy dwie komunikujące się maszyny są połączone w tej samej sieci, użycie scp
staje się możliwe.
Możesz w dużym stopniu polegać na scp
poleceniu w zakresie poufności i integralności, ponieważ przesyłany plik i hasło używane do przesyłania są szyfrowane. Żadne poufne informacje nie zostaną ujawnione, nawet jeśli ktoś spróbuje podsłuchiwać ruch w trakcie przesyłania.
W tym samouczku zobaczymy różne przykłady scp
polecenia. Przyjrzymy się również niektórym często używanym opcjom za pomocą scp
polecenia.
Pierwsze kroki z poleceniem scp
Za pomocą scp
polecenia możesz przesyłać pliki/katalogi:
Ogólna składnia:
scp [Option] [source_file_name] [[email protected]_Host]:destination_folder
Zrozummy po kolei podstawowe atrybuty tego polecenia.
@
symbolu „ ”.Uwaga: Symbol dwukropka ( :
) jest używany w składni, ponieważ rozróżnia lokalizacje lokalne i zdalne. Używamy dwukropka ( :
) w zdalnym systemie, aby określić katalog, do którego pliki mają zostać skopiowane. Jeśli nie określimy katalogu docelowego, pliki zostaną skopiowane do katalogu domowego zdalnego użytkownika systemu.
Opcje używane z scp
Poniżej wymieniono niektóre z najpopularniejszych opcji używanych z scp
poleceniem.
Opcja | Opis |
-C |
zezwól na kompresję pliku do przesłania |
-v |
daj szczegółowe wyjście |
-r |
kopiuj pliki i katalogi rekurencyjnie |
-p |
zachowaj uprawnienia, tryby i czasy dostępu do plików |
-P |
zmienić domyślny port używany przez scp polecenie |
Często używane opcje z poleceniem scp
Zobaczymy przykłady tych opcji w dalszej części samouczka.
Kopiowanie pliku z lokalnego do zdalnego systemu
scp
umożliwia przesyłanie plików z systemu lokalnego do systemu zdalnego przy użyciu następującej składni. Pozwala to na przesyłanie lub przesyłanie plików na zdalnie umieszczony serwer.
Ogólna składnia:
scp [file_name] [email protected]:[destination_folder]
Przykład:
scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
W tym przykładzie kopiujemy plik „apache-tomcat-9.0.8.tar.gz” z systemu lokalnego do systemu zdalnego, którego adres IP to „143.110.178.221”.
W systemie zdalnym plik zostanie skopiowany do katalogu o nazwie „gaurav”.
Wyjście:
[email protected]:~$ scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
[email protected]'s password:
apache-tomcat-9.0.8.tar.gz 100% 9589KB 79.8KB/s 02:00
[email protected]:~$
Sprawdźmy dane wyjściowe w systemie zdalnym dla pliku.
[email protected]:~/gaurav# ls
apache-tomcat-9.0.8.tar.gz
[email protected]:~/gaurav#
W ten sposób plik jest pomyślnie kopiowany do systemu zdalnego za pomocą scp
polecenia.
Kopiowanie wielu plików do zdalnego systemu
W poprzednim przykładzie nauczyliśmy się przesyłać plik do zdalnego systemu za pomocą scp
polecenia. Zobaczymy teraz metodę przesyłania wielu plików z systemu lokalnego do systemu zdalnego za pomocą tego polecenia.
Ogólna składnia:
scp [file 1] [file 2] [file n] [email protected]_host:[specific directory]
Zrozummy ten prosty proces na przykładzie.
Przykład:
scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
Tutaj w poleceniu do skopiowania do systemu zdalnego wymieniono wiele plików.
Wyjście:
[email protected]:~$ scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
[email protected]'s password:
ath.html 100% 199KB 94.7KB/s 00:02
abc.txt 100% 0 0.0KB/s 00:00
ppa-purge_0.2.8+bzr56_all.deb 100% 4360 42.2KB/s 00:00
[email protected]:~$
W systemie zdalnym:
[email protected]:~/gaurav# ls -l
total 9800
-rw-r--r-- 1 root root 0 Oct 5 08:58 abc.txt
-rw-r--r-- 1 root root 9818695 Oct 5 08:35 apache-tomcat-9.0.8.tar.gz
-rw-r--r-- 1 root root 204057 Oct 5 08:58 ath.html
-rw-r--r-- 1 root root 4360 Oct 5 08:58 ppa-purge_0.2.8+bzr56_all.deb
[email protected]:~/gaurav#
Wszystkie trzy pliki są teraz kopiowane do systemu zdalnego.
Kopiowanie katalogu do zdalnego systemu
Możesz użyć scp
polecenia, aby skopiować katalog z systemu lokalnego do systemu zdalnego. Proces jest podobny do kopiowania pliku. Aby skopiować również zawartość katalogu, możesz użyć -r
opcji z scp
poleceniem.
-r
Opcja służy do kopiowania katalogu rekurencyjnie. Oznacza to, że wszystkie podfoldery i pliki w katalogu również zostaną skopiowane.
Ogólna składnia:
scp -r [directory path] [email protected]_host:[target_directory]
Przykład:
scp -r PycharmProjects [email protected]:gaurav
Wyjście:
[email protected]:~$ scp -r PycharmProjects [email protected]:gaurav
[email protected]'s password:
__main__.py 100% 623 7.8KB/s 00:00
__init__.py 100% 23 0.4KB/s 00:00
completion.py 100% 2929 28.1KB/s 00:00
search.py 100% 4728 38.7KB/s 00:00
uninstall.py 100% 2963 32.5KB/s 00:00
hash.py 100% 1681 21.3KB/s 00:00
check.py 100% 1430 16.8KB/s 00:00
configuration.py 100% 7125 50.4KB/s 00:00
show.py 100% 6289 49.8KB/s 00:00
download.py 100% 6623 48.2KB/s 00:00
[email protected]:~$
Użycie -r
opcji z scp
poleceniem kopiuje wszystkie podfoldery i pliki w katalogu z komputera lokalnego do systemu zdalnego.
Wyświetlanie szczegółowych informacji o procesie scp
Możesz użyć opcji -v
(małe litery v
), aby wyświetlić informacje o plikach, które są kopiowane na zdalnym lub lokalnym systemie. Ten typ danych wyjściowych jest również nazywany szczegółowymi danymi wyjściowymi.
Gdy ta opcja jest używana, pełne informacje debugowania dotyczące pliku są wyświetlane na ekranie.
Ogólna składnia:
scp -v [file_name] [email protected]_host:
Przykład:
scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Wyjście:
[email protected]:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Executing: program /usr/bin/ssh host 159.89.170.11, user root, command scp -v -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/gaurav/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 159.89.170.11 [159.89.170.11] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/gaurav/.ssh/id_rsa type -1
apache-tomcat-9.0.8.tar.gz 100% 9589KB 99.8KB/s 01:36
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 9826736, received 4016 bytes, in 97.2 seconds
Bytes per second: sent 101133.9, received 41.3
debug1: Exit status 0
[email protected]:~$
Tutaj, w danych wyjściowych, możesz zobaczyć, że informacje debugowania pliku są wyświetlane na twoim terminalu, gdy scp
polecenie jest używane z -v
opcją.
Przesyłanie plików między dwoma zdalnymi hostami
Linux umożliwia łączenie się z wieloma zdalnymi hostami. Za pomocą scp
polecenia można przesyłać pliki i katalogi między dwoma zdalnymi hostami .
Ogólna składnia:
scp [email protected]_1:/[file_name] [email protected]_2:[folder_to_save]
Składnia może wydawać się nieco szersza, ale jest dość prosta. Tutaj pierwsza część polecenia zawiera informacje o zdalnym użytkowniku, z którego plik ma zostać skopiowany. dwukropek (:) i /
jest używany do określenia nazwy pliku lub nazwy katalogu, który ma być przesyłany między dwoma zdalnymi maszynami.
Druga część zawiera informacje o docelowym systemie zdalnym, do którego plik ma zostać skopiowany.
Przykład:
scp -r [email protected]:gaurav [email protected]:/team
Tutaj będziemy rekursywnie kopiować katalog o nazwie „gaurav” z systemu lokalnego do systemu zdalnego. Plik zostanie skopiowany do folderu „team” w systemie zdalnym.
Wyjście:
[email protected]:~$ scp -r [email protected]:/gaurav [email protected]:/team
[email protected]'s password:
1.py 100% 134 261.3KB/s 00:00
variables.py 100% 377 949.2KB/s 00:00
abc.txt 100% 0 0.0KB/s 00:00
ath.html 100% 199KB 41.8MB/s 00:00
[email protected]:~$
Tutaj użyliśmy scp
polecenia w systemie lokalnym, aby przenieść katalog o nazwie „gaurav” z jednego zdalnego serwera na drugi.
Przesyłaj pliki z systemu zdalnego do systemu lokalnego
Za pomocą scp
komendy można łatwo przesłać pliki lub katalogi z systemu zdalnego do systemu lokalnego . Mówiąc prościej, możesz pobrać wiele plików lub katalogów ze zdalnego serwera do systemu lokalnego za pomocą scp
polecenia.
Ogólna składnia:
scp [email protected]_host:/files/file.txt /[folder_of_local_system]
Wyjście:
[email protected]:~$ scp [email protected]:how.txt .
[email protected]'s password:
how.txt 100% 11 0.1KB/s 00:00
[email protected]:~$
Tutaj pobrałem (skopiowałem) plik ze zdalnego serwera do mojego katalogu domowego. Dlatego użyłem kropki ( .
), aby określić w poleceniu, aby skopiować plik do mojego katalogu domowego.
Przykładowe dane wyjściowe:
[email protected]:~$ ls -l how.txt
-rw-r--r-- 1 gaurav gaurav 11 Oct 6 09:49 how.txt
[email protected]:~$
Tutaj plik jest teraz kopiowany do mojego katalogu domowego ze zdalnego serwera.
W ten sam sposób możesz pobrać wiele plików lub katalogów ze zdalnego serwera za pomocą scp
polecenia z odpowiednimi opcjami.
Kompresowanie plików w celu szybszego transferu
Czasami przesyłanie dużych plików może być czasochłonne. Ten problem można rozwiązać, używając scp
polecenia z opcją -C
(wielkie litery C
).
Korzystając z -C
opcji kompresuje pliki o większym rozmiarze, co ułatwia szybszy transfer, a tym samym oszczędza czas.
Interesującym faktem dotyczącym tej opcji jest to, że plik jest kopiowany w oryginalnym rozmiarze w systemie docelowym, ale podczas procesu przesyłania rozmiar jest kompresowany, aby umożliwić szybszy transfer. Dlatego kompresja jest wykonywana tylko w sieci.
Ogólna składnia:
scp -C [file_name] [email protected]_host:[target_folder]
Zobaczmy przykład porównawczy, aby zrozumieć różnicę.
Przelew bez opcji -C:
[email protected]:~$ scp -rv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7516504, received 4008 bytes, in 74.6 seconds
Bytes per second: sent 100693.7, received 53.7
debug1: Exit status 0
[email protected]:~$
Z powyższego wyniku widzimy, że czas potrzebny na transfer to 74,6 sekundy. Spróbujemy przesłać ten sam plik za pomocą opcji -C i zaobserwujemy różnicę.
Przelew z opcją -C:
[email protected]:~$ scp -Crv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
.
.
webupload.img 100% 1834KB 98.7KB/s 00:18
Sending file modes: C0664 1877552 router.img
Sink: C0664 1877552 router.img
router.img 100% 1834KB 100.3KB/s 00:18
Sink: E
Sending file modes: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
Sink: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
DSL-2750U-Release-IN-T-01.00.07.zip 100% 3666KB 218.5KB/s 00:16
Sink: E
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7518864, received 3828 bytes, in 51.0 seconds
Bytes per second: sent 100245.4, received 51.0
debug1: Exit status 0
debug1: compress outgoing: raw data 7511925, compressed 7513136, factor 1.00
debug1: compress incoming: raw data 1467, compressed 999, factor 0.68
[email protected]:~$
Tutaj możemy łatwo zaobserwować, że użycie -C
opcji z scp
poleceniem pozwoliło nam skompresować plik przez sieć, co okazało się opcją oszczędzającą czas.
Używanie innego portu ssh do przesyłania plików
Podczas korzystania z scp
polecenia domyślnym wdrożonym portem jest port 22
. Użytkownik ma swobodę dostosowania tego wyboru portu. Możesz użyć opcji -P
(wielkie P) z scp
poleceniem, aby użyć wybranego portu.
Ogólna składnia:
cp -P [new_port_number] [file_name/directory_name] [email protected]:[destination_folder]
Przykład:
scp -P 4248 dlink [email protected]:team
Używając powyższego polecenia, plik zostanie przeniesiony na zdalny serwer. Ale tym razem używanym portem będzie port 4248
zamiast domyślnego port 22
.
Wniosek
Po przejściu tego samouczka poznaliśmy dynamiczną naturę scp
polecenia używanego do przesyłania lub kopiowania plików z jednego systemu do drugiego. Ta opcja może być również używana do pobierania plików lub katalogów ze zdalnego serwera. Możemy więc stwierdzić, że scp
polecenie jest bardzo pomocne przy przesyłaniu plików, gdy musisz jednocześnie obsługiwać więcej niż jeden system, a także zdalne serwery.
Dla freelancerów i pracowników, którzy regularnie pracują w domu, komunikacja zdalna jest jedną z wielu rzeczy, o które trzeba zadbać. Obecnie dla wielu z nas wideokonferencje zastąpiły spotkania w biurze. Narzędzia takie jak Zoom i Skype odnotowały ogromny wzrost.
Jeśli konfigurujesz serwer Linux, będziesz potrzebować dostępu do FTP. Oznacza to najpierw zainstalowanie serwera FTP w systemie Linux. Powinna to być jedna z pierwszych rzeczy, które robisz po zainstalowaniu systemu operacyjnego serwera.
Czy kiedykolwiek chciałeś szybko i łatwo szyfrować pliki w systemie Linux bez konieczności instalowania i uczenia się nowych pakietów oprogramowania? Oto doskonały i łatwy sposób na łatwe szyfrowanie plików lub katalogów za pomocą AES256 zabezpieczonego hasłem, co pomaga trzymać pliki z dala od wścibskich oczu.
Polecenie make jest prawdopodobnie jednym z najczęściej używanych poleceń w ekosystemie Linuksa. To polecenie służy do budowania i kompilowania programów bezpośrednio z kodu źródłowego.
Podczas pracy z dużą ilością multimediów i dokumentów często zdarza się, że na komputerze gromadzi się wiele kopii tego samego pliku. Nieuchronnie pojawia się zaśmiecona przestrzeń dyskowa wypełniona zbędnymi plikami, co powoduje okresowe sprawdzanie duplikatów plików w systemie.
Jednym z głównych wyborów, przed którymi staje wielu użytkowników Linuksa przy wyborze dystrybucji Linuksa, jest jej stabilność lub to, jak bardzo zmienia się oprogramowanie.
Jego reputacja w zakresie bezpieczeństwa oznacza, że Linux jest często uważany za mniej podatny na rodzaje zagrożeń, które regularnie nękają systemy Microsoft Windows. Wiele z tego postrzeganego bezpieczeństwa pochodzi ze stosunkowo małej liczby systemów Linux, ale czy cyberprzestępcy zaczynają dostrzegać wartość w wybieraniu jakości, a nie ilości?
Menedżery pobierania to popularne narzędzie do zarządzania wszystkimi pobranymi plikami w jednej aplikacji i zapewniają przydatne funkcje. Jeśli niedawno przeszedłeś z systemu operacyjnego Windows na Linuksa, być może szukasz alternatywy dla słynnego Internet Download Managera (IDM).
Cursive to progresywna aplikacja internetowa (PWA), którą firma Google wprowadziła wraz z wydaniem Chromebooka HP x2 11. Możesz używać tej aplikacji do robienia odręcznych notatek na Chromebooku wyposażonym w rysik.
Vim to najpotężniejszy i najbardziej wszechstronny edytor kodu dostępny dla systemów uniksopodobnych. Jest to rozszerzenie edytora Vi opracowanego przez Billa Joya. Vim jest domyślnie dostępny w większości systemów Linux i BSD.