Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:cp (upload files)

Son Güncelleme:Oct 01, 2026

Yerel dosyaları veya dizinleri bir OSS paketine yüklemek için cp komutunu kullanın. Basit yükleme, kaldığı yerden devam eden yükleme, toplu yükleme ve artımlı yüklemeyi destekler; nesne meta verileri, depolama sınıfı ve Erişim Kontrol Listesi (ACL) için seçenekler sunar.

Nasıl çalışır?

cp komutu, dosya boyutuna göre bir yükleme yöntemi seçer:

  • Basit yükleme: Dosya, kaldığı yerden devam eden yükleme eşiğinden küçükse kullanılır (varsayılan: 100 MB, --bigfile-threshold ile yapılandırılabilir).

  • Kaldığı yerden devam eden yükleme: Dosya eşik değerine ulaştığında veya aştığında kullanılır. Kesintiye uğrayan yüklemeler pakette parçalar bırakır. Depolama maliyetlerinden kaçınmak için bu parçaları düzenli olarak temizleyin. Bu parçaları manuel olarak silebilir veya otomatik silme için yaşam döngüsü kuralları yapılandırabilirsiniz.

Not

ossutil v1.6.16'dan başlayarak, desteklenen tüm işletim sistemlerinde ikili ad olarak ossutil kullanabilirsiniz. Önceki sürümlerde, sisteminize özgü ikili adı kullanmanız gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.

İzinler

Bir Alibaba Cloud hesabı varsayılan olarak tam izinlere sahiptir. RAM kullanıcıları ve RAM rollerinin varsayılan izni yoktur ve bir RAM ilkesi veya paket ilkesi aracılığıyla yetkilendirilmeleri gerekir.

API İşlemi

Açıklama

oss:PutObject

Bir nesne yükler.

oss:PutObjectTagging

Yalnızca yükleme sırasında nesne etiketleri ayarlanırken gereklidir.

kms:GenerateDataKey

Yalnızca Key Management Service (KMS) sunucu tarafı şifreleme kullanılırken gereklidir.

kms:Decrypt

Komut sözdizimi

ossutil cp file_url cloud_url [options]

Parametreler ve seçenekler:

Parametre

Açıklama

file_url

Yerel dosyanın yolu. Kaynak bir dizinse, yol bir yol ayırıcısı (/ veya \) ile bitmelidir. Örneğin, Linux sisteminde /localfolder/examplefile.txt veya Windows sisteminde D:\localfolder\examplefile.txt.

cloud_url

Nesnenin yolu, oss://bucket[/prefix] biçimindedir. Örnek: oss://examplebucket/examplefile.txt.

-r, --recursive

Dosyaları ve alt dizinleri özyinelemeli olarak yükler. Bu seçenek olmadan yalnızca belirtilen nesne işlenir.

-f --force

Onay istemi olmadan işlemin devam etmesini zorlar.

-u, --update

Yalnızca hedef nesne eksikse veya kaynak dosyadan daha eskiyse yükler.

--maxupspeed

KB/sn cinsinden maksimum yükleme hızı. Varsayılan: 0 (sınırsız).

--enable-symlink-dir

Bağlı alt dizinleri yükler. Bu seçenek varsayılan olarak devre dışıdır.

--disable-all-symlink

Yükleme sırasında tüm sembolik bağlantıları yok sayar.

--disable-ignore-error

Toplu işlemler sırasında hataları yok saymaz.

--only-current-dir

Yalnızca belirtilen kaynak dizindeki dosyaları yükler, alt dizinlerini yok sayar.

--bigfile-threshold

Kaldığı yerden devam eden yükleme için boyut eşiği. Birim: bayt.

Varsayılan değer: 100 MB

Geçerli değerler: 0 ila 9223372036854775807

--part-size

Bayt cinsinden parça boyutu. Varsayılan olarak ossutil bunu dosya boyutuna göre hesaplar.

Aralık: 1 ila 9223372036854775807

--checkpoint-dir

