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

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

https://virgool.io/fsf-linux/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%B4%D9%88-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-resource-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A7%D9%88%D8%A8%D9%88%D9%86%D8%AA%D9%88-ffxjb8z3hqud

توی این بخش ، میخوام یک سری دستوری رو باهاتون کار کنم که بتونید فایل ها و فولدرهاتون رو مدیریت کنین .

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

خوب به ترمینال برید .

ما میخوایم که اول از همه بدونیم توی کدوم مسیر هستیم و باید الان از چه نقطه ای شروع کنیم .

پس باید دستوری رو بلد باشم تا بهم بگه الان کجام .

دستور زیر رو بزنید

pwd

حالا یک چیزی مثل زیر میبینید :

/home/eagle

که یعنی من داخل مسیر home و پوشه eagle هستم .

حالا میخوام ببینم که توی جایی که هستم چه فایل هایی هست .

خوب دستور زیر رو بزنید :

ls

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

Desktop    Downloads         get-docker.sh  Music     Public  Templates
Documents  examples.desktop  maxqserver     Pictures  snap    Videos

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

ls -l

این دستور به شما خروجی مثل زیر میده که حجم و این چیزارو نوشته :

drwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Desktop
drwxr-xr-x 2 eagle eagle  4096 Oct  5 20:22 Documents
drwxr-xr-x 6 eagle eagle  4096 Oct 20 21:43 Downloads
-rw-r--r-- 1 eagle eagle  8980 Sep 27 20:26 examples.desktop
-rw-rw-r-- 1 eagle eagle 13847 Oct 23 20:30 get-docker.sh
-rw-rw-r-- 1 eagle eagle    45 Oct  5 20:22 maxqserver
drwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Music
drwxr-xr-x 2 eagle eagle  4096 Nov  2 12:31 Pictures
drwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Public
drwxr-xr-x 6 eagle eagle  4096 Oct 11 18:12 snap
drwxr-xr-x 2 eagle eagle  4096 Sep 27 20:43 Templates
drwxr-xr-x 2 eagle eagle  4096 Oct 14 22:41 Videos

ستون سمت چپ به اصطلاح ، سطوح دسترسی یا permissions هست .

ستون بعدی کاربری که دسترسی به این پوشه رو داره

ستون بعدی گروه کاربری که دسترسی به این پوشه رو داره

ستون بعدی حجم پوشه و فایل

ستون بعدی زمان ایجاد شدن

آخری هم که اسم پوشه یا فایل

حالا دستور زیر رو بزنید :

ll

همون نتیجه بالا رو میبینید . این دستور روی نسخه دستکتاپ تعریف شده و داخل نسخه سرور باید به صورت alias برای کاربرای غیر از root تعریف بشه .

باحال بود . نه؟

خوب حالا از این به بعد باحالتر هم میشه .

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

برای اینکه بین پوشه ها جا به جا بشم باید از cd استفاده کنم که مخفف change directory هست .

cd Music

خوب یه پوشه به اسم HipHop بسازیم .

mkdir HipHop

دستور mkdir یعنی make directory و کارش ایجاد پوشه هست . شاید اگر برنامه نویس باشید ، داخل زبان برنامه نویسی که کار میکنین این تابع رو دیده باشید .

خوب حالا فرض کنید که یک فایل به اسم eminem.mp3 دارم که توی Downloads هست و میخوام کپی کنمش اینجا .

 cp ../Downloads/eminem.mp3 .  

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

cp sourceAddress DestionationAddress

EX : cp ../Downloads/eminem.mp3 ../Desktop/

مثال بالا فایل رو به پوشه Desktop میبره .

نکته :‌
دو نقطه اسلش ، که قبل از مسیرها گذاشتم یعنی یک پوشه برگرد به عقب و از اونجا شروع کنم به آدرس 

حالا میخوام که کسی جز ‌کاربر root نتونه بره توی Music .

باید دسترسی رو ببنم و درواقع مالک فولدر رو عوض کنم . تغییر مالک یا change owner با دستور زیر :

sudo chown root:root . -R  

اول دستور با sudo شروع شده یعنی برای این کار باید کاربر مجوز دار باشید . مجوز sudo رو root میتونه بده . اما وقتی که اوبونتو نصب میکنین ، همیشه کاربر پیشفرض ، دسترسی sudo داره . اما باید ابتدای دستور نوشته بشه .

بعد از chown سمت چپ دو نقطه اسم کاربر و سمت راست ، گروه کاربر رو مینویسیم .

با یک فاصله ، مسیری که میخوایم این تغییر رو بدیم رو مینویسیم که من . گذاشتم یعنی "همینجا که هستم".

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

حالا هرکسی که بخواد توی این فایل کپی پیست کنه ، باید root باشه یا یوزر و پسوورد روت رو بلد باشه .

خیلی باحاله . نه ؟

دستور های زیادی هستن که مثل دستور cp , chown , cd و ... کار میکنن که من لیستشون رو مینویسم و شما با man میتونین کارشون رو یاد بگیرید . من یک مثال هم رو به روش میزنم .


mv ( move or rename folders and files )  ex : mv eminem.mp3  eminem2.mp3 
cat ( open a file content and see what is in it )  cat test.txt
nano ( edit, create and open  a file )   nano text.txt
rm ( remove a file ) rm test.txt
rm -rf ( remove a folder and files in it)   rm -rf testFolder
chmod (change moderator of a file or folder , it is like chown ) chmod 777 -R ../Downloads

در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم.