• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

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

  • شروع کننده موضوع ibtkm
  • تاریخ شروع
  • شروع کننده موضوع
  • #1

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
سلام دوستان.
فکر کردم دیدم واقعا یک همچین تاپیکی لازم بود و چرا زودتر به فکر زدنش نیفتادم. هدف تاپیک اینه که دستورات کاربردی لینوکس رو معرفی کنیم. من اولویت شخصی خودم دستورات ترکیبی و جدید لینوکس هست. می دونید که یکی از ويژگی‌های بسیار خوب خط فرمان و دستورات لینوکس اینه که می شه با هم ترکیبشون کرد و باهاشون یک دستور جدید ساخت. مثلا خروجی یک دستور رو می دیم به عنوان ورودی به دستور بعدی.

پس به طور خلاصه اینجا دستورات جالب و کاربردی لینوکس رو معرفی می کنیم. اولیش رو خودم می ذارم.

فرض کنید صاحب یک سرور لینوکسی هستید و می خواین ببینید که کدوم یوزر بوده که بیشتر از همه لاگین بوده!

کد:
ac -p | sort -nk 2 | awk '/total/{print x};{x=$1}'

برای استفاده از دستور ac ابتدا باید بسته‌ی acct رو نصب کنید که حجم بسیار کمی داره و وقتی نمی گیره.

فرض کنید من به عنوان یک خواننده می خوام با عملکرد awk آشنا شم. برای همین از یکی از بهترین دوستای لینوکسیم یعنی manpage استفاده می کنم :
کد:
man awk
 
  • شروع کننده موضوع
  • #2

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : دستورات کاربردی یا جالب لینوکس

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

کد:
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
 
  • شروع کننده موضوع
  • #3

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : دستورات کاربردی یا جالب لینوکس

امکان نداره یک کاربر براش پیش نیاد که در یکسری فایل، بخواد دنبال یک عبارتی بگرده. به عبارتی ما یک سری فایل داریم و دنبال عبارت foo هستیم. حالا باید چیکار کنیم؟ لینوکس یه آچار فرانسه داره، خیلیییییی خفنه. یعنی جدی می گما. خیلی کاربردیه. اسمش هست "grep" . بهتره خودتون یکبار manpageشو بخونید!
حالا ما از این دوستمون استفاده می کنیم تا مشکلمون رو حل کنیم:

صورت مساله: در داخل فایل‌های فولدر /home/pooya و ساب دایرکتوری‌های آن، دنبال فایل‌هایی هستم که دارای عبارت foo هستند. برای همین از این استفاده می کنم:
کد:
grep -r "foo" /home/pooya
 
  • شروع کننده موضوع
  • #4

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : دستورات کاربردی یا جالب لینوکس

می خوایم داخل یک دایرکتوری و زیرشاخه‌های اون، فایل‌هایی که حجمشون از یک حدی بیشتر هست رو پیدا کنیم. چیکار باید کنیم؟
چیزهایی که لازم داریم، یک دستور برای جست‌وجو کردن فایل‌هاست و یک دستور هم برای اینکه فقط اسم‌فایل و حجم اون رو از خروجی بکشیم بیرون!
برای جست‌وجو کردنه از find استفاده می کنیم! به شدت کاربردیه! هم دنیا رو تضمین می کنه و هم آخرت رو.
برای بیرون کشیدن اسم فایل و حجم از خروجی باز از یک ابزار خیلی خیلی قدرمتند لینوکس به نام awk استفاده می کنیم! awk خیلی کاربردیه. خیلی خیلی و کارش پردازش کردن متون هست!

برای فهمیدن دستور زیر باید manpage این دو دستور رو بخونید. لازم نیست همشون رو بخونید. فقط قسمت مربوط به آرگومان استفاده شده رو بخونید تا متوجه بشید دقیقا داره چه اتفاقی میفته.
حالا برای اینکار بدین صورت عمل می کنیم :
کد:
find /home/pooya -type f -size +10000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'

دستور بالا، در home من، دنبال فایل‌هایی با حجم بیشتر از ۱۰ مگ می گرده.
 
  • شروع کننده موضوع
  • #5

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : دستورات کاربردی یا جالب لینوکس

فرض کنید بخوایم چند خط متوالی از یک فایل رو حذف کنیم. می‌تونیم از perl قهرمان کمک بگیریم:
کد:
perl -i -ne 'print if $. == 3..5' a.txt
این دستور خطوط ۳ تا ۵ فایل a.txt رو حذف می‌کنه.
امیدوارم کاربردی باشه براتون.
 

ssrss

کاربر نیمه‌فعال
ارسال‌ها
8
امتیاز
7
نام مرکز سمپاد
شهید قدوسی
شهر
قم
پاسخ : دستورات کاربردی یا جالب لینوکس

با تشکر از شما
من اینا رو کاربردی ترین دستورات میدونم:
این یکی مسیر فایلی که توش هستیم رو نشون میده
کد:
pwd
این یکی هر چی توی پوشه ی جاری هست رو نشون میده
کد:
ls
این دایرکتوریتون(مسیرتون) رو تغییر میده مثلا میریم بهDesktop که توی root هست
دقت داشته باشین که لینوکس به حروف کوچک و بزرگ حساسه(حرف اول Desktop)
کد:
cd /root/Desktop
این مثل تسک منیجر ویندوز براتون عمل میکنه
کد:
top
این رو هم بگم که برای آوردن ترمینال ctrl+alt+t رو بزنین :D
برادر پویا خواهشا ادامه بدین تا ما هم یه چیزی یاد بگیریم
 

JB

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,447
امتیاز
4,765
نام مرکز سمپاد
هاشمی‌نژاد ۲ مشهد
دانشگاه
شهید بهشتی تهران
رشته دانشگاه
ریاضی و علوم کامپیوتر
پاسخ : دستورات کاربردی یا جالب لینوکس

این دستور اطلاعات دقیق سخت افزار هاتون رو بر میگردونه (البته نیاز به دسترسی روت هست):
کد:
lshw
 

Ehem_Ehem

Saleh
ارسال‌ها
1,864
امتیاز
10,504
نام مرکز سمپاد
شهیدبهشتی
شهر
زنجان
سال فارغ التحصیلی
1393
دانشگاه
دانشکده فنّی دانشگاه تهران
رشته دانشگاه
مهندسی معدن
تلگرام
اینستاگرام
پاسخ : دستورات کاربردی یا جالب لینوکس

فرض کنید یک تعداد زیادی فایل ( نه directory ) رو میخواید پاک کنید. چه میکنید؟
اول میام اسم همشونو میریزیم تو یه فایل به اسم list
کد:
ls > list
بعد باید لیست رو خیلی ساده بدیم به rm
کد:
rm -f $(<list)
 

leconart

کاربر جدید
ارسال‌ها
3
امتیاز
2
نام مرکز سمپاد
هاشمی نژاد
شهر
مشهد
پاسخ : دستورات کاربردی یا جالب لینوکس

به نقل از SalehM :
فرض کنید یک تعداد زیادی فایل ( نه directory ) رو میخواید پاک کنید. چه میکنید؟
اول میام اسم همشونو میریزیم تو یه فایل به اسم list
کد:
ls > list
بعد باید لیست رو خیلی ساده بدیم به rm
کد:
rm -f $(<list)
میتونید از backtick، wildcard ها استفاده کنید! استفاده از فایل کارو زمان بر و سخت میکنه.
کد:
rm /home/mesal/Pictures/*.jpg
کد:
rm `ls`
که البته استفاده از ls یه جوریه اینجا! بهتره وایلدکارد استفاده شه
 
بالا