آیا شما می خواهید از ویندوز به لینوکس سوئیچ کنید؟ و شاید در حال استفاده از لینوکس بعنوان یک مبتدی باشید. زمانی که من در linux یک تازه کار بودم، ترمینال و دستورات لینوکس واقعا برایم ترسناک بودند و همیشه از اجرای دستورات می ترسیدم و مجبور به حفظ کردن انها بودم تا بتوانم از لینوکس بطور کاربردی استفاده کنم. بدون شک داکیومنت های آنلاین، کتاب ها، man page ها و انجمن های کاربری تا حد زیادی به من کمک کردند اما من به شدت اعتقاد داشتم که یک مقاله ی آسان و با زبانی ساده با جزئیات کامل از دستورات باید وجود داشته باشد. این قضیه به من در master شدن در لینوکس انگیزه داد و باعث شد لینوکس را به ساده ترین روش ممکن استفاده کنم. در این مقاله من در راستای هدف بالا پیش رفتم.
همچنین توصیه میشود مطالعه کنید :
20 دستور پیشرفته برای کاربران سطح متوسط لینوکس (بخش 2)
20 دستور پیشرفته برای کاربران حرفه ای در لینوکس (بخش 3)
1. دستور ls
دستور ls که مخفف List Directory Contents برای لیست کردن محتویات یک folder است که می تواند شامل فایل یا فولدرهای دیگری باشد :
دستور ls -–l محتویات پوشه را با اطلاعات جزئی تری (مد long listing) لیست می کند.
دستور ls –-a محتویات پوشه را شامل فایل های hidden (مخفی) که با دات "." شروع می شوند نیز لیست می کند.
نکته : در لینوکس نام فایل مخفی (hidden) با "." شروع می شود. در لینوکس هر فایل، فولدر، دیوایس، دستور در حقیقت همگی یک فایل هستند. همانطور که در خروجی دستور ls -l میبینید:
همچنین توصیه میشود مطالعه کنید :
آموزش دستور ls در لینوکس
2. دستور lsblk
Lsblk مخفف List Block Devices، بلاک دیوایس ها را براساس نامشان (اما نه RAM) بر روی خروجی استاندارد به صورت درختی چاپ می کند.
دستور lsblk –-l ، بلاک دیوایس ها را با ساختار list (نمایش جزئیات بیشتر) لیست می کند(بدون نمایش درختی).
نکته : دستور lsblk راهی بسیار مفید و آسان برای پیدا کردن نام new Usb Device که به سیستم وصل کردید می باشد خصوصا زمانی که شما مجبورید با disk/block در ترمینال کار کنید.
3. دستور md5sum
Md5sum مخفف Compute and Check MD5 Message Digest است. Md5 checksum (عموما hash نامیده میشود) برای بررسی صحت فایل هایی که در نتیجه ی یک انتقال خراب فایل ، disk error و یا یک اینترفیس غیر بدافزار (non-malicious) ،تغییر پیدا کرده اند بکار می رود.
نکته : کاربر می تواند md5sum ایجاد شده را با یک md5sum رسمی مچ کند. md5sum از sha1sum امنیت کمتری دارد که بعدا در مورد آن بحث خواهیم کرد.
4. دستور dd
دستور dd (بمنظور convert & copy a file) را می توان برای تبدیل و کپی یک فایل و بیشتر اوقات برای کپی کردن یک فایل iso (و یا هر فایل دیگری) به یک دیوایس usb بکار میرود، بنابراین می تواند برای ایجاد یک bootable Usb استفاده شود.
نکته : در مثال بالا دیوایس usb به عنوان sdb1 شناخته شده است (شما باید با استفاده از دستور lsblk آنرا تشخیص دهید)، نام دیسک را با احتیاط استفاده کنید.
دستور dd گاهی اوقات چند ثانیه و یا تا چند دقیقه طول می کشد اجرا شود که به سایز و نوع فایل و سرعت خواندن و نوشتن برروی usb بستگی دارد.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور dd در لینوکس
5. دستور uname
دستور uname مخفف unix name است، که اطلاعات جزیی را در باره ی نام ماشین و سیستم عامل و کرنل چاپ می کند.
نکته : uname نوع کرنل را نشان می دهد. uname –a اطلاعات جزئی تری را نشان می دهد.
توضیح خروجی uname –a به صورت زیر است :
Linux : نام کرنل است.
linuxzone : نام ماشین است.
3.8.0-19-generic: ریلیز کرنل.
“#30-Ubuntu SMP : ورژن کرنل
“i686“ : معماری پردازشگر cpu
“GNU/Linux“ : نام سیستم عامل.
همچنین توصیه میشود مطالعه کنید :
10 دستور مفید برای جمع آوری اطلاعات سخت افزاری و نرم افزاری لینوکس
6. دستور history
دستور history مخفف history (Event) records است که تاریخچه ی لیست طولانی دستورات اجرا شده را در ترمینال چاپ می کند.
نکته : دکمه های Ctrl+R را فشار دهید و دستورا ت قبلی اجرا شده ی خود را جستجو کنید که به شما اجازه ی کامل کردن را به صورت اتوماتبک (auto completion) می دهد.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور history در لینوکس
7. دستور sudo
دستور sudo (یا super user do) به یک کاربر مجاز امکان اجرای یک دستور به عنوان سوپر یوزر یا یوزر دیگری را همانطور که توسط policy های امنیتی در لیست sudoer مشخص شده، فراهم می آورد.
نکته : sudo به کاربران اجازه می دهد که دسترسی superuser را داشته باشند، در حالیکه با دستور su کاربر به عنوان superuser لاگین می کند. Sudo امن تر از su است. استفاده از sudo و su برای کاربرد روزانه توصیه نمی شود، به دلیل اینکه می تواند خطاهای جدی ای را بر اثر برخی اشتباهات شما به همراه داشته باشد، به همین دلیل یک ضرب المثل بسیار محبوب در جامعه ی لینوکس وجود داد :
"" خطا از انسان است اما با این حال برای اینکه واقعا همه چیز خراب شود به پسورد root نیاز است.""
همچنین توصیه میشود مطالعه کنید :
تفاوت بین دستور su و دستور sudo در لینوکس
8. دستور mkdir
دستور mkdir (یا Make directory) یک دایرکتوری جدید با نام مسیر مورد نیاز ایجاد می کند. اما اگر دایرکتوری از قبل وجود داشته باشد پیغام خطایی برمی گرداند. “cannot create folder, folder already exists”
نکته : دایرکتوری می تواند داخل فولدری که کاربرپرمیژن write در آن را داشته باشد ایجاد شود.
در اررور بالا که فولدر را با عنوان file بیان کرده (File exists) سردرگم نشوید، همانطور که در ابتدای گفتم در لینوکس با هر file, folder, drive, command, scripts همانند یک فایل رفتار میشود
9. دستور touch
دستور touch بمنظور آپدیت access time و modification times هر فایل به زمان کنونی استفاده می شود، از touch برای ایجاد یک فایل تنها اگر وجود نداشته باشد نیز استفاده میشود. اگر فایل قبلا وجود داشته باشد timestamp فایل را بروزرسانی خواهد کرد و محتوای آنرا تغییر نخواهد داد.
نکته : touch را می توان برای ایجاد یک فایل در دایرکتوری ای که کاربر پرمیژن write در آن را داشته باشد استفاده کرد و به شرطی که فایل از قبل وجود نداشته باشد.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور touch در لینوکس
10. دستور chmod
دستور chmod مخفف change file mode bits است. Chmod مد فایل یا پرمیشن فایل/فولدر/اسکریپت و ... را مطابق با مد مورد سوال تغییر می دهد.
3 نوع پرمیشن روی یک فایل (یا فولدر یا هر چیز دیگری ولی ما اینجا برای سادگی کار از فایل استفاده میکنیم) وجود دارد.
بنابراین اگر شما می خواهید تنها پرمیشن Read (خواندن) برروی یک فایل را به کاربری تخصیص دهید از عدد 4 استفاده کنید، برای پرمیژن Write (نوشتن) از عدد 2 و برای پرمیژن Execute (اجرایی) از عدد 1 استفاده کنید. برای تخصیص پرمیژن های read و write از 4+2 = ‘6‘ استفاده کنید.
اکنون نیاز است برای هر سه نوع user و usergroup و other پرمیژن تعریف شود. اولی owner ،سپس usergroup و در نهایت other می باشد.
در خروجی بالا پرمیشن root به صورت rwx (یعنی read,write,execute) است.
Usergroup یا پرمیژن کاربران متعلق به گروه فایل r-x (تنها پرمیژن read و execute و نه پرمیژن write) است و پرمیژن other نیز -x (فقط execute) می باشد.
برای تغییر پرمیشن ها و اختصاص پرمیشن های read،write و execute به owner و group و other از دستور chmod بصورت زیر استفاده می کنیم.
اعطای تنها پرمیژنهای read و write به owner و group و other :
اعطای پرمیژنهای read و write و execute به owner وفقط پرمیژن execute به group و other :
نکته :این دستور یکی از مهمترین دستورات مهم برای کاربر و sysadmin است. در یک محیط چند کاربره یا روی یک سرور این دستور برای نجات سرور مهم است . تعریف پرمیژنهای اشتباه ممکن است یک فایل را غیر قابل دسترسی کند و یا دسترسی نامجاز به یک کاربر بدهد.
توصیه میشود مطالعه کنید :
مدیریت یوزرها و گروها در لینوکس
11.دستور chown
دستور chown مخفف change file owner and group است. هر فایلی متعلق به یک گروهی از کاربران و یا یک owner است. از دستور ls –-l در دایرکتوری استفاده کنید. خروجی شبیه به زیر را خواهید دید:
در اینجا owner دایرکتوری binary ، کاربر server است و متعلق به گروه root می باشد و دایرکتوری Desktop نیز متعلق به کاربر server و گروه server می باشد.
دستور chown برای تغییر دادن ownership (مالکیت) فایل بکار می رود و به همین دلیل برای مدیریت و فراهم آوردن فایل تنها برای کاربرو گروه کاربری مجاز مفید است
نکته : chown، مالکیت user و group هر فایل به owner جدید یا user و group یک فایل مرجع موجود را تغییر می دهد.
12. دستور apt
دستور apt مخفف Advanced Package Tool و در سیستم های بر پایه Debian موجوداست. Apt یک نرم افزار برای مدیریت پیشرفته پکیج ها در سیستم عامل های debian-base همانند Ubuntu و kubuntu و ... است، که به صورت خودکار و هوشمند پکیج ها را جستجو ، نصب، آپدیت و همچنین پکیج های پیش نیاز را از طریق command line روی سیستم های GNU/Linux نصب می کند:
نکته : در نتیجه ی دستورات بالا در سیستم تغییراتی رخ خواهد داد که نیاز به پسورد root می باشد (در prompt کامند لاین شارپ "#" را چک کنید و دقت کنید که "$" نباشد). Apt در مقایسه با yum بسیار پیشرفته تر و هوشمند تر می باشد.
همانطور که از نام آن مشخص است، apt-cache پکیج هایی شامل زیرپکیج های mpalyer را جستجو می کند.
دستور apt-get install همه ی پکیج هایی که از قبل نصب هستند را به جدیدترین ورژن آپدیت میکند.
توصیه میشود مقاله زیر را هم مطالعه کنید :
25 دستور پایه از apt-get و apt-cache برای مدیریت پکیج ها
دستور yum برای مدیریت پکیج ها در لینوکس به همراه 20 مثال عملی
13. دستور tar
دستور tar یک Tape Archive است و برای ایجاد آرشیوی از تعدادی فایل به فرمت های مختلف و همچنین extract آنها مفید است.
نکته : یک فایل tar.gz در حقیقت یعنی این فایل gzip شده است. tar.bz2 با bzip فشرده شده است که متد بهتری برای فشرده سازی استفاده می کند اما سرعت کمتری دارد.
توصیه میشود مطالعه کنید :
دستور tar در لینوکس به همراه 18 مثال عملی
14. دستور cal
Cal مخفف calendar است و برای نمایش تقویم ماه جاری و یا ماه دیگری از هر سال جدید یا قدیمی استفاده می شود.
برای نمایش تقویم سال 1835 و ماه February که تاریخ آن گذشته است به صورت زیر عمل کنید.
برای نمایش تقویم سال 2145 برای ماه july که هنوز تاریخ آن نیامده است دستور زیر را اجرا میکنیم.
نکته : شما برای دانستن تاریخ تولدتان نه نیاز دارید که تقویم را به ۵۰ سال قبل برگردانید و نه نیاز هست محاسبات ریاضی پیچیده انجام دهید.
15. دستور date
دستور date در حقیقت date و time جاری را در خروجی چاپ می کند و بعدا میتوان آنرا تنظیم کرد.
نکته : این دستور میتواند در اسکریپت نویسی بسیار مفید باشد. این دستور باعث می شود اسکریپت های بر پایه ی time و date عالی تر عمل کنند.به هر حال تغییر date و time با استفاده از ترمینال حس بینظیری به شما خواهد داد!!! (قطعا برای اجرای این عملیات چون تغییرات عمده ای در سیستم روی می دهد نیاز به دسترسی root دارید)
همچنین توصیه میشود مطالعه کنید :
تنظیم تاریخ، ساعت و منطقه زمانی سرور با استفاده از دستور Timedatectl
16. دستور cat
دستور cat مخفف Concatenation است که میتوان با آن دو یا چند فایل ساده را ترکیب کرد و محتوای یک فایل را روی statndard output نمایش داد.
نکته : "<<" و "<" علامت append نامیده میشوند. آنها برای اضافه کردن خروجی به یک فایل (به standard output اضافه نمیشود) استفاده میشوند. علامت "<" فایلی که از قبل وجود داشته را پاک خواهد کرد و یک فایل جدید ایجاد میکند. علاوه بر این به دلایل امنیتی پیشنهاد میشود که از "<<" استفاده کنید که خروجی را بدون overwrite یا حذف کردن فایل در فایل کپی میکند.
قبل از اینکه ادامه دهیم در مورد wildcards بحث میکنیم (شما باید از ورودی های wildcard در بیشتر برنامه های تلویزیونی آگاه باشید). wildcard ها قابلیتی در یک شل هستند که باعث میشوند command line قدرتمندتر از هر فایل منیجر GUI باشد. شما میدانید اگر بخواهید گروه بزرگی از فایل ها را در یک file manager گرافیکی انتخاب کنید معمولا باید آنها را با موس تان select کنید. این کار در ظاهر آسان است اما در بعضی موارد میتواند بسیار آزاردهنده باشد.
به طور مثال فرض کنید که یک دایرکتوری با مقدار بسیار زیادی از همه انواع فایل ها و زیر دایرکتوریها دارید. و شما تصمیم میگیرید همه فایل های HTML که کلمه Linux در وسط نام آنها قرار دارد را از دایرکتوری بزرگ به دایرکتوری دیگری انتقال دهید. آسانترین راه برای انجام این کار چیست ؟ اگر دایرکتوری شامل تعداد بیشماری از فایل های HTML با نام های متفاوت باشد کار شما در محیط گرافیکی ساده نیست.
در محیط کامند لینوکس این تسک به سادگی انتقال تنها یک فایل html قابل اجرا است و به دلیل wildcard های شل بسیار آسان است. کاراکترهای خاصی وجود دارند که به شما امکان انتخاب نام های فایلی که با پترن های خاصی match میشوند را میدهند و این به شما کمک میکند که حتی گروه بزرگی از فایل ها را تنها با تایپ کردن کاراکترهای کمی انتخاب کنید. و در اکثر مواقع حتی از انتخاب کردن فایل ها با یک موس نیز اسانتر است.
در اینجا لیستی از رایج ترین wildcard های مورد استفاده را مشاهده میکنید.
"!" سمبول "not" است، و string معکوس که با "!" بیآید درست (TRUE) میباشد.
توصیه میشود مطالعه کنید :
دستور cat در لینوکس به همراه 13 مثال عملی
17. دستور cp
Cp مخفف copy است و یک فایل را از یک مکان به مکان دیگری کپی می کند.
نکته : cp یکی از رایج ترین دستورات مورد استفاده در shell scripting است و می تواند با کاراکترهای wildcard (در قسمت بالا در مورد آن توضیح دادیم) برای کپی کردن فایل مورد نظر نیز استفاده شود.
18. دستور mv
دستور mv یک فایل را از مکانی به محل دیگر انتقال می دهد.
نکته : دستور mv با wildcard ها نیز می تواند استفاده شود. mv باید با احتیاط استفاده شود، به دلیل اینکه انتقال دادن فایل های سیستمی/غیر مجاز ممکن است به دلایل امنیتی خطرناک باشد و باعث خرابی سیستم شود.
19. دستور pwd
دستور pwd (یا print working directory) دایرکتوری جاری را با نام کامل مسیر از ترمینال نمایش میدهد.
نکته : این دستور به صورت رایج و تکراری در اسکریپت نویسی مورد استفاده قرار نمیگیرد، اما یک نجات دهنده قطعی برای تازه واردینی هست که در ترمینال لینوکس و در اولین ارتباطاتشان با سیستم های لینوکسی در ترمینال گم میشوند (لینوکس به صورت خیلی رایجی با عنوان های nux یا nix نیز خوانده میشود)
20. دستور cd
دستور پر استفاده cd مخفف change directory است، و برای تغییر دایرکتوری جاری به منظور execute, copy, move, write, read و ... از طریق خود ترمینال مورد استفاده قرار میگیرد.
نکته : دستور cd هنگام سوییچ کردن بین دایرکتوری ها در ترمینال به کمک شما میآید. دستور cd~ دایرکتوری جاری را به دایرکتوری home کاربر تغییر خواهد داد و این دستور زمانی که یک کاربر خودش را در ترمینال گم کرده بسیار مفید است. دستور cd .. دایرکتوری جاری را به دایرکتوری patern (دایرکتوری قبلی) تغییر خواهد داد.
این دستورات مطمئنا باعث راحتی کار شما با لینوکس خواهند شد. اما این پایان کار نخواهد بود و به زودی ما با دستورات دیگری که برای کاربران در سطح متوسط بسیار مفید هستند برمیگردیم. اگر شما با این دستورات درگیر هستید باید بگوییم که level کاربری شما در linux از کاربر تازه وارد به کاربر سطح متوسط تغییر یافته است. در مقالات بعدی شما را با دستوراتی مانند kill, ps, grep آشنا خواهم کرد. برای مقالات بعدی منتظر بمانید و علاقه خود را به لینوکس افزایش دهید.
توصیه میشود مطالعه کنید :
دستور cd در لینوکس به همراه 15 مثال عملی
موفق باشید.
همچنین توصیه میشود مطالعه کنید :
20 دستور پیشرفته برای کاربران سطح متوسط لینوکس (بخش 2)
20 دستور پیشرفته برای کاربران حرفه ای در لینوکس (بخش 3)
1. دستور ls
دستور ls که مخفف List Directory Contents برای لیست کردن محتویات یک folder است که می تواند شامل فایل یا فولدرهای دیگری باشد :
کد PHP:
root@linuxzone:~# ls
Android-Games Music
Pictures Public
Desktop linux-zone.org
Documents linu-zone-Sync
Downloads Templates
کد PHP:
root@linuxzone:~# ls -l
total 40588
drwxrwxr-x 2 ravisaive ravisaive 4096 May 8 01:06 Android Games
drwxr-xr-x 2 ravisaive ravisaive 4096 May 15 10:50 Desktop
drwxr-xr-x 2 ravisaive ravisaive 4096 May 16 16:45 Documents
drwxr-xr-x 6 ravisaive ravisaive 4096 May 16 14:34 Downloads
drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Music
drwxr-xr-x 2 ravisaive ravisaive 4096 May 9 17:54 Pictures
drwxrwxr-x 5 ravisaive ravisaive 4096 May 3 18:44 linux-zone.org
drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Templates
کد PHP:
root@linuxzone:~# ls -a
. .gnupg .dbus .goutputstream-PI5VVW .mission-control
.adobe deja-dup .grsync .mozilla .themes
.gstreamer-0.10 .mtpaint .thumbnails .gtk-bookmarks .thunderbird
.HotShots .mysql_history .htaccess .apport-ignore.xml .ICEauthority
.profile .bash_history .icons .bash_logout .fbmessenger
.jedit .pulse .bashrc .liferea_1.8 .pulse-cookie
.Xauthority .gconf .local .Xauthority.HGHVWW .cache
.gftp .macromedia .remmina .cinnamon .gimp-2.8
.ssh .xsession-errors .compiz .gnome teamviewer_linux.deb
.xsession-errors.old .config .gnome2 .zoncolor
- d مخفف دایرکتوری است.
- Rwxr-xr-x پرمیشن فایل /فولدر برای owner ،group، و Other است.
- اولین ستون ravisaive به این معنی است که این فایل متعلق به user است.
- دومین ravisaive به این معنی است که این فایل متعلق به user group است.
- 4096 به معنای حجم فایل بر حسب بایت است.
- May 8 01:06 تاریخ و زمان آخرین تغییرات است.
- و در انتها نام فایل می باشد.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور ls در لینوکس
2. دستور lsblk
Lsblk مخفف List Block Devices، بلاک دیوایس ها را براساس نامشان (اما نه RAM) بر روی خروجی استاندارد به صورت درختی چاپ می کند.
کد PHP:
root@linuxzone:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
کد PHP:
root@linuxzone:~# lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
sda1 8:1 0 46.6G 0 part /
sda2 8:2 0 1K 0 part
sda5 8:5 0 190M 0 part /boot
sda6 8:6 0 3.7G 0 part [SWAP]
sda7 8:7 0 93.1G 0 part /data
sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
3. دستور md5sum
Md5sum مخفف Compute and Check MD5 Message Digest است. Md5 checksum (عموما hash نامیده میشود) برای بررسی صحت فایل هایی که در نتیجه ی یک انتقال خراب فایل ، disk error و یا یک اینترفیس غیر بدافزار (non-malicious) ،تغییر پیدا کرده اند بکار می رود.
کد PHP:
root@linuxzone:~# md5sum teamviewer_linux.deb
47790ed345a7b7970fc1f2ac50c97002 teamviewer_linux.deb
4. دستور dd
دستور dd (بمنظور convert & copy a file) را می توان برای تبدیل و کپی یک فایل و بیشتر اوقات برای کپی کردن یک فایل iso (و یا هر فایل دیگری) به یک دیوایس usb بکار میرود، بنابراین می تواند برای ایجاد یک bootable Usb استفاده شود.
کد PHP:
root@linuxzone:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync
دستور dd گاهی اوقات چند ثانیه و یا تا چند دقیقه طول می کشد اجرا شود که به سایز و نوع فایل و سرعت خواندن و نوشتن برروی usb بستگی دارد.
همچنین توصیه میشود مطالعه کنید :
آموزش دستور dd در لینوکس
5. دستور uname
دستور uname مخفف unix name است، که اطلاعات جزیی را در باره ی نام ماشین و سیستم عامل و کرنل چاپ می کند.
کد PHP:
root@linuxzone:~# uname -a
Linux linuxzone 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux
توضیح خروجی uname –a به صورت زیر است :
Linux : نام کرنل است.
linuxzone : نام ماشین است.
3.8.0-19-generic: ریلیز کرنل.
“#30-Ubuntu SMP : ورژن کرنل
“i686“ : معماری پردازشگر cpu
“GNU/Linux“ : نام سیستم عامل.
همچنین توصیه میشود مطالعه کنید :
10 دستور مفید برای جمع آوری اطلاعات سخت افزاری و نرم افزاری لینوکس
6. دستور history
دستور history مخفف history (Event) records است که تاریخچه ی لیست طولانی دستورات اجرا شده را در ترمینال چاپ می کند.
کد PHP:
root@linuxzone:~# history
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
sudo add-apt-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install indicator-privacy
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install my-weather-indicator
pwd
cd && sudo cp -r unity/6 /usr/share/unity/
cd /usr/share/unity/icons/
cd /usr/share/unity
کد PHP:
(reverse-i-search)`if': ifconfig
همچنین توصیه میشود مطالعه کنید :
آموزش دستور history در لینوکس
7. دستور sudo
دستور sudo (یا super user do) به یک کاربر مجاز امکان اجرای یک دستور به عنوان سوپر یوزر یا یوزر دیگری را همانطور که توسط policy های امنیتی در لیست sudoer مشخص شده، فراهم می آورد.
کد PHP:
root@linuxzone:~# sudo add-apt-repository ppa:tualatrix/ppa
کد PHP:
“To err is human, but to really foul up everything, you need root password.”
همچنین توصیه میشود مطالعه کنید :
تفاوت بین دستور su و دستور sudo در لینوکس
8. دستور mkdir
دستور mkdir (یا Make directory) یک دایرکتوری جدید با نام مسیر مورد نیاز ایجاد می کند. اما اگر دایرکتوری از قبل وجود داشته باشد پیغام خطایی برمی گرداند. “cannot create folder, folder already exists”
کد PHP:
root@linuxzone:~# mkdir linux-zone
کد PHP:
mkdir: cannot create directory `linux-zone‘: File exists
9. دستور touch
دستور touch بمنظور آپدیت access time و modification times هر فایل به زمان کنونی استفاده می شود، از touch برای ایجاد یک فایل تنها اگر وجود نداشته باشد نیز استفاده میشود. اگر فایل قبلا وجود داشته باشد timestamp فایل را بروزرسانی خواهد کرد و محتوای آنرا تغییر نخواهد داد.
کد PHP:
root@linuxzone:~# touch linuxzonefile
همچنین توصیه میشود مطالعه کنید :
آموزش دستور touch در لینوکس
10. دستور chmod
دستور chmod مخفف change file mode bits است. Chmod مد فایل یا پرمیشن فایل/فولدر/اسکریپت و ... را مطابق با مد مورد سوال تغییر می دهد.
3 نوع پرمیشن روی یک فایل (یا فولدر یا هر چیز دیگری ولی ما اینجا برای سادگی کار از فایل استفاده میکنیم) وجود دارد.
کد PHP:
Read (r)=4
Write(w)=2
Execute(x)=1
اکنون نیاز است برای هر سه نوع user و usergroup و other پرمیژن تعریف شود. اولی owner ،سپس usergroup و در نهایت other می باشد.
کد PHP:
rwxr-x--x abc.sh
Usergroup یا پرمیژن کاربران متعلق به گروه فایل r-x (تنها پرمیژن read و execute و نه پرمیژن write) است و پرمیژن other نیز -x (فقط execute) می باشد.
برای تغییر پرمیشن ها و اختصاص پرمیشن های read،write و execute به owner و group و other از دستور chmod بصورت زیر استفاده می کنیم.
کد PHP:
root@linuxzone:~# chmod 777 abc.sh
کد PHP:
root@linuxzone:~# chmod 666 abc.sh
کد PHP:
root@linuxzone:~# chmod 711 abc.sh
توصیه میشود مطالعه کنید :
مدیریت یوزرها و گروها در لینوکس
11.دستور chown
دستور chown مخفف change file owner and group است. هر فایلی متعلق به یک گروهی از کاربران و یا یک owner است. از دستور ls –-l در دایرکتوری استفاده کنید. خروجی شبیه به زیر را خواهید دید:
کد PHP:
root@linuxzone:~# ls -l
drwxr-xr-x 3 server root 4096 May 10 11:14 Binary
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
دستور chown برای تغییر دادن ownership (مالکیت) فایل بکار می رود و به همین دلیل برای مدیریت و فراهم آوردن فایل تنها برای کاربرو گروه کاربری مجاز مفید است
کد PHP:
root@linuxzone:~# chown server:server Binary
drwxr-xr-x 3 server server 4096 May 10 11:14 Binary
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
12. دستور apt
دستور apt مخفف Advanced Package Tool و در سیستم های بر پایه Debian موجوداست. Apt یک نرم افزار برای مدیریت پیشرفته پکیج ها در سیستم عامل های debian-base همانند Ubuntu و kubuntu و ... است، که به صورت خودکار و هوشمند پکیج ها را جستجو ، نصب، آپدیت و همچنین پکیج های پیش نیاز را از طریق command line روی سیستم های GNU/Linux نصب می کند:
کد PHP:
root@linuxzone:~# apt-get install mplayer
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
java-wrappers
Use 'apt-get autoremove' to remove it.
The following extra packages will be installed:
esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4
Suggested packages:
pulseaudio-esound-compat libroar-compat2 nvidia-vdpau-driver vdpau-driver mplayer-doc netselect fping
The following NEW packages will be installed:
esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 mplayer
0 upgraded, 9 newly installed, 0 to remove and 8 not upgraded.
Need to get 3,567 kB of archives.
After this operation, 7,772 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
کد PHP:
root@linuxzone:~# apt-get update
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Get:1 http://security.ubuntu.com raring-security Release.gpg [933 B]
Hit http://in.archive.ubuntu.com raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Get:2 http://security.ubuntu.com raring-security Release [40.8 kB]
Ign http://ppa.launchpad.net raring Release.gpg
Get:3 http://in.archive.ubuntu.com raring-updates Release.gpg [933 B]
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://in.archive.ubuntu.com raring-backports Release.gpg
همانطور که از نام آن مشخص است، apt-cache پکیج هایی شامل زیرپکیج های mpalyer را جستجو می کند.
دستور apt-get install همه ی پکیج هایی که از قبل نصب هستند را به جدیدترین ورژن آپدیت میکند.
توصیه میشود مقاله زیر را هم مطالعه کنید :
25 دستور پایه از apt-get و apt-cache برای مدیریت پکیج ها
دستور yum برای مدیریت پکیج ها در لینوکس به همراه 20 مثال عملی
13. دستور tar
دستور tar یک Tape Archive است و برای ایجاد آرشیوی از تعدادی فایل به فرمت های مختلف و همچنین extract آنها مفید است.
کد PHP:
root@linuxzone:~# tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
root@linuxzone:~# tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
root@linuxzone:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc
توصیه میشود مطالعه کنید :
دستور tar در لینوکس به همراه 18 مثال عملی
14. دستور cal
Cal مخفف calendar است و برای نمایش تقویم ماه جاری و یا ماه دیگری از هر سال جدید یا قدیمی استفاده می شود.
کد PHP:
root@linuxzone:~# cal
May 2013
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
کد PHP:
root@linuxzone:~# cal 02 1835
February 1835
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
کد PHP:
root@linuxzone:~# cal 07 2145
July 2145
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
15. دستور date
دستور date در حقیقت date و time جاری را در خروجی چاپ می کند و بعدا میتوان آنرا تنظیم کرد.
کد PHP:
root@linuxzone:~# date
Fri May 17 14:13:29 IST 2013
root@linuxzone:~# date --set='14 may 2013 13:57'
Mon May 13 13:57:00 IST 2013
همچنین توصیه میشود مطالعه کنید :
تنظیم تاریخ، ساعت و منطقه زمانی سرور با استفاده از دستور Timedatectl
16. دستور cat
دستور cat مخفف Concatenation است که میتوان با آن دو یا چند فایل ساده را ترکیب کرد و محتوای یک فایل را روی statndard output نمایش داد.
کد PHP:
root@linuxzone:~# cat a.txt b.txt c.txt d.txt >> abcd.txt
root@linuxzone:~#
root@linuxzone:~# cat abcd.txt
....
contents of file abcd
...
قبل از اینکه ادامه دهیم در مورد wildcards بحث میکنیم (شما باید از ورودی های wildcard در بیشتر برنامه های تلویزیونی آگاه باشید). wildcard ها قابلیتی در یک شل هستند که باعث میشوند command line قدرتمندتر از هر فایل منیجر GUI باشد. شما میدانید اگر بخواهید گروه بزرگی از فایل ها را در یک file manager گرافیکی انتخاب کنید معمولا باید آنها را با موس تان select کنید. این کار در ظاهر آسان است اما در بعضی موارد میتواند بسیار آزاردهنده باشد.
به طور مثال فرض کنید که یک دایرکتوری با مقدار بسیار زیادی از همه انواع فایل ها و زیر دایرکتوریها دارید. و شما تصمیم میگیرید همه فایل های HTML که کلمه Linux در وسط نام آنها قرار دارد را از دایرکتوری بزرگ به دایرکتوری دیگری انتقال دهید. آسانترین راه برای انجام این کار چیست ؟ اگر دایرکتوری شامل تعداد بیشماری از فایل های HTML با نام های متفاوت باشد کار شما در محیط گرافیکی ساده نیست.
در محیط کامند لینوکس این تسک به سادگی انتقال تنها یک فایل html قابل اجرا است و به دلیل wildcard های شل بسیار آسان است. کاراکترهای خاصی وجود دارند که به شما امکان انتخاب نام های فایلی که با پترن های خاصی match میشوند را میدهند و این به شما کمک میکند که حتی گروه بزرگی از فایل ها را تنها با تایپ کردن کاراکترهای کمی انتخاب کنید. و در اکثر مواقع حتی از انتخاب کردن فایل ها با یک موس نیز اسانتر است.
در اینجا لیستی از رایج ترین wildcard های مورد استفاده را مشاهده میکنید.
کد PHP:
Wildcard Matches
* zero or more characters
? exactly one character
[abcde] exactly one character listed
[a-e] exactly one character in the given range
[!abcde] any character that is not listed
[!a-e] any character that is not in the given range
{debian,linux} exactly one entire word in the options given
توصیه میشود مطالعه کنید :
دستور cat در لینوکس به همراه 13 مثال عملی
17. دستور cp
Cp مخفف copy است و یک فایل را از یک مکان به مکان دیگری کپی می کند.
کد PHP:
root@linuxzone:~# cp /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)
18. دستور mv
دستور mv یک فایل را از مکانی به محل دیگر انتقال می دهد.
کد PHP:
root@linuxzone:~# mv /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)
19. دستور pwd
دستور pwd (یا print working directory) دایرکتوری جاری را با نام کامل مسیر از ترمینال نمایش میدهد.
کد PHP:
root@linuxzone:~# pwd
/home/user/Desktop
20. دستور cd
دستور پر استفاده cd مخفف change directory است، و برای تغییر دایرکتوری جاری به منظور execute, copy, move, write, read و ... از طریق خود ترمینال مورد استفاده قرار میگیرد.
کد PHP:
root@linuxzone:~# cd /home/user/Desktop
server@localhost:~$ pwd
/home/user/Desktop
این دستورات مطمئنا باعث راحتی کار شما با لینوکس خواهند شد. اما این پایان کار نخواهد بود و به زودی ما با دستورات دیگری که برای کاربران در سطح متوسط بسیار مفید هستند برمیگردیم. اگر شما با این دستورات درگیر هستید باید بگوییم که level کاربری شما در linux از کاربر تازه وارد به کاربر سطح متوسط تغییر یافته است. در مقالات بعدی شما را با دستوراتی مانند kill, ps, grep آشنا خواهم کرد. برای مقالات بعدی منتظر بمانید و علاقه خود را به لینوکس افزایش دهید.
توصیه میشود مطالعه کنید :
دستور cd در لینوکس به همراه 15 مثال عملی
موفق باشید.