ساخت فایل و دایرکتوری در لینوکس

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

در قسمت آخر نیز در مورد نحوه فشرده سازی فایل ها در لینوکس و همین طور extract کردن فایل ها در لینوکس صحبت خواهیم کرد.

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

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


برای اجرای دستورات زیر، می باید آن ها در ترمینال توزیع لینوکسی که استفاده می کنید، وارد نمایید. ما برای اجرای دستورات از bash استفاده می کنیم.

Shell در لینوکس چیست؟

برای دسترسی به هسته لینوکس یا kernel لینوکس، باید از shell استفاده کنیم. ترمینال در لینوکس، نرم افزای است که شل را اجرا می کند.

bash چیست؟

bash نیز نوعی از shell می باشد.

دستور cd

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

دستور ls

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

با زدن این دستور، انواع مختلف فایل ها، با رنگ های مختلف در ترمینال به نمایش در می آیند. به عنوان مثال دایرکتوری ها با رنگ آبی، soft link ها با رنگ آبی کم رنگ و فایل های اجرایی یا همان executable file ها با رنگ سبز به نمایش در می آیند.

سوئیچ های پرکاربرد دستور ls در لینوکس:
دستور ls دارای چندین سوئیچ مختلف برای تغییر شکل و ظاهر خروجی نمایش داده شده به کاربر می باشد. سوئیچ l- جزئیات لیست را به صورت طولانی تر یا long نمایش می دهد.

سوئیچ بالا، حجم فایل ها را بر اساس بایت نمایش می دهد. برای نمایش حجم فایل ها به صورت کیلو بایت، می توانید از سوئیچ lh- استفاده نمایید.

برای نمایش کلیه فایل ها به همراه فایل های hidden می توانید از سوئیچ a- استفاده نمایید. در صورتی که داخل پنجره فایل منیجر می باشید، با زدن کلید های ctrl + h می توانید فایل ها پنهان را نمایش داده یا آن ها را مخفی نمایید.

نمونه ای از این دستورات عبارتند از:

دستور pwd

دستور pwd در لینوکس برای دیدن محل جاری:
در صورتی که بخواهیم ببینیم در حال حاضر در کدام دایرکتوری از لینوکس هستیم، از دستور pwd استفاده می شود. نمونه این دستور در بخش کدهای زیر، موجود می باشد.

دستور وارد شدن به home

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

دستور clear

دستور clear در لینوکس برای پاک ترمینال:
برای اینکه بخواهیم ترمینال را از دستورات قبلی تمیز نماییم، از دستور clear استفاده می کنیم.

مسیردهی نسبی و مطلق

مسیردهی نسبی و مطلق در لینوکس:
در اجرای دستورات لینوکس، می توانیم هم از مسیردهی نسبی (relative) و هم از مسیردهی مطلق (absolute) استفاده نماییم.

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

به عنوان مثال، برای اشاره به پوشه فعلی از علامت ” . ” و برای اشاره به یک پوشه بالاتر و قبل تر از پوشه فعلی،‌ از علامت ” .. ” استفاده می شود.

change directory command using relative address

mehdi@mehdi-pc:~$ cd ..

Up one level in directory with relative address

mehdi@mehdi-pc:/home$ cd ..

List current directory

mehdi@mehdi-pc:/$ ls .
bin dev initrd.img lib32 media proc sbin sys var
boot etc initrd.img.old lib64 mnt root snap tmp vmlinuz
cdrom home lib lost+found opt run srv usr vmlinuz.old

Show current location (where we are)

mehdi@mehdi-pc:/$ pwd
/

Change directory with absolute address

mehdi@mehdi-pc:/$ cd /home/mehdi/
mehdi@mehdi-pc:~$ pwd
/home/mehdi

List directory with -l switch

mehdi@mehdi-pc:~$ ls -l
total 60
drwxr-xr-x 5 mehdi mehdi 4096 Jan 12 08:50 Desktop
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Documents
drwxr-xr-x 4 mehdi mehdi 4096 Jan 7 23:02 Downloads
-rw-r–r– 1 mehdi mehdi 8980 Oct 29 18:20 examples.desktop
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Music
-rw——- 1 mehdi mehdi 3168 Jan 6 11:10 nohup.out
drwxr-xr-x 3 mehdi mehdi 4096 Jan 5 10:13 PhpstormProjects
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Pictures
drwxr-xr-x 2 mehdi mehdi 4096 Nov 8 02:02 playlist
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Public
drwxr-xr-x 7 mehdi mehdi 4096 Dec 11 10:14 snap
lrwxrwxrwx 1 root root 31 Dec 23 08:39 Tehran -> /usr/share/zoneinfo/Asia/Tehran
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Templates
drwxr-xr-x 2 mehdi mehdi 4096 Oct 29 18:24 Videos

List directory with -lh switch

mehdi@mehdi-pc:~/Desktop$ ls -lh
total 168K
-rw-r–r– 1 mehdi mehdi 284 Nov 22 00:57 gholaydoon.tar.gz
drwxrwxr-x 2 mehdi mehdi 4.0K Dec 23 22:37 keys
-rw-r–r– 1 mehdi mehdi 99K Dec 15 07:53 lshw.html
drwxr-xr-x 5 mehdi mehdi 4.0K Jan 6 09:40 mehdi
drwxr-xr-x 2 mehdi mehdi 4.0K Dec 24 19:48 msndownloads
-rw-rw-r– 1 mehdi mehdi 36K Jan 12 08:50 nurses-day-poem.jpg
-rw-r–r– 1 mehdi mehdi 2.2K Jan 5 12:46 settings.zip
-rwxr-xr-x 1 mehdi mehdi 205 Nov 9 03:11 Skype.desktop
-rwxr-xr-x 1 mehdi mehdi 195 Nov 9 03:14 vlc.desktop

List directory with -a switch

mehdi@mehdi-pc:~/Desktop/mehdi$ ls -a
. dir1 for.sh gholam.txt index.php new_gholam.txt read.sh while.sh
.. dir2 _gholam.txt hello.sh .mehdi_hidden permission.txt test2

Change to home user directory with Tilda sign (~)

mehdi@mehdi-pc:~/Desktop/mehdi$ cd ~
mehdi@mehdi-pc:~$

ساخت و ویرایش فایل ها و دایرکتوری ها

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

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

دستور cat

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

دستور less

دستور less در لینوکس برای نمایش صفحه به صفحه یک فایل متنی:
برای نمایش صفحه به صفحه یک فایل لینوکس در ترمینال، می توانید از دستور less استفاده نمایید. برای خروج از حالت less کافی است تا دکمه q فشار دهید تا دوباره به خط فرمان لینوکس برگردید.

دستور touch

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

نکته: در مورد اجرای دستورات لینوکس با Permission مورد نیاز
بسیاری از دستورات در لینوکس، نیاز به حق دسترسی یا permission کاربر خاص یا کاربر root را دارند.

برای انجام دستوراتی که در آن نیاز به permission با کاربر root می باشد، کافی است در ابتدای هر دستور از کلمه sudo استفاده نماییم.

ساخت یک فایل مخفی یا hidden file

دستور ساخت یک فایل مخفی در لینوکس
برای ساخت یک فایل مخفی یا hidden file در لینوکس ، می توانید از دستور touch به همراه نقطه در ابتدای نام فایل، استفاده کنید.

دستور mkdir

دستور mkdir در لینوکس برای ساخت یک دایرکتوری
برای ساخت یک دایرکتوری در لینوکس ، می توانید از دستور mkdir استفاده نمایید. در صورتی که چند دایرکتوری داخل هم وجود نداشته باشد و بخواهیم همه آن ها به صورت بازگشتی ساخته شوند، از سوئیچ p به همراه این دستور استفاده می کنیم.

دستور بازکردن یک فایل در ویرایشگر nano

دستور باز کردن یک فایل در ویرایشگر متنی در لینوکس
برای باز کردن یک فایل در یک ویرایشگر ، می توانید از ویرایشگر های مختلف موجود در لینوکس استفاده کنید. به عنوان مثال برای ویرایش یک فایل با ویرایشگر nano ، می توانید از دستور nano به همراه نام آن فایل، استفاده نمایید. کار با ویرایشگر nano در لینوکس، بسیار ساده است. به عنوان مثال برای ذخیره کردن تغییرات انجام داده شده در یک فایل، کافی است دکمه های ctrl + x را انتخاب و سپس سوالی مبنی بر overwrite شدن فایل موجود از شما می پرسد که باید با y یا n آن را، تایید یا رد نمایید. پس از تایید نیز اسم فایل را تایید کرده و فایل پس از ذخیره شدن، بسته خواهد شد.

