Uzyskaj dostęp do iCloud Drive przez terminal

82

Właśnie wydano OS X 10.10, a jedną z funkcji, na którą osobiście najbardziej czekałem, był iCloud Drive. Niestety musiałem się dowiedzieć, że nie był tak dostępny jak Dropbox.

file ~/Dropbox
/Users/Ingwie/Dropbox/: directory

... ale dysk iCloud?

ls -1 Library/Mobile\ Documents/
./
../
.DS_Store
57T9237FN3~net~whatsapp~WhatsApp/
5U8NS4GX82~com~dayoneapp~dayone/
(...)

Czy ktoś wie, jak prawidłowo uzyskać dostęp do iCloud Drive przez terminal? Czy jest to po prostu niemożliwe i tylko ładnie przedstawione przez aplikację Finder?

Ingwie Phoenix
źródło

Odpowiedzi:

9

Krok pierwszy: skonfiguruj łącze do faktycznej ścieżki do folderu dysku iCloud:

Najpierw utwórz link w swoim katalogu domowym do dysku iCloud:

cd ~
ln -s ~/Library/Mobile\ Documents iCloud

Powyższe linie wykonują następujące czynności:

// brings you to home directory
// creates link to said path as the name, 'iCloud'

Wpisanie cd ~/iCloudterminala spowoduje teraz przejście do tego katalogu.

Krok drugi: Skonfiguruj aliasy w swoim profilu Bash:

Po ustanowieniu łącza musimy skonfigurować alias . Aliasy są usuwane po ponownym uruchomieniu terminalu, dlatego musimy dodać dodatkowy krok, w którym edytujemy plik o nazwie .bash_profile(lub tworzymy go, jeśli jeszcze go nie mamy).

Po zakończeniu możemy po prostu wpisać dowolne powiązanie i zostać dostarczone do naszego pożądanego katalogu. W tym przykładzie użyjemy, iaby zabrać nas bezpośrednio do naszego folderu Dokumenty iCloud.

Możemy utworzyć alias do folderu iCloud Drive i zapisać go w naszym profilu bash w następujący sposób:

cd ~
ls -a

Poszukaj pliku o nazwie .bash_profile.

Jeśli nie masz .bash_profile, wpisz:

sudo touch .bash_profile

Wprowadź hasło administratora i naciśnij enter. (Uwaga: dodanie sudozmusza polecenie terminalu do uruchomienia jako administrator, a zatem konieczność uwierzytelnienia. Nie dodawanie sudoprzed poleceniem może spowodować odrzucenie polecenia z powodu uprawnień dostępu użytkownika).

Po znalezieniu .bash_profilelub zakończeniu tworzenia musimy go teraz otworzyć i zdefiniować nasz alias w następujący sposób. Rodzaj:

sudo nano .bash_profile

Ponownie pojawi się monit o podanie hasła administratora. Wpisz go i naciśnij enter.

Spowoduje to załadowanie nano edytora. Naciśnij, escaby móc edytować, i używając klawiatury , klawisz strzałki w dół do dołu. Rodzaj:

alias i="cd ~/iCloud/com~apple~CloudDocs/Documents"

Naciśnij, Ctrl + Oaby zapisać, a enternastępnie naciśnij, Ctrl + Xaby wyjść.

Twój alias został zapisany. Gdybyśmy nie edytowali naszego .bash_profile, a jedynie wpisali alias w terminalu, zostałby on usunięty po ponownym uruchomieniu terminalu. Dodanie tego polecenia do naszego profilu bash temu zapobiegnie.

Wpisz swój alias w terminalu:

Teraz, gdy zapisałeś swój alias na swoim .bash_profile, musimy w końcu wykonać nasz alias przynajmniej raz (próbowałem tego nie robić i to nie zadziałało), ponownie wpisując nasz alias w terminalu ogólnym:

alias i="cd ~/iCloud/com~apple~CloudDocs/Documents"

Spowoduje to utworzenie aliasu i będzie działać. Jeśli zrestartujesz terminal i ponownie uruchomisz polecenie aliasu, powinno ono również nadal działać.

Wyniki:

Po tej konfiguracji możemy po prostu wpisać: iw terminalu, który załaduje nasz katalog iCloud Drive \ Documents.

Uwaga: Możesz utworzyć dowolną liczbę aliasów do dowolnego folderu, używając dowolnego powiązania klawiszy, korzystając z powyższej formuły. Właśnie wybrałem folder Dokumenty, ponieważ to było pytanie OP.

Powyższa strategia została opisana w artykule na blogu technologicznym tutaj: https://danielmiessler.com/blog/access-icloud-drive-terminal

Oto samouczek na temat zapisywania aliasów w bash_profile (uwaga sudonie jest zawarta w piśmie, więc jeśli nie działa, pamiętaj o dołączeniu): http://www.techradar.com/how-to/computing/apple/terminal-101- tworzenie-aliasy-dla-komend-1305638

Jak skonfigurować mój:

Konfiguruję alias o nazwie idevwhere, wpisując go w terminalu, dostarczając do Developmentfolderu utworzonego na moim dysku iCloud pod adresem:

~/iCloud/com~apple~CloudDocs/Development

Uwaga: powyższy wiersz nadal używa konfiguracji łącza początkowo w kroku pierwszym.

Moja osobista konfiguracja aliasu I jest następująca:

alias idev="cd ~/iCloud/com~apple~CloudDocs/Development"

Użycie linku, a następnie aliasu, pozwala nam na łatwy dostęp do folderu dokumentów iCloud. Najbardziej mylącą częścią jest edycja .bash_profilepliku, ale ogólnie po prostu postępuj zgodnie z instrukcjami, a teraz za każdym razem, gdy otworzysz terminal, twoje aliasy powinny działać!

twknab
źródło
Absolutnie nie powinieneś używać sudodo edycji plików profilu powłoki lokalnego użytkownika.
ELLIOTTCABLE
1
@ELLIOTCABLE (wielkimi literami) Zamiast tylko -1 mnie i daj mi swoją nieśmiałą odpowiedź, dlaczego nie daj mi swojego uzasadnienia i sposobu, w jaki PODEJDZIESZ do niego, kup przesyłając swoją odpowiedź poniżej.
twknab
1
@ELLIOTCABLE Ponadto jedynym sposobem edycji mojego profilu bash i zapisania wszelkich zmian, które wprowadzam do pliku, jest użycie sudo w celu uzyskania dostępu do pliku jako administrator. Widziałem wiele przykładów edytowania plików w ten sposób i biorąc pod uwagę, że po prostu zignorowałeś moją odpowiedź bez podania własnego, nie mogę uszanować ani zaakceptować jakości twojego komentarza lub odpowiedzi.
twknab
107

Masz rację, ponieważ katalog dysku iCloud znajduje się w Dokumentach mobilnych. Z katalogu domowego użytkownika możesz uzyskać dostęp do iCloud Drive przez terminal:

cd ~/Library/Mobile\ Documents/com~apple~CloudDocs
Matthew White
źródło
4
Niesamowite! Oznaczę to dowiązaniem do mojego folderu domowego, aby szybciej go wykryć.
Ingwie Phoenix
Czy to się poruszyło? Nie mam nawet Library/Mobile\ Documents/katalogu.
Joseph Hansen,
@JosephHansen Nie jestem pewien, w moim systemie katalog dokumentów mobilnych jest nadal obecny w OSX 10.10.1.
Matthew White,
2
Podał tutaj względną ścieżkę. Upewnij się, że jesteś w / o ~zanim skopiujesz makaron do swojego terminalu.
DigitalDesignDj
Mój błąd przepraszam, zaktualizuję swoją odpowiedź.
Matthew White,
6

Matthew ma rację; JEŻELI masz włączony iCloud Drive w sysPrefs, folder iCloud Drive jest tam, tylko wyświetlał go w odniesieniu do twojego konta użytkownika.

Nie jestem jednak pewien „com.apple.CloudDocs”. Pliki i listy wszystkich plików, w tym aplikacji mobilnych, NIE są widoczne w Finderze - tylko w terminalu.

Począwszy od 10.10.1, jeśli szukasz absolutnej ścieżki do wszechstronnego katalogu, spróbuj:

 /Users/username/Library/Mobile\ Documents

alternatywnie:

~/Library/Mobile\ Documents
Johnnytcomo
źródło
2

Aby znaleźć ścieżkę do pliku, po prostu otwórz terminal (możesz użyć narzędzia wyszukiwania), przeciągnij plik z wyszukiwarki w terminalu, a poda on swoją ścieżkę. Jest to jednak problematyczne w przypadku plików na dysku iCloud, ponieważ widoczna ścieżka nie działa podczas próby uzyskania dostępu do niej z innych programów niż ten, w którym jest zarejestrowany.

Paul Vaucher
źródło
1

Utworzyłem aplikację Automator, która uruchamia to polecenie terminala:

open ~/Library/Mobile\ Documents/com~apple~CloudDocs

Możesz pobrać tutaj . Po prostu włóż go do środka Applicationsi przeciągnij do doku.

Mattia Astorino
źródło
1

Nie mogę pisać komentarzy.

Z powodu ~ ścieżka musi być w „”, aby się otworzyć. Utworzyłem dowiązanie symboliczne, aby uzyskać do niego łatwiejszy dostęp.

sudo mkdir /mounts
sudo cd /mounts
sudo ln -s "/Users/fusca/Library/Mobile Documents/com~apple~CloudDocs" iCloud
Oprogramowanie Fusca
źródło