জিএনইউ পেয়েছেন?
এর gnu সংস্করণ ls
রয়েছে --group-directories-first
। এবং cp
আছে -t
।
জিএনইউ নেই?
যেসব সিস্টেমে জিএনএস নেই ls
, সেগুলিগুলিতে / এবং উপযুক্ত বিকল্পগুলির find
সাথে আপনার সেরা বেট দুটি ধারাবাহিক কল ।-maxdepth n
-mindepth n
-type t
find . -maxdepth 1 -mindepth 1 -type d
find . -maxdepth 1 -mindepth 1 \! -type d
ফাইলগুলি অনুলিপি করার জন্য, প্রথমে লক্ষ্য সহ, আপনাকে একটি স্ক্রিপ্ট লিখতে হবে যা প্রথম যুক্তিটি সংরক্ষণ করে, তারপরে ব্যবহার করে shift
এবং যুক্তিকে শেষ পর্যন্ত যুক্ত করে।
#!/bin/sh
target="$1"
shift
cp -r -- "$@" "$target"
সতর্ক থেকো!
যদি আপনি এগুলি একসাথে ব্যবহার করার পরিকল্পনা করছেন - অর্থাত্, তালিকাটি সংগ্রহ করে find
বা ls
(সম্ভবত ব্যবহারের মাধ্যমে xargs
) তালিকাটি সংগ্রহ করে এবং cp
(বা একটি cp
মোড়ক) দিয়ে দেওয়ার ক্ষেত্রে, আপনার অবশ্যই সচেতন হওয়া উচিত ফাইলগুলির তালিকাগুলি পার্সিংয়ে কী কী বিপদ রয়েছে (মূলত, ফাইলের নামগুলি পারে নিউলাইনের মতো অক্ষর রয়েছে যা আপনার স্ক্রিপ্টটিকে বিশৃঙ্খলা করতে পারে)। বিশেষ করে, দেখব find
'র -exec
এবং -print0
বিকল্প এবং xargs
এর -0
বিকল্প।
দক্ষতার সাথে ডিরেক্টরি গাছ অনুলিপি করার জন্য একটি বিকল্প সরঞ্জাম।
পরিবর্তে আপনি ব্যবহার করতে চাইছেন rsync
; এটির কার্যকারিতা প্রচুর রয়েছে যা আপনার কাজটি আরও সহজ করে তুলতে পারে।
ls
একটি--group-directories-first
সুইচ আছে।