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स्विच है।