در مطالب گذشته آموزش هایی مشابه برای ترمینال یا محیط Bash لینوسک داشتیم و بهتر دیدم مطالب گذشته رو نادیده بگیرم و مطالب و قواعدی جدید به آموزش های ترمینال اضافه کنم .
خواندن این مطلب هم برای کاربران کهنه کار لینوکس و هم برای تازه کاران پیشنهاد می شود ….
چند نکته قبل از شروع :
اولین نکته اینکه شما میتوانید اطلاعات بیشتر از هر دستور را فقط با نوشتن man قبل از دستور به دست آورید(man مخفف manual است)
تمام این آموزشها بروی توزیع اوبونتو ۱۲.۰۴ و از طریق ترمنال کی دیای(konsole) است ولی فرقی نمیکند که روی چه توزیعی باشد تنها قصد اطلاع رسانی داشتم
در ترمینال فاصله وجود ندارد و به جای آن _ قرار میگیرد
ترمینال به حروف کوچک و بزرگ حساس است
در ترمنال نام فایلها نباید بیش از ۲۲۵ کارکتر باشد
شروع آموزش
آموزش wildcard :
wildcard ها شیوه های هستند که انتخاب فایل را برای ما آسان میکنند جهت پی بردن به این مسئله برای شما مثالهای میآورم من فایلهای زیر را دریک پوشه دارم
hi1.png
h2.png
h3.png
h4.png
h5.png
h6.png
h7.png
h8.png
h9.png
h10.png
h11.png
h12.png
h1.txt
قبل از ادامه دادن به مثال باید به شما بگویم که دستور rm جهت حذف فایلها استفاده میکنیم که در ادامه به آن مفصل خواهیم پرداخت
اگر من به ترتیب دستور های پایین را برای پاک کردن فایل ها بنویسم کاری بسیار زمان گیر خواهد بود !
rm h1.png
rm h2.png
rm h3.png
rm h4.png
rm h5.png
rm h6.png
rm h7.png
rm h8.png
rm h9.png
rm h10.png
rm h11.png
rm h12.png
rm h1.txt
و اگر بخواهم تعداد مشخصی را حذف کنم باید تعدادی از کد های بالا را حذف کنم ولی من میتوانم از wildcard ها استفاده کنم که دارای ۳ حالت است اولی اسفاده از *و دومی استفاده از ? و سومی استفاده از [] لطفا به مثالهای زیر توجه کنید
مثالهای *
با استفاده از دستور زیر h10.png تا h12.png حذف خواهد شد و h1.txt سالم میماند
rm h1*.png
با استفاده از دستور زیر h1.png تا h12.png حذف خواهد شد و h1.txt سالم می ماند
rm h*.png
با استفاده از دستور زیر h1.png تا h12.png سالم خواهند ماند و h1.txt حذف می شود
rm *txt
با استفاده از دستور زیر h1.png تا h12.png حذف می شود و h1.txt حذف می شود
rm h*
با استفاده از دستور زیر همه فایل ها حذف خواهد شد
rm *
مثال های ?
با استفاده از دستور زیر از h10.png تا h12.png حذف خواهد شد و h1.txt سالم می ماند
rm h1?.png
با استفاده از دستور زیر h1.png تا h9.png حذف خواهد شد و h1.txt سالم می ماند
rm h?.png
با استفاده از دستور زیر h1.png تا h9.png حذف خواهد شد و h1.txt حذف می شود
rm h?.*
مثالهای []
با استفاده از دستور زیر h11.png و h12.png حذف خواهد شد و h1.txt سالم می ماند
rm h11[12].png
با استفاده از دستور زیر h10.png تا h12.png حذف خواهد شد و h1.txt سالم می ماند
rm h1[0-2]
با این دستور h6.png تا h8.png حذف خواهد شد و h1.txt سالم می ماند
rm h[6-8].png
با این دستور h6.png تا h8.png حذف خواهد شد و h1.txt سالم می ماند
wildcard ها در اکثر دستورات بسیار کاربردی هستند و یادگرفتن آن بسیار مهم است
اولین دستور
گرفتن لیست فایل ها
ls مخفف کلمه list است که در مدیریت فایل ها بسیار مهم است شما با نوشتن تنها کلمه ls محتویات پوشه خانگی خود را خواهید دید مانند مثال زیر
دستور ورودی
ls
عملکرد خروجی
۱۳۹۱/ Desktop/ Documents/ Downloads/ examples.desktop Fedora-18-i386-DVD.iso Fedora-18-i386-DVD.iso.aria2 Music/ Pictures/ Public/ Templates/ Videos/
گرفتن لیست فایلهای که در پوشه آن نیستیم
جهت گرفتن لیست فایلها شما حتماً نیاز نیست که داخل آن پوشه باشید فرض کنید شما در پوشه خانگی (home) باشید و پوشه ۱۳۹۱ در آن است شما میتوانید با پیروی از مثال زیر محتویات دایرکتوری ۱۳۹۱ را ببینید
دستور ورودی:
ls 1391
عملکرد خروجی:
AriOS-4.0-IRN-amd64.iso ubuntu-12.10-desktop-amd64(0).iso ubuntu-12.10-server-amd64.iso
گرفتن لیست یک پوشه از طریق آدرس آن:
گرفتن لیست یک پوشه از طریق آدرس آن به عنوان مثال پوشه ۱۳۹۱ که در مثال بالا لیست آن را گرفتیم آدرس زیر است
home/linux/1391/
و شما می توانید با آوردن آدرس فایل بعد از ls نیز لیستی از پوشه را بگیرید مانند مثال زیر
دستور ورودی:
ls /home/linux/1391
عملکر خروجی:
AriOS-4.0-IRN-amd64.iso ubuntu-12.10-desktop-amd64(0).iso ubuntu-12.10-server-amd64.iso
یک نکته:
در لینوکس آدرس پوشه خانگی را نیز می توان با ~ نشان داد به عنوان مثال در کامپیوتر من آدرس /home/linux/ برابر است با ~
استفاده از wildcard ها در گرفتن لیست فولدر ها
یادگیری wildcard ها بسیار مهم است و یکی از جاهای که خیلی به درد می خورد در گرفتن لیست فایل هاست جهت پی بردن به مثال زیر توجه کنید
دستور ورودی
ls ~/Videos/*GIMP*
عملکرد خروجی
/home/linux/Videos/GIMP\\ 01.m4v /home/linux/Videos/GIMP\\ 02.m4v /home/linux/Videos/GIMP\\ 03.m4v /home/linux/Videos/GIMP\\ 04.m4v
حتماً متوجه مثال شدید ولی بد نیست که درباره ی آن توضیح دهم من در پوشه Videos تعداد زیادی فیلم دارم ولی تنها می خواهم لیست فیلم های آموزش گیمپ را ببینم پس مانند مثال بالا رفتار می کنم
البته از اکثر wildcard ها در دستور ls استفاده کرد که شما خود می توانید امتحان کنید
گرفتن لیست تمام فولدر ها
اگر شما دنبال یک فایل هستید و نمی دانید کجاست بهترین راه حل شما بهره بردن از مثال زیر است
دستور ورودی:
ls -R
عملکرد خروجی:
.:
۱۳۹۱/ Desktop/ Documents/ Downloads/ examples.desktop Fedora-18-i386-DVD.iso Fedora-18-i386-DVD.iso.aria2 Music/ Pictures/ Public/ Templates/ Videos/
./1391:
AriOS-4.0-IRN-amd64.iso ubuntu-12.10-desktop-amd64(0).iso ubuntu-12.10-server-amd64.iso
./Desktop:
flash-install.desktop*
./Documents:
./Downloads:
Fedora-18-i386-DVD.iso.part Python\\ Programming\\ (www.Downloadha.com).rar
./Music:
./Pictures:
./Public:
./Templates:
LibreOfficeWriter.odt phpScript.php PlainTextDocument.txt* Pygtk-Example.py* PythonScript.py* ShellScript.sh*
./Videos:
GIMP\\ 01.m4v GIMP\\ 03.m4v HIMYM_S05_E22_Iran-Film.mkv HIMYM_S05_E24_Iran-Film.mkv HIMYM_S06_E02_Iran-Film.mkv HIMYM_S06_E04_Iran-Film.mkv HIMYM_S06_E06_Iran-Film.mkv
GIMP\\ 02.m4v GIMP\\ 04.m4v HIMYM_S05_E23_Iran-Film.mkv HIMYM_S06_E01_Iran-Film.mkv HIMYM_S06_E03_Iran-Film.mkv HIMYM_S06_E05_Iran-Film.mkv HIMYM_S06_E07_Iran-Film.mkv
در مثال بالا من دنبال فایل فشرده (rar) آموزش پایتون بودم ولی پوشه آن را نمی دانستم ولی الان با دستور بالا به راحتی آن را پیدا کردم
دیدن لیست فایل ها در یک ستون:
اگر برای شما دیدن فایل ها در چند ستون سخت است می توانید با نوشتن ls -1 لیست فایل های خود را در یک ستون ببینید مانند مثال زیر
دستور ورودی:
ls -1
عملکرد خروجی۱۳۹۱/
Desktop/
Documents/
Downloads/
examples.desktop
Fedora-18-i386-DVD.iso
Fedora-18-i386-DVD.iso.aria2
Music/
Pictures/
Public/
Templates/
Videos/
گرفتن لیست فایل ها در ستون های زیاد:
شاید هم دوست دارید که لیست فایل ها در چند ستون باشد پس می توانید با نوشتن ls -m لیست فایل های خود را در ۲الی ۳ تا ستون ببینید که با, جدا شدهاند ببندید
در قسمت آموزش مبحث اسکریپت نویسی خواهیم داشت پس حتما مطالب گفته شده را تمرین کنید !
نوشته آموزش کامل ترمینال(اصول اولیه,نوشته ی مجتبی رضایی) اولین بار در لینوکس سیزن , آموزش گنو / لینوکس پدیدار شد.