دستورات لینوکس
این دستور برای نمایش لیست کاربران حاضر در سیستم استفاده می شود. این اطلاعات شامل:
- نام کاربری
- مدت زمان فعال بودن در سیستم
- مدت زمان بیکاری
- عملیات فعلی که در حال انجام دادن است.
- ...
نمونه دستور و خروجی:
kabal@kabal-desktop:~$ w
16:35:26 up 18 min, 2 users, load average: 0.72, 0.74, 0.65 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT kabal tty7 :0 16:17 ? 2:32m 0.34s x-session-manag kabal pts/0 :0.0 16:18 1.00s 0.24s 0.00s w
برای نمایش موقعیت پورت های USB استفاده می شود. که در حال حاضر چه دستگاهی به چه پورت USB وصل می باشد.
: برای نمایش موقعیت یک دستگاه خاص با USB ! که مثلآدستگاه مودم با کدام پورت در حال ارتباط است.
: نمایش لیست دستگاه ها به صورت درختی.
kabal@kabal-desktop:/$ lsusb Bus 004 Device 002: ID 0b05:620a ASUSTek Computer, Inc. Remote NDIS Device Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 1241:1166 Belkin MI-2150 Trust Mouse Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
از این دستور برای کامپایل کردن فایل های C استفاده می شود.(مخصوص برنامه نویسان زبان C)
ساده ترین راه به این صورت است که ابتدا دستور gcc را نوشته و سپس فایل موردنظر نوشته و Enter کرد::
kabal@kabal-desktop:/$ gcc [نام فایل مورد نظر]
که در این صورت اگر پیغام خطایی رخ ندهد خروجی شما در فایلی به نام a.out قرار می گیرد که باید به این شکل اجرا کنید::
./a.out
اگر میخاید که نام فایل خروجی a.out نباشد باید از این سویچ استفاده کنید. به این صورت:
kabal@kabal-desktop:/$ gcc [نام فایل مورد نظر] -o AnyName
kabal@kabal-desktop:/$ gcc satsat3.c -o elm
kabal@kabal-desktop:/$ g++ satsat3.cpp -o elm
./elm
دستور ++g هم مانند همین gcc است با این تفاوت که مخصوص فایلهای cpp که همان ++C است می باشد. پس کافیه به جای gcc در فایلهای ++C از کامپالر ++g استفاده کنید.
تا همین حد کفایت میکند. اگر باز هم موردی که برای کاربر عادی کاربردی باشد دیدم به مطلب اضافه میکنم.
lمنبع :سایت ست ست کاربر
هترین دستورات لینوکس برای کاربران تازه کار
چند سالی از عرضه نسخه های پیشرفته سیستم عامل لینوکس میگذرد. اما با وجود سلطنت ویندوز به ویژه در کشور ما ، کاربران زیادی از این سیستم عامل بهره نمیبرند. اما کاربرانی هم هستند که تا حدودی با لینوکس آشنایی دارند و چند باری با آن کار کرده اند و به نوعی تازه کار محسوب میشوند. در این ترفند قصد داریم 10 نوع از بهترین و کاربردی ترین دستورهای موجود در لینوکس را برای این کاربران تازه کار مطرح سازیم. چرا که با استفاده از همین گونه دستورات است که به مرور در این سیستم عامل نیز حرفه ای خواهید شد.کافی است در داخل Shell دستورات زیر را وارد نمایید:
1- lsاین دستور را میتوان کاربردی ترین و اساسی ترین دستور پایه نام برد. ls به منظور نمایش فایلهای موجود در دایرکتوری که در آن هستید به کار میرود.
2- whoاز این دستور برای نمایش افرادی که هم اکنون داخل سیستم Login کرده اند استفاده میشود.
3- cdدستور cd شما را به مسیر اصلی دایرکتوری که هم اکنون در آن هستید هدایت میکند.
4- ifconfigاین دستور امکان مشاهده کلیه قسمتهای مربوط به شبکه همانند آدرس IP شما ، Netword Device های فعال و ... را به شما میدهد.
5- manاین دستور خود یک دستور راهنماست ، به این شکل که در صورتی که از دستوری اطلاع نداشتند با تایپ man و سپس دستور مورد نظر ، کاربرد دستور فوق را در یک فایل متنی مشاهده خواهید کرد.
6- tarدستور tar به منظور خارج کردن فایل ها و دایرکتوری ها از حالت فشرده به کار میرود. به فرض مثال شما ممکن است یک فایل tar. را دانلود کرده باشید. با استفاده از این دستور میتوانید این فایل ها را به فایل ها و فولدرهای معمولی تبدیل کنید.
7- gzipبا استفاده از دستور gzip شما ابزاری مناسب برای فشرده سازی و خارج سازی فایلهای فشرده خواهید داشت.
8- echoاین دستور جالب باعث میشود (ترفندستان) هر دستوری که پس از echo تایپ نمایید در یک خط جدید از Command Prompt نمایش پیدا کند. این دستور همچنین برای گرفتن خروجی از اسکریپتهای Shell بسیار مورد استفاده است.
9- df -hاین دستور مقدار فضای خالی شما در داخل درایو مورد نظر را برای شما نمایش میدهد.
10- apt-get, yum, emerge, etcاین دستورات هر کدام بر روی یکی از توزیع های لینوکس قابل اجراست. apt-get در ubuntu یا emerge برای gentoo. با این دستورات شما امکان فراخوانی هر یک بسته های مدیریتی از اینترنت و دانلود آنها برای کار بهتر در لینوکس را خواهید داشت.
فراخواندن ترمینال
محیط متنی لینوکس که همان محیط سنتی یونیکس(Unix) است، یک رابط خط فرمان(Command Line Interface, CLI) است که در آن با تایپ دستور به کامپیوتر می گویید که چه انجام دهد. برای دسترسی به این محیط متنی که اصطلاحاً Shell نامیده می شود، کافی است یک ترمینال جدید باز کنید. برای باز کردن ترمینال مسیر زیر را ـ که در توزیع های مختلف محل آن اندکی فرق می کند ـ دنبال کنید یا از کلیدهای ترکیبی Ctrl + Alt + T برای فراخواندن آن بهره بگیرید.
در محیط گنوم و یونیتی (مانند اوبونتو)
در محیط Xfce (مانند زوبونتو)
در محیط KDE (مانند کوبونتو)
در محیط LXDE (مانند لوبونتو)
Menu > Accessories > LXTerminal
دستور ls برای دیدن محتویات داخل یک دایرکتوری استفاده میشه که به همراه اپشن هاش استفاده های دیگه ای هم میشه ازش کرد
کد:
root@debian:/# ls bin etc initrd.img media proc selinux tmp vmlinuz boot home lib mnt root srv usr dev httpd-2.2.17 lost+found opt sbin sys var root@debian:/#
کد:
root@debian:/# ls -1 bin boot dev etc home httpd-2.2.17 initrd.img lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var vmlinuz root@debian:/#
کد:
root@debian:/var/www# ls -l total 12 -rw-r--r-- 1 root root 182 Apr 18 2011 index.html drwxr-sr-x 2 root root 4096 Apr 18 2011 test drwxrwxrwx 2 alieblice alieblice 4096 Apr 19 2011 Videos root@debian:/var/www#
توضیح خط پایین
[-rw-r--r-- 1 root root 182 Apr 18 2011 index.html]
قسمت قرمز رنگ می تونه یکی از این 4 تا باشه که هر کار کردم نرفت اول خط
- normal file
d directory
s socket file
l link file
قسمت صورتی رنگ مربوط به پرمیشن(مجوز) فایل میباشد
قسمت نارنجی تعداد لینک ها میباشد که در این جا مقدار 1 هستش
قسمت بنفش مربوط به صاحب فایل است
قسمت ابی مربوط به گروه فایل هست
عدد 182 سایز فایل است
برای دیدن سایز فایل که قابل فهم باشه دستورو این جوری بزنین
M for MB, K for KB, G for GB.
ls -lM
ls -lK
ls -lG
یا از -h استفاده کنین که به اصتلاح میگن Human Readable Format
ls -lh
توجه داشته باشید که اخرین فایلی که روش تغییرات انجام شده در سطر اول قرار میگیرد (( اونی که تاریخش از همه جدید تره ))
کد:
alieblice@~/Desktop$ ls -lt total 24 -rwsrwsrwx 1 alieblice alieblice 4 2011-08-29 22:22 toop drwsrwsrwt 3 alieblice alieblice 4096 2011-08-29 03:03 sisi drwxrwxrwx 6 alieblice alieblice 4096 2011-08-27 21:06 dede drwxr-xr-x 2 alieblice alieblice 4096 2011-07-22 13:57 grep-pic drwx------ 5 alieblice alieblice 4096 2011-07-02 18:59 NEW VOLUME drwx------ 10 alieblice alieblice 4096 2011-05-18 13:41 pic
این 2 تا یک فرق کوچیکی باهم دارن که خودتون پیداش می کنین :D
فایل ها و فولدر هایی که اول اسمشون نقطه وجود دارد مخفی هستن
کد:
$ ls -a [rnatarajan@asp-dev ~]$ ls -a . Debian-Info.txt .. CentOS-Info.txt .bash_history Fedora-Info.txt .bash_logout .lftp .bash_profile libiconv-1.11.tar.tar .bashrc libssh2-0.12-1.2.el4.rf.i386.rpm
با استفاده از R- میتونین تمام فایل ها و فولدرهایه مو جود در یک دایرکتوری به همراه تمام زیر شاخه ها ((سابدایرکتوری )) رو ببینین
در اول شکل کلی دایرکتوری sisi رو با دستور tree میزارم و بعد با ls -R
tree sisi
کد:
alieblice@~/Desktop$ tree sisi sisi |-- demoCA | `-- toop |-- grep-pic.zip `-- pic |-- Screenshot-3.png |-- Screenshot-4.png `-- untitled folder `-- dede 3 directories, 5 files alieblice@~/Desktop$
دستور du برای دیدن فضاهای اشغال شده توسط فایل ها و دیگر اجزای داخل دایرکتوری ممورد نظر است
شکل کلی دستو ر به این شکل هستش
کد:
du [OPTION]... [FILE
چند مثال:
1-اگه دستور du رو به صورت هیچ اپشنی بزنین فقط حجم دایرکتوری های داخل اون فایل و ساب دایرکتوری هاشون رو نشون میده
کد:
root@192.168.1.43:/var/log# du 756 ./account 2140 ./apache2 320 ./installer/cdebconf 684 ./installer 12 ./fsck 36 ./apt
اگه اعداد قابل فهم نیستن میتونین از اپشن -h استفاده کنین
کد:
root@192.168.1.43:/var/log# du -h 760K ./account 2.1M ./apache2 320K ./installer/cdebconf 684K ./installer 12K ./fsck 36K ./apt
2- اگه میخاین که فقط حجم فایلای داخل فولدر مورد نظر رو ببینین بدون هیچ ساب دایرکتوری این دستورو بزنین
کد:
root@192.168.1.43:/var# du -sh * 2.9M backups 103M cache 109M lib 4.0K local 8.0K lock 11M log 4.0K mail 4.0K opt 84K run 12K spool 4.0K tmp 12G www
3-اگه فقط حجم یک دایرکتوری خاصی رو می خاین ببینین از اپشن -s استفاده کنین
کد:
root@192.168.1.43:/# du -s /var/log 10404 /var/log root@95-168-161-82:/#
4-اگه میخاین حجم یک سری فایل با فرمت خاص و به همراه حجمشون ببینین دستورو این جوری بزنین
کد:
root@192.168.1.43:/var/www//files# du -h *.rar 416M backtrack4.r2.www.-------------.com.part3.rar 382M backtracktutorials.www.-------------.com.part1.rar 382M backtracktutorials.
از این دستور برای delete کردن یک فایل استفاده می شود.
برای پاک کردن یک فایل
کد:
rm file name
با دستور بالا فایل مورد نظر پاک می شود.(با فرم دستور بالا نمی توانید پوشه ها را پاک کنید)
کد:
rm -r File/Directory name rm -rf File/Directory name
با یکی ازفرم های بالا، دایرکتوری(پوشه) تعیین شده را با تمامی فایل ها و زیرشاخه های موجود در آن می توانید پاک کیند.
کد:
rmdir Directory name
با این دستور می توانید فقط پوشه های خالی(Empty) راحذف کنید.
+ :
وقتی ترمینال را باز می کنید، به طور پیش فرض در دسکتاپ لوکالیزه است. بنابراین تا زمانی که تغییر مکان نداده اید و در دسکتاپ هستید، با دستوری به فرم rm Practice تنها در صورتی که فایل Practice روی دسکتاپ باشد ریموو خواهد شد.
آیا فایلتان روی دسکتاپ است؟! آیا باید با ذستور cd تغییر مکان بدهید!؟
هم چنین نام فایل را باید کامل به همراه پسوند آن تایپ کرد. مثلاْ اگر نام فایلی A.ogg است، دستور rm A عمل نخواهد کرد. ضمناْ با فرم دستوری rm نمی توان پوشه ها را پاک کرد و اگر با خطای Is a directory روبرو شدید بیانگر همین موضوع خواهد بود.
* دستور rmdir
با این دستور می توانید یک یا چندین پوشه ی خالی(empty) را خذف کنید. برای پوشه هایی که خالی نباشند عمل نخواهد کرد. مثلاْ پاک کردن پوشه هایی با نام های F1, F2,F3 که همگی خالی اند:
کد:
rmdir F1 F2 F3
* دستور rm -r
برای پاک کردن پوشه ها - که دایرکتوری محسوب می شوند - کاربرد دارد. خالی و غیرخالی هم نمی شناسد.
شما هم چنین می توانید به صورت ترکیبی پوشه و فایل ها را حذف کنید:
کد:
rm -r A.ogg B C
که B و C پوشه هستند.
دستور mv برای انتقال یا تغییر اسم یک فلدر استفاده میشه
برای تغییر نامدادن یک پرونده از filename به newfilename
کد:
$ mv filename newfilename
اگه در دستور بالا فلدر newfilename از قبل وجود داشته باشه کار انتقال فایل انجام میشه ولی اگر نباشه کار تغییر اسم انجام میشه
برای جابهجا کردن یک پرونده به یک پوشهٔ خاص
کد:
$ mv afile /home/nickname/newfile
دستور زیر تمام فایلای file1 FILE2 FILE3 به tmpdir انتقال میده
v- هم فایلای انتقال یافته رو نشون میده [CODE]'
کد:
poy:/home# mv -v file1 FILE2 FILE3 tmpdir `file1' -> `tmpdir/file1' `FILE2' -> `tmpdir/FILE2' `FILE3' -> `tmpdir/FILE3'
توضیح چندتا از سوئیچها
-u(برگرفته از update) : اگر تاریخ آخرین تغییر پرونده یا پوشهای که میخواهیم انتقال دهیم از پوشهای که قبلا وجود داشت بهروزتر باشد، آن را بر روی پوشه یا پروندهٔ قدیمی انتقال میدهد.
-f (برگرفته از force): در صورتی که پرونده یا پوشهٔ موجود باشد بدون اخطار دادن، انتقال را انجام میدهد.