শনিবার, ২১ ফেব্রুয়ারী, ২০১৫

প্রতিদিন একটু লিনাক্সঃ ls

·   0


ls মানে List Directory Content, এই কমান্ড দিয়ে কোন ডিরেক্টরির ভেতর থাকা ফাইল বা ডিরেক্টরি (মানে ফোল্ডার!) সম্পর্কে ইনফরমেশন জানা যায়। যেমন- যে ডিরেক্টরিতে আছ তার ভেতরের ফাইল, ডিরেক্টরির লিস্ট পেতে-
1
2
$ ls
bin dev home lost+found mnt proc sbin srv swapfile tmp var boot etc lib media opt root selinux swap sys usr
(উপরের উদাহরণে আমি রুট ডিরেক্টরিতে আছি, তাই রুটে থাকা ফাইল/ডিরেক্টরি দেখাচ্ছে)| আবার ls -l কমান্ড দিলে ফাইল/ডিরেক্টরির নাম, সাইজ, শেষ মডিফাইড তারিখ-সময়, ফাইল ওনার, পারমিশন এগুলো পাওয়া যায়
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ls -l
total 3145824
dr--r-xr-x  2 root root       4096 Sep 29 04:54 bin
dr-xr-xr-x  4 root root       4096 Sep 29 04:54 boot
drw-r-xr-x 15 root root       3400 Oct  1 03:14 dev
drwxr-xr-x 66 root root       4096 Oct  1 04:07 etc
drwxr-xr-x  3 root root       4096 Sep 29 04:56 home
dr-xr-xr-x 14 root root      12288 Sep 29 05:40 lib
drwx------  2 root root      16384 Mar  9  2013 lost+found
d-w-r-xr-x  2 root root       4096 Sep 23  2011 media
drwxr--r-x  2 root root       4096 Sep 23  2011 mnt
dr-xr-xr-x  2 root root       4096 Sep 23  2011 opt
dr-xr-xr-x 96 root root          0 Oct  1 03:14 proc
dr-xr-x---  6 root root       4096 Oct  5 17:58 root
dr-xr-xr-x  2 root root       4096 Sep 29 04:54 sbin
drwxr-xr-x  2 root root       4096 Sep 23  2011 selinux
drwxr-xr-x  2 root root       4096 Sep 23  2011 srv
-rw-------  1 root root 2147483648 Sep 30 10:21 swap
-rw-r--r--  1 root root 1073741824 Sep 29 16:49 swapfile
dr-xr-xr-x 13 root root          0 Oct  1 03:14 sys
drwxrwxrwt  5 root root       4096 Oct  5 17:54 tmp
drwxr-xr-x 12 root root       4096 Mar  9  2013 usr
drwxr-xr-x 19 root root       4096 Sep 29 05:01 var
ব্যাখ্যাঃ কলাম এ আছে ফাইল পারমিশন। পরের কলামে আছে এই ফাইল/ডিরেক্টরির কতগুলো লিংক আছে-সেটা। কেউ যদি অন্য ডিরেক্টরিতে কিছু শর্টকাট করে রাখে তাহলে এই নাম্বারটাও সেভাবে বেড়ে যাবে। পরের কলামে আছে ফাইল ওনার- মানে যে ফাইলটা তৈরি করেছে (চাইলে অবশ্য ওনার পরিবর্তন করা যায়)| এর পর আছে ইউসার গ্রুপ- মানে ফাইল/ডিরেক্টরিটা কোন ইউসার গ্রুপে পড়েছে। লিনাক্সে অনেকগুলো ইউসার নিয়ে ইউসার গ্রুপ বানানো যায় যাদের কমন কিছু ফাইল পারমিশন থাকে। এরপর আছে শেষ মডিফাই করার সময়, তারিখ, মাস। সবশেষে ফাইল/ডিরেক্টরির নাম।
এক লাইনে একটা করে এনট্রি পেতে,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ls -1
bin
boot
dev
etc
home
lib
lost+found
media
mnt
opt
proc
root
sbin
selinux
srv
swap
swapfile
sys
tmp
usr
var
www
হিডেন ফাইলসহ লিস্ট পেতে,
1
2
3
4
$ ls -a
.          .autorelabel  dev   lib         mnt   root     srv       sys  var
..         bin           etc   lost+found  opt   sbin     swap      tmp
.autofsck  boot          home  media       proc  selinux  swapfile  usr
বলে রাখি, লিনাক্সে হিডেন ফাইলের আগে একটা . থাকে।
ফাইল সাইজ হিউম্যান রিডেবল ফরম্যাটে পেতে,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ ls -lh
total 3.1G
dr-xr-xr-x  2 root root 4.0K Sep 29 04:54 bin
dr-xr-x--x  4 root root 4.0K Sep 29 04:54 boot
dr-xr-xr-x 15 root root 3.4K Oct  1 03:14 dev
d-wxr-xr-x 66 root root 4.0K Oct  1 04:07 etc
drwxr-xr-x  3 root root 4.0K Sep 29 04:56 home
dr--r-xr-x 14 root root  12K Sep 29 05:40 lib
drwx------  2 root root  16K Mar  9  2013 lost+found
dr-xr-xr-x  2 root root 4.0K Sep 23  2011 media
dr-xr-xr-x  2 root root 4.0K Sep 23  2011 mnt
dr-xr-xr-x  2 root root 4.0K Sep 23  2011 opt
dr-xr-xr-x 86 root root    0 Oct  1 03:14 proc
dr-xr-x---  6 root root 4.0K Oct  5 17:58 root
dr--r-xr-x  2 root root 4.0K Sep 29 04:54 sbin
drw-r-xr-x  2 root root 4.0K Sep 23  2011 selinux
dr-xr-xr-x  2 root root 4.0K Sep 23  2011 srv
-rw-------  1 root root 2.0G Sep 30 10:21 swap
-rw-r--r--  1 root root 1.0G Sep 29 16:49 swapfile
drwxr-xr-x 13 root root    0 Oct  1 03:14 sys
drw-r-x--t  5 root root 4.0K Oct  6 03:49 tmp
dr-xr-xr-x 12 root root 4.0K Mar  9  2013 usr
dr-xr-xr-x 19 root root 4.0K Sep 29 05:01 var
একটা ডিরেক্টরির ভেতরের সব ফাইল, ফোল্ডার এর লিস্ট পেতে
1
2
3
4
5
6
7
8
9
10
$ ls -R tmp/
tmp/:
alpha  beta  file1  file2  file3  gamma
tmp/alpha:
file1  file2  file3
tmp/beta:
tmp/gamma:
উপরের উদাহরনে tmp নামের একটা ডিরেক্টরির ভেতরে থাকা ফাইল, ফোল্ডারগুলো লিস্ট করা হয়েছে।
আরো বিস্তারিত জানতে,
1
$ ls --help