রিদওয়ান বিন শামীম
ইউনিক্সে সব ডাটা ফাইলে সজ্জিত থাকে। সব ফাইল ডিরেক্টরিতে সাজানো থাকে। আবার সেই ডিরেক্টরি একটা ট্রি-মতন কাঠামো, যার নাম ফাইল সিস্টেম, এতে সাজানো থাকে। ইউনিক্সে কাজ করার সময় পুরো সময়টা কোনও না কোনও ফাইল নিয়ে কাজ করতে হয়। এই টিউটোরিয়ালে দেখানো হবে কীভাবে ফাইল তৈরি ও মোছা, কপি ও রিনেম আর কীভাবে এতে লিঙ্ক স্থাপন করা হয়।
ইউনিক্সে তিন ধরণের ফাইল দেখা যায়,
- সাধারণ ফাইল
- ডিরেক্টরি
- স্পেশাল ফাইল
ফাইল লিস্ট করা
এই কম্যান্ড ব্যবহার করে ফাইল লিস্ট করা যায়,
$ls
যার সাধারণ আউটপুট এরকম হতে পারে,
$ls bin hosts lib res.03 ch07 hw1 pub test_results ch07.bak hw2 res.01 users docs hw3 res.02 work
ls কম্যান্ড –l অপশন সমর্থন করে, যা থেকে লিস্টেড ফাইল সম্পর্কে আরও ভালভাবে জানা যায়,
$ls -l
total 1962188
drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml
-rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpg
drwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univ
drwxr-xr-x 2 root root 4096 Dec 9 2007 urlspedia
-rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tar
drwxr-xr-x 8 root root 4096 Nov 25 2007 usr
drwxr-xr-x 2 200 300 4096 Nov 25 2007 webthumb-1.01
-rwxr-xr-x 1 root root 3192 Nov 25 2007 webthumb.php
-rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar
-rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid
-rw-rw-r-- 1 amrood amrood 166255 Aug 9 2007 yourfile.swf
drwxr-xr-x 11 amrood amrood 4096 May 29 2007 zlib-1.2.3
$
ফাইল লাইন প্রেফিক্সের মাধ্যমে শুরু হয়, যা থেকে ফাইল টাইপ সম্পর্কে ধারণা করা যায়।
প্রেফিক্স |
- |
b |
c |
d |
l |
p |
s |
মেটা ক্যারেক্টার
ইউনিক্সে মেটাক্যারেক্টারের বিশেষ অর্থ থাকে, যেমন,
$ls ch*.doc
এটি এমন ফাইল দেখায় যাদের নামের শুরু ch ও শেষ .doc দিয়ে,
ch01-1.doc ch010.doc ch02.doc ch03-2.doc ch04-1.doc ch040.doc ch05.doc ch06-2.doc ch01-2.doc ch02-1.doc c
সব ফাইল .doc দিয়ে শেষ করাতে কম্যান্ড ব্যবহার করতে পারি,
$ls*.doc
হিডেন ফাইল
এদের প্রথম ক্যারেক্টার dot বা period character (.), এরকম ফাইলের কিছু কমন উদাহরণ,
- .profile
- .kshrc
- .cshrc
- .rhosts
এসব ফাইল লিস্ট করতে ls −তে -a অপশন স্পেসিফাই করতে হবে,
$ ls -a . .profile docs lib test_results .. .rhosts hosts pub users .emacs bin hw1 res.01 work .exrc ch07 hw2 res.02 .kshrc ch07.bak hw3 res.03 $
- Single dot . মানে কারেন্ট ডিরেক্টরি
- Double dot .. মানে প্যারেন্ট ডিরেক্টরি
ফাইল তৈরি করা
ইউনিক্স সিস্টেমে সাধারণ ফাইল তৈরি করতে vi এডিটর ব্যবহার করা যায়, এই কম্যান্ড ব্যবহার করে।
$ vi filename
এডিট মোডে ফাইলে কন্টেন্ট লেখার জন্য কম্যান্ড,
This is unix file....I created it for the first time.....
I'm going to save this content in this file.
এডিট মোড থেকে বেরুতেesc এবং ফাইল থেকেই বেরিয়ে আসতেShift + ZZ একসাথে চাপতে হয়।
কারেন্ট ডিরেক্টরিতে filename সহ ফাইল তৈরি করতে,
$ vi filename $
ফাইল এডিট করতে
এজন্য যে কম্যান্ড ব্যবহার করতে পারি তা হল,
$ vi filename
ফাইলের কন্টেন্ট ডিসপ্লে করা
cat কম্যান্ড ব্যবহার করে আমরা এটি করতে পারি,
$ cat filename This is unix file....I created it for the first time..... I'm going to save this content in this file. $
cat কম্যান্ডের সাথে -b অপশন ব্যবহার করে লাইন নাম্বার পেতে পারি,
$ cat -b filename 1 This is unix file....I created it for the first time..... 2 I'm going to save this content in this file. $
ফাইলের শব্দ গণনা করা
এজন্য wc কম্যান্ড ব্যবহার করতে হয়,
$ wc filename 2 19 103 filename $
মাল্টিপল ফাইলের ক্ষেত্রে এটি হবে,
$ wc filename1 filename2 filename3
ফাইল কপি করা
cp কম্যান্ড ব্যবহার করে আমরা ফাইল কপি করতে পারি,
$ cp source_file destination_file
filename নামের বিদ্যমান ফাইলের ক্ষেত্রে,
$ cp filename copyfile $
ফাইল রিনেম করা
mv কম্যান্ড ব্যবহার করে আমরা ফাইলের নাম রিনেম করতে পারি।
$ mv old_file new_file
উদাহরণঃ filename কে newfile এ রিনেম করতে কম্যান্ড,
$ mv filename newfile $
ফাইল ডিলিট করতে
ফাইল ডিলিট করতে rm কম্যান্ড ব্যবহার করতে পারি।এর বেসিক সিনট্যাক্স হল,
$ rm filename
যেমন, filename নামের ফাইল ডিলিট করতে কম্যান্ড,
$ rm filename $
কয়েকটি ফাইল একসাথে ডিলিট করতে কম্যান্ড
$ rm filename1 filename2 filename3 $
আদর্শ ইউনিক্স স্ট্রিম
নরমাল অবস্থায় আদর্শ ইউনিক্সে তিনটি স্ট্রিম দেখা যায়,
- stdin
- stdout
- stderr