Saya mendapat file di desktop, nama file adalah ded.html. Untuk menyalin file, saya klik file dan tekan cmd + c.
Sekarang bagaimana caranya melakukan hal yang sama menggunakan terminal?
Saya mendapat file di desktop, nama file adalah ded.html. Untuk menyalin file, saya klik file dan tekan cmd + c.
Sekarang bagaimana caranya melakukan hal yang sama menggunakan terminal?
Jawaban:
Jika saya memahami pertanyaan dengan benar, apa yang Anda cari adalah pbcopy
dan pbpaste
.
Buka terminal dan lakukan:
$ cat ~/Desktop/ded.html | pbcopy
Sekarang file itu ada di clipboard.
Untuk meletakkannya di tempat lain, yaitu, untuk menempelkannya, lakukan:
$ pbpaste > ~/Documents/ded.html
Sekarang Anda harus memiliki salinan ded.html di ~ / Documents.
cat ~/.emulator_console_auth_token | auth <read_content>
?
Jawaban Lri mengarah ke arah yang benar, tetapi memiliki beberapa kelemahan: tidak perlu menggunakan Finder ( the clipboard
merupakan bagian dari StandardAdditions OSAX), dan memberikan run
pawang adalah cara yang jauh lebih dapat diandalkan untuk menyampaikan argumen dari baris perintah (sejak 10.4). Membuat kedua perubahan ini sangat menyederhanakan "melarikan diri" yang perlu dilakukan untuk memasukkan program ke dalam shell.
Ini versi saya (dibungkus dengan fungsi shell — Anda bisa memasukkan ini (mis.) Untuk .bashrc
membuatnya tersedia di shell Anda):
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
File yang telah diletakkan di clipboard dengan skrip ini kemudian dapat ditempelkan di Finder untuk menyalin file ke folder lain.
osascript juga dapat digunakan sebagai juru bahasa hash-bang (sejak 10.5). Masukkan ini ke dalam file (mis. file-to-clipboard
)
#!/usr/bin/osascript
on run args
set the clipboard to POSIX file (first item of args)
end
Jadikan file tersebut dapat dieksekusi ( chmod +x /path/to/where/ever/you/put/file-to-clipboard
). Kemudian jalankan seperti ini:
/path/to/where/ever/you/put/file-to-clipboard ~/Desktop/ded.html
Jika disimpan dalam direktori di PATH, maka Anda dapat menghilangkan path ke file "script".
set the clipboard to {one,two}
(meskipun program AppleScript lain dapat berhasil mengekstrak daftar). The StandardAdditions clipboard perintah mungkin terbatas pada item tunggal.
Tidak ada cara untuk mencapai apa yang Anda coba lakukan menggunakan baris perintah. Sementara Apple menawarkan pbcopy
dan pbpaste
alat - alat untuk memungkinkan penyalinan teks dasar, Anda tidak dapat menggunakan alat-alat ini untuk menyalin file dalam arti yang Anda cari.
Tanpa terlalu banyak detail teknis, ketika Anda 'menyalin' file di Finder menggunakan ⌘C, Anda sebenarnya tidak menyalin file itu sendiri, hanya membuat referensi ke file di clipboard dan menandainya sebagai referensi file. Ketika sebuah aplikasi menerima referensi ini ketika Anda menempel, itu memiliki tanggung jawab untuk memilah-milah, mencari tahu apa yang Anda tempel, dan akhirnya, bekerja dengan file sesuai keinginan. Intinya, ketika Anda menyalin file di Finder, itu menyimpan path ke file dengan cara tertentu ke clipboard tertentu, dan ketika Anda menempel, itu menerima path file itu dan tahu untuk membuat file baru menggunakan konten dari yang lama (salin file ke clipboard, hapus, coba tempel di tempat lain, dan lihat apa yang terjadi, misalnya).
Dalam hal menyalin dan menempel, alat yang tersedia tidak cukup untuk melakukan apa yang Anda butuhkan. Seperti yang disarankan boehj, Anda dapat mencoba menyalin konten dari file lama ke yang baru, tetapi ini hanya akan berfungsi dengan baik untuk file teks. Setiap file biner yang Anda dapatkan akan rusak (coba lakukan ini dengan gambar - itu menjadi rusak).
Baris perintah tradisional akan gagal Anda dengan cara ini, tetapi Anda dapat melihat jika Anda ingin dalam melakukan hal ini di AppleScript, kemudian memohon bahwa melalui baris perintah dengan osascript
.
pbcopy
dan pbpaste
akan bekerja dengan file .html, itu hanya karena kebetulan itu adalah file teks.
pbcopy -help
, Anda mendapatkan garis yang tidak layak produksi NSLog()
hanya mengulangi 'pbcopy -help'
. Ini membantu untuk menjadi seorang programmer untuk memahami ini, itulah sebabnya saya merasa perlu untuk berpadu.
Fungsi di bawah ini hanya berfungsi dengan satu file dan tidak dengan banyak file. Ini membutuhkan GNU readlink
yang dapat Anda instal dengan menjalankan brew install findutils
.
copy(){ osascript -e{'on run{a}','set the clipboard to posix file a',end} "$(greadlink -f -- "$1")";}
Sunting: Saya menghapus tell app "Finder"
blokir.
Sunting 2: Dikembalikan ke versi yang mendukung jalur relatif.
Berikut skrip Shell / Bash sederhana. Cukup tempel di .bashrc
file Anda (atau sejenisnya):
file-to-clipboard() {
if [ -z "$1" ]; then
echo "file path/name:"
read FILE
else
FILE="$1"
fi
pbcopy < "$FILE"
}
Dengan dukungan file relatif:
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'
}
jalankan clip_img path-to-file
untuk menyalin gambar ke clipboard, dan path-to-file
bisa relatif. File tersebut bisa berupa file jpeg atau png.
Anda dapat menggunakan cat 'originfile'> 'destinationfile' di lingkungan unix;
salin file tujuan originfile di windows.