شما هنوز به سیستم وارد نشده اید.
سه تائی Ctrl+V+[tab] در ترمینال باعث میشه تا یک تب در ترمینال ایجاد بشه. بنابراین از دستور
$ sed -i -e 's/^/Ctrl+V+[tab]/' my_file.txt #Do_Ctrl+V+[tab]_by_hand
استفاده کنید تا در ابتدای تمام خطوط my_file.txt یک تب ایجاد بشه.
آخرین ویرایش توسط Arcush (2017-03-24 21:07:21)
آفلاین
اسم مستعار! یا همون alias
باعث میشه بتونین دستوری رو بسازید که به دستور دیگه ای اشاره میکنه، یا همون برچسپ زدن به دستور ها. مثلا:
در فایل
~/.bashrc
این قسمت رو بنویسید:
alias INSTALL='sudo pacman -S'
ذخیره کنید و shell رو ببندید. حالا هر بار که میخواین برنامه ای نصب کنین کافیه بزنین
INSTALL pkg_name
آخرین ویرایش توسط mazhar (2017-06-29 10:32:30)
آفلاین
$ cat *.jpg | ffmpeg -f image2pipe -r 1 -vcodec mjpeg -i - -vcodec libx264 out.mp4
بیایید تا با دستور بالا تمام فایل های با پسوند مثلا jpg رُ به یک فایل mp4 تبدیل کنیم.
این، یک نمونه از دستورات کاربردی و زیبای این سایت هست:
www.commandlinefu.com/
آفلاین
با sshuttle بدون تنظیم پراکسی از اینترنت سایر سیستم ها استفاده کنید:
sshuttle --dns -r username@sshserver 0/0
موجود در مخازن آرچ!
آفلاین
لیست تمام نقاط دسترسی وصل شده به شبکه ی فعلی شما:
بسته ی arp-scan رو از مخازن اصلی نصب کنید. سپس:
# arp-scan --interface=<inerface-id> --localnet
که interface-id رو میشه با ip addr به دست آورد:
$ ip addr
1: lo: ...................................
...................................
........................
.............................
2: interface-id: ....................
......................................................
............................
..........................................
............
آخرین ویرایش توسط mazhar (2017-06-29 10:27:41)
آفلاین
گاهی پیش میاد که بسته هایی رو میخوایم نصب کنیم ولی میرور هاش در دسترسمون نیست (دوستان عزیز برای امنیت خودمون اتصال بهشون رو منع کردن). در هر صورت استفاده از torsocks از نظر امنیتی توصیه نمیشه (اصلا کار هم نمیکنه، خودتونو به زحمت نندازید) پس باید از کانفیگ makepkg.conf قرار گرفته در etc متغیر DLAGENTS رو اینطور تغییر بدید:
DLAGENTS=('ftp::/usr/bin/curl --socks5-hostname localhost:9050 -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl --socks5-hostname localhost:9050 -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl --socks5-hostname localhost:9050 -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
اصلیش اینطوریه:
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o'
'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
واضحه که tor باید فعال و در حال اجرا باشه.
آخرین ویرایش توسط mazhar (2017-06-29 10:47:20)
آفلاین
گاهی پیش میاد که بسته هایی رو میخوایم نصب کنیم ولی میرور هاش در دسترسمون نیست (دوستان عزیز برای امنیت خودمون اتصال بهشون رو منع کردن). در هر صورت استفاده از torsocks از نظر امنیتی توصیه نمیشه (اصلا کار هم نمیکنه، خودتونو به زحمت نندازید) پس باید از کانفیگ makepkg.conf قرار گرفته در etc متغیر DLAGENTS رو اینطور تغییر بدید:
DLAGENTS=('ftp::/usr/bin/curl --socks5-hostname localhost:9050 -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl --socks5-hostname localhost:9050 -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl --socks5-hostname localhost:9050 -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')
اصلیش اینطوریه:
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o' 'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')
واضحه که tor باید فعال و در حال اجرا باشه.
export all_proxy=socks5://localhost:9050
makepkg
اینجوری زندگی خیلی آسونتره
آفلاین
برای لذت بردن از man page ها حداقل کار اینه که رنگی باشن
اینا رو به .bashrc اضافه کنید:
export LESS_TERMCAP_mb=$'\e[0;31m'
export LESS_TERMCAP_md=$'\e[0;36m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[7m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[0;35m'
میتونید کد رنگ های ANSI رو جایگزین کنید تا رنگ دخواه رو داشته باشید.
آخرین ویرایش توسط mazhar (2017-07-12 10:13:25)
آفلاین
export all_proxy=socks5://localhost:9050 makepkg
اینجوری زندگی خیلی آسونتره
ممنون از توجهتون اما متاسفانه این روش همیشه جوابگو نیست من تست کردم و نتیجه نداد. دلیل درست تر بودن تغییر فایل کانفیگ اینه که برای همون منظور ساخته شده اما متغیر محلی تلاشی برای اتصال به پراکسی هست.
آخرین ویرایش توسط mazhar (2017-07-12 10:05:19)
آفلاین
اگه به star wars علاقه دارید این دستور رو در ترمینالتون بزنید :
telnet towel.blinkenlights.nl
آفلاین
راه حل جالبی که برای لیست انجام کار ها جدیداً به کار بردم:
یه فایل متنی برای لیست در نظر بگیرید، مثلا:
~/TODO
سپس کاری کنید که هربار ترمینال باز میکنید این فایل رو cat کنه:
~/.bashrc
------------------------------------------------------------------------------------------
COLOR="\[$(tput setaf 5)\]"
RESET="\[$(tput sgr0)\]"
export PS1="${COLOR}★ \W${RESET} "
echo -en "\033[35m";cat /home/mazhar/TODO
حالا خیلی ساده یه alias برای تغییر فایل بسازید:
~/.bashrc
------------------------------------------------------------------------
alias todo='vim ~/TODO'
حالا خیلی راحت همون todo رو میزنید و ادیت میکنید.
آخرین ویرایش توسط mazhar (2017-09-14 17:56:44)
آفلاین
شرتکات های بش:
ctrl + c terminates the current process running in the foreground
ctrl + d terminates the input stream or sends the exit signal
ctrl + z suspends the current running process to background
ctrl + l clears the screen
ctrl + s stops all outputs in the current shell
ctrl + q resumes what the previous command stops
ctrl + a goes to the beginning of the line
ctrl + e goes to the end of the line
alt + b goes back one word
alt + f goes forward one word
ctrl + b goes back one character
ctrl + f goes forward one character
ctrl + xx toggles between the current porsition and the beginning of the line
ctrl + d deletes the current character
alt + d deletes all words from the current position to the end of line
ctrl + h deletes all words from the current position to the beginning of the line
alt + t swap the current word with previous one
ctrl + t swap the two characters before the cursor
ctrl + _ undo
ctrl + w cut the word before cursor and put in clipboard (local clipboard used in shell)
ctrl + k cut everything after the cursor and add to clipboard
ctrl + u cut everything before the cursor and add to clipboard
ctrl + y paste what you have put in clipboard just earlier
alt + u capitalize the next word and go to the end of it
alt + l uncapitalize the next word and go to the end of it
alt + c capitalize the word under the cursor and move to the next word (useful for apitalizing every first character of a sentence)
ctrl + p alternative for the up arrow
ctrl + n alternative for the down arrow
alt + r revert the changes you made in the history commands (bash is powerful, isn't it? :))
ctrl + r starting the reverse search in history
ctrl + o commit the search and execute that command
ctrl + g exit this reverse search
آخرین ویرایش توسط mazhar (2017-10-16 14:06:52)
آفلاین
ساده ولی سریع:
$ cat first_music.mp3 second-music.mp3 > output_music.mp3
آفلاین
اعتراف میکنم به این میگن Awesome!
آفلاین
خیلی ساده ولی قشنگ، برای eject کردن removable media:
پیشفرض برای cdrom کار میکنه ولی میتونین device رو به عنوان پارامتر بهش بدین:
eject /dev/sdXY
آفلاین
تصویر و صدابرداری از خروجیِ صفحهٔ نمایش:
$ ffmpeg -s 1359x767 -framerate 25 -f x11grab -i $DISPLAY -f pulse -ac 2 -i default output.mkv
اگر از alsa استفاده می کنید، کافی است که alsa را جایگزین pulse کنید.
همچنین ابعادی که در اینجا استفاده شده، هریکْ یکی کمتر از ابعاد خروجی صفحهٔ نمایش است تا بیشترین ابعاد صفحه مورد تصویربرداری قرار گیرد.
آخرین ویرایش توسط Arcush (2018-01-31 11:33:12)
آفلاین
ممکن یه دستور بنویسن و یادتون بره که اولش sudo بزارین و با این ارو مواجهه بشین
error: you cannot perform this operation unless you are root.
که بگه دسترسی روت نیاز دارم. کافی تو ترمینال بنویسد
sudo !!
تا دستوری که قبلی که نوشتین با دسترسی روت اجرا بشه و دیگه نیاز نباشه دستور قبلی ویرایش کنید
آفلاین
برگرفته از اینجا: http://swift.siphos.be/linux_sea/shellscripting.html
تعداد اسکریپت ها و فایل های باینری در usr/bin/:
[esa@esa-pc bin]$ file * | grep -c 'ELF '
3001
[esa@esa-pc bin]$ file * | grep -c script
782
آفلاین
این دستور تمام بسته هایی را که با pip نصب کردید آپگرید می کنه:
$ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
البته الان دیگه به یقین رسیدم که برای کار با پایتون بویژه در حالتی که با بسته های زیادی مواجه هستید استفاده از محیط virtualenv بهترین انتخابه. چندتا از وضعیت هایی که براحتی می تونن اعصاب شما را خورد کنن:
۱- مقداری از بسته ها را با پکیج منیجر سیستم تون از ریپوهای سیستموتون نصب کرده باشید + مقداری از بسته ها را از سورس کامپایل کرده باشید + مقداری از بسته ها را با pip یا easy_install نصب کرده باشید.
۲- در توزیع هایی که pip فلگ user-- را *نیاز داره* از sudo استفاده کرده باشید. دراینصورت اون بسته ها برای کاربر روت نصب میشن. تاجائی که میشه از sudo بپرهیزید.
برای virtualenv اینجا را هم ببینید:
http://bbs.archusers.ir/viewtopic.php?id=623
ویرایش (پیوند):
https://stackoverflow.com/questions/272 … s-with-pip
آخرین ویرایش توسط Arcush (2018-04-28 15:58:55)
آفلاین
برای اِعمال برخی تغییرات روی کاراکترها در ترمینال می تونید از الگوی زیر استفاده کنید (که در اینجا روی رشتهٔ YOUR_STRING انجام شده):
$ echo -e '\033[AmYOUR_STRING\033[0m'
بجای A از شماره های ۰ تا ۹ استفاده کنید که برای نمونه، ۱ برای بولد کرن، ۵ برای چشمک زدن، ۸ برای نامرئی کردن و ۹ برای خط کشیدن روی متن به کار می روند. دیگر مانده های دستور را در پیوند پائین ببینید:
https://stackoverflow.com/questions/292 … xt-in-bash
In order to apply a style on your string, you can use a command like:
echo -e '\033[1mYOUR_STRING\033[0m'
Explanation:
echo -e - The -e option means that escaped (backslashed) strings will be interpreted
\033 - escaped sequence represents beginning/ending of the style
lowercase m - indicates the end of the sequence
1 - Bold attribute (see below for more)
[0m - resets all attributes, colors, formatting, etc.The possible integers are:
0 - Normal Style
1 - Bold
2 - Dim
4 - Underlined
5 - Blinking
7 - Reverse
8 - Invisible
آفلاین
Octave در عین اینکه سَبُکه، ولی به یقین شایسته است. فرمان های
>> system('my_command')
و
>> unix('my_command')
می تونن دستوری را که توی شل اجرا می کنید در محیط octave هم اجرا کنن. برای نمونه،
>> unix('totem my_video.mp4')
پ.ن: ! در matlab کار مشابهی انجام میده (my_command!).
آفلاین
من کلی فایل متنی دارم که به صورت ریکرسیو درون دایرکتوریها قرار گرفته بودند. در همهٔ اونها خطی حاوی عبارت مشخصی مثل my_str قرار داره. اگر بخوام همه خط های "بعد از اون خط حاوی my_str" پاک بشوند، کافیه بزنم:
find . -maxdepth 10 -type f -exec sed -i '1,/my_str/!d' {} \;
i- باعث میشه که تغعییرات روی فایل ها اعمال بشوند. maxdepth- هم بستگی به تعداد recursionهای فایل ها داره.
آخرین ویرایش توسط Arcush (2018-11-07 14:07:33)
آفلاین
find mydir -iname '*.jpg' > mydir/jpg_file_names.txt
دستور بالا یک فایل متنی درون همون دایرکتوری میسازه و اسم همهٔ فایل های با پسوند jpg را با اسم دایرکتوری داخلش می ریزه.
آفلاین
فرض کنیم من تایپ کردم
ls -l
بعد یادم میفته که میخواستم فایلهایی که با نقطه هم شروع میشن رو ببینم:
^ls^ls -a
باعث میشه که دستور
ls -a -l
اجرا بشه که خیلی دلپذیره. بعد در نظر بگیرید که تو دستورات طولانی تر خیلی کارآمد تر میشه:
~ $ cp /home/user/todo2 /tmp
cp: cannot stat '/home/user/todo2': No such file or directory
~ $ ^todo2^todo
cp /home/user/todo /tmp
~ $ ls /tmp/todo
/tmp/todo
آفلاین