dccp(1)

πŸ¦‹ dccp β€” the dccp(1) girlies' edition πŸ¦‹

okay bestie, so this is the dccp manual page β€” it lives in the General Commands Manual section, and it's here to help you copy files to and from a dCache server. no cap. let's get into it πŸ’…


✨ Name ✨

dccp β€” copy a file from or to a dCache server. that's it, that's the whole job, and it does it flawlessly 🫢


✨ Synopsis ✨

dccp [option...] <sourceUrl> <destUrl>

✨ Arguments ✨

these two are required, like you literally cannot skip them:

  • sourceUrl β€” the URL of the source file. the origin. the blueprint. πŸ‘‘
  • destUrl β€” the URL of the destination file. where it's going. its new home. 🏑

✨ Description ✨

so dccp gives you cp(1)-style functionality, but on the dCache file system. iconic behaviour, honestly.

the source has to be a single file. the destination, though? it can be flexible β€” a directory name or a file name, she contains multitudes ✨

  • if the destination is a directory, a new file gets created in there with the same name as the source, and the contents of the source get copied over. cute, right?
  • if the final destination file already exists in dCache, it will not be overwritten, and an error code will be returned. periodt. πŸ’€
  • files on regular file systems will always be overwritten, unless you pass the -i option. so like… watch out, bestie πŸ™ˆ
  • if both the source and the final destination file live on a regular file system, you can use dccp just like you'd use the cp(1) program. slay.

✨ Options ✨

these ones are optional (the following arguments are optional, as the original so politely puts it):

  • -a β€” enable read-ahead functionality. look ahead, queen πŸ‘€
  • -b <bufferSize> β€” set the read-ahead buffer size. the default value is 1048570 Bytes. to disable the buffer you can set this to any value below the default. dccp will attempt to allocate the buffer size, so very large values should be used with care β€” she's ambitious but the memory has limits 😭
  • -B <bufferSize> β€” set buffer size. the size of the buffer gets requested in each request, and larger buffers will be needed to saturate higher bandwidth connections. the optimum value is network dependent, ngl. too large a value β†’ excessive memory usage. too small a value β†’ excessive network communication. it's giving ✨balance✨
  • -d <debug level> β€” set the debug level. <debug level> is an integer between 0 and 127. if the value is 0 then no output is generated, otherwise the value is formed by adding together one or more of the following values:
    • 1 β€” Error messages
    • 2 β€” Info messages
    • 4 β€” Timing information
    • 8 β€” Trace information
    • 16 β€” Show stack-trace
    • 32 β€” IO operations
    • 32 β€” IO operations
    • 64 β€” Thread information
yes, 32 is listed twice in the source. we are simply reporting the lore, not judging it 🫢
  • -h <replyHostName> β€” bind the callback connection to the specific hostname interface. very specific, very demure.
  • -H β€” show progress during file transfer. we love a progress bar, it's the main character energy of the terminal πŸ’–
  • -i β€” secure mode. do not overwrite the existing files. boundaries! πŸ›‘
  • -l <location> β€” set location for pre-stage. if the location is not specified, the local host of the door will be used. this option must be used with the -P option β€” they're a package deal, iykyk πŸŽ€
  • -p <first_port>:<last_port> β€” bind the callback data connection to the specified TCP port/range. set the port range, delimited by the : character. <first_port> is required but <last_port> is optional. so like, one is enough if that's the vibe.
  • -P β€” pre-stage. do not copy the file to a local host, but make sure the file is on disk on the dCache server. she's not moving in, she's just visiting πŸ’…
  • -r <bufferSize> β€” TCP receive buffer size. the default is 256K. setting it to 0 uses the system default value. memory useage will increase with higher values, but performance better. (that's the original's phrasing and we're keeping it fr fr β€” bigger number, more memory, more speed 🏎️)
  • -s <bufferSize> β€” TCP send buffer size. the default is 256K. setting it to 0 uses the system default value.
  • -t <time> β€” stage timeout in seconds. this option must be used with the -P option. again: package deal 🫢

✨ Examples: ✨

the moment you've all been waiting for 🌈

to copy a file to dCache:

[user] $ dccp /etc/group dcap://example.org/pnfs/desy.de/gading/

to copy a file from dCache:

[user] $ dccp dcap://example.org/pnfs/desy.de/gading/group /tmp/

pre-stage request:

[user] $ dccp -P -t 3600 -l example.org /acs/user_space/data_file

stdin:

[user] $ tar cf - data_dir | dccp - /acs/user_space/data_arch.tar

stdout:

[user] $ dccp /acs/user_space/data_arch.tar - | tar xf -

✨ See also ✨

  • cp

okay that's the whole page, bestie!! you're officially a dccp expert, no cap πŸ’–

this little masterpiece is version 2.47.6, dated 22 February 2011 β€” a classic, a legend, an icon, and honestly? she ate. πŸŽ€βœ¨πŸ¦‹πŸ‘‘

πŸ“¦ where this page comes from