Kaldığı yerden devam eden yükleme kayıtları için dizin. Varsayılan olarak ossutil bir .ossutil_checkpoint dizini oluşturur ve başarılı bir yüklemenin ardından bunu siler. Özel bir dizin belirtirseniz, silinebildiğinden emin olun.

--encoding-type

Dosya adı kodlaması. Dosya adlarını URL kodlamak için url olarak ayarlayın. Varsayılan olarak kodlanmaz.

--include

Belirtilen koşulları karşılayan tüm dosyaları dahil eder. Sözdizimi ve örnekler hakkında daha fazla bilgi için bkz. Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme.

--exclude

Belirtilen koşulları karşılayan tüm dosyaları hariç tutar. Sözdizimi ve örnekler hakkında daha fazla bilgi için bkz. Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme.

--meta

Dosyanın meta verileri. Standart HTTP üstbilgilerini ve x-oss-meta- ile başlayan kullanıcı tanımlı meta verileri içerir. Meta veriler header:value#header:value biçiminde olmalıdır. Örnek: Cache-Control:no-cache#Content-Encoding:gzip. OSS tarafından desteklenen meta veriler hakkında daha fazla bilgi için bkz. Nesne meta verilerini yönetme.

--acl

Dosyanın erişim kontrol listesi (ACL). Geçerli değerler:

  • default (varsayılan): Nesnenin ACL'si paketin ACL'si ile aynıdır.

  • private: Yalnızca paketin sahibi paketteki nesneleri okuyup yazabilir. Diğer kullanıcılar nesnelere erişemez.

  • public-read: Yalnızca paket sahibi paketteki nesnelere yazabilir. Anonim kullanıcılar dahil diğer kullanıcılar nesneleri okuyabilir. Bu durum veri sızıntılarına ve beklenmedik yüksek ücretlere neden olabilir. Kötü niyetli kullanıcılar nesnelere yasa dışı bilgiler yazarsa meşru haklarınız ihlal edilebilir. Bu izni yalnızca özel senaryolar dışında yapılandırmayın.

  • public-read-write: Anonim kullanıcılar dahil herkes paketteki nesneleri okuyup yazabilir. Bu durum veri sızıntılarına ve beklenmedik yüksek ücretlere neden olabilir. Bu izni yapılandırırken dikkatli olun.

--snapshot-path

Yükleme anlık görüntüleri için dizin. Sonraki yüklemelerde ossutil artımlı yüklemeler yapmak için bu dizini okur.

--disable-crc64

CRC-64 veri doğrulamasını devre dışı bırakır. Varsayılan olarak etkindir.

--disable-dir-object

Yükleme sırasında dizin nesneleri oluşturmayı atlar.

--payer

Ödeme yöntemi. Trafik ve istek ücretlerinin isteyene yansıtılması için requester olarak ayarlayın.

--tagging

Yükleme sırasında eklenecek etiketler. Biçim: TagkeyA=TagvalueA&TagkeyB=TagvalueB.....

-j, --jobs

Çoklu dosya işlemleri için eşzamanlı görevler. Varsayılan: 3. Geçerli değerler: 1 ila 10000.

--parallel

Tek dosya işlemleri için eşzamanlı görevler. Geçerli değerler: 1 ila 10000. Ayarlanmazsa işlem türüne ve dosya boyutuna göre otomatik olarak belirlenir.

--start-time

Bir UNIX zaman damgası. Bu saatten önce en son güncellenen nesneler yok sayılır.

Not

