دستور gcc و ++g



از این دستور برای کامپایل کردن فایل های C استفاده می شود.(مخصوص برنامه نویسان زبان C)

ساده ترین راه به این صورت است که ابتدا دستور gcc را نوشته و سپس فایل موردنظر نوشته و Enter کرد::

کد:
kabal@kabal-desktop:/$ gcc [نام فایل مورد نظر]

که در این صورت اگر پیغام خطایی رخ ندهد خروجی شما در فایلی به نام a.out قرار می گیرد که باید به این شکل اجرا کنید::

کد:
./a.out
این دستور که بهتر بگیم کامپالر قدرتمند ترین کامپالر زبان C است!!! که سویچ های فراوان و تنظیمات گسترده ای دارد.

اگر میخاید که نام فایل خروجی a.out نباشد باید از این سویچ استفاده کنید. به این صورت:

کد:
kabal@kabal-desktop:/$ gcc [نام فایل مورد نظر] -o AnyName
برای مثال قصد کامپال فایل satsat3.c را داری که خروجی آن فایل به نام elm باشد::

کد:
kabal@kabal-desktop:/$ gcc satsat3.c -o elm
حالا اگر فایل مربوط به ++C باشد به این صورت خواهیم نوشت::


کد:
kabal@kabal-desktop:/$ g++ satsat3.cpp -o elm
حال با دستور زیر میتونید خروجی برنامه رو ببینیم::

کد:
./elm

* دستور ++g هم مانند همین gcc است با این تفاوت که مخصوص فایلهای cpp که همان ++C است می باشد. پس کافیه به جای gcc در فایلهای ++C از کامپالر ++g استفاده کنید.


* تا همین حد کفایت میکند. اگر باز هم موردی که برای کاربر عادی کاربردی باشد دیدم به مطلب اضافه میکنم.

دستور lsusb



برای نمایش موقعیت پورت های USB استفاده می شود. که در حال حاضر چه دستگاهی به چه پورت USB وصل می باشد.

سویچ ها:
s- : برای نمایش یک دستگاه با BUS خاص یا کد دستگاه!
D- : برای نمایش موقعیت یک دستگاه خاص با USB ! که مثلآ...دستگاه مودم با کدام پورت در حال ارتباط است.
t- : نمایش لیست دستگاه ها به صورت درختی.
مثال:


کد:
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

دستور w

دستور w
این دستور برای نمایش لیست کاربران حاضر در سیستم استفاده می شود. این اطلاعات شامل:
نام کاربری
مدت زمان فعال بودن در سیستم
مدت زمان بیکاری
عملیات فعلی که در حال انجام دادن است.
...
نمونه دستور و خروجی:

کد:
kabal@kabal-desktop:~$ w
خروجی:

کد:
1626 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

دستور w3m



این دستور یک Web Browser مانند Firefox و یا Internet Explorer است که در خط فرمان برای شما کار میکند.
یعنی اگر به اینترنت وصل باشید و در ترمینال این دستور را وارد کنید , بدون واسط گرافیکی میتونید صفحه مورد نظر را ببینید:
روش استفاده:

کد:
w3m نام سایت مورد نظر
برای مثال سایتpatoghu.com را باز میکنیم:

کد:
vahid@vahid-pc:~$ w3m www.patoghu.com
پس از این دستور وارد محیط غیر گرافیکی w3m می شویم که با کلید های جهتی و Tab می توانیم بین لینکها مانور دهیم.

برای خروج از برنامه کلید q را فشار دهید. شاید بگید بخواهید حرف q را برای سرچ در گوگل استفاده کنید.
خوب ابتدا به نواری که داده از ورودی میگیرد بروید سپس اینتر کرده و متن خود را وارد کنید.

دستور uptime



این دستور برای نمایش مدت زمانی است که سیستم شما روشن بوده است.

به این صورت عمل کنید:

کد:
vahid@home-pc:~$ uptime
نمونه خروجی این دستور که نشان میدهد سیستم من ۱ روز و ۵ ساعت است که روشن است. یعنی حدود 28 ساعت.

کد:
0002 up 1 day, 5:06, 3 users, load average: 0.30, 0.62, 0.43

در مقابل دستور میبینید که موردی به نام Average هم وجود داره که این سه عدد به ترتیب ۱ و ۵ و ۱۵ دقیقه اخیر متوسط Load سیستم شما چند ثانیه بوده است.
همچنین اطلاعات این دستور در فایل زیر ذخیره می شود:


کد:
/var/run/utmp

دستور top



این دستور برای نمایش برنامه های در حال اجرا و میزان استفاده از منابع استفاده میشود.
شبیه System Monitor هست با این تفاوت که در خط فرمان اجرا می شود. وقتی دستور را وارد کنید با کلبد های زیر می تواندید کنترل لازم رو داشته باشید:

برای اجرای این دستور به این صورت عمل کنید:


کد:
vahid@home-pc:~$ top
q: برای خارج شدن از برنامه

h: برای دیدن لیست راهنمایی کلید ها

z: تغییر رنگ در محیط

B: دادن حالت Bold به نوشته ها

t: نمایش اطلاعات CPU و Task ها

m: نمایش خصوصیات حافظه

F: مرتب سازی بر اساس مورد انتخابی شما

>< : از این دو برای تغییر مرتب سازی هاست. (سویچ بین موارد مرتب سازی)

u: برای نمایش Task های یک User خاص

k: برای کشتن یک task از این کلید استفاده کنید. به این صورت که پس از فشار دادن کلیک k باید PID موردنظر را وارد کنید. PID عددی است که این ستون رو در جدول میتونید پیدا کنید.

d: هر چند ثانیه یک بار وظایف (TASK) ها را چک کند؟ مقدار را وارد کنید. مثلآ اگر ۲ وارد کنیم. هر ۲ ثانیه یک بار جدول Refresh می شود.

W: برای ذخیره تغییرات از این کلید استفاده کنید.

دقت کنید حروف کوچک و بزرگ با هم فرق میکنند

دستور xrandr


این دستور برای نمایش و تغییر Screen Resolution بکار میرود.
برای نمایش رسولیشن های قابل تنظیم در کامپیوتر شما کافی است دستور را به تنهایی وارد کنید. به صوورت زیر:

کد:
xrandr
برای انتخاب [تغییر] رسولیشن از سوییچ s- کمک میگیریم:

کد:
xrandr -s مقدار
به عنوان مثال برای تنظیم صفحه با Resolution 1024*768 به صورت زیر عمل میکنیم:

کد:
vahid@vahid-desktop:$ xrandr -s 1024x768

دستور chmod


تعیین سطوح دسترسی کاربران در لینوکس

در جدیدترین و امن ترین فایل سیستم مایکروسافت یعنی NTFS 5.0 امکان تعیین سطوح مختلف دسترسی به دایرکتوری ها و فایل...ها برای کاربران مختلف به صورت زیر وجود دارد:

کد:
1-No Access

2-Read

3-Read & Execute

4-Write

5-Full Control
در حالت اول کاربر مورد نظر هیچگونه دسترسی به دایرکتوری مورد نظر ندارد. حالت دوم تنها می تواند فایل...ها را ببیند ولی امکان اجرای فایل...ها (ی اجرایی) را ندارد ( بیچاره !!!). در گزینه سوم این اختیار به کاربر داده شده است تا فایل...ها را اجرا کند. در حالت چهارم یا Write کاربر قادر به انجام هر کاری جز تغییر سطوح دسترسی به دایرکتوری مورد نظر را دارد. به این حالت Modify هم گفته می...شود و بالاخره در آخرین حالت کاربر می...تواند هر آنچه را اراده می...کند اعمال کند!!! این سطح دسترسی معمولا مخصوص Administrator بوده و به نااهلان داده نمی...شود.
همانگونه که اشاره شد در این فایل سیستم امکان ********** کردن دسترسی کاربران به فایل...ها وجود ندارد و تمام فایل...های موجود در یک دایرکتوری به لحاظ سطح دسترسی تابع دایرکتوری خود هستند. اما در لینوکس استراتژی کاملا متفاوت است. دسترسی به هر فایل یا دایرکتوری توسط ۹بیت اطلاعات اضافه...ای که به فایل یا دایرکتوری چسبانده می...شود برای ۳ کلاس ۳ بیتی کاربر, گروه کاربر و سایر کاربران , تعیین می...شود که به ترتیب با کدهای u(کاربر) , g(گروه) و o(سایرین) مشخص می...شوند. 0 یا 1 بودن بیت اول تعیین کننده دسترسی خواندن (Read)برای صاحب فایل ( کاربر), بیت دوم امکان نوشتن (Write) و ایجاد تغییر در فایل یا دایرکتوری مورد نظر و بالاخره بیت سوم امکان اجرای(eXecute) فایل...های اجرایی را مشخص می...کند. سه بیت دوم این دسترسی...ها را برای کلاس گروه کاربر و سه بیت آخر دسترسی...ها را برای سایر کاربران مشخص می...کند. در صورتی که یک مجوز به کاربری داده نشده باشد به جای مجوز مورد نظر(یکی از حروف R,W یاX ) هنگام نمایش مجوزها، علامت دش (-) دیده می...شود. آنچه در زیر دیده می...شود مجوز دسترسی کامل به یک فایل است. یعنی همه کاربران امکان خواندن، نوشتن و اجرای فایل را دارند :

کد:
rwxrwxrwx

یا در حالتی که صاحب فایل دسترسی کامل، گروهش امکان خواندن و اجرا و سایرین هیچگونه دسترسی به فایل مورد نظر نداشته باشند این مجوزها به صورت زیر خواهد بود:



کد:
rwxr-x---

نمونه...ای از این مجوزها را می...توانید با اجرای فرمان ls -l مشاهده نمایید. توجه کنید که علاوه بر ۹بیت ذکر شده، یک کاراکتر اضافه نیز در ابتدای این رشته وجود دارد که تعیین کننده نوع فایل است که برای فایل...های عادی بصورت دش (-) و برای دایرکتوری ها بصورت d دیده می...شود:

کد:
drwxr-xr-x

کد:
-rwxr-xr-x
نکته:

مجوز پیش فرض برای فایل...های جدید بصورت زیر است:

کد:
rw-r- - r--

و در صورتی که فایلی توسط یکی از کامپایلرهای موجود اجرایی شده باشد x (یا امکان اجرا کردن) به دسترسی...ها اضافه می...گردد. مجوز پیش فرض دسترسی به یک دایرکتوری جدید نیز مشابه همین حالت است:

کد:
rwxr-xr-x

در صورتی که بخواهید مجوزهای پیش فرض را برای نشست جاری خود تغییر دهید می...توانید از دستور umask استفاده کنید.

برای تغییر مجوزهای یک فایل یا دایرکتوری کاربری که این اختیار را دارد (کاربر ریشه یا صاحب فایل یا دایرکتوری) می...تواند با دستور chmod این کار رابوسیله یکی از دو روش زیر انجام دهد.

-در روش نخست پس از دستور chmod می...توان با علامت های "+" یا "–" یک یا چند مجوز را به کلاس ها افزود و یا از آنها گرفت. در این حالت کلاس ها با کدهایی که در بالا ذکر شد تعیین می شوند.مثلا:

کد:
#chmod go-rx anything

این دستور تعیین می کند که مجوز خواندن و اجرای فایلی به نام anything از کلاس گروه کاربر(u) و سایرین(o) گرفته شود و برعکس آن به صورت زیر است:

کد:
#chmod go+rx anything

-در روش دوم مجموع سه سطح دسترسی(خواندن,نوشتن و اجرا) به صورت یک عدد بین صفر تا هفت برای 3 کلاس کاربر, گروهش و سایرین به صورت زیر تعیین می شود و پس از دستور chmod می آید. برای خواندن عدد چهار, برای نوشتن عدد دو و برای اجرا عدد یک منظور می شود. یعنی هفت(1+2+4) نشان دهنده دسترسی کامل است در نتیجه مثلا 777 نشان دهنده اعطای دسترسی کامل به همه کاربران است.مثلا:

کد:
#chmod 750 anything

این دستور نیز تعیین می کند که مجوزها بصورت زیر تغییر کنند:



کد:
rwxr-x---

به طور پیش فرض، هر کاربری که فایلی را ایجاد نماید، مالک آن فایل شناخته می...شود. در صورتی که بخواهید مالکیت یک فایل را تغییر دهید، باید از دستور chown استفاده نمایید. هنگامی که مالکیت یک فایل یا دایرکتوری را به کاربری اعطا کنید، آن کاربر دارای تمام مجوزها برای انجام تغییرات و تغییر مجوزها روی آن فایل یا دایرکتوری است. به مثال...های زیر توجه کنید:

کد:
#chown patoghu anything
#chown -R satsat /home/patoghu

در مثال نخست، مالکیت فایلی به نام anything به کاربر patoghu اعطا می...شود. در مثال دوم، مالکیت دایرکتوری home/patoghu و تمام فایل...ها و دایرکتوری...های زیر آن به کارب patoghu اعطا می...شود. توجه داشته باشید که در چنین مواردی از گزینه R در دستور استفاده می...شود.
technotux
خیلی طولانی بود مجبور شدم از گوگل کمک بگیرم

دستور ln


این دستور برای ساختن میانبر (shortcut) استفاده می شود و مخفف Link می باشد.
روش کار به این صورت است:


کد:
$ln [نام جدید برای فایل میانبر] [فایل اصلی]
این دستور تنظیمات خاصی ندارد و به همین سادگی می باشد. همچنین در دو قسمت می توان مسیر های متفاوت را وارد کرد.
مثال:
ساختن لینک از دستور cp در پوشه Desktop به نام COPY


کد:
vahid@vahid-pc:~$ ln /bin/cp /home/vahid/Desktop/COPY
اگر برای لینک نام انتخاب نکنیم همان نام اصلی را قرار می دهد.

دستور eject



این دستور برای باز کردن writerـCD-Rom و DVD-Rom_writer و ... استفاده می شود.
اگر فقط یک CD-Rom داشته باشید با دستور eject این cd-rom برای شما باز می شود, ولی اگر از چندین Cd-Rom استفاده کنید باید جلوی eject مسیر درایو موردنظر تون را وارد کنید.
روش استفاده:


کد:
eject مسیر و نام درایو
برای مثال اگر یک CD-ROM و یک DVR-Writer داشته باشید و Cd-Rom شما را در با نام dev/cdrom0/ و DVR-Write را با نام dev/dvd0/ بشناسد برای eject کردن به صورت زیر عمل میکنیم:


کد:
eject /dev/cdrom0
و یا برای DVD-Writer:


کد:
eject /dev/dvd0
عمل می کنیم. همچنین اگر درایو خود را در مسیر موردنظر mount کرده باشید از آن مسیر هم میتوانید استفاده کنید.