دستور tail

دستور tail در لینوکس برای دیدن چند خط آخر یک فایل
برای دیدن چند خط آخر یک فایل در لینوکس، می توانید از دستور tail به همراه نام آن فایل، استفاده نمایید.

همچنین برای دیدن مثلا فقط دو خط آخر می توانید از سوئیچی به صورت n- به همراه تعداد خط ها، استفاده نمایید.

نکته: در فرستادن چندین پارامتر به دستور های mkdir و همین طور touch
در نظر داشته باشید که شما می توانید به همراه دستور های mkdir و همین طور touch ، از چندین پارامتر مختلف استفاده می کند. این باعث می شود که چندین دایرکتوری یا فایل، توسط این دستورات ساخته شوند.

دستور catبرای نمایش فایل متنیcat
دستور lessبرای نمایش صفحه به صفحه یک فایل متنیless
دستور touch در لینوکس برای ساخت یک فایلtouch
دستور hidden fileساخت یک فایل مخفیhidden file
دستور mkdir ساخت یک دایرکتوریmkdir
دستور nanoبازکردن یک فایل در ویرایشگر nano nano
دستور tailدیدن چند خط آخر یک فایلtail

show file with sudo command
$ sudo cat permission.txt
[sudo] password for mehdi:
This is a test to save file from Mehdi with related permissions

show file page by page with less command

$ less gholam.txt

create a file with touch command

$ touch new_mehdi_file.txt
$ ls
dir1 for.sh gholam.txt index.php new_mehdi_file.txt read.sh while.sh
dir2 _gholam.txt hello.sh new_gholam.txt permission.txt test2

create a hidden file with touch command

$ touch .new_mehdi_file.txt
$ ls -a
. dir1 for.sh gholam.txt index.php new_gholam.txt new_mehdi_file.txt read.sh while.sh
.. dir2 _gholam.txt hello.sh .mehdi_hidden .new_mehdi_file.txt permission.txt test2

create directory with mkdir command

$ mkdir test1
$ ls
dir1 for.sh gholam.txt index.php new_mehdi_file.txt read.sh test2
dir2 _gholam.txt hello.sh new_gholam.txt permission.txt test1 while.sh

create directory recursively

$ mkdir -p test3/test1/test3
$ cd test3/test1/test3/
mehdi@mehdi-pc:~/Desktop/mehdi/test3/test1/test3$

edit file with nano editor

mehdi@mehdi-pc:~$ nano msn.txt

show last 10 lines in a file

$ tail index.php

show last 2 lines in a file

$ tail -n 2 index.php

فایل و دایرکتوری در لینوکس ابونتو

کپی فایل و دایرکتوری ، انتقال و پاک کردن و تغییر نام فایلها و دایرکتوری در لینوکس ابونتو


در این بخش با کپی کردن فایل ها در لینوکس آشنا می شویم. سپس نحوه کپی کردن دایرکتوری ها در لینوکس ابونتو را مورد بررسی قرار می دهیم.

پس از آن نحوه انتقال فایل ها یا همان move کردن فایل ها را مورد بررسی قرار می دهیم. سپس می آموزیم که چگونه می توانیم یک دایرکتوری را در لینوکس انتقال دهیم. در انتها نیز با نحوه پاک کردن یک دایرکتوری در لینوکس آشنا می شویم.

دستور mv

دستور mv در لینوکس برای انتقال فایل و دایرکتوری
برای انتقال فایل ها یا همان move کردن یک فایل کافی است از دستور mv در لینوکس استفاده نماییم.

برای این کار پس از دستور mv ، کافی است ابتدا مسیر فایل یا دایرکتوری که می خواهیم انتقال یابد، ذکر کنیم و سپس مسیر جایی که قرار است فایل یا دایرکتوری مورد نظر، انتقال یابد.

دستور mv در لینوکس برای تغییر نام فایل یا دایرکتوری:
برای تغییر نام یک فایل یا تغییر نام یک دایرکتوری در لینوکس، باز هم از دستور mv در لینوکس استفاده نماییم.

برای این کار کافی است در بخش اول نام فایل یا دایرکتوری که می خواهیم آن را تغییر نام دهیم، ذکر کنیم و سپس نام جدید را بیاوریم.

دستور cp

دستور cp در لینوکس برای کپی کردن فایل ها:
برای کپی کردن فایل ها در لینوکس، می توانید از دستور cp در لینوکس استفاده نمایید. در صورتی که مشکل permission برای انجام کپی داشته باشیم، کافی است از sudo در ابتدای دستور خود استفاده کنیم.

برای این کار کافی است در بخش اول نام فایل یا دایرکتوری که می خواهیم آن را کپی کنیم، قرار دهیم و سپس آدرس مسیر جدید را ذکر کنیم.

دستور cp در لینوکس برای کپی کردن دایرکتوری ها به همراه سوئیچ r :
برای کپی کردن دایرکتوری ها در لینوکس، می توانید از دستور cp به همراه سوئیچ r- استفاده نمایید.

در واقع استفاده از سوئیچ r- باعث می شود تا انجام عملیات کپی به صورت بازگشتی یا همان recursive بر روی دایرکتوری مورد نظر، انجام پذیرد.

دستور rm در لینوکس برای پاک کردن یک فایل:
برای پاک کردن یک فایل در لینوکس، می توانید از دستور rm استفاده نمایید. این دستور فقط می تواند یک فایل را remove نماید.

دستور mv در لینوکس برای پاک کردن چندین فایل توسط سوئیچ r :
برای پاک کردن چندین فایل موجود در یک دایرکتوری یا زیر شاخه های آن در لینوکس، می توانید از دستور rm به همراه سوئیچ r- استفاده نمایید.

در واقع استفاده از سوئیچ r- باعث می شود تا انجام عملیات remove به صورت بازگشتی یا همان recursive بر روی دایرکتوری مورد نظر، انجام پذیرد.

دستور rmdir در لینوکس برای پاک کردن یک دایرکتوری:
برای پاک کردن یک دایرکتوری در لینوکس، می توانید از دستور rmdir استفاده نمایید. در نظر داشته باشید که این دستور تنها در حالتی دایرکتوری مربوطه را پاک می کند، که دایرکتوری مورد نظر خالی بوده و هیچ فایل یا دایرکتوری دیگری در آن وجود نداشته باشد.

در صورتی که دایرکتوری مورد نظر دارای فایل یا دایرکتوری دیگر باشد، می باید با دستور بالا ابتدا محتوای آن را پاک نمود و سپس دستور rmdir را اجرا نمود.

یک روش دیگر برای این کار، اجرا این دستور به همراه سوئیچ ignore-fail-on-non-empty– می باشد.

نکته مهم: در overwrite شدن توسط دستورات mv و همین طور cp
توجه: در صورتی که یک فایل یا دایرکتوری هم نام در مسیر مقصد وجود داشته باشد، توسط دستور های mv و cp مورد بازنویسی قرار خواهند گرفت. (یا overwrite خواهند شد)

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

برخی از دستورات مرتبط با این بخش عبارتند از:

move source to destination

$ sudo mv source_file destination_directory

move source to destination with asking for overwriting

$ sudo mv -i source_file destination_directory

rename a file or directory

$ sudo mv source_file new_name_for_source_file
$ sudo mv source_directory new_name_for_source_directory

copy source to destination

$ cp source_file destination_file
$ cp source_file destination_directory

copy source to destination recursively with root access

$ sudo cp source_directory destination_directory -r
$ sudo cp -r source_directory destination_directory

copy source to destination with asking for overwriting

$ sudo cp -i source_file destination_directory

remove a file with root permission

$ sudo rm your_file

remove a directory with root permission that have some files or directories on it

$ sudo rm -r desire_directory

remove a directory with root permission that have no files or directories on it

$ sudo rmdir desire_directory

remove a directory with root permission that have some files or directories on it

$ sudo rmdir –ignore-fail-on-non-empty desire_directory

دستور فشرده‌سازی فایل و دایرکتوری

دستورات فشرده سازی فایل و دایرکتوری و extract کردن آنها در لینوکس

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

این دستورات عبارتند از:

دستور tar

دستور tar در لینوکس برای فشرده سازی یک دایرکتوری در لینوکس با فرمت tar:
یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت tar می باشد. با این فرمت تغییر زیادی در حجم فایل ها به وجود نمی آید اما به صورت کلی، فایل های داخل دایرکتوری در کنار همدیگر قرار می گیرند.

برای این کار از دستور tar به همراه سوئیچ cf- (به معنای create file) استفاده می کنیم. ابتدا نام فایل خروجی و سپس آدرسی که می خواهیم آن را فشرده سازی کنیم، خواهد آمد. فایل فشرده شده در محلی جاری که ترمینال در آن می باشد، ایجاد می گردد.

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

فشرده سازی یک دایرکتوری در لینوکس با فرمت tar.gz:
یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت tar.gz می باشد. با این فرمت علاوه بر قرار گرفته شدن فایل ها در کنار، شاهد تغییر حجم و کم شدن حجم مجموع فایل ها خواهیم بود.

برای این کار از دستور tar به همراه سوئیچ czf- (به معنای create zip file) استفاده می کنیم. ابتدا نام فایل خروجی و سپس آدرسی که می خواهیم آن را فشرده سازی کنیم، خواهد آمد. فایل فشرده شده در محلی جاری که ترمینال در آن می باشد، ایجاد می گردد.

در نظر داشته باشید در صورتی که بخواهیم مراحل انجام این فرآیند را در ترمینال مشاهده کنیم، کافی است سوئیچ v را هم به آن اضافه نماییم. (یعنی از سوئیچ czvf- استفاده کنیم)

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

فشرده سازی یک دایرکتوری با در نظر نگرفتن بخش هایی از آن:
در صورتی که بخواهیم بخش هایی از یک دایرکتوری را در فایل فشرده خود نیاوریم، کافی است از سوئیچ exclude– به همراه نام فایل ها یا دایرکتوری های مورد نظر خود استفاده نماییم.

فشرده سازی یک دایرکتوری در لینوکس با فرمت bzip2:
یکی از فرمت های فشرده سازی محتوای یک دایرکتوری در لینوکس، فرمت bzip2 می باشد. پسوند های این فرمت می تواند tar.bz2 و tar.bz و tbz باشد.

در نظر داشته باشید که Gzip در لینوکس عمومی تر بوده و بیشتر استفاده می شود. فرمت Gzip سریع تر بوده اما فشرده سازی آن نسبت به bzip2 کمتر می باشد.

برای فشرده سازی یک دایرکتوری با فرمت bzip2 از دستور tar به همراه سوئیچ cjvf- استفاده می کنیم.

نحوه extract کردن یک فایل فشرده در لینوکس:
در صورتی که شما یک فایل archive یا همان فایل فشرده داشته باشید، برای استفاده از محتویات آن، می بایست ابتدا محتوایات آن را استخراج یا extract نمایید.

برای خارج کردن یک فایل از حالت فشرده (که به آن اصطلاحا untar هم گفته می شود) کافی است از سوئیچ xf- (یا همان extract file) استفاده نمایید. در صورتی که فایل مورد نظر zip باشد و بخواهید کل فرآیند را در ترمینال نیز مشاهده نمایید، کافی است از سوئیچ xzvf- استفاده کنید.

در نظر داشته باشد که این دستورات، محتویات فایل فشرده را در دایرکتوری جاری extract می کند. در صورتی که بخواهید آن را در دایرکتوری دیگری استخراج نمایید، کافی است از سوئیچ C- به همراه آدرس دایرکتوری مورد نظر استفاده کنید.

در ادامه چند مثال کاربردی در مورد فشرده سازی با دستور tar در لینوکس آورده شده است. همین طور می توانید دستورات مرتبط با extract فایل های فشرده در لینوکس را ملاحظه فرمایید:

Tar options

c – create a archive file.
x – extract a archive file.
v – show the progress of archive file.
f – filename of archive file.
t – viewing content of archive file.
j – filter archive through bzip2.
z – filter archive through gzip.
r – append or update files or directories to existing archive file.
W – Verify a archive file.

Compress with tar format

$ tar -cf name-of-archive.tar.gz /path/to/directory-or-file

Compress with tar format and seeing the progress in termianl

$ tar -cvf name-of-archive.tar.gz /path/to/directory-or-file

Compress with tar.gz format and seeing all of progress in terminal

$ tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Compress multiple directories or files at once

$ tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Exclude directories or files

$ tar -czvf archive.tar.gz /home/ubuntu –exclude=/home/ubuntu/Downloads –exclude=/home/ubuntu/.cache
$ tar -czvf archive.tar.gz /home/ubuntu –exclude=*.mp4

Compress with bzip2 format

$ tar -cjvf archive.tar.bz2 stuff

Extract tar archive file

$ tar -xvf msn_sample.tar

Extract tar.gz archive file

$ tar -xvf msn_sample.tar.gz

Extract tar.gz archive file to a specific destination

$ tar -xvf msn_sample.tar.gz -C your_directory_to_extract

List content of tar archive file

$ tar -tvf uploadprogress.tar

Extract single file from tar file

$ tar -xvf cleanfiles.sh.tar cleanfiles.sh
OR
$ tar –extract –file=cleanfiles.sh.tar cleanfiles.sh

Extract single file from tar.gz file

$ tar -zxvf cleanfiles.sh.tar.gz cleanfiles.sh
OR
$ tar –extract –file=cleanfiles.sh.tar.gz cleanfiles.sh

Extract group of files using wildcard

$ tar -xvf Phpfiles-org.tar –wildcards ‘.php’ $ tar -zxvf Phpfiles-org.tar.gz –wildcards ‘.php’
$ tar -jxvf Phpfiles-org.tar.bz2 –wildcards ‘*.php’

Add files or directories to tar or tar.gz archive file

$ tar -rvf tecmint-14-09-12.tar xyz.txt
$ tar -rvf tecmint-14-09-12.tar php

Check the size of archive file

$ tar -czf – msn_sample.tar | wc -c
۴۲۵۲۰۴۸۰
$ tar -czf – msn_folder.tar.gz | wc -c
۲۲۲۶۴۰
$ tar -czf – msn_files.tar.bz2 | wc -c
۳۰۶۸۰

چند دستور پرکاربرد در لینوکس

آشنایی با چندین دستور بسیار پرکاربرد در لینوکس

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

دستور whoami

دستور whoami در لینوکس برای نمایش کاربر جاری در ترمینال:
برای نمایش کاربر جاری که در حال حاضر در ترمینال با آن کار می کنیم، کافی است تا از دستور whoami استفاده نماییم.

دستور history

دستور history در لینوکس برای نمایش تاریخچه دستورات وارد شده در ترمینال:
برای نمایش تاریخچه دستورهایی که در ترمینال وارد شده اند، از دستور history استفاده می کنیم. برای نمایش مثلا ده دستور آخر کافی است به انتهای این دستور، عدد ۱۰ را اضافه کنیم.

دستور reboot

دستور reboot در لینوکس برای خاموش کردن و reboot کردن سیستم:
برای reboot کردن سیستم در لینوکس می توانید از دستور های init 6 یا reboot در خط فرمان لینوکس استفاده کنید. البته برای ری استارت کردن سیستم، می توانید از دستور shutdown به همراه سوئیچ r نیز استفاده کنید.

برخی از این دستورات به همراه مثال آنها در زیر آورده شده است.

دستور ln

دستور ln در لینوکس برای ساخت soft link :
برای ساخت یک soft لینک در لینوکس از دستور ln به همراه سوئیچ s- ، استفاده می کنیم.

دستور lsb-release

دستور lsb-release در لینوکس برای نمایش توزیع لینوکس:
برای نمایش توزیع لینوکس، کافی است تا فایل lsb-release موجود در دایرکتوری etc را، با استفاده از دستور cat نمایش دهیم.

دستور uname

دستور uname در لینوکس برای نمایش ورژن کرنل لینوکس:
برای نمایش ورژن لینوکس، کافی است تا از دستور uname به همراه سوئیچ a- استفاده نماییم.

دستور file

دستور file در لینوکس برای نمایش مشخصات پسوند فایل:
برای نمایش مشخصات پسوند یک فایل لینوکس، کافی است تا از دستور file به همراه نام آن فایل، استفاده نماییم.

دستور cpuinfo

دستور cpuinfo در لینوکس برای نمایش مشخصات cpu سیستم:
برای نمایش مشخصات سی پی یو یک سیستم در لینوکس، کافی است تا فایل cpuinfo موجود در دایرکتوری proc را توسط دستور cat نمایش دهیم.

دستور whoami نمایش کاربر جاری در ترمینالwhoami
دستور historyنمایش تاریخچه دستورات وارد شده در ترمینالhistory
دستور reboot در لینوکس برای خاموش کردن و reboot کردن سیستمreboot
دستور ln دستور ln در لینوکس برای ساخت soft linkln
دستور lsb-release برای نمایش توزیع لینوکسlsb-release
دستور unameنمایش ورژن کرنل لینوکسuname
دستور fileنمایش مشخصات پسوند فایلfile
دستور cpuinfoنمایش مشخصات cpu سیستمcpuinfo

******

ایجاد دایرکتوری در لینوکس

ساخت دایرکتوری لینوکس توسط دستور mkdir پیاده سازی میشود. همچنین در صورت نبود دایرکتوری‌های داخلی می‌توان از گزینه دیگری بهره برد. دایرکتوری لینوکس را اگر قصد دارید به صورت بازگشتی بسازید، می‌توانید از گزینه‌ای تحت عنوان “-P” استفاده کنید.

روش استفاده از دستور mkdir لینوکس

نحوه استفاد از دستورات mkdir لینوکس به شرح زیر است:

mkdir [OPTION] [DIRECTORY]

این خط فرمان نام یک یا چند دایرکتوری را از آرگومان خود می‌گیرد.

ساخت دایرکتوری لینوکس

1. انتقال نام فهرست

برای ساخت دایرکتوری لینوکس نام فهرست را به عنوان آرگومان به دستور mkdir انتقال دهید.

به عنوان مثال برای ایجاد فهرست جدید payadir دستور زیر را به اجرا برسانید:

mkdir payadir

2. تایید دایرکتوری

حال در مرحله بعد نیاز دارید تا دایرکتوری ای را که با استفاده از لیست کردن فهرست راهنما ایجاد شده‌اند، تایید کنید. این لیست‌ها نیز از خط فرمان Is استفاده کرده‌‌اند:

Is-I

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

اگر می‌خواهید این مکان را تغییر دهید می‌توانید از دستور cd استفاده کنید.

3. ایجاد دایرکتوری در مکانی دیگر

برای ایجاد دایرکتوری در یک مکان دیگر، باید مسیر پرونده مطلق و یا نسبی را به فهرست اصلی نسبت دهید.

به عنوان مثال برای اینکه بتوانید دایرکتوری جدیدی را در /tmp directory ایجاد کنید، باید عبارت و دستور زیر را در محیط لینوکس تایپ کنید:

mkdir /tmp/payadir

4. ایجاد یک دایرکتوری در parent directory

اگر سعی می‌کنید تا یک دایرکتوری در parent directory ایجاد کنید که در آن کاربر مجوزهای لازم را نداشته باشد، در آن صورت خطای رد شده از مجوز را دریافت خواهید کرد.

mkdir /root/payadir

در نهایت نتیجه‌ای که مشاهده خواهید کرد، تصویر زیر است:

mkdir: cannot create directory ‘/root/payadir’: Permission denied

5. استفاده از گزینه -v (–verbose)

گزینه -v (–verbose) به mkdir این دستور را صادر می‌کند که برای هر دایرکتوری جدیدی که ساخته می‌شود، باید پیامی ارسال شود.

نحوه ساخت parent directory

یک parent directory در بالای دایرکتوری دیگر قرار دارد که آن هم در دایرکتوری Tree قرار گرفته است. برای اینکه بتوان یک parent directory را ایجاد کرد گزینه‌ای که پیش روی آن‌ها قرار گرفته است، -P می‌باشد.

مثال: تصور کنید می‌خواهید یک دایرکتوری /home/linuxize/Music/Rock/Gothic را ایجاد کنید.

برای این موضوع باید دستورزیر را وارد نمایید:

mkdir /home/linuxize/Music/Rock/Gothic

دریافت خطا

اگر هیچ کدام از دایرکتوری‌های parent وجود نداشته باشد، خطایی مانند نوشته زیر را دریافت خواهید کرد:

mkdir: cannot create directory ‘/home/linuxize/Music/Rock/Gothic’: No such file or directory

استفاده از خط فرمان mkdir

به جای اینکه دایرکتوری‌های جا افتاده Parent را تک به تک ایجاد کنید، می‌توانید از خط فرمان mkdir بخواهید تا این کار را برای شما با استفاده از آپشن -P به انجام برساند. مانند دستور زیر:

mkdir -p / home / linuxize / Music / Rock / Gothic

وقتی که از گزینه -p استفاده می‌کنید، خط فرمان تنها در صورت وجود نداشتن آن دایرکتوری اقدام به ساخت خواهد کرد.
اگر می‌خواهید که یک دایرکتوری که وجود دارد را بسازید و در آن از گزینه -p استفاده نشود، mkdir خطای File exists error را نشان خواهد داد.

مثال: فرض کنید که می‌خواهید دایرکتوری mkdir payadir که از قبل نیز وجود داشته است را بسازید، در آن صورت باید دستور زیر را وارد کنید:

mkdir payadir

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

mkdir: cannot create directory ‘payadir’: File exists

تنظیم مجوزهای دایرکتوری

روش تنظیم مجوزها هنگام ایجاد دایرکتوری

اگر می‌خواهید دایرکتوری‌هایی ایجاد کنید که نیاز به مجوزهای خاص دارد، می‌توانید از گزینه -m (-mode) استفاده کنید. نحوه اختصاص دادن مجوزها همانند دستور العمل در دستور chmod است.

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

mkdir -m 700 payadir

هنگامی که از گزینه -m استفاده نمی‌شود، در آن صورت دایرکتوری‌هایی که تازه ایجاد شده‌اند، بسته به مقدار umask، معمولا دارای مجوزهای 755 یا 775 هستند.

ایجاد چند دایرکتوری

روش ایجاد چندین دایرکتوری

برای ایجاد چندین دایرکتوری ، نام فهرست ها را به عنوان آرگومان های فرمان ، در فاصله‌های جدا از هم مشخص کنید. همانند چیزی که در دستور زیر مشاهده می‌کنید:

mkdir dir1 dir2 dir3

همچنین دستور mkdir به شما این امکان را می‌دهد تا بتوانید یک دایرکتوری پیچیده Tree را تنها با استفاده از یک خط فرمان ایجاد کنید:

mkdir -p Music / {Jazz / Blues، Folk، Disco، Rock / {Gothic، Punk، Progressive، Classic / Baroque / Early

دستوری که در بالا آورده شد، دایرکتوری tree زیر را ایجاد خواهد کرد:

Music/

|– Classical

| `– Baroque

| `– Early

|– Disco

|– Folk

|– Jazz

| `– Blues

`– Rock

|– Gothic

|– Progressive

`– Punk

ساخت دایرکتوری لینوکس توسط دستورات لینوکس و عوامل بسیار مهمی ایجاد می شود، که آن نشان دهنده این موضوع می‌باشد که این فرآیند از اهمیت بالایی برخوردار بوده است.

سوالات متداول

سوالات متداولی در رابطه با ساخت دایرکتوری در لینوکس وجود دارد که در ادامه به مهم‌ترین آن‌ها خواهیم پرداخت.

جدول فرمان

فرمان
این خط فرمان نام یک یا چند دایرکتوری را از آرگومان خود می‌گیرد.mkdir [OPTION] [DIRECTORY]
انتقال نام فهرستmkdir payadir
تایید دایرکتوری
با خط فرمان Is
Is-I
ایجاد دایرکتوری در یک مکان دیگر
دایرکتوری جدیدی را در /tmp directory ایجاد کنیدmkdir /tmp/payadir
mkdir /root/payadir
برای هر دایرکتوری جدید ساخته شده، پیام ارسال شود.-v (–verbose) به mkdir
ایجاد دایرکتوری parent
ایجاد دایرکتوری فقط در صورت وجود نداشتن آن
mkdir -p
دایرکتوری /home/linuxize/Music/Rock/Gothic را ایجادmkdir -p / home / linuxize / Music / Rock / Gothic
دایرکتوری جدید با مجوز mkdir -m
دایرکتوری جدید با مجوز 700mkdir -m 700 payadir
ایجاد چندین دایرکتوریmkdir dir1 dir2 dir3

منابع:

wpwebmaster

پارس پک