Yalnızca ossutil 1.7.18 ve sonraki sürümler bu parametreyi destekler. Yükseltme hakkında daha fazla bilgi için bkz. update (ossutil'i yükseltme).

--end-time

Bir UNIX zaman damgası. Bu saatten sonra en son güncellenen nesneler yok sayılır.

Not
  • Hem start-time hem de end-time belirtirseniz kopyalama komutu yalnızca belirtilen başlangıç ve bitiş saatleri arasında en son değiştirilen dosyalar için yürütülür.

  • Yalnızca ossutil 1.7.18 ve sonraki sürümler bu parametreyi destekler. Sürümü nasıl yükselteceğiniz hakkında daha fazla bilgi için bkz. update (ossutil'i yükseltme).

Bu komut için diğer ortak seçenekler hakkında daha fazla bilgi için bkz. Ortak seçenekler.

Performansı ayarlamak için -j, --jobs ve --parallel değerlerini ayarlayın. Varsayılan olarak ossutil paralelliği dosya boyutuna göre hesaplar. Toplu büyük dosya aktarımları için gerçek eşzamanlılık jobs × parallel şeklindedir.

  • Makinenin kaynakları (bant genişliği, bellek veya CPU) sınırlıysa eşzamanlılığı 100 veya daha azına düşürün. Kaynaklar yeterince kullanılmıyorsa artırın.

  • Aşırı eşzamanlılık performansı düşürebilir veya EOF hatalarına neden olabilir. Makinenizin kaynaklarına göre -j, --jobs ve --parallel değerlerini ayarlayın. En iyi değeri bulmak için düşük bir değerle başlayıp kademeli olarak artırın.

Örnekler

Bu örnekler Linux kullanır. Yolları işletim sisteminize göre ayarlayın. Örnekler şunları varsayar:

  • Paket adı: examplebucket

  • OSS dizini: desfolder/

  • Yerel dizin: localfolder/

  • Yerel dosya: examplefile.txt

Tek bir dosya yükleme

  • Bir dosyayı bir dizine yükleyin. Nesne adı belirtilmezse orijinal dosya adı kullanılır.

    ossutil cp examplefile.txt oss://examplebucket/desfolder/
  • Tek bir dosya yükleyin ve dosyanın meta verilerini ayarlamak için --meta seçeneğini kullanın. Meta veriler header:value#header:value... biçiminde olmalıdır.

    ossutil cp examplefile.txt oss://examplebucket/desfolder/examplefile.txt --meta=Cache-Control:no-cache#Content-Encoding:gzip

Toplu yüklemeler

  • Yalnızca bir klasördeki dosyaları yükleme

    Yalnızca yerel bir klasördeki dosyaları OSS'teki belirtilen bir yola yüklemek için -r seçeneğini cp komutuna ekleyin.

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/
  • Bir klasörden dosya yükleme ve zaman damgası belirtme

    Yerel bir klasördeki dosyaları belirtilen OSS yoluna yükleyin. Dosyalar 31 Ekim 2023 tarihinde 10:09:18 (UTC+8) ile 31 Ekim 2023 tarihinde 12:55:58 (UTC+8) arasında değiştirilmiş olmalıdır.

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --start-time 1698718158 --end-time 1698728158
  • Bir klasörü ve içindeki dosyaları yükleme

    Yerel bir klasörü ve dosyalarını yüklemek için cp -r seçeneğini kullanın. OSS her alt dizin için / ile biten 0 KB'lık bir nesne oluşturur ancak klasörün kendisi için oluşturmaz. Bir klasör nesnesi oluşturmak için mkdir (dizin oluşturma) komutunu kullanın.

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/localfolder/
  • Bir klasör yükleme ve mevcut dosyaları atlama

    Başarısız bir toplu yüklemeyi yeniden denemek için zaten yüklenmiş dosyaları atlamak ve artımlı bir yükleme yapmak üzere --update (veya -u) kullanın:

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u
  • Yalnızca geçerli dizindeki dosyaları yükleme ve alt dizinleri yok sayma

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --only-current-dir -r
  • Dizin için bir nesne oluşturmadan yükleme

    OSS'te dizinler / ile biten 0 KB'lık nesnelerle simüle edilir. Bu nesnelerin oluşturulmasını atlamak için --disable-dir-object kullanın. Dizin yapısı OSS konsolunda görünmeye devam eder ancak içindeki tüm dosyalar silindiğinde kaybolur.

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --disable-dir-object -r
  • Bağlı bir alt dizindeki dosyaları yükleme

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --enable-symlink-dir -r
  • Yükleme sırasında tüm bağlı alt dosyaları ve bağlı alt dizinleri yok sayma

    ossutil cp localfolder/ oss://examplebucket/desfolder/ -r --disable-all-symlink

Belirtilen koşulları karşılayan dosyaları toplu olarak yükleme

Toplu yükleme sırasında dosyaları filtrelemek için --include ve --exclude kullanın.

--include ve --exclude seçenekleri aşağıdaki biçimleri destekler:

  • Yıldız işareti (*): Herhangi sayıda karakterle eşleşir. Örneğin, *.txt tüm TXT dosyalarıyla eşleşir.

  • Soru işareti (?): Tek bir karakterle eşleşir. Örneğin, abc?.jpg adları "abc" ve ardından tek bir karakter olan tüm JPG dosyalarıyla eşleşir, örneğin abc1.jpg.

  • [dizi]: Dizideki herhangi bir karakterle eşleşir. Örneğin, abc[1-5].jpg abc1.jpg ile abc5.jpg arasında adlandırılmış dosyalarla eşleşir.

  • [!dizi]: Dizi dışındaki herhangi bir karakterle eşleşir. Örneğin, abc[!0-7].jpg adları abc0.jpg ile abc7.jpg olmayan dosyalarla eşleşir.

Bir kural birden çok include ve exclude koşulu içerebilir. ossutil bunları soldan sağa değerlendirir. test.txt adlı bir dosya için farklı kural sıralamaları farklı sonuçlar üretir.

  • Kural 1: --include "*test*" --exclude "*.txt" . Kural --include "*test*" ile eşleştiğinde sonuç test.txt koşulunu karşılar. Kural --exclude "*.txt" ile eşleşmeye devam ettiğinde dosya adı .txt içerdiği için test.txt hariç tutulur. Sonuç olarak test.txt koşulları karşılamaz.

  • Kural 2: --exclude "*.txt" --include "*test*". test.txt dosyası --exclude "*.txt" kuralı tarafından hariç tutulur. Ancak --include "*test*" kuralı ardından dosya adı "test" içerdiğinden test.txt dosyasını dahil eder. Sonuç olarak test.txt dahil edilir.

  • Kural 3: --include "*test*" --exclude "*.txt" --include "te?t.txt" . İlk olarak --include "*test*" kuralı test.txt dosyasını dahil eder. Ardından --exclude "*.txt" kuralı test.txt dosyasını hariç tutar. Son olarak --include "te?t.txt" kuralı test.txt dosyasını dahil eder. Bu nedenle test.txt dahil edilir.

Önemli

Koşullarda bir dizin biçimi belirtemezsiniz. Örneğin, --include "/usr/test/.jpg" desteklenmez.

Aşağıda örnekler verilmiştir:

  • TXT biçimindeki tüm dosyaları yükleme

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*.txt" -r
  • Adlarında abc geçen ve JPG veya TXT biçiminde olmayan tüm dosyaları yükleme

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r

Yüklemeleri kısıtlama

KB/sn cinsinden yükleme hızını sınırlamak için --maxupspeed kullanın. Örnekler:

  • Bir dosya yükleme ve hız sınırını 1 MB/sn olarak ayarlama

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --maxupspeed 1024
  • Bir klasör yükleme ve hız sınırını 1 MB/sn olarak ayarlama

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --maxupspeed 1024

Yükleme ve nesne etiketleri ayarlama

Yükleme sırasında nesne etiketlerini ayarlamak için --tagging kullanın. Birden çok etiketi ampersan (&) ile ayırın. Örnek:

ossutil cp examplefile.txt oss://examplebucket/desfolder/ --tagging "abc=1&bcd=2&..."

Nesne etiketleme.

Yükleme ve depolama sınıfı belirtme

Yükleme sırasında depolama sınıfını ayarlamak için --meta kullanın. Geçerli değerler:

  • Standard: Standard

  • IA: Infrequent Access

  • Archive: Archive Storage

  • ColdArchive: Cold Archive

  • DeepColdArchive: Deep Cold Archive

Depolama sınıfı belirtilmezse nesne paketin depolama sınıfını devralır. Daha fazla bilgi için bkz. Depolama sınıfları.

Aşağıda bir dosya yükleme ve depolama sınıfı belirtme örnekleri verilmiştir:

  • Tek bir dosya yükleme ve depolama sınıfını Infrequent Access olarak ayarlama

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:IA
  • Bir klasör yükleme ve dosyalarının depolama sınıfını Standard olarak ayarlama

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:Standard -r

Yükleme ve ACL belirtme

Yüklenen dosyanın ACL'sini ayarlamak için --acl kullanın. Geçerli değerler:

  • default: paketin ACL'sini devralır (varsayılan)

  • private: private

  • public-read: public-read

  • public-read-write: Public read and write access

Aşağıda örnekler verilmiştir:

  • Tek bir dosya yükleme ve ACL'sini private olarak ayarlama

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --acl private
  • Bir klasör yükleme ve dosyalarının ACL'sini public-read olarak ayarlama

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --acl public-read  -r

Yükleme ve şifreleme yöntemi belirtme

Yükleme sırasında bir sunucu tarafı şifreleme yöntemi belirtin. Örnekler:

  • Bir dosya yükleme ve şifreleme yöntemi olarak SSE-OSS ile şifreleme algoritması olarak AES256 belirtme

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:AES256
  • Bir dosya yükleme ve şifreleme yöntemi olarak SSE-KMS belirtme ve CMK Kimliği belirtmeme

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMS

    KMS şifrelemesi küçük bir anahtar kullanım ücretine tabidir. KMS fiyatlandırması.

  • Bir dosya yükleme ve şifreleme yöntemi olarak SSE-KMS ile bir CMK Kimliği belirtme

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMS#x-oss-server-side-encryption-key-id:7bd6e2fe-cd0e-483e-acb0-f4b9e1******

Sunucu tarafı şifreleme hakkında daha fazla bilgi için bkz. Sunucu tarafı şifreleme.

Yükleme ve anlık görüntü oluşturma

--snapshot-path ile ossutil yüklenen dosyaların lastModifiedTime değerini kaydeder ve sonraki yüklemelerde değişmemiş dosyaları atlamak için bunu kullanır; bu da artımlı toplu yüklemeleri hızlandırır. Yüklemeler arasında karşılık gelen nesnelerin başka kullanıcılar tarafından değiştirilmediğinden emin olun. --snapshot-path en çok büyük toplu yüklemeler için uygundur. Örnek:

ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --snapshot-path=path                                
Önemli
  • ossutil snapshot-path klasöründeki anlık görüntüleri otomatik olarak silmez. snapshot-path klasöründen gerekli olmayan anlık görüntüleri düzenli olarak kaldırın.

  • Anlık görüntü G/Ç ek yük oluşturur. Küçük partiler, iyi ağ koşulları veya paylaşılan nesneler için artımlı yüklemeler yerine --update kullanın.

  • --update ve --snapshot-path seçeneklerini aynı anda kullanabilirsiniz. ossutil önce bir dosyanın atlanıp atlanmayacağını belirlemek için snapshot-path bilgilerini kontrol eder. Dosya anlık görüntüye göre atlanmazsa ossutil dosyanın atlanıp atlanmayacağını belirlemek için --update seçeneğini kullanır.

Yükleme ve istek başına ödeme yapılandırma

ossutil cp localfolder/examplefile.txt oss://examplebucket/ --payer=requester

Hesaplar arası veya bölgeler arası yüklemeler

Yerel bir dosyayı farklı bir bölgedeki veya farklı bir Alibaba Cloud hesabındaki bir pakete yüklemek için -e, -i ve -k ortak seçeneklerini kullanın.

Not

Paketin bölgesine karşılık gelen uç noktayı belirtin. Daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

ossutil cp exampleobject.txt oss://examplebucket/desfolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret