تماس با تیم مشاوره : 02191022290

تاریخچه لینوکس و کدهای دسترسی رایج

تاریخچه Linux چیست؟

عبارت Linux از سال ۱۹۸۴ شناخته شده است. اگر بخواهیم از لحاظ فنی آن را شرح دهیم، میتوان چنین گفت که به تنهایی به عنوان هسته سیستم عامل معرفی می گردد. اما از طرفی برخی نیز می گویند که لینوکس که با نماد پنگوئن شناخته می شود، هم نوعی سیستم عامل مانند ویندوز است. و دسته سوم هم که کلا اعتقاد بر این دارند Linux نام دیگر Ubunto است و این دو یکی هستند.

ما اینجاییم تا به شما بگوییم برنامه لینوکس چیست و چه کاربردی دارد.

سیستم عامل لینوکس چیست؟

در معرفی سیستم عامل لینوکس می توان گفت سیستم عامل لینوکس از قدرتمندترین سیستم عامل‌های موجود در بازار است که بصورت‌ متن باز ارائه می گردد. همچنین در بین مهندسان نرم‌افزار از محبوبیت ویژه‌ای برخوردار است.

برای آشنایی با سیستم عامل لینوکس باید بدانید که سیستم عامل unix ( یونیکس ) در سال ۱۹۷۱ توسط شرکت تلفن و تلگراف آمریکا توسعه و گسترش پیدا کرد. این سیستم عامل گران قیمت بود و همه مردم نمی‌توانستند به راحتی از آن استفاده کنند.

بنابراین سیستم لینوکس که بسیار شبیه به یونیکس و از زیر شاخه‌های آن است، به عنوان جانشین برگزیده شد. در سال ۱۹۹۱ تورالدز لینوکس هسته مرکزی لینوکس را ساخت. سیستم عامل لینوکس توسط کمپانی‌های بسیاری پشتیبانی می‌شود.

کرنل یا هسته لینوکس چیست؟

به طور کلی می‌توان گفت هر سیستم ‌عاملی دارای هسته یا کرنل و رابط بین نرم افزار و سخت افزار سیستم است، در واقع می‌توان گفت وظیفه انجام کارهای اساسی و پایه برعهده هسته یا کرنل است.

در اصل، لینوکس پایین ترین سطح اجزای نرم افزاری یک سیستم به شمار می رود و اگر این بخش آسیب ببیند بقیه نرم افزارها هم قادر به استفاده نخواهند بود. از وظایف هسته آن است که منابع سیستم را به برنامه‌های دیگر موجود در سیستم متصل می‌کند.

منظور از عمومی‌ بودن linux چیست؟

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

با برنامه نویسی لینوکس می توان این سیستم عامل را توسعه داد و با زبان های مختلفی مانند python، php و … می توان برنامه نویسی در لینوکس را انجام داد.

کدهای دستوری لینوکس:

در این پست شما را با دستورات کامل لینوکس Centos آشنا خواهیم نمود.

اطلاعات سیستم

دستورتوضیح
# archنمایش معماری سیستم  
# cal 2007نمایش تقویم سال ۲۰۰۷ میلادی  
# cat /proc/cpuinfoنمایش اطلاعات CPU  
# cat /proc/interruptsنمایش ‘خطوط در خواست وقفه’ ( IRQ ) سخت افزار های مختلف  
# cat /proc/meminfoنمایش اطلاعات حافظه ی سیستم  
# cat /proc/swapsنمایش اطلاعات حافظه ی مجازی
# cat /proc/versionنمایش نام توزیع و نسخه ی هسته ی استفاده شده در سیستم  
# cat /proc/net/devنمایش آمار و اطلاعات کارت های شبکه و وایرلس  
# cat /proc/mountsنمایش فایل سیستم های متصل شده به سیستم  
# clock -wذخیره ی تغییرات تاریخ بروی بایوس  
# dateنمایش تاریخ سیستم  
# date 041217002007.00تنظیم تاریخ سیستم – به ترتیب از چپ به راست : ماه , روز , ساعت , دقیقه , سال , ثانیه  
# dmidecode -qنمایش بسیار کامل اجزای سخت افزاری سیستم  
# hdparm -i /dev/hdaنمایش مشخصات و ویژگی های دیسک سخت  
# hdparm -tT /dev/sdaانجام آزمایش ‘خواندن’ بروی دیسک سخت و تعیین سرعت آن  
# lspci -tvنمایش قطعات و دستگاههای متصل شده به پورت PCI  
# lsusb -tvنمایش قطعات و دستگاههای متصل شده به پورت USB  
# uname -mنمایش معماری سیستم  
# uname -rنمایش نسخه ی هسته ی استفاده شده در سیستم  

خاموش کردن, راه اندازی مجدد و خروج یک سیستم

دستورتوضیح
# init 0این دستور برای خاموش کردن سیستم به کار می رود
# logoutخارج شدن از سیستم و رفتن به صفحه ی ورود مجدد ( Login )  
# rebootاین دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود
# shutdown -h nowاین دستور برای خاموش کردن سیستم به کار می رود  
# shutdown -h 16:30 &خاموش کردن سیستم در ساعت و دقیقه ی معین  
# shutdown -cلغو کردن ( cancel ) خاموش شدن سیستم در زمان معین  
# shutdown -r nowاین دستور برای راه اندازی مجدد ( restart ) سیستم به کار می رود
# telinit 0این دستور برای خاموش کردن سیستم به کار می رود  

فایل ها و دایرکتوری ها

دستورتوضیح
# cd /homeورود به دایرکتوری یا شاخه ی مورد نظر مانند پوشه ی خانگی ( home )  
# cd ..برگشتن به دایرکتوری قبلی  
# cd ../..برگشتن به دو دایرکتوری قبلی  
# cdرفتن به پوشه ی خانگی ( home ) از هر مسیر دلخواه  
# cd ~user1رفتن به پوشه ی خانگی کاربر مورد نظر از هر مسیر دلخواه  
# cd –برگشتن به آخرین دایرکتوری ( مسیر ) که در آن بوده اید  
# cp file1 file2کپی کردن یک فایل با نام file1 به مسیر مورد نظر  
# cp dir/* .کپی کردن تمام فایل های موجود در دایرکتوری مورد نظر به مسیر جاری که در آن هستید  
# cp -a /tmp/dir1 .کپی کردن دایرکتوری مورد نظر به مسیر جاری که در آن هستید  
# cp -a dir1 dir2کپی دایرکتوری مبدا ( dir1 ) به دایرکتوری مقصد ( dir2 ). به جای dir1 و dir2 مسیر کامل دایرکتوری های مبدا و مقصد را قرار دهید  
# cp file file1نمایش نوع و ماهیت یک فایل به همراه مشخصات آن. به جای file1 مسیر فایل مورد نظر را قرار دهید  
# iconv -lنمایش لیست سیستم های کد گذاری  
# iconv -f fromEncoding -t toEncoding inputFile > outputFileتبدیل سیستم کدگذاری ( encoding ) یک فایل ورودی به یک سیستم کدگذاری دیگر  
# find . -maxdepth 1 -name *.jpg -print -exec convertتغییر اندازه ی دسته ای فایل ها در دایرکتوری جاری و ارسال آنها به یک دایرکتوری thumbnails ( به برنامه convert از Imagemagick نیاز می باشد )  
# ln -s file1 lnk1ایجاد لینک نمادین ( میانبر ) به فایل یا دایرکتوری دلخواه. به جای file1 مسیر فایل یا دایرکتوری مورد نظر و به جای lnk1 مسیر دایرکتوری که قرار است فایل یا دایرکتوری میانبر در آن ایجاد شود را قرار دهید  
# ln file1 lnk1ایجاد لینک فیزیکی به یک فایل یا دایرکتوری ( در واقع همان عمل کپی می باشد )  
# lsنمایش فایل ها و دایرکتوری های موجود در دایرکتوری جاری  
# ls -Fنمایش فایل ها و دایرکتوری های موجود در دایرکتوری جاری  
# ls -lنمایش جزئیات فایل ها و دایرکتوری های موجود در دایرکتوری جاری  
# ls -aنمایش فایل ها و دایرکتوری های موجود و همچنین فایل های مخفی در دایرکتوری جاری  
# ls *[0-9]*نمایش فایل ها و دایرکتوری هایی که اسم آنها شامل اعداد است  
# lstreeنمایش تمام فایل ها و دایرکتوری های یک شاخه  
# mkdir dir1ایجاد یک دایرکتوری با نام dir1 در مسیر مورد نظر  
# mkdir dir1 dir2ایجاد دو دایرکتوری همزمان در مسیر مورد نظر  
# mkdir -p /tmp/dir1/dir2ایجاد یک شاخه ی دایرکتوری با شروع از root  
# mv dir1 new_dirتغییر نام یا جا به جا کردن ( move ) یک فایل یا دایرکتوری
# pwdنشان دادن مسیر دایرکتوری جاری  
# rm -f file1پاک کردن یک فایل با نام file1  
# rm -rf dir1پاک کردن یک دایرکتوری با نام dir1 و محتویات آن به صورت بازگشتی
# rm -rf dir1 dir2پاک کردن دو دایرکتوری در مسیر مورد نظر و محتویات آنها به صورت بازگشتی  
# rmdir dir1پاک کردن یک دایرکتوری با نام dir1  
# touch -t 0712250000 file1تغییر تاریخ ویرایش یا تغییر یک فایل یا دایرکتوری. به جای file1 مسیر فایل یا دایرکتوری مورد نظر را قرار دهید  
# treeنمایش تمام فایل ها و دایرکتوری های یک شاخه  

جستجوی فایل

دستورتوضیح
# find / -name file1جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( root )  
# find / -user user1جستجوی فایل و دایرکتوری متعلق به user1  
# find /home/user1 -name \*.binجستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1  
# find /usr/bin -type f -atime +100جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند  
# find /usr/bin -type f -mtime -10جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته  
# find / -name *.rpm -exec chmod 755 ‘{}’ \;جستجوی فایل های با پسوند rpm و تغییر مجوز آنها !  
# find / -xdev -name \*.rpmجستجوی فایل های با پسوند rpm بدون جستجو در پارتیشن های جداشدنی مانند سی دی رام , حافظه فلش و …  
# locate \*.psجستجو فایل های با پسوند ps – ابتدا دستور updatedb اجرا می شود  
# whereis haltنمایش مکان یک فایل باینری , سورس یا مستندات  
# which haltنمایش مسیر کامل یک فایل باینری یا اجرایی  

نصب و استقرار یک فایل سیستم

دستورتوضیح
# fuser -km /mnt/hda2مجبور کردن پارتیشن hda2 برای خارج شدن ( unmount ) از مسیر mnt/hda2  
# mount /dev/hda2 /mnt/hda2استقرار ( mount ) پارتیشن با نام hda2 در مسیر mnt/hda2 برای دیدن محتویات آن پارتیشن  
# mount /dev/fd0 /mnt/floppyاستقرار ( mount ) یک فلاپی دیسک  
# mount /dev/cdrom /mnt/cdromاستقرار ( mount ) یک سی دی رام یا دی وی دی رام  
# mount /dev/hdc /mnt/cdrecorderاستقرار ( mount ) یک سی دی رایتر یا دی وی دی رام  
# mount /dev/hdb /mnt/cdrecorderاستقرار ( mount ) یک سی دی رایتر یا دی وی دی رام  
# mount -o loop file.iso /mnt/cdromاستقرار ( mount ) یک فایل ایمیج ( iso ) در مسیر مورد نظر  
# mount -t vfat /dev/hda5 /mnt/hda5استقرار ( mount ) یک پارتیشن با فرمت FAT32 در مسیر مورد نظر  
# mount /dev/sda1 /mnt/usbdiskاستقرار ( mount ) یک حافظه فلش  
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/shareاستقرار ( mount ) یک دایرکتوری به اشتراک گذاشته شده در شبکه ی سمبا ( samba ) در مسیر mnt/share  
# umount /dev/hda2خارج کردن پارتیشن با نام hda2 از مسیر mnt/hda2  
# umount -n /mnt/hda2اجرای عمل خارج کردن پارتیشن ( unmount ) بدون بازنویسی فایل etc/mtab  

فضای دیسک سخت

دستورتوضیح
# df -hنمایش لیست پارتیشن های مانت ( mount ) شده  
# dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1nنمايانگر فضاي اشغال شده توسط بسته‌هاي نسب شده‌ي deb كه به ترتيب حجم فايل مرتب شده‌اند ( براي debian, ubuntu و غيره)  
# du -sh dir1نمایش حجم استفاده شده توسط یک دایرکتوری با نام dir1  
# du -sk * | sort -rnنمایش حجم فایل ها و دایرکتوری ها که بر اساس حجم مرتب شده اند  
# ls -lSr |moreنمایش مشخصات کامل فایل ها و دایرکتوری ها که بر اساس حجم مرتب شده اند  
# rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1nنمایش فضای استفاده شده توسط بسته های نصب شده ی rpm که بر اساس حجم مرتب شده اند  

کاربرها و گروه ها

دستورتوضیح
# chage -E 2005-12-31 user1تعیین محدودیت زمانی برای پسورد کاربر user1  
# groupadd [group]ایجاد یک گروه جدید  
# groupdel [group]حذف یک گروه  
# groupmod -n moon sunتغییر نام یک گروه از moon به sun  
# grpckکنترل و بررسی گرامر و فرمت صحیح فایل etc/group و موجود بودن گروه ها  
# newgrp – [group]وارد شدن به یک گروه جدید و تغییر گروه پیش فرض فایل های ایجاد شده ی جدید  
# passwdتغییر پسورد کاربر ریشه ( root )  
# passwd user1تغییر پسورد کاربر با نام user1  
# pwckکنترل و بررسی گرامر و فرمت صحیح فایل etc/passwd و موجود بودن کاربران   [<a title=”کسب اطلاعات بیشتر درباره این دستور از مستنداتآیا این پاسخ مفید بود؟