Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Snufkin - 21.08.25 - klo:21.50
-
Saako sftp ohjelmaan tehtyä jotenkin aliaksia samaan tapaan kuin Bash'iin? Olisi näppärä, kun vaihtelee kansioita etäpäässä. Alias-komentoa tuo ei tunne.
-
sftp:ssä on aika rajoittunut komentotulkki. En usko, että komentojen muuntelu onnistuu mitenkään vakioversiolla. Pitäisi rakentaa oma asiakasohjelma.
-
Copy-peistaaminen tekstiedostostosta terminaaliin on sitten se köyhän miehen versio. :)
-
sshfs voisi olla hyvä vaihto-ehto...
-
sshfs voisi olla hyvä vaihto-ehto...
Ihan uusi tuttavuus. Tuleeko tuolla ikään kuin etäkoneen hakemisto osaksi omaa tiedostopuuta? Ja sitten toimii cp, mv, yms ikään kuin paikallisesti?
-
Sain kohtuudella toimimaan niin, että avaan Terminaalin lokaaliin kansioon. Sitten otan sftp yhteyden etäkoneeseen, sitten copy peistaamalla "cd /dir1/dir2/dir3". Kun lähi- ja etäpolut on asetettu, niin put/get liikuttaa tiedostoja melko kivasti kahden kansion välillä.
Tällä voi koodata oman koneen graafisella ohjelmalla koodia, jota sitten ajaa etäkoneessa. Nano toki siellä toimii, mutta on aika hermoja vievä hiemankaan isommassa hommassa.
-
Sain kohtuudella toimimaan niin, että avaan Terminaalin lokaaliin kansioon. Sitten otan sftp yhteyden etäkoneeseen, sitten copy peistaamalla "cd /dir1/dir2/dir3". Kun lähi- ja etäpolut on asetettu, niin put/get liikuttaa tiedostoja melko kivasti kahden kansion välillä.
Kuulostaa rsyncille sopivalta tehtävältä. Peten ehdottamaa sshfs:ää kannattaa myös kokeilla.
-
rsync oli hyvä vihje. Kun tutustuin siihen, oivalsin, että sftp:täkin voi käyttää yhdeltä riviltä, siis käynnistämättä sftp-kehotetta (sftp>). Siitä voi sitten tehdä näppärästi istuntokohtaisen aliaksen oikeaan tiedostoon.
alias siirto="sftp user@remote:/dir1/dir2/ <<< $'put file.c'"
Eli kirjoitan koodia lähikoneella (graafisella Geany editorilla) ja sitten komento 'siirto' Terminaaliin (joka ko. kansiossa) ja file.c ylikirjoittaa etäkoneella olevan vanhan saman nimisen tiedoston. Ja siellä sitten kääntö, ajo, yms.
Ja kai tuon voisi vielä asettaa suoraan Geanyn Build commadeihin...
Edit: Tämä toimii itse asiassa varsin hyvin. Tein alias-pohjan .bash_aliases tiedotoon. Sitten kun tarvitsee tehdä siirtoja (usein paljon siirtoja per yksi tiedosto, koska koodausta ja kokeiluajoja) niin kirjoittaa alias ja saa tuon pohjan näkyviin. Siinä copy-paste ja tekee istuntokohtaisen aliaksen oikeaan kansioon/tiedostoon.
Eli
- Fiksaa tuon aliaksen oikeaan kansioon/tiedostoon homman alussa
- Koodaa graafisella editorilla (omalla koneella) ja tallentaa file.c
- Avaa Terminaalin työkansioon ja kirjoittaa 'siirto'.
- Siirtyy toiseen terminaaliin (jossa ssh-yhteys etäkoneelle), kääntää file.c: ja (koe)ajaa.
- Palaa kohtaan 2 ja korjaa ... :)
-
rsync oli hyvä vihje. Kun tutustuin siihen, oivalsin, että sftp:täkin voi käyttää yhdeltä riviltä, siis käynnistämättä sftp-kehotetta (sftp>). Siitä voi sitten tehdä näppärästi istuntokohtaisen aliaksen oikeaan tiedostoon.
alias siirto="sftp user@remote:/dir1/dir2/ <<< $'put file.c'"
Tällainen kopiointi onnistuu helposti scp:llä:
scp file.c user@remote:/dir1/dir2/
rsync on kuitenkin huomattavasti tehokkaampi, jos halutaan synkata suurikokoisia tiedostoja tai kokonaisia hakemistoja tiedostoineen, koska se osaa verrata tiedostojen sisältöä paloittain ja siirtää pelkästään muuttuneen datan.
-
Ihan uusi tuttavuus. Tuleeko tuolla ikään kuin etäkoneen hakemisto osaksi omaa tiedostopuuta? Ja sitten toimii cp, mv, yms ikään kuin paikallisesti?
Täsmälleen. Käytän sshfs:ää kotiverkossa jatkuvasti. Se on näppärä. Toki toimii se ulkoverkoissakin, mutta niissä nopeus ei aina ole 1 Gbps...
-
Joo, tähän näyttää olevan monta tapaa, Mä pitäydyn toistaiseksi tuossa sftp:ssä. Rsyncin laitoin opiskelulistalle.
Parempi osata muutama työkalu hyvin, kun joka hommaa eri työkalu.