انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: Sosha در 22 اسفند 1395، 11:50 بظ
-
با درود،
امیدوارم خوب باشید...
متوجه شدم خیلی از تازه واردها همش دنبال دستورات پایانه هستن و کارشون.
خوب کسایی که مثل من و یا شما که یک ذره از اونا جلوتریم میتونیم هر دستور پایانه حتی دو حرفی مثل ls رو توی این موضوع همراه با کارشون بنویسیم.
شاید اینجوری هم کمکم کمک کرده باشیم یه موضوع ثابت و نسبتا جامع آماده کرده باشیم و هم به تازهکارها و یا اصلا خودمون کمکی کرده باشیم.
خلاصه که هر دستوری رو بلدید ولو ساده باشه رو اگر دوست داشتید اینجا همراه با کاری که میکنه و یک مثال ساده توضیح بدید.
موفق باشید...
-
ll
برای دیدن همهی پروندهها و پوشهها حتی مخفی به همراه سطح دسترسی و صاحبشون...
مثال:
ll /var/www/
-
بسیار پیشنهاد خوبیه.
در گنو/لینوکس معمولا هر برنامه و دستور یک man page یا صفحه راهنما داره ، مثلا برای ls به این صورت قابل دسترسی هست
man ls
البته قابلیت های دیگه هم داره ، مثلا میشه دنبال یک دستور که کار مورد نظر رو انجام میده بگردیم.
مثلا برای پیدا کردن دستور کپی کردن کافیه از سویئچ -k استفاده بشه به صورت زیر
man -k copy
که یک خروجی به شکل زیر داره (البته ممکنه در سیستم شما کمی متفاوت باشه)
https://paste.ubuntu.ir/ajqd
اگر دقت میبینید یک خط نوشته
cp (1) - copy files and directories
خُب شما با این دستور میتونید دایرکتوری یا فایل مورد نظر خودتون رو کپی کنید.( در یک پست دیگه هم در مورد cp توضیح داده میشه )
نکته : به جای man -k copy میتوان از apropos copy استفاده کرد و هر دو یک نتیجه دارند.
توجه دستور man فقط مختص به دستورات نیست وخیلی از فایلها و مفاهیم هم man page دارند.
-
خب بریم سراغ دستور cp که در پست قبل در موردش صحبت کردیم .
کافیه تایپ کنید
man cp
این دستور به این صورت هست که برای کار با آن از یک یا چند سوییچ میگیرد یا بدون سوییچ استفاده میکنیم.
و نام یک مسیر یک یا چند دایرکتوری یا فایل را به عنوان فایل و دایرکتوریهایی که قرار هست کپی شوند میگیرد و در آخر هم یک دایرکتوری به عنوان مقصد میگیرد، به صورت زیر
cp [OPTION]... SOURCE... DIRECTORY
بذارید یک مثال بزنم
cp /home/ali/mypic /home/ali/Download/myfile /home/ali/Desktop/myfile2 /home/ali/backup
دستور با به این صورت عمل میکند mypic رو از مسیر /home/ali
و فایل myfile رو از مسیر /home/ali/Download
و فایل myfile2 رو از مسیر /home/ali/Desktop
به مسیر /home/ali/backup
کپی میکنید.
حالا سوییچهای پر کاربرد :
−i
به معنی interactive به صورت تعاملی عمل میکند ، در هنگام کپی اگر در مقصد فایلی هم نام فایلی که قرار است کپی شود موجود باشد سوال میکند ، آیا فایل را بازنویسی کند یا از کپی کردن اون صرف نظر کند.
-f
به معنی force کاری عکسی سوییچ قبل انجام میدهد بدون سوال کردن کار رانجام میدهد ( فایل را بازنویسی میکند)
-b
به معنی backup ، اگر در مقصد فایل هم نام وجود داشت ، نام فایل را عوض میکند ویک ~ به آخر نام فایل اضافه میکند.( توجه اگر از این سوییچ استفاده نشود فایل را بازنویسی میکند)
−p
به معنی preserve هنگام کپی دسترسی ، مالک و تاریخ و ساعت فایل را نیز کپی میکند ( خصوصیات فایل تغییر نمیکند)
−r
به معنی recursive در حالت اگر بخواهید دایرکتوری را کپی کنید ، پیام خطا دریافت میکنید ، اما با این سوییچ میتوانید دایرکتوری را نیز کپی کنید.
منظور از recursive اینه که خود دایرکتوری و تمام فایلها داخلش را کپی کنید کند.
-v
به معنی verbose پر سروصدا :
هر فایل یا دایرکتوری که کپی کند یا با خطایی مواجه شود پیامی چاپ میکند واطلاع میدهد.
-
ll
برای دیدن همهی پروندهها و پوشهها حتی مخفی به همراه سطح دسترسی و صاحبشون...
مثال:
ll /var/www/
با سلام
سوشا جان البته اینی که شما نوشتین همیشه درست نیست ... اگه اجازه بدین یه ذره بیشتر توضیح بدم ...
ll بر خلاف ls یه دستور مستقل نیست و در واقع یک alias شده ی دستور ls با بعضی از سوییچ هاست , ولی این سوییچ ها تو توزیع های مختلف (به صورت پیش فرض ) متفاوته (حتی تو بعضی از توزیع ها هم ممکنه ll کلا تعریف نشده باشه) در ادامه خروجی دستور type ll رو تو توزیع های مختلف می ذارم :
Ubuntu 16.10
type ll
ll is aliased to `ls -alF'
Fedora 25
type ll
ll is aliased to `ls -l --color=auto'
Debian 8
type ll
bash: type: ll: not found
Arch 2017
type ll
ll is an alias for command ls -l --color=auto
همون طور دیدی این دستور به صورت پیش فرض تو توزیع های مختلف کاملا متفاوته و حتی دبیان ll رو نداشت پس نمی تونیم بگیم "برای دیدن همهی پروندهها و پوشهها حتی مخفی به همراه سطح دسترسی و صاحبشون..." چون تو اکثر توزیعات سوییچ -a برای alias , ls نشده بود پس برای مثال همیشه پوشه های مخفی رو برامون نیشون نمی ده و ...
در ضمن اینی که گفتم به صورت پیش فرضه وگرنه کاربر می تونه با دستکاری فایل ~/.bashrc دستور ll رو به صورت دلخواه خودش تغییر بده
در کل اگه هدف این تاپیکی که شما ایجاد کردین تازه واردها باشه بهتره از دستورات پایه ای عینه ls با سوییچ های مختلف شروع کنیم نه از ll
موفق باشین ...
-
@ali76 ممنونم. باعث شد خودمم یه چیزی یاد بگیرم \\:D/
هدف یاد گرفتنه ^_^
-
درود
ایده بسیار خوبیه سوشا جان
ولی توی ویکی این کار رو انجام بدیم بهتر نیست؟
-
ویکی فارسی اوبونتو، بخشی برای همین مورد داره. بهتره اونجا ادامهاش بدیم.
https://wiki.ubuntu.ir/wiki/%D8%B1%D8%AF%D9%87:%D8%AE%D8%B7_%D9%81%D8%B1%D9%85%D8%A7%D9%86