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

#1 2015-10-27 18:55:54

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

ترفندهای کوچک ولی کاربردی در ترمینال

لطفا اگر از ترفندهای کوچکی استفاده می کنید که کاربردی هستن، با بقیه هم به اشتراک بگذارید.

یک برنامه (دقیقتر job) رو ممکنه بخوایم از طریق ترمینال اجرا کنیم. دراینصورت درحال پیشفرض، با بستن ترمینال، پنجره اون برنامه هم بسته میشه. یکی از راه ها استفاده از disown هست تا با بستن ترمینال، پنجره اون برنامه بسته نشه( اون job در بگراند ادامه پیدا کنه). مثلا در ترمینال بزنید:

 $ firefox & disown

دراینصورت، با بستن ترمینال، برنامه firefox بسته نمیشه.

آفلاین

#2 2015-11-02 17:21:48

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

سوال: من میخوام ببینم درحال حاضر چه برنامه هایی مثلا دایرکتوری cache. در پوشه خانگی من رو باز کردن.

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

 $ lsof | grep ~/.cache/ 

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

× لیست کردن فایل های باز شده توسط کاربرesa:

 $ lsof -u esa 

* کشتن تمام پروسه های یوزر esa:

 $ sudo kill -9 `lsof -t -u esa`

اگه

$ man lsof

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

$ lsof -h

--------------------------------------------------------------

این برنامه (کامند) یه رابط GUI هم داره (glsof) که البته به پای cliش نمیرسه.

آفلاین

#3 2015-11-17 22:51:13

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

فرض کنید مثلا opera روی سیستم شما نصب نیست و شما فرمان oprera رو در ترمینال صادر می کنید. دراینصورت، پیغامی مشابه

 command not found

دریافت خواهید کرد. خب. هیچ مشکلی وجود نداره. براحتی میشه در خط بعدی تکلیف opera رو مشخص کرد. با استفاده از فلگ های pacman یا aur-helperها مخصوصا yaourt بسته opera و تمام بسته های مرتبط با اون و همچنین ریپوهایی رو که در اونها قرار گرفته بدست آورد. اما میشه بجای

 command not found

در همون مرحله قبل، آدرس opera رو دید. بسته command-not-found رو از AUR بردارید و نصب کنید. سپس خط

 [ -r /etc/profile.d/cnf.sh ] && . /etc/profile.d/cnf.sh

رو به bashrc./~ اضافه کنید.

https://wiki.archlinux.org/index.php/Ba … _.28AUR.29
https://aur.archlinux.org/packages/command-not-found/

آفلاین

#4 2015-11-26 23:51:05

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

وجود فاصله بین اسم فایلها همیشه برای من داستان بوده.  big_smile این کد رو توی یه اسکریپت اجرایی ذخیره کنید و با اجرا کردنش در یک دایرکتوری، هرچی فای و زیردایرکتوری در دایرکتوری جاری هستن که توی اسمشون فاصله وجود داره کاراکتر underline رو جایگزین اون فاصله می کنه ( باز هم sed در یک خطّ) .

for file in *; do mv "$file" `echo $file | sed -e 's/  */_/g' -e 's/_-_/-/g'`; done

آفلاین

#5 2015-12-02 01:41:37

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

دستور du مخفف  Disk Usage با فلگ های متنوعش در ارائه مقدار حجمی که فایل ها و دایرکتوری ها اشغال کردن، بسیار مورد استفاده هست. مثلا

 $ du -h --max-depth=1

رو در ترمینال بزنید. اما یک بسته با فعالیت های مشابه هم وجود داره که یک رابط متنی هم داره و میشه اون رو تعمیم منسجمی از du بحساب آورد. بسته ncdu مخفف NCurses Disk Usage رو از مخازن کامیونیتی نصب کنید.
5h1a_screenshot.png

آفلاین

#6 2016-01-14 21:23:58

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

dmenu رو احتمالا توی اوپن باکس استفاده کردین. بسته pmenu برای من خیلی جذاب تر هست، بخاطر اینکه قابلیت prediction رو pmenu-run توی ترمینال در اختیار قرار میده و کنترل خود برنامه توسط من - به شخصه- ساده تر هست. در اینجا تاپیک مربوط به معرفی برنامه و ارتباطش با dmenu رو توسط نویسنده اش پیدا خواهید کرد:
https://bbs.archlinux.org/viewtopic.php?id=201674
برای نصب، snapshotش رو از
https://aur.archlinux.org/packages/pmenu/
بردارید و با دستور

 $ torify makepkg -sci 

نصبش کنید.

آفلاین

#7 2016-01-15 14:10:38

Programmer
عضو
از : root/
ثبت شده: 2015-10-01
ارسال ها: 397

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

دیدم همش آرکوش عزیز دارند پست های فوق العاده و کاربردی میذارن . گفتم منم بسته به علم اندکم چیزهایی رو که بلدم به اشتراک بذارم ! امیدوارم مفید واقع بشن :

برای اکسترکت کردن یک فایل با پسوند 7z فقط کافیه به مسیر اون فایل برید و دستور زیر رو بزنید :

7za x compressedfile.7z 

این هم لیست سایر پارامتر های این دستور :

FUNCTION LETTERS
       a      Add
       d      Delete
       e      Extract
       l      List
       t      Test
       u      Update
       x      eXtract with full paths

Impossible Impossible
Imagination is more important than science
به بلاگ من سر بزنید smile
به اینستاگرام من سر بزنید smile

آفلاین

#8 2016-01-24 16:42:33

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

برای اینکه ترمینال شما بعد از مدت زمان x ثانیه در صورت هیچ فعالیتی بسته بشه،

TMOUT=x  
 export TMOUT 

رو به انتهای فایل etc/profile/ و

source /etc/profile

رو به انتهای bashrc. اضافه کنید.

آفلاین

#9 2016-02-09 13:42:55

ehsan_faal
عضو
از : تهران
ثبت شده: 2015-10-02
ارسال ها: 270

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

اسکریپتی واسه تفییر نام محتویات یک پوشه(همراه با حفظ پسوند):

#!/bin/bash
fileName="${1:-FILE}"
topLimit=$(expr length $(ls -1 | wc -l))
find . -maxdepth 1 -type f -name "* *" | xargs -I ITEM bash -c 'mv "$0" $(echo "$0" | tr -d '[:blank:]')' ITEM
exts=($(for i in *;do echo ${i##*\.};done | sort | uniq))
rs=""
for i in ${exts[@]};do
		rs=${rs}"("${i}")|"
done
rs=$(echo $rs | sed -e "s/(sh)//" -e "s/)(/)|(/g")
counter=0
find . -maxdepth 1 -type f -regextype posix-awk -regex ".*[$rs]$" | while read -r FILE; do
	printf -v NUM "%0*d"  $topLimit $((++counter))
	mv "$FILE" "${fileName}${NUM}.${FILE##*\.}"
done

داستان از این قراره که من عکس جور وا جور توی یکی از پوشه هام زیاد داشتم و دوست داشتم همشون(کل عکسام، نه اونایی که فقط پسوند jpg دارند)یه نظمی داشته باشن.
این اسکریپت اول میاد و شر whitespace ها رو از سرمون کم میکنه.
بعد همه ی پسوندهایی که توی این پوشه هست رو پیدا میکنه میریزه توی یه آرایه و از اونها یه فرمت رجکس میسازه تا بتونیم بدیمشون به find.
بعد هم find اونا رو پیدا میکنه و میده به یه حلقه while که اونجا همشون mv میشن به اسمهای جدیدشون. lol

آخرین ویرایش توسط ehsan_faal (2016-02-09 15:16:48)


Mahatma Gandhi - The weak can never forgive. Forgiveness is the attribute of the strong

آفلاین

#10 2016-02-19 23:59:24

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

find و grep بعنوان ابزارهایی برای جست و جو کاملا شناخته شده هستن. fzf رو هم امتحان کنید. یک ابزار جست و جوی فازی به تمام معنا با امکاناتی از قبیل کلیک موس در ترمینال و ... .

$ man fzf 

آفلاین

#11 2016-02-20 00:56:11

ehsan_faal
عضو
از : تهران
ثبت شده: 2015-10-02
ارسال ها: 270

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

Arcush نوشته است که:

find و grep بعنوان ابزارهایی برای جست و جو کاملا شناخته شده هستن. fzf رو هم امتحان کنید. یک ابزار جست و جوی فازی به تمام معنا با امکاناتی از قبیل کلیک موس در ترمینال و ... .

$ man fzf 

عجب چیز معرکه ایه.
تشکر بابت معرفیش


Mahatma Gandhi - The weak can never forgive. Forgiveness is the attribute of the strong

آفلاین

#12 2016-03-18 01:44:57

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

فرمان های

 $ last
 $ lastb
 $lastlog

به ترتیب آخرین لاگین/ لاگآوت ها، آخرین لاگین های ناموفق و آخرین لاگین های معمول رو با خوندن و پیرایش محتوای دیتابیس های به ترتیب

/var/log/wtmp
/var/log/btmp
/var/log/lastlog 

نمایش میدن. درمورد سوئیچ های متنوعشون به man-pageشون مراجعه کنید.


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

 # echo > /var/log/wtmp
 # echo > /var/log/btmp
 # echo > /var/log/lastlog

ویرایش: درمورد تقاوت های باریک last و lastlog مطالعه اینجا خالی از لطف نیست:
http://www.itworld.com/article/2914650/ … stlog.html

آخرین ویرایش توسط Arcush (2016-03-18 01:47:20)

آفلاین

#13 2016-03-28 15:35:41

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

کامندهائی که توی ترمینال می زنید در متغیر HISTFILE$ ذخیره میشن. بنابراین کافیه این متغیر رو در شروع ترمینال خالی بگذارید تا فرمان های شما در اون ترمینال در فایل bash_history./~ ذخیره نشن:

 $ HISTFILE=

آفلاین

#14 2016-05-01 08:56:55

morealaz
عضو
از : کرمان
ثبت شده: 2016-03-19
ارسال ها: 292

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

برای دیدن وضعیت آب و هوای مثلاً کرمان در ترمینال می تونید از دستور زیر استفاده کنید:

$ curl wttr.in/kerman

خروجی به این صورته:
JMt4kkx.png
برای شهر های دیگه کافیه اسم شهر رو به جای kerman بنویسید.

یه چیز جالب تر هم داره و اون دید وضعیت ماهه:

$ curl wttr.in/moon

خروجی:
FQRibzs.png
یه بسته هم تو AUR داره به نام wego-git که می تونید ازش استفاده کنید.

آخرین ویرایش توسط morealaz (2016-05-01 11:48:46)

آفلاین

#15 2016-05-23 23:20:31

morealaz
عضو
از : کرمان
ثبت شده: 2016-03-19
ارسال ها: 292

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

همه شما با دستور ls در لینوکس آشنا هستید و می دونید که چکار میکنه!
حالا فرض کنید اگر کسی به جای ls تایپ کنه sl چه اتفاقی می افته؟ برای اینکار برنامه sl رو نصب کنید تا هر زمان اشتباهی به جای دستور ls تایپ کردید sl، یک لوکوموتیو بخار (Steam Locomotive) در طول ترمینال شما حرکت کنه تا دفعه دیگه حوس اشتباه به سرتون نزنه!! big_smile

آفلاین

#16 2016-07-05 18:15:31

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

wput، تقریبا به عنوان دوگان wget معروف هست که برای آپلود فایل از یک دستگاه به یک سرور ftp استفاده میشه. البته که استفاده  ازین  نوع ابزارها فقط برای مصارف شخصی (بخاطر امکان رصد اطلاعات بارگذاری شده) توصیه میشه. قابلیت های متنوع wput از قبیل تلاش مجدد، محدودیت rate، حذف فایل اصلی بعد از بارگذاری، فهمیدن پراکسی و غیره( man wput) قابل شمارش اند.

$ wput /address_of_file_or_dir ftp://...

آفلاین

#17 2016-07-07 13:54:43

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

- سؤال: آیا ممکنه من بتونم با emacs موزیک پخش کنم؟

- جواب: معلومه! مثلا میتونید با emms این کار رو بکنید. اصلا بسیار فراتر؛ میتونید یه نگاهی به سازگان چندرسانه ای ایمکسbig_smile بندازید.

bqts_screenshot_20160707_134405.png

آفلاین

#18 2016-07-07 14:14:06

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 725
وب سایت

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

Arcush نوشته است که:

find و grep بعنوان ابزارهایی برای جست و جو کاملا شناخته شده هستن. fzf رو هم امتحان کنید. یک ابزار جست و جوی فازی به تمام معنا با امکاناتی از قبیل کلیک موس در ترمینال و ... .

$ man fzf 

عالی بود .مدت ها بود دنبال هم چین چیزی بودم.واسه grep هم یه بسته ای هست به نام agrep.(گرپ فازی شده!)D:.پیشنهاد میکنم تستش کنید.


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#19 2016-07-07 14:24:58

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 725
وب سایت

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

cowsay اسم یه گاو محترمه که هر چی بهش بگین همونو بهتون بر میگردونه.مثلا:

 saeed@saeed  ~   master ●✚  cowsay "Hi Bad Boy"
 ____________ 
< Hi Bad Boy >
 ------------ 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

و fortune جملاتی رو به صورت رندم بهتون نشون میده(جملات بزرگان،تیکه های یه دیالوگ و ..)حالا چی میشه من این دوتا رو مخلوط کنم تو هم؟:

 saeed@saeed  ~   master ●✚  fortune | cowsay
 _______________________________ 
/ Delay is preferable to error. \
|                               |
\ -- Thomas Jefferson           /
 ------------------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

آخرین ویرایش توسط LinArcX (2016-07-07 14:26:46)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#20 2016-07-07 15:05:55

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

stackoverflow نوشته است که:
Arcush نوشته است که:

find و grep بعنوان ابزارهایی برای جست و جو کاملا شناخته شده هستن. fzf رو هم امتحان کنید. یک ابزار جست و جوی فازی به تمام معنا با امکاناتی از قبیل کلیک موس در ترمینال و ... .

$ man fzf 

عالی بود .مدت ها بود دنبال هم چین چیزی بودم.واسه grep هم یه بسته ای هست به نام agrep.(گرپ فازی شده!)D:.پیشنهاد میکنم تستش کنید.

ممنون. عالی. دیدمش. کلا خانواده گرپ خیلی کارشون درسته. من از pdfgrep و xml_grep هم استفاده می کنم و این هم به جمعشون اضافه شد.

آفلاین

#21 2016-07-23 20:44:33

morealaz
عضو
از : کرمان
ثبت شده: 2016-03-19
ارسال ها: 292

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

میخوام دو تا برنامه مربوط به ASCII Art معرفی کنم. هر دوی این برنامه ها در محیط cli اجرا میشه.
اولیش یه برنامه هست به نام figlet که برای ساخت ASCII Art که برنامه جالب و بدرد بخوریه. اینم یه نمونه از کاراش:

$ figlet archlinux
                _     _ _                  
  __ _ _ __ ___| |__ | (_)_ __  _   ___  __
 / _` | '__/ __| '_ \| | | '_ \| | | \ \/ /
| (_| | | | (__| | | | | | | | | |_| |>  < 
 \__,_|_|  \___|_| |_|_|_|_| |_|\__,_/_/\_\
                                           

برنامه بعدی هم یه آکواریوم قشنگه به نام asciiquarium که قبلا جزء اسکرین سیور های محبوب  من در KDE4 بود. این تصویرش:
screenshot.png

آفلاین

#22 2016-08-16 23:05:25

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

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

با اجازه @hurd عزیز، حیفه که این آموزش خیلی کاربردیش  گم بشه توی ارسال ها.

hurd نوشته است که:

اجرا با فرمان
screen command
قبل از همه فرامین حتما فرمان screen اجرا شود حتی sudo

مثال: screen  cp -r /home/folder-example   /example 

خروج باترکیب کلیدهای Ctrl + a + d
گرفتن لیست اسکرین ها با      screen -list
و ورود به اسکرین ها با فرمان  screen -r

حتی میشه جلسه ایجاد شده  ssh را قطع  کرد  و در حالت راه دور و از سیستم دیگه ای با ssh دوباره لوگین کرد

http://bbs.archusers.ir/viewtopic.php?id=762

آخرین ویرایش توسط Arcush (2016-08-16 23:10:08)

آفلاین

#23 2016-08-17 10:49:15

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 226

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

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

برای استفاده از فرمان قبلی برای دسترسی کامل:

الان فرض کنیم اینو می زنیم:

 pacman -S package 

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

 sudo !! 

smile

آفلاین

#24 2016-08-18 11:41:36

silver
عضو
از : اصفهان
ثبت شده: 2015-12-03
ارسال ها: 187
وب سایت

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

خخخ اینو من تازه همین الان یاد گرفتم smile مرسی


بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ (1).اقُلْ هُوَ اللَّهُ أَحَدٌ(2). اللَّهُ الصَّمَدُ (3).لمْ يَلِدْ وَلَمْ يُولَدْ(4). وَلَمْ يَكُن لَّهُ كُفُوًا أَحَدٌ(5)
http://lidora.blog.ir
علیرضا پژوهش

آفلاین

#25 2016-08-24 14:09:17

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 226

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

silver نوشته است که:

خخخ اینو من تازه همین الان یاد گرفتم smile مرسی

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

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB