تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

خط فرمان لینوکس – نمونه‌هایی از دستکاری فایل

بیایید یک زمین بازی بسازیم

از آنجایی که می‌خواهیم تعدادی دستکاری فایل واقعی انجام دهیم، بیایید یک مکان ایمن برای “بازی” با دستورات دستکاری فایل‌مان ایجاد کنیم. ابتدا ما به یک دایرکتوری برای کار نیاز داریم. ما یکی در دایرکتوری خانه خود ایجاد می‌کنیم و نام آن را playground (به معنای زمین بازی) می‌گذاریم.

ایجاد دایرکتوری ها

دستور mkdir برای ایجاد دایرکتوری استفاده می‌شود. برای ساختن دایرکتوری playground مان، ابتدا مطمئن می‌شویم که در دایرکتوری خانه خود هستیم و سپس دایرکتوری جدید را ایجاد می‌کنیم.

[me@linuxbox ~]$ cd
[me@linuxbox ~]$ mkdir playground

برای اینکه زمین بازی مان کمی جالب‌تر شود، بیایید چند دایرکتوری داخل آن به نام‌های dir1 و dir2 ایجاد کنیم. برای این منظور، دایرکتوری کاری فعلی خود را به playground تغییر می‌دهیم و mkdir دیگری را اجرا می‌کنیم.

[me@linuxbox ~]$ cd playground
[me@linuxbox playground]$ mkdir dir1 dir2

توجه داشته باشید دستور mkdir چند آرگومان قبول می‌کند که (این موضوع) به ما اجازه می‌دهد هر دو دایرکتوری را با یک دستور واحد ایجاد کنیم.

کپی کردن فایل ها

سپس، بیایید مقداری داده به زمین بازی‌مان وارد کنیم. ما این کار را با کپی کردن یک فایل انجام خواهیم داد. با استفاده از دستور cp، فایل passwd را از دایرکتوری /etc به دایرکتوری کاری فعلی کپی می‌کنیم.

[me@linuxbox playground]$ cp /etc/passwd .

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

[me@linuxbox playground]$ ls -l
total 12
drwxrwxr-x 2 me me 4096 2018-01-10 16:40 dir1
drwxrwxr-x 2 me me 4096 2018-01-10 16:40 dir2
-rw-r--r-- 1 me me 1650 2018-01-10 16:07 passwd

اکنون، فقط برای سرگرمی، بیایید کپی را با استفاده از آپشن "-v" (درازنویسی یا verbose) تکرار کنیم تا ببینیم چه می‌کند.

[me@linuxbox playground]$ cp -v /etc/passwd .
`/etc/passwd' -> `./passwd' 

دستور cp مجددا کپی را انجام داد، اما این بار یک پیام کوتاه نمایش داد که می‌گفت در حال انجام چه عملی است. توجه داشته باشید که cp نسخه اول را بدون هیچ هشداری بازنویسی کرد. باز هم این یک مورد (مرتبط با) cp است که فرض می‌کند ما می‌دانیم داریم چه کار می‌کنیم. برای دریافت هشدار، آپشن "-i" (تعاملی یا interactive) را اضافه می‌کنیم.

[me@linuxbox playground]$ cp -i /etc/passwd .
cp: overwrite `./passwd'?

پاسخ دادن به درخواست با وارد کردن y باعث می‌شود فایل بازنویسی شود، هر کاراکتر دیگری (برای مثال n) باعث می‌شود cp فایل را به حال خود رها کند.

جابجایی و تغییر نام فایل ها

اکنون، نام passwd زیاد بازیگوشانه به نظر نمی‌رسد و اینجا یک زمین بازی است پس بیایید به چیز دیگری تغییرش دهیم.

[me@linuxbox playground]$ mv passwd fun

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

[me@linuxbox playground]$ mv fun dir1

سپس مورد زیر آن را از dir1 به dir2 منتقل می‌کند:

[me@linuxbox playground]$ mv dir1/fun dir2

در پایان، مورد زیر آن را به دایرکتوری کاری فعلی برمی‌گرداند:

[me@linuxbox playground]$ mv dir2/fun .

در ادامه، بیایید تأثیر mv را روی دایرکتوری ها ببینیم. ابتدا فایل داده خود را دوباره به dir1 منتقل می‌کنیم، مشابه این:

[me@linuxbox playground]$ mv fun dir1

سپس dir1 را به dir2 منتقل می‌کنیم و آن را با ls تایید می‌کنیم.

[me@linuxbox playground]$ mv dir1 dir2
[me@linuxbox playground]$ ls -l dir2
total 4
drwxrwxr-x 2 me me 4096 2018-01-11 06:06 dir1
[me@linuxbox playground]$ ls -l dir2/dir1
total 4
-rw-r--r-- 1 me me 1650 2018-01-10 16:33 fun

توجه داشته باشید از آنجایی که dir2 پیش از این وجود داشته است، mv (دایرکتوری) dir1 را به dir2 منتقل کرد. اگر dir2 وجود نداشت، mv نام dir1 را به dir2 تغییر می‌داد. در نهایت، بیایید همه چیز را به قبل برگردانیم.

[me@linuxbox playground]$ mv dir2/dir1 .
[me@linuxbox playground]$ mv dir1/fun .

متن بالا بخشی از ترجمه کتاب The Linux Command Line (به فارسی: خط فرمان لینوکس) نوشته William Shotts است که نسخه اصلی آن از طریق وبسایت رسمی کتاب (https://linuxcommand.org) قابل دسترسی است. (فهرست مطالب کتاب خط فرمان لینوکس).

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *