یه برنامهنویس با انگیزه که بیشتر تو https://fa.aien.me میچرخه
با alias سریعتر کد بزنید!
مقدمه
البته که دوست دارم یه متن بلند بنویسم! اما همزمان که دارم این مطلب رو مینویسم، دارم روی یه مطلب (چند نسخهای) کار میکنم در بارهی برنامهنویسی وب. مثل همیشه، از صفر تا صدش، برای اونایی که تا حالا حتی برنامهنویسی هم نکردن! کار عجیبیه، کلی چیز باید بخونم و انجام بدم و یاد بگیرم. بگذریم...
این مطلب من، قرار نیست خیلی طولانی باشه و پیشبینی میکنم که به مرور بروز رسانی بشه. داستانش هم از این قراره که، من علاقه ندارم کدها رو چندبار بنویسم. مد نظرم اینه که یه سری «کلید» برای خودم داشته باشم و جاهای مختلف ازشون استفاده کنم.
لینوکس
لینوکس یه هستهی سیستمعامله. یعنی دستورات و فرایندهایی که یه سیستمعامل نیاز داره رو براش فراهم میکنه و یه راه ارتباطی بین سختافزار و سیستمعامله. ضمنا، لینوکس متن بازه، یعنی میشه هرچیزی رو توش تغییر داد و شخصیسازی کرد.
سیستمعاملهای زیادی هم وجود دارن که مبتنی بر لینوکس هستن، یعنی، از هستهی لینوکس استفاده میکنن و یه جورایی «توزیعی» یا Distributionای از لینوکس هستن (بین کاربرهای لینوکسی، به Distro هم معروفن). من اینجا سعی کردم در مورد سیستمعاملهای لینوکس بیشتر توضیح بدم.
شِل یا Shell
خیلی ساده، شِل یا «تِرمینال» یه برنامه هست که دستورات رو از کاربر میگیره و اونا رو به سیستمعامل و در نهایت خروجی رو نمایش میده. شِلِ لینوکس یکی از مهمترین اجزای لینوکس به حساب میاد و یکی از محیطهای مورد علاقهی برنامهنویسهاست.
اینجا من تصمیم دارم که روی یه سری از اصول این نرمافزار کار کنم و در نهایت یه سری از دستورات به درد بخور که خودمم استفاده میکنم رو بگم. ضمنا، اگر شما هم دستوراتی رو دارید، بهم بگید که اینجا آپدیت کنم.
برای باز کردن نرمافزار تِرمینال، میتونید توی سیستمعامل لینوکسی دکمهی Ctrl + Alt + T رو بزنید، یا دکمهی CMD + Space رو توی سیستمعامل مک بزنید و دنبال Terminal بگردید.
دستورات پایه
این دستورات رو بدون علامت $ اجرا کنید. $ یک نشانست و به این معنیه که دستور داره با مجوز یک «کاربر» و نه یک «مدیر» اجرا میشه. نشانهی یک مدیر، علامت # هست.
۱. pwd
این دستور به شما آدرس جایی که توش هستید رو میگه. وقتی ترمینال باز میشه، معمولا از پوشهی Home شروع به کار میکنه. ضمنا، این آدرسها Absolute هستن، یعنی از پوشهی ریشه یا Root شروع میشن.
$ pwd
/home/aien
۲. ls
این دستور به شما محتویات پوشهای که توش هستید رو میگه. اگر به آخرش -a
هم اضافه کنید، میتونید فایلهای مخفی رو هم ببینید.
$ ls -a
. Downloads .gtk-bookmarks .node-gyp .rdm .vscode
.. .dropbox .gtkrc-2.0 .npm .rediscli_history Web
...
۳. cd
این دستور به شما این امکان رو میده که جای خودتون رو عوض کنید. مثلا از پوشهای که توش هستید، برید به یه پوشهی دیگه.
$ pwd
/home/aien/
$ cd /home/aien/Bilder
$ pwd
/home/aien/Bilder
۴. mkdir و rmdir
این دستور به شما آدرس جایی که توش هستید رو میگه. وقتی ترمینال باز میشه، معمولا از پوشهی Home شروع به کار میکنه. ضمنا، این آدرسها Absolute هستن، یعنی از پوشهی ریشه یا Root شروع میشن.
$ mkdir sample
$ cd sample
$ pwd
/home/aien/Bolder/sample
$ cd ..
$ pwd
/home/aien/Bilder
$ rmdir sample
$ ls
...
۵. touch
این دستور به شما امکان ساخت فایلها رو میده.
$ touch file.txt
$ ls
...
file.txt
...
۶. rm
این دستور به شما امکان حذف فایلها و تو بعضی شرایط، فولدرها رو میده.
$ rm file.txt
۷. cp
این دستور به شما امکان کپی کردن فایلها رو میده. این دستور، دوتا ورودی دریافت میکنه، اولی آدرس جایی هست که فایل قرار داره و دومی آدرس جایی هست که فایل باید اونجا بره.
$ touch file.txt
$ pwd
/home/aien/Bilder
$ cp ./file.txt /home/aien/Musik
$ cd /home/aien/Musik
$ pwd
/home/aien/Musik
$ ls
...
file.txt
...
۸. mv
این دستور به شما امکان جابهجا کردن فایلها رو میده و مثل دستور کپی عمل میکنه.
$ pwd
/home/aien/Musik
$ mv file.txt /home/aien/Videos
$ ls
...
...
$ cd ../Videos
$ pwd
/home/aien/Videos
$ ls
...
file.txt
...
۹. rm
این دستور به شما امکان حذف فایلها و تو بعضی شرایط، فولدرها رو میده.
$ rm file.txt
دستورات حرفهایتر
۱. nano
این دستور به شما امکان نوشتن داخل یک فایل رو میده. اگر اون فایل وجود نداشته باشه، اون رو ایجاد میکنه. بعد از اینکه داخل فایل نوشتید، کافیه Ctrl + X رو بزنید، Y رو بزنید و از برنامه خارج بشید. نوشتهها ذخیره شدن!
$ nano file.txt
۲. cat
این دستور به شما امکان نمایش محتوای یک فایل رو میده.
$ cat file.txt
In yek file nemune ast!
دستور alias
دستور alias
کمک میکنه تا دستور یا دستوراتی رو با اسامی دیگه صدا بزنیم و اجرا کنیم. شاید با خودتون بگید آخه چه کاربردی داره وقتی میتونم خودم دستور رو تایپ کنم؟
موضوع اینه که گاهی نیاز هست دستوراتی رو اجرا کنیم که نسبتا پیچیده هستن و فقط تو بعضی چیزهای کوچیک فرق میکنن.
برای شروع، دستور زیر رو تایپ کنید:
$ alias
یه لیست طولانی از دستورات رو خواهید گرفت:
-='cd -'
...
l='ls -lah'
...
serve='http-server -o -a localhost .'
which-command=whence
آخر این لیست، دستور هست که نوشته l='ls -lah'
. اگر شما این دستور رو تو ترمینال بنویسید، یعنی بنویسید l
، مثل این میمونه که به ترمینال گفتید دستورls -lah
رو اجرا کنه.
حالا برای نمونه، دستور زیر رو بزنید:
$ alias p="pwd"
از این به بعد اگر من دستور p
رو بزنم، انگار دستور pwd
رو زدم، پس آدرس جایی که هستم رو میگیرم:
$ alias p="pwd"
$ p
/home/aien
حالا فرض کنید که توی سیستمتون، نرمافزار Apache رو داشتید. برای دستکاری فایل اصلیش، لازم بود که مثلا nano رو با کل آدرس اون فایل وارد کنید. چی میشد اگر مینوشتید:
$ alias a="nano /etc/httpd/conf/httpd.conf"
اونوقت به جای هربار تیاپ کردن دستور، فقط a رو اجرا میکردید و فایل رو دستکاری...
چطور دستورات alias رو داعمی کنیم
اگر تو یه ترمینال، یه دستور alias
رو وارد کنید، بعد از بستن اون ترمینال، دستورتون هم از بین میره و دفعهی بعدی دوباره باید دوباره تعریفش کنید. راهکارش اینه که از فایل .bashrc
استفاده کنید. خیلی ساده، دستور زیر رو بزنید:
$ nano ~/.bashrc
این دستور، فایل .bashrc
که توی پوشهی Home شما هست رو باز میکنه. حالا دستور زیر رو به بالای این فایل اضافه کنید:
alias p="pwd"
alias bashrc="nano ~/.bashrc"
...
با این کار، هربار که دستور p رو بزنید، به جاش دستور pwd اجرا میشه. برای حذفش هم، کافیه دوباره اون رو از فایلتون حذف کنید (دستور زیر رو تو ترمینال بزنید تا فایلش باز بشه).
$ bashrc
دستورات پر کاربرد
یه لیست از دستورات پر کاربرد هست که توی سایت خودم گذاشتم. میتونید به اونجا سر بزنید و دستورات بروز شده رو ببینید.
موفق باشید
مطلبی دیگر از این انتشارات
من و روزهای اول گنو لینوکس
مطلبی دیگر از این انتشارات
لینوکسی شو : قسمت چهارم، نصب lamp server
مطلبی دیگر از این انتشارات
چطوری برنامه نویسی یاد بگیرم؟