Masaüstünde bir dosya var, dosya adı ded.html. Dosyayı kopyalamak için dosyayı tıklatın ve cmd + c tuşlarına basın.
Şimdi aynı şeyi terminal kullanarak nasıl yaparım?
Masaüstünde bir dosya var, dosya adı ded.html. Dosyayı kopyalamak için dosyayı tıklatın ve cmd + c tuşlarına basın.
Şimdi aynı şeyi terminal kullanarak nasıl yaparım?
Yanıtlar:
Eğer doğru soruyu anlıyorsam, peşinde olduğun şey pbcopy
ve pbpaste
.
Bir terminal aç ve şunu yap:
$ cat ~/Desktop/ded.html | pbcopy
Şimdi bu dosya panoda.
Başka bir yere koymak, yani yapıştırmak için:
$ pbpaste > ~/Documents/ded.html
Şimdi ~ / Documents içinde oturan ded.html dosyasının bir kopyası olmalıdır.
cat ~/.emulator_console_auth_token | auth <read_content>
?
Lri'nin cevabı doğru yöne gidiyor ancak birkaç kusuru var: Finder'ı kullanmaya gerek yok ( StandardAdditions OSAX'in bir the clipboard
parçası ) ve işleyici verilmesi komut satırından argümanları iletmek için çok daha güvenilir bir yoldur (10.4'ten beri). Bu değişikliklerin her ikisini de yapmak, programa bir kabuk içine girmek için yapılması gereken “kaçmayı” büyük ölçüde kolaylaştırır.run
İşte benim versiyonum (bir kabuk fonksiyonuna sarılmış — .bashrc
kabukları içinde kullanılabilir hale getirmek için bunu (örneğin) içine koyabilirsiniz ):
file-to-clipboard() {
osascript \
-e 'on run args' \
-e 'set the clipboard to POSIX file (first item of args)' \
-e end \
"$@"
}
file-to-clipboard ~/Desktop/ded.html
Panoya bu komut dosyasıyla yerleştirilmiş bir dosya, dosyayı başka bir klasöre kopyalamak için Finder'a yapıştırılabilir .
osascript (10.5'ten beri) bir hash-bang yorumlayıcısı olarak da kullanılabilir. Bunu bir dosyaya koy (örneğin file-to-clipboard
)
#!/usr/bin/osascript
on run args
set the clipboard to POSIX file (first item of args)
end
Dosyayı çalıştırılabilir ( chmod +x /path/to/where/ever/you/put/file-to-clipboard
) yapın. Öyleyse şöyle yap:
/path/to/where/ever/you/put/file-to-clipboard ~/Desktop/ded.html
PATH içindeki bir dizinde kayıtlıysa, “script” dosyasının yolunu atlayabilirsiniz.
set the clipboard to {one,two}
(başka bir AppleScript programı listeyi başarıyla çıkarabilse de). StandardAdditions komutları tek öğelere sınırlı olabilir panoya.
Komut satırını kullanarak yapmaya çalıştığınız şeyi elde etmenin bir yolu yoktur. Apple, metnin temel kopyalamasına izin vermek için pbcopy
ve pbpaste
araçlarını sunarken, aradığınız anlamda bir dosyayı kopyalamak için bu araçları kullanamazsınız.
Çok fazla teknik ayrıntıya girmeden, Finder'da bir dosyayı kullanarak 'kopyaladığınızda' ⌘C, aslında dosyanın kendisini kopyalamıyorsunuz, sadece panodaki dosyaya bir referans yapıyorsunuz ve bir dosya referansı olarak işaretliyorsunuz. Yapıştırdığınızda bir uygulama bu referansı aldığında, işleri sıralamak, ne yapıştırdığınızı bulmak ve nihayetinde uygun gördüğü şekilde dosyayla çalışmakla yükümlüdür. Temel olarak, Finder'da bir dosyayı kopyaladığınızda, dosyanın yolunu belirli bir panoya kaydeder ve yapıştırdığınızda, bu dosya yolunu alır ve içeriğini kullanarak yeni bir dosya oluşturmayı bilir. eskisi (bir dosyayı panoya kopyalayın, silin, başka bir yere yapıştırmayı deneyin ve örneğin ne olduğunu görün).
Bu kopyalama ve yapıştırma anlamında, elinizde bulunan araçlar ihtiyacınız olanı yapmak için yeterli değildir. Bojun'un önerdiği gibi, eski dosyanın içeriğini yenisine kopyalamayı deneyebilirsiniz, ancak bu sadece metin dosyaları için iyi çalışacaktır. Alacağınız tüm ikili dosyalar bozulur (bunu bir görüntüyle yapmayı deneyin - bozulur).
Geleneksel komut satırı sizi bu şekilde başarısızlığa uğratır, ancak bunu AppleScript'te yapmak ve ardından bunu komut satırından çağırmak isterseniz bir göz atabilirsiniz osascript
.
pbcopy
ve pbpaste
çalışacak olsa da , bunun nedeni sadece metin dosyası olması.
pbcopy -help
, NSLog()
tekrar eden, üretime değer olmayan bir hat elde edersiniz 'pbcopy -help'
. Bunu anlamak için programcı olmaya yardımcı olur, bu yüzden
Aşağıdaki fonksiyon sadece tek bir dosya ile çalışır, birden fazla dosya ile çalışmaz. Çalıştırarak readlink
yükleyebileceğiniz GNU gerektirir brew install findutils
.
copy(){ osascript -e{'on run{a}','set the clipboard to posix file a',end} "$(greadlink -f -- "$1")";}
Düzenleme: tell app "Finder"
Bloğu kaldırdım .
Düzen 2: Göreceli yolları destekleyen bir sürüme geri döndürülür.
İşte basit bir Shell / Bash betiği. Sadece .bashrc
dosyayı (veya benzeri) yapıştırın :
file-to-clipboard() {
if [ -z "$1" ]; then
echo "file path/name:"
read FILE
else
FILE="$1"
fi
pbcopy < "$FILE"
}
Bağıl dosya desteği ile:
clip_img() {
osascript -e 'on run argv' \
-e 'set currentDir to do shell script "pwd"' \
-e 'set the clipboard to (read POSIX file (POSIX path of (currentDir as text & (first item of argv) )) as JPEG picture)' \
-e 'end run' "/$1"
# osascript -e 'clipboard info'
}
clip_img path-to-file
panoya görüntü kopyalamak için çalıştırın ve path-to-file
göreceli olabilir. Dosya jpeg veya png dosyaları olabilir.
Unix ortamlarında cat 'originfile'> 'destinationfile' komutunu kullanabilirsiniz;
windows'daki originfile destinationfile dosyasını kopyala.