در نوشته ی پیش رو دستورات مدیریت، ایجاد، تغییر مسیر، تغییر نام و یا تغییر پسوند جمعی فایل در لینوکس را مرور می کنیم.
تمام فایل ها در لینوکس حساس به حروف (بزرگ/کوچک) هستند.
فایل ها در لینوکس و حتی بعضی از یونیکس ها به حروف بزرگ یا کوچک حساس هستند. بدین معنی که File1 با file1 متفاوت بوده و هر کدام از اینها یک فایل جداگانه محسوب می شوند و میتوانند در یک پوشه بدون آنکه خطای (نام تکراری) دریافت کنید هر دوی اینها را داشته باشید.
با توجه به چیزهایی که در نوشته قبلی یاد گرفتیم، میخواهیم یک پوشه بنام pouyasazan ایجاد کرده و در آن دو فایل بسازیم با نام های کوچک و بزرگ
mkdir pouyasazan
با دستور cd وارد پوشه ای که ایجاد کرده ایم می شویم:
cd pouyasazan
برای ایجاد فایل در لینوکس از دستور touch استفاده می شود. مثلا touch file1
به دستورات زیر نگاه کنید:
touch tarimehr touch Tarimehr touch TariMehr
تفاوت فایل ها فقط در بزرگی و کوچکی حروف است و بدون خطا در کنار هم در یک پوشه قرار گرفته اند.
بنابراین هر یک میتوانند محتوای خاص خودشان را هم داشته باشند. ما برای واضح تر شدن در هر کدام از فایل ها محتویاتی قرار داده ایم و با دستور cat از فایل ها خواسته ایم تا چیزی که در آنها قرار دارد را به ما نشان دهند.
[root@server15 pouyasazan]# cat tarimehr in test 1 ast [root@server15 pouyasazan]# cat Tarimehr in test 2 ast ba mohtavaye motefavet !!! [root@server15 pouyasazan]#
در لینوکس تمام آنچه که مشاهده می کنید فایل محسوب می شوند. حتی پوشه های موجود در لینوکس هم نوع خاصی از فایل هستند.
پوشه ی /dev/sda که مربوط به پارتیشن بندی سیستم است و یا پراسس های سیستم نیز فایل محسوب می شود و از آن به عنوان فایل سیستم یاد می شود.
دستور file یک ابزار برای تشخیص نوع فایل است.
شما با استفاده از دستور file می توانید اطلاعاتی در خصوص آن فایل استخراج نمایید. برای درک بهتر مطلب ما یکسری فیلم، تصویر و متن در این پوشه قرار داده ایم و با زدن دستور فایل، نوع آنها را مشاهده میکنیم.
[root@server15 pouyasazan]# ls How-To-Extend-LVM.mp4 logo-pouyasazan.png tarimehr Tarimehr TariMehr [root@server15 pouyasazan]# file How-To-Extend-LVM.mp4 How-To-Extend-LVM.mp4: ISO Media, MPEG v4 system, version 2 [root@server15 pouyasazan]# file logo-pouyasazan.png logo-pouyasazan.png: PNG image data, 200 x 52, 8-bit/color RGBA, non-interlaced [root@server15 pouyasazan]# file How-To-Extend-LVM.mp4 How-To-Extend-LVM.mp4: ISO Media, MPEG v4 system, version 2 [root@server15 pouyasazan]# file tarimehr tarimehr: ASCII text [root@server15 pouyasazan]#
دستور touch
یکی از ساده ترین روش های برای ساختن فایل خالی دستور touch است.
touch mehrdad
با این کار یک فایل خالی بنام دلخواه ما ایجاد می شود.
نکته: این دستور همانند سایر دستورات آپشن های زیادی دارد که با زدن دستور man touch می توانید کارهایی که با این دستور قابل انجام است را مطالعه نمایید.
یکی از آنها سوئیچ t- است که میتوانید به کمک آن اطلاعات تاریخ و ساعت و زمانی این فایل را نیز دستکاری یا تعریف نمایید:
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
[root@server15 pouyasazan]# touch -t 201805082113 mehrdad [root@server15 pouyasazan]# ls -al total 27404 drwxr-xr-x. 2 root root 4096 Apr 22 04:19 . dr-xr-x---. 16 root root 4096 Apr 22 02:29 .. -rw-r--r--. 1 root root 28036064 Apr 22 03:01 How-To-Extend-LVM.mp4 -rw-r--r--. 1 root root 5966 Dec 19 2015 logo-pouyasazan.png -rw-r--r--. 1 root root 0 May 8 2018 mehrdad -rw-r--r--. 1 root root 14 Apr 22 02:37 tarimehr -rw-r--r--. 1 root root 41 Apr 22 02:37 Tarimehr -rw-r--r--. 1 root root 0 Apr 22 02:29 TariMehr
اگر شما فکر میکنید که به فایل یا فایل هایی نیاز ندارید می توانید با دستور rm آنها را حذف نمایید.
rm mehrdad
با زدن این دستور از شما تاییدیه برای حذف فایل پرسیده می شود که با زدن y و اینتر، فایل حذف می شود.
برای حذف بی چون و چرای فایل میتوانید از دستور rm -rf mehrdad استفاده کنید تا بدون تعلل و سوال، فایل حذف شود.
rm -rf mehrdad
برخی از توزیع های لینوکس زمانی که دستور rm وارد میکنید هم از شما سوال یا تاییدیه خواسته نمی شود. برای افراد حواس پرت که نگران هستند ممکن است بطور تصادفی فایلی را حذف کنند پیشنهاد می کنیم از سوئیچ i استفاده کنند تا سیستم قبل از حذف حتما از ایشان تاییدیه دریافت کند.
rm -i mehrdad
کپی فایل ها در لینوکس با دستور cp انجام می شود.
برای مثال ما در مسیر pouyasazan/ هستیم و میخواهیم فایل tarimehr را در مسیر home/ کپی کنیم
برای این کار دستور ما بدین صورت خواهد بود:
cp tarimehr /home
حال زمانی قصد داریم کل پوشه پویا سازان را در مسیر دیگری کپی کنیم برای این کار میبایست از سوئیچ r- استفاده کنیم تا بصورت recursive این پوشه و هر آنجه در آن قرار دارد و پوشه های داخل آن و …. را بطور کامل برایمان کپی کند.
cp -r /pouyasazan /home
زمانی هم قصد داریم از این پوشه که هستیم، کپی در همان مسیر بگیریم اما با نامی دیگر ذخیره کنیم
اول از پوشه پویاسازان خارج شوید و یک مرتبه به عقب بازگردید. سپس دستور کپی را بزنید
بنابراین دستور ما می شود:
cd .. cp -r pouyasazan /tari
با این دستور یک پوشه با نام دلخواه ما در مسیر / که به آن root گفته می شود ایجاد و محتویات pouyasazan در آن قرار میگیرد.
دستور i برای این مورد هم کاربرد دارد و شما می توانید برای جلوگیری از بروز خطا و یا اشتباه از این سوئیچ استفاده کنید. اگر احتمال میدهید قبلا فایلی با نام مورد نظرتان وجود داشته باشد با سوئیچ i می توانید از overwrite شدن فایل جدید جلوگیری کنید. در برخی توزیع های لینوکس این دستور کاربرد دارد چرا که برای مثال در centos بطور پیش فرض از این الگو تبعیت می کند.
دستور mv جز کامند هایی به شمار می رود که دو کاربری می توان از آن انتظار داشت.
یکی به عنوان انتقال فایل از مسیری به مسیر دیگر
و کاربرد دوم استفاده از این دستور برای تغییر نام فایل
مثال اول: فایلی بنام test در مسیر home/ داریم و میخواهیم آن را به پوشه پویا سازان در مسیر root/pouyasazan/ انتقال دهیم.
cd /home mv test /root/pouyasazan
مثال دوم: حال در پوشه pouyasazan هستیم و فایلی بنام test داریم که میخواهیم آن را به iran تغییر نام دهیم.
mv test iran
به همین سادگی می توانید تغییر مسیر یا تغییر نام را با دستور mv انجام دهید.
یک دستور دیگری که بسیار کاربردی به نظر می رسد دستور rename است.
مثال: با دستور زیر فایل هایی با پسوند .conf ایجاد میکنیم:
touch iran.conf tehran.conf esfahan.conf mazandaran.conf
چهار فایل با نام های اعلام شده ایجاد می شوند که با دستور ls می توانید آنها را مشاهده کنید.
حال قصد داریم پسوند این فایل ها را از conf به txt تغییر دهیم که کاربرد دستور rename را می توانیم مشاهده کنیم:
rename .conf .txt *.conf
نتیجه را در تصویر مشاهده کنید: