شما می توانید با ارسال ایمیل خود ، بصورت رایگان مشترک شده و از بروزسانی مطلع شوید.

ایمیل خود را وارد کنید:

اوراکل (ADF(Application Development Framework یک چارچوب(Framework)  کلی می باشد که برروی استانداردهای Java EE و تکنولوژی های Open Source جهت سادگی و پیاده سازی سریع تر برنامه های Java EE ایجاد شده است که کاملا توسعه پذیر و قابل تنظیم بوسیله افزودن یا اصلاح کتابخانه ها می باشد. ADF وظایف را از طریق ایجاد سرویس […]

CardLayout پنجره ای را در نظر بگیرید که شامل چندین پنل می باشد که در یک زمان فقط یکی از این پنل ها قابل مشاهده می باشد،با استفاده از کلاس java.awt.CardLayout شما می توانید کامپوننتی را ایجاد کنید که فقط یکی از این پنل ها را در یک زمان نمایش دهد، مانند شکل زیر: زمانی […]

اطلاعات سخت افزاری CPU اطلاعات CPU شامل جزئیاتی  مثل معماری ، نام سازنده ، مدل ، تعداد هسته ها ، سرعت هرکدام از هسته ها و غیره است. برای دسترسی به چنین جزئیاتی درباره سخت افزار CPU در لینوکس، تعداد بسیار اندکی کامند برای این منظور وجود دارد که ما در اینجا بطور مختصر تعدادی […]

راهنمای دستورات لینوکس بخش اول

ایجاد یک فایل

touch file1.txt

ایجاد و یا ساخت فایل های ۱ تا ۱۰

touch file{1..10}.txt

برای ایجاد یک الگو (pattern) از regular expression استفاده می کنیم:

wild card: () {} . .. ? / \ * ! و غیره

برای دیدن اینکه فایلی با مشخصات خاص وجود دارد یا خیر:

echo file[1-9]?.t

OR

ls file[1-9][0,1-5].txt

هر دو دستور فوق برای پیدا کردن فایل file10.txt کاربرد دارد ولی با ۲ روش مختلف.

برای ایجاد فایلی که در اسم آن علامت ؟ نیز باشد باید به صورت زیر عمل نمود:

touch ‘file?.txt’

OR

touch file\?.txt

برای کپی کردن فایل file?.txt در دایرکتوری tmp

cp file\?.txt /tmp/

برای کپی کردن تمام فایل هایی که پس از کلمه file تنها دارای یک کرکتر و پسوند فایل می باشند:

cp file?.txt /tmp/

 

برای ایجاد یک دایرکتوری:

mkdir dir1

برای ایجاد یک دایرکتوری تو در تو:

mkdir -p dir1/dir2/dir3

برای دیدن تعداد خطوط یک فایل:

ls -l | wc -l

برای دیدن جزئیات فایل شامل تعداد خطوط و کلمه ها و کرکتر های موجود در آن:

ls -l | wc

دیدن جزئیات فایل دارای کلمه ای خاص:

cat /var/log/messages | grep kernel | wc -l

نکته: دستور grep کلمه ای که در جلو آن نوشته شده است را درون فایل مورد نظر جستجو می کند.

 

دستور یا:

uname -r || echo OK

|| به معنای یا کار برد دارد و یعنی اگر دستور اول اجرا شد دیگر به سراغ دستور بعدی نمی رود ولی اگر دستور اول اجرا نشد به سراغ دستور دوم می رود و آن را اجرا می کند (از چپ به راست اجرا می شود)

&& اگر دستور اولی اجرا شود دومی نیز اجرا می شود و الا آخر، ولی اگر دستور اول اجرا نشود دیگر دستور دومی اجرا نمی شود.

uname -z && ls -z && echo OK

History:

پاک کردن دستور در خط ۲۴۵ از history:

history -d 248

پاک کردن کل history:

history -c

کپی کردن:

کپی کردن یک فایل در یک پوشه:

cp file[1,3].txt dir1/

نکته: باید توجه نمایید که اگر دایرکتوری dir1 وجود نداشت، آن دایرکتوری ایجاد خواهد شد.

کپی کردن یک دایرکتوری در دایرکتوری دیگر:

cp -r dir1/ dir2

دیدن مراحل کپی:

cp -v file.txt dir1/

دیدن مراحل کپی و پرسیدن اینکه عمل کپی انجام شود یا خیر:

cp -iv file.txt dir1/

بروزرسانی فایل:

cp -vu file.txt dir1/

در دستور فوق اگر فایل file.txt وجود داشته داشت آن را در صورت تغییر بروزرسانی می کند، در غیر این صورت یعنی عدم وجود file.txt آن را کپی می کند.

وقتی که بخواهیم زمان modify تغییری نکند(در زمانی که بخواهیم زمان modify یک فایل تغییر نکند همانند زمان کپی کردن سورس برنامه و فایل های سیستمی):

cp -p file.txt dir1/

move:

انجام عمل جا به جایی و تغییر نام فایل:

mv file5.txt /tmp/file50.txt

پاک کردن(remove):

پاک کردن فایل های ۱ تا ۹:

rm -v file file[1-9].txt

پاک کردن دایرکتوری:

rm -r dir2

پاک کردن محتویات دایرکتوری:

rm -v dir1/*

از بین بردن اطلاعات:

۲۵ بار اطلاعات فایل را بر روی خود کپی می نماید و با سوئیچ u بعد از آن فایل را پاک می نماید.

Shared file10.txt

نکته: اگر بعد از اجرای دستور shred تنظیمات ترمینال بهم ریخت، تنظیمات را با دستور reset به حالت اول بر می گردانیم.

تهیه پشتیبان:

تهیه فایل پشتیبان از یک فایل:

tar -cvf archive.tar file{1..10}.txt myvar.txt

این دستور دارای چند قسمت می باشد که شامل قسمت های زیر می شود:

دستور اصلی: tar

سوئیچ ها:

  • c: برای ساخت فایل پشتیبان (create)

  • v: برای نشان دادن توضیحات بیشتر توسط ترمینال (verbous)

  • f: برای تعیین نام فایل خروجی (file)

نکته سوئیچ f همیشه باید در آخر نوشته شود، زیرا بعد از آن باید اسم فایل قرار بگیرد.

فایل خروجی: که شامل اسم فایل و پسوند tar می باشد که مخفف tarball می باشد.

فایل های پشتیبان: فایل هایی که می خواهیم از آنها پشتیبان تهیه کنیم.

 

اجرای دستورات پشت سر هم(ایجاد دایرکتوری و باز نمودن فایل پشتیبان در آن مسیر):

mkdir /temp/dir5 ; tar -xf archive.tar -C /temp/dir5

نکته: سوئیچ x به معنای گسترش (extract) فایل می باشد.

 

باز کردن فایل های پشتیبان خاص در مسیر تعیین شده:

tar -xvf archive.tar file6.txt myvar -C /temp/dir5

فشرده سازی فایل:

فشرده سازی با الگوریتم gzip:

gzip seq.tar

نکته: فایل هایی که با الگوریتم gzip فشرده سازی می شوند در خروجی دارای پسوند gz خواهند شد، برای مثال در دستور بالا فایل خروجی دارای اسم seq.tar.gz خواهد شد.

باز کردن فایل فشرده شده با الگوریتم gzip:

gzip -d seq.tar.gz

فشرده سازی با الگوریتم bzip2 :

bzip2 seq.tar

نکته: فایل هایی که با الگوریتم bzip2 فشرده سازی می شوند در خروجی دارای پسوند bz2 خواهند شد، برای مثال در دستور بالا فایل خروجی دارای اسم seq.tar.bz2 خواهد شد.

باز کردن یک فایل فشرده شده با الگوریتم bzip2:

bzip2 -d seq.tar.bz2

باز کردن یک فایل فشرده بدون extract کردن بر روی هارد:

bzcat seq.tar.bz2

تهیه پشتیبان و فشرده سازی با الگوریتم gzip به صورت مستقیم:

tar -czvf seq.tar.gz file.seq

نکته: سوئیچ z برای تعیین نوع الگوریتم فشرده سازی می باشد، که در اینجا از نوع gzip می باشد.

تهیه پشتیبان و فشرده سازی با الگوریتم bz2 به صورت مستقیم:

tar -cjvf seq.tar.bz2 file.seq

برای باز کردن (extract) فایل احتیاجی به سوئیچ های j وz نمی باشد:

tar -cvf seq.tar.bz2

برای بروز رسانی یک بسته tar و یا اضافه کردن یک فایل به آن:

tar -uvf seq.tar file6.txt

فشرده سازی با الگوریتم zip:

zip file.zip filq.seq

باز کردن (extract) فایل فشرده در الگوریتم zip:

unzip file.zip

جستجو (find):

جستجو در دایرکتوری جاری:

find .

جستجو یک فایل بر اساس نام در دایرکتوری جاری:

find -name file1.txt

out put: ./file1.txt

جستجوی یک فایل در مسیر دایرکتوری داده شده بر اساس نام:

find /home/test1/ -name file1.txt

out put: /home/test1/file1.txt

از بین بردن حساس بودن به حروف در جستجو بر اساس نام:

find /home/test1/ -iname file1.txt

نکته: i مخفف کلمه insensitive می باشد.

برای اینکه خروجی های denied را در صفحه خروجی نبینیم آن را به null انتقال می دهیم:

find / -iname File1.txt 2>/dev/null

نکته: عدد ۲ که در قسمت های بعدی توضیح داده خواهد شد نشان دهنده خروجی اشتباه error می باشد.

پیدا کرن فایل هایی که با txt. نامشان تمام شده باشد:

find -iname “*.txt”

پیدا کردن تعداد فایل های با حجم بیشتر از ۱۰KB و کمتر از ۱۰۰KB:

find -size +10k -and -size -100K | wc -l

پیدا کردن تعداد فایل های که اسم آنها با ttf. به پایان رسیده و اندازه بیشتر از ۱۰Kb و کمتر از ۱۰۰Kb می باشد:

find -name “*.ttf” -size +10K -and -size -100k | wc -l

پیدا کردن تعداد فایل های مخفی:

find /home/test1/ -iname “\.[a-z]*” | wc -l

پیدا کردن فایل با حجمی مشخص و نوع فایل:

find -size 3k -type f | wc -l

نکته: حرف f در دستور فوق به منزله فایل می باشد(حروف دیگر مانندd نشانه دایرکتوری و l به معنای لینک می باشد)

تعیین عمق جستجو (یک مرجله بالاتر):

find -maxdepth1

تعیین عمق جستجو از ۲ مرحله یا دایرکتوری پایین تر:

find -mindepth2

فایل های خروجی دستور سمت چپ را توسط دستور سمت راست پاک می کنیم:

find -iname file1.txt | xargs rm

نحوه اجرای دستور کپی بعد از دستور find :

find -iname File1.txt -exec cp {} /tmp/ \;

نکته: exec به علت این است که چون دستور cp مسیر فایل را می گیرد پس نمی توان از xargs استفاده نمود. ;\ نیز برای اتمام دستور می باشد.

برای یک جستجو سریعتراز دستورfind باید از دستورات زیر استفاده کرد.

mlocate

بروز رسانی جدول ایندکس، فایلها و دایرکتوری ها:

updatedb

جستجوی فایل:

locate file

جستجوی یک نام بدون حساسیت به حروف:

locate -i File

مسیر ذخیره سازی دستور mlocate :

ls -lh /var/lib/mlocate/

پیدا کردن خود file1:

locate -b ‘\file1’

دستور Grep :

این دستور برای جستجو کردن یک کلمه در یک فایل متنی کاربرد دارد، بدون آنکه بخواهیم آن فایل را باز نماییم.

مشخص کردن کلمه link در فایل dmesg :

dmesg | grep link

به صورت رنگی نشان دادن کلمهlink در فایل dmesg :

dmesg | grep –color link

جستجوی بخشی از یک کلمه که با eth0 شروع می شود:

dmesg | grep ^eth0

جستجوی بخضی از یک کلمه که با down تمام می شود:

dmesg | grep down$

خطوطی که در آخر به ترتیب حروف d و w تا z و n وجود داشته باشد:

dmesg | grep d[w-z][n]$

به صورت رنگی نشان دادن خطوطی که با down و up تمام شده باشد:

dmesg | grep –color -E ‘(down|up)’$

اگر بخواهیم یک خط مشخص را در یک فایل نشان دهیم، برای مثال خط ۳۰۹ از فایل /var/log/messages:

head -309 /var/log/messages | tail -1

با اجرای دستور بالا خط ۳۰۹ از فایل مذبور نمایش داده می شود.

دستور زیر باعث می شود که دستور در پس زمینه ترمینال اجرا شده و تا زمانی که ترمینال مذبور باز است آن نیز اجرا شود:

gcalctool &

نکته: تا زمانی که ترمینالی که دستور فوق در آن اعمال شده است باز است، آن دستور زیر اجرا می شود و به کار خود ادامه خواهد داد.

نکته: برای اینکه یه پروسس را stopped نماییم از دکمه های ctrl+z استفاده می کنیم.

برای دیدن برنامه های پس زمینه شل از دستور زیر استفاده می کنیم:

jobs

فرستادن برنامه با شماره پروسس مشخص به foreground :

fg 1

فرستادن برنامه با شماره پروسس مشخص به background :

bg 1

خروجی های استادندارد:

خروجی های استاندارد شامل ۳ دسته می شوند که عبارتند از:

stdin :که مخفف standard input می شود و دارای کد ۰ می باشد.

stdout : که مخفف standard output می شود و دارای کد ۱ می باشد.

stderr : که مخففstandard error می شود و دارای کد ۲ می باشد.

نکته: دکمه های ctrl+d باعث قطع کردن input می شود.

فایل زیر هر چیزی را که به داخل آن نوشته شود را پاک می نماید:

/dev/null

دستور زیر خروجی با stdout را در فایل null ریخته و فقط error در خروجی نمایش داده می شود:

ls file15.txt file10.txt > /dev/null

دستور زیر error یا stderr را در فایل null ریخته شده و در خروجی فقط stdout نمایش داده می شود:

ls file15.txt file10.txt 2> /dev/null

دستور زیر هر نوع خروجی شامل stdout و stderr را درون فایل null می ریزد:

ls file15.txt file10.txt &> /dev/null

دستور زیر فایل null را با یک فایل دیگر جایگزین نموده تا خروجی در یک فایل نگهداری شود:

ls file15.txt file10.txt 2> /dev/null > file.err

در دستور بالا errorها در فایل null و سپس در فایلfile.err انتقال می دهد.

برای دیدن شماره man page دستورات :

man 5 shadow

جستجو در man page :

man -k

man -k user

جستجو کلمه user به صورت دقیق در man page ها:

man -w user

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

apropos user | less

اجرای آخرین دستور:

!!

اجرای دستور شماره ۲۴۸ در خط ۲۴۸ام از history :

!۲۴۸

۴ دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

  1. محمد مهدی گفت:

    خیلی ممنون.

  2. eris گفت:

    سلام.چطور میتونم خودم با استفاده از man file کامندای مختلفو بشناسم و کاربردشو بدونم.
    منظورم اینه چه جوری توی man fileمیشه جست وجو کرد؟ راه و روشش چیه

    • سعید علیزاده گفت:

      سلام
      کامند ها درواقع برنامه هایی هستند که در لینوکس قسمت زیادی از انها به زبان هایی مثل پایتون و پرل و .. نوشته شده اند و man page ها شامل اطلاعات مختلفی هستند از قبیل توضیح مختصر در مورد کاربرد کامند ، نویسنده برنامه ، نحوه استفاده از سویئچ های کامند و غیره می باشند و برای اسکرول کردن man page ها می توانید از کلید enter و برای خروج از ان از کلید q استفاده کنید
      می توانید بعد از باز کردن یک man page با استفاده از کلید / یک regular expression برای جست و جوی درون man page استفاده کنید
      مثلا با استفاده از دستور زیر تمام قسمت های فایل که با — شروع می شوند هایلایت خواهند شد ( که اکثرا سویئچ های کامند ها به این صورت می باشند)
      یعنی با دو عدد – شروع می شوند و به مجموعه از حروف ختم می شوند)
      [A-Z]||[a-z]–/

      اما می توانید با استفاده از دستور apropos بین کامندهای موجود جست و جو کنید به عنوان مثال:
      apropos compare

      در اخر توصیه می کنم فقط به man page ها بستنده نکرده و در انترنت توضیجات بیشتر و مبتنی بر مثال را دنبال کنید

  3. علی گفت:

    با درود

    چرا در دستور wc مقدار برگشتی با آپشن m- و c- متفاوت و ۴ رقم فرقشان است

دیدگاه خود را به ما بگویید.