split - از این دستور برای تقسیم یک فایل به قطعات کوچکتر استفاده می شود.
شکل کلی دستور:
$ split [options] [input] [prefix]
شاید برای شما دوستان هم پیش آمده که یک فایل بزرگ را بخواهید به قطعات کوچکتر تقسیم کنید. دستور split در سادهترین روش این کار را برای شما انجام می دهد.
برای شروع کار، من در میزکارم یک پوشه با نام test درست کردم و داخل آن یک فایل با نام myfile وبه فرمت پی دی اف با حجم تقریبی 2.8MB کپی کرده ام:
$ ls -l /home/name/Desktop/test total 2736 -rw-rw-r-- 1 name name 2800039 Feb 12 23:17 myfile.pdf
در سادهترین شکل استفاده از این دستور می توان چنین مثالی آورد:
مثال:
$ cd /home/name/Desktop/test ~/Desktop/test$ split myfile.pdf
همینطور که میبینید، من ابتدا با دستور cd به مسیر پوشهی test رفتم، چرا که اگر این کار را انجام ندهم فایلهای حاصلِ بخش بخش شده، به صورت خودکار به مسیر پوشه ی خانهی شما خواهند رفت.
مثال:
$ split /home/name/Desktop/test/myfile.pdf
به هرحال شما خروجی یکسانی خواهید داشت. خروجی شما به صورت زیر خواهد بود:
xaa xab xac xad xae xaf xag xah xai xaj xak xal xam
بله! به صورت پیشفرض، نامها به این صورت هستند که با یک xa شروع میشوند و برای هر تکه به ترتیب از حروف الفبای انگلیسی استفاده میکنند.
در مرحلهی بعد، حرف a به b وبه همین صورت تا آخر ادامه پیدا میکند.
مثال:
$ split -b 10000 myfile.pdf $ls -l xaa xas xbk xcc xcu xdm xee xew xfo xgg xgy xhq xii xja xjs xkk xab xat xbl xcd xcv xdn xef xex xfp xgh xgz xhr xij xjb xjt xkl xac xau xbm xce xcw xdo xeg xey xfq xgi xha xhs xik xjc xju xkm xad xav xbn xcf xcx xdp xeh xez xfr xgj xhb xht xil xjd xjv xkn xae xaw xbo xcg xcy xdq xei xfa xfs xgk xhc xhu xim xje xjw xko xaf xax xbp xch xcz xdr xej xfb xft xgl xhd xhv xin xjf xjx xkp xag xay xbq xci xda xds xek xfc xfu xgm xhe xhw xio xjg xjy xkq xah xaz xbr xcj xdb xdt xel xfd xfv xgn xhf xhx xip xjh xjz xkr xai xba xbs xck xdc xdu xem xfe xfw xgo xhg xhy xiq xji xka xks xaj xbb xbt xcl xdd xdv xen xff xfx xgp xhh xhz xir xjj xkb xkt xak xbc xbu xcm xde xdw xeo xfg xfy xgq xhi xia xis xjk xkc xku xal xbd xbv xcn xdf xdx xep xfh xfz xgr xhj xib xit xjl xkd xam xbe xbw xco xdg xdy xeq xfi xga xgs xhk xic xiu xjm xke xan xbf xbx xcp xdh xdz xer xfj xgb xgt xhl xid xiv xjn xkf xao xbg xby xcq xdi xea xes xfk xgc xgu xhm xie xiw xjo xkg xap xbh xbz xcr xdj xeb xet xfl xgd xgv xhn xif xix xjp xkh xaq xbi xca xcs xdk xec xeu xfm xge xgw xho xig xiy xjq xki xar xbj xcb xct xdl xed xev xfn xgf xgx xhp xih xiz xjr xkj
نکته: چون من در مسیر پوشه ی test هستم، پس نیازی به وارد کردن آدرس پوشه ی test در قسمت جلوی دستور ls نیست.
شما میتوانید نام پیشوندی بهصورت پیشفرض را در صورت تمایل تغییر دهید (گزینههای اختیاری استفاده شده در انتها توضیح داده شده است):
$ split -b 1M myfile.pdf prefix
که در این صورت نام پیشوندی به prefix تغییر خواهد کرد و به دنبال آن دو حروف الفبای انگلیسی استفاده خواهد شد، که خروجی آن را قسمت پایین میبینید:
$ ls myfile.pdf prefixaa prefixab prefixac
برای اتصال فایلها به یکدیگر می توانید از دستور cat استفاده کنید:
$ split -b 1M myfile.pdf prefix $ ls myfile.pdf prefixaa prefixab prefixac $ cat prefixaa prefixab prefixac > newmyfile.pdf $ ls myfile.pdf newmyfile.pdf prefixaa prefixab prefixac
در دستورات بالا، دستور cat به ما کمک خواهدکرد که فایلهای تکه تکه شده را به صورت اولیه بازگردانیم. من برای فایل جدید نام جدیدی را در نظر گرفتم (newmyfile.pdf). همینطور که در خروجی دستور ls میبینید من دو فایل یکسان دارم، که یکی همان فایل اصلی ما، و دیگری فایل حاصل از دستور cat میباشد.
نکته: این دستورات داخل پوشهای که ابتدا درست کردیم (test) اجرا میشوند، به عبارت دیگر ما ابتدا با دستور cd به مسیر مورد نظر رفته و دستورات را اجرا میکنیم.
گزینههای اختیاری:
b-
: از این گزینهی اختیاری برای مشخص کردن مقدار هرتکه بر اساس بایت استفاده میشود.
مثال:
$ split -b 1000000 myfile.pdf
استفاده از بایت باعث افزایش دقت شما در تکه تکه کردن هرفایل میشود، ولی اگر مایل بودید میتوانید به شکل زیر برای استفاده از یکای اطلاعات مگابایت بهره ببرید:
$ split -b 1M myfile.pdf
که دراین حالت خروجی با حالت قبلی یکسان خواهد بود:
$ ls -l total 5472 -rw-rw-r-- 1 name name 2800039 Feb 12 23:17 myfile.pdf -rw-rw-r-- 1 name name 1048576 Apr 18 13:32 xaa -rw-rw-r-- 1 name name 1048576 Apr 18 13:32 xab -rw-rw-r-- 1 name name 702887 Apr 18 13:32 xac
d-
: همینطور که مطلع هستید، شمارش فایلهای تکه تکه شده بر اساس حروف الفبای انگلیسی است. با این گزینه، میتوان شمارش فایل های تکه تکه شده را بر اساس اعداد شمارگذاری کرد.
مثال:
$ split -b 1M -d myfile.pdf prefix $ ls myfile.pdf prefix00 prefix01 prefix02