Tiny Tech

خط فرمان لینوکس ( Linux Command-line ) قسمت اول

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

استفاده از خط فرمان چیزی است شبیه به بالا زدن کاپوت ماشین که هم به ما قدرت بیشتری در درک ساز و کار خودرو می‌دهد و هم ممکن است باعث خراب کردن موتور شود. اما نترسید و این کار را انجام دهید چون انسان با تلاش و اشتباه کردن پیشرفت می کند و چیز های زیادی یاد می گیرد و این هم باید گفت که در دنیای زیبا و مهربان لینوکس همیشه افرادی هستند که بخواهند اشتباهات شما را با رضایت اصلاح کنند.

کار با فایل‌ها و دایرکتوری‌ها

خب بزارید راخت صحبت کنیم

شما تو هر دایرکنوری ( پوشه ) باشید با دستور ls می توانید محتویات داخل اون پوشه را نگاه کنید به عنوان مثال:

alirez4@Tinytech:~/Desktop$ ls
۱,cpp  new  old  salam.text  test.py

 همین طور که میبینید خروجی این دستور یه زره سخته خوندنش و اطلاعات زیادی هم به ما نمیده. پس بهتره از سوییچ های این دستور استفاده کنیم. خب سویچ های دستور های لینوکس معمولا با و یا شروع می شوند. مثلا برای دیدن اطلاعات بیشتر از این فایل ها مثل تاریخ و زمان ایجاد , نام کاربری ایجاد کننده و چند چیز دیگر را نیز ببنیم باید از سویچ ( Long ) یعنی l- استفاده کنیم به طورت زیر:

alirez4@Tinytech:~/Desktop$ ls -l
total 8
-rw-rw-r–      ۱  alirez4  alirez4     ۰      Des  ۱۳ ۰۰:۲۱  ۱.cpp
drwxrwxr-x  ۲  alirez4  alirez4  ۴۰۹۶    Des  ۱۲ ۲۳:۵۰   new
drwxrwxr-x  ۲  alirez4  alirez4  ۴۰۹۶    Des  ۱۲ ۲۳:۵۰   old
-rw-rw-r–     ۱  alirez4  alirez4     ۰      Des  ۱۳ ۰۰:۲۱   salam.text
-rw-rw-r–     ۱  alirez4  alirez4     ۰      Des  ۱۳ ۰۰:۲۱   test.py

 خب طبق گفته بالا سویچ l- یک سری اطلاعات به ما میده که ما هم الان داریم میبینیم. در خروجی این دستور یک سری اطلاعات از قبیل حجم فایل , تاریخ ساخته شدن فایل , مالک و دسترسی ها را می بینیم. در اول خط سوم و چهارم می بینیم که حرف d وجود دارد که این به این معنا است که این خط مربوط به یک دایرکتوری است. که با یک سویچ ltrh- می توان حجم فایل ها را ساده ( ادم وار ) نمایش داد.

که سویچ l برای طولانی بودن ان است و h برای همه فهم کردن ان استفاده می شود یعنی حجم را به صورت ساده می گوید مثل تعداد اعضای یک کانال که ۳۰۰۰ تا را ۳k نمایش می دهد و tr برای تنظیم بر اساس معکوس زمان می باشد که جدید ترین فایل ها را در اخر نمایش می دهد. مثل :

alirez4@Tinytech:~/Desktop$ ls -ltrh
total 8.0K
drwxrwxr-x   ۲  alirez4  alirez4  ۴.۰K   Dec 12  ۲۳:۵۰  new
drwxrwxr-x   ۲  alirez4  alirez4  ۴.۰K   Dec 12  ۲۳:۵۰  old
-rw-rw-r–      ۱  alirez4  alirez4  ۰        Dec 13  ۰۰:۲۱  salam.text
-rw-rw-r–      ۱  alirez4  alirez4  ۰        Dec 13  ۰۰:۲۱  test.py
-rw-rw-r–      ۱  alirez4  alirez4  ۰        Dec 13  ۰۰:۲۱  ۱.cpp

pwd برای دیدن مسیر جاری

خب این دستور به شما می گوید که شما در کجا هستید و یک مسیر به شما دی دهد که می گوید از چه دایرکتوری هایی عبور کردید.

alirez4@Tinytech:/dev/lightnvm$ pwd
/dev/lightnvm

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

cd برای حرکت در دایرکتوری ها

لینوکس همه فایل‌ها در یک ساختار درختی از دایرکتوری‌ها قرار دارند که از دایرکتوری ریشه که آن را با / نشان می‌دهیم شروع شده و به سمت پایین ادامه می‌یابد. برای حرکت در این دایرکتوری‌ها از دستور cd که مخفف change directory است استفاده می‌کنیم. در جلوی این دستور باید مسیر جایی که می‌خواهیم به آنجا برویم را مشخص کنیم:

alirez4@Tinytech:~$ cd /
alirez4@Tinytech:/$

همانطور که می‌بینید کاربر در ابتدا در خانه خود بوده (که همیشه آن را با ~ نمایش می‌دهیم) و با زدن / در جلوی دستور سی دی، به دایرکتوری ریشه رفته است. در مرحله بعد این امکان را داریم که وارد یکی دیگر از دایرکتوری‌ها شویم:

alirez4@Tinytech:/$ cd loge
bash: cd: loge: No such file or directory
alirez4@Tinytech:/$ cd var
alirez4@Tinytech:/var$ cd log
alirez4@Tinytech:/var/log$ ls
alternatives.log  dist-upgrade     hp                   syslog.1
apport.log        dmesg            installer            unattended-upgrades
apt               dpkg.log         kern.log             upstart
auth.log          faillog          lastlog              wtmp
boot.log          fontconfig.log   lightdm              Xorg.0.log
bootstrap.log     fsck             prime-supported.log  Xorg.0.log.old
btmp              gdm3             speech-dispatcher
cups              gpu-manager.log  syslog
alirez4@Tinytech:/var/log$ cd apt
alirez4@Tinytech:/var/log/apt$ ls
history.log  term.log
alirez4@Tinytech:/var/log/apt$

میبینید که اول اومدیم بریم توی دایرکتوری log به ما یک پیام داد و گفت که همچین فایل یا دایرکتوری وجود ندارد. بعد ما اول به دایرکتوری var رفتیم و بعد درخواست ورود به دایرکتوری log را دادیم و چون ایندفعه وجود داشت وارد دایرکتوری log شد و بعد از این یک ls گرفتیم و بعد وارد دایرکتوری apt شدیم و بعد از دایرکتوری apt یک ls گرفتیم.

خب ما تا الان یک مسیری اینطوری اومدیم /var/log/apt/ . اگر بخوایم مستقیم از هر جایی وارد فایل apt که توی این مسیر بود وارد بشیم کافی بود دستور

cd /var/log/apt

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

فرق مسیر های محلی و مسیرهای کامل:

وقتی ما در ابتدای مسیر ‌/ را بگزاریم داریم به دستور مورد نظر میگوییم که مسیر فایل از دایرکتوری ریشته شروع میشود. مثلا در هر جایی از سیستم باشیم دستور

cd /var/log/apt

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

cd var/log/apt

به سیستم فرمان می دهیم که ما در این جایی که هستیم دنبال دایرکتوری var بگرد و در فایل var دنبال دایرکتوری log بگرد و همینطور در داخل log دنبال apt بگرد و وارد شو.

درک شاخه بندی و جایی که هستید و مسیرهای محلی و مطلق برای تازه کار ها کمی پیچیده است ولی خیلی سریع ان را یاد میگیرید پس نگران نباشید. در داخل هر دایرکتوری دو فایل مجازی خاص هم هست که نام ان ها نقطه و دو نقطه است. فایل نقطه به معنای همین دایرکتوری بوده و فایل دو نقطه به معنای دایرکتوری بالاتر است. خب پس اگه ما دستور

cd ..

را بزنیم وارد دایرکتوری بالا تر می شویم مثل:

alirez4@Tinytech:/var/log$ cd ..
alirez4@Tinytech:/var$

و آخرین نکته‌! در لینوکس هرچقدر هم که نوشیده باشید، رسیدن به خانه ساده است. زدن یک cd خالی، شما را از هر کجا به خانه‌تان خواهد رساند:

alirez4@Tinytech:/var/log$ cd
alirez4@Tinytech:~$ pwd
/home/alirez4

cp برای کپی کردن فایل‌ها

دستور بعدی cp است. cp مخفف کلمه copy است و با این دستور می توانیم فایل ها و فوادر ها را در یک جای دیگر کپی کنیم. فرمت دستور اصلی به این صورت است.

cp file1 file2

این دستور باعث می شود که file1 با نام file2 کپی می شود و شما می توانید دو نسخه از یک فایل داشته باشید. دقت داشته باشید که شما می توانید فایل ها را با ادرس هم وارد نمایید.

rm برای حذف فایل‌ها

دستور rm نیز مخفف کلمه remove است. با این دستور شما می توانید فایل ها را حذف کنید.

rm filename

با این کار می توانیم تک تک فایل ها را در یک دایرکتوری خاص پاک کنیم. حالا سوال اینجاست که میشود یک پوشه یعنی تمام محتوای ان و خود پوشه را یکجا حذف کرد؟خب باید گفت که میشه در لینوکس همه چیز امکان پذیر است باید برای این کار از سویچ r- یا R- یا recursive– استفاده می شود.

mv برای تغییر نام یا مسیر فایل‌ها

این دستور نیز خلاطه شده ی کلمه ی move است. این دستور معادل cut می باشد یعنی یک فایل را بر میدارد و در یک جای دیگر قرار می دهد. ولی فرقی که با Cut دارد این است که فایل اول را حذف کرده و بعد فایل دوم را می سازد.

mv file1 file2

touch برای ایجاد یا آپدیت تاریخ یک فایل

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

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

touch filename

mkdir

با این دستور می توانید یک دایرکتوری بسازید

mkdir dirname

rmdir

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

rmdir dirname

 

قسمت دوم اموزش