আমি কীভাবে লিনাক্সে কোনও ফাইল সিলেট করতে পারি? [বন্ধ]


1937

আমি লিনাক্সে প্রতীকী লিঙ্ক তৈরি করতে চাই। আমি এই বাশ কমান্ডটি লিখেছি যেখানে প্রথম পথটি ফোল্ডারে আমি লিঙ্কটি চাই এবং দ্বিতীয় পথটি সংকলিত উত্স।

ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal 

এটা কি সঠিক?


আপনার সম্ভবত এই প্রশ্নটি unix.stackex بدل
গাস

উত্তর:


3676

একটি নতুন সিমলিংক তৈরি করতে (যদি ইতিমধ্যে সিমিলিংক বিদ্যমান থাকে তবে ব্যর্থ হবে):

ln -s /path/to/file /path/to/symlink

একটি সিমিলিংক তৈরি বা আপডেট করতে:

ln -sf /path/to/file /path/to/symlink

381
@micapam lnসিনট্যাক্স সিনট্যাক্সের মতো cp, যেমন উত্স গন্তব্য
অ্যান্ড্রে

156
এখানে আপনার জন্য একটি স্মৃতিচারণমূলক বিষয় রয়েছে: l (i) n (k) -s (ymbolic) <target> <alচ্ছিক নাম> (শেষ প্যারামিটারটি alচ্ছিক এটি আপনাকে লক্ষ্যমাত্রা নয় এটি নির্ধারণে সহায়তা করে) (বিটিডব্লিউ বাইরে রেখে সিমলিংকের পথে বর্তমান ডিরেক্টরিতে লক্ষ্য হিসাবে একই
বেসনামের

32
@micapam ঠিক যেমন cpহয় CoPy, lnহয় LiNk। প্রথম এবং তৃতীয় অক্ষর।
কোল জনসন

68
এটি আমার পক্ষে কেন কাজ করে না তা জানার চেষ্টা করে কয়েক মিনিট সময় ব্যয় করেছি। এটি একটি স্ব-লুপযুক্ত লিঙ্ক তৈরি করেছে। দেখে মনে হচ্ছে যে / পাথ / টু / ফাইলটি অবশ্যই "বর্তমান ফোল্ডার" এর সাথে সম্পর্কিত নয় not উত্তরে সম্ভবত এটি উল্লেখ করুন?
অভিষেক আনন্দ

52
@AbhishekAnand এটি একটি দম্পতি বছর ধরে আপনাদের মাঝে, কিন্তু আমি শুধু মনে রাখবেন যে ছেড়ে চলে যেতে চেয়েছিলেন না আপেক্ষিক পাথ সঙ্গে কাজ; এটি কেবলমাত্র বর্তমান ডিরেক্টরি নয় ফলাফল হিসাবে প্রতীকী লিঙ্কের ডিরেক্টরি সম্পর্কিত হতে হবে। আপনি প্রথম পাথ আর্গুমেন্ট হিসাবে যা লিখছেন তা আসলে শব্দচরিত, যে পাঠ্যটি প্রতীকী লিঙ্কের অভ্যন্তরে থাকবে; সে কারণেই, যখন এটি সম্পর্কিত, এটি অবশ্যই লিঙ্কের সাথে আপেক্ষিক হওয়া উচিত।
JoL

302
ln -s TARGET LINK_NAME

যেখানে -sএটি প্রতীকী করে তোলে।


2
TARGET এবং LINKNAME মনে রাখার আরও ভাল উপায়। সিমলিংকের ব্যবহার মুছতে বিটিডব্লিউ:unlink LINK_NAME
সিলভান

31
আমি এটা ফ্রেজ এই ভাবে করতে চান: ln -s where-the-symlink-should-point where-to-place-the-symlink-itself
টটিমেডলি

@ সিলভান আপনি এর মাধ্যমে একটি সিমিলিংক মুছতে পারেন rm, তবে বেশিরভাগ লোকেরা এই পেছনটি সরাতে জানেন না /
ফ্রিসফটওয়্যার সার্ভার

288
ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME

2
গৃহীত উত্তরের চেয়ে ভাল এবং দ্ব্যর্থহীন ব্রেভটি দিয়ে coveredাকা।
জোশ হাবদাস

3
এটি বাদে নতুন সিমলিংকের নাম নয়। নাম সহ নতুন সিমলিংকের জন্য এটি নাম বা একটি পূর্ণ পথ (কার দির বা পরম সম্পর্কিত)।
ডেভিড স্পেকটার

ln -s EXISTING_FILE_OR_DIRECTORY / / Y SYMLINK_NAME এর alচ্ছিক পথ এবং এটি কোনও ডিরেক্টরি নয় বলে
সিমলিংকে


88

(কারণ একটি এএসসিআইআই ছবি এক হাজার অক্ষরের মূল্যবান))

একটি তীর একটি সহায়ক স্মৃতিবিজ্ঞান হতে পারে, বিশেষত যেহেতু এটি ইমাক্সের ক্লান্তিতে দেখতে প্রায় একই রকম।

এবং বড় ছবি যাতে আপনি এটি উইন্ডোজ সংস্করণে বিভ্রান্ত না হন

লিনাক্স:

ln -s target <- linkName

উইন্ডোজ:

mklink linkName -> target

আপনি এই হিসাবে তাকান পারে

ln -s "to-here" <- "from-here"
mklink "from-here" -> "to-here"

from-hereএখনও বিদ্যমান উচিত নয়, এটা তৈরি করা হয়, যখন to-hereইতিমধ্যে বিদ্যমান উচিত (IIRC)।

(বিভিন্ন কমান্ড এবং যুক্তিগুলির একটি প্রাক-বিদ্যমান অবস্থান জড়িত হওয়া উচিত, বা একটি তৈরি করা উচিত কিনা তা সম্পর্কে আমি সর্বদা মিশে থাকি))

সম্পাদনা: এটি এখনও আমার জন্য ধীরে ধীরে ডুবে যাচ্ছে; আমি আমার নোটে অন্যভাবে লিখেছি।

ln -s (target exists) (link is made)
mklink (link is made) (target exists)

ইমাক্স-এ dired, এটি অত্যন্ত সহজ, আপনি যখন আপনার টার্গেটের উপরে কার্সার রেখেছেন, চাপুন Sএবং যে ডিরেক্টরিটি আপনি লিঙ্কটি তৈরি করতে চান সেখানে টাইপ করুন। পছন্দসই ফলাফলটি কল্পনা এবং টাইপিংয়ের মধ্যে ব্যবধানটি হ্রাস করে। Gnu.org/software/emacs/manual/html_node/emacs/… দেখুন ।
ব্র্যাডি ট্রেনার

2
আমার স্মৃতিচারণা চালু রয়েছে: ln -s মূল নিউফিল (সিমিলিংক)
রোবস্টারবাক

এটি আমার জন্য কাজ করেছে
হায়দার আলী


22

মূল প্রশ্নের কাছে:


'ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal'

নিশ্চয় এটা এক তৈরি করবে সিম্বলিক লিঙ্ক ( -sফাইল / ডিরেক্টরি থেকে):

<basebuild>/IpDome-kernel/kernel

আপনার নতুন লিঙ্কে

/home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal

আপনাকে মনে রাখতে সহায়তা করার কয়েকটি উপায় এখানে রইল:

প্রথমত, এর জন্য ম্যান পৃষ্ঠা রয়েছেln । আপনি গুগলে "ম্যান এলএন" অনুসন্ধানের মাধ্যমে এটি অ্যাক্সেস করতে পারেন, বা কেবলমাত্র একটি টার্মিনাল উইন্ডোটি খুলুন এবং টাইপ করুন man lnএবং আপনি একই তথ্য পাবেন। ম্যান পেজটি পরিষ্কারভাবে বলেছে:

ln [বিকল্প] ... [-T] টার্গেট লিঙ্ক_NAME (1 ম ফর্ম)


যদি প্রতিবার কোনও ম্যান পেজ সন্ধান করতে বা পড়তে হয় তা আপনার পক্ষে না হয়, সম্ভবত আপনার নিক্সের আরও সহজ সময় মনে আছে যে সমস্ত নিক্স আদেশ একইভাবে কাজ করে:

cp /file/that/exists /location/for/new/file
mv /file/that/exists /location/its/moving/to
ln /file/that/exists /the/new/link

cp বর্তমানে বিদ্যমান এমন একটি ফাইল অনুলিপি করে (প্রথম যুক্তি) একটি নতুন ফাইলে (দ্বিতীয় যুক্তি)।
mv বর্তমানে উপস্থিত একটি ফাইল (প্রথম যুক্তি) একটি নতুন জায়গায় (দ্বিতীয় যুক্তি) স্থানান্তরিত করে

তেমনি lnবর্তমানে বিদ্যমান একটি ফাইলকে (প্রথম যুক্তি) একটি নতুন লিঙ্কের সাথে যুক্ত করেছে (দ্বিতীয় যুক্তি) *


চূড়ান্ত বিকল্পটি আমি বলতে চাই যে আপনি নিজের ম্যান পৃষ্ঠাগুলি তৈরি করতে পারেন যা সহজেই সহজেই পড়তে পারে এবং (আপনার জন্য) সন্ধান / মনে রাখতে পারা যায়। কেবলমাত্র একটি সাধারণ শেল স্ক্রিপ্ট তৈরি করুন যা আপনাকে আপনার প্রয়োজনীয় ইঙ্গিতটি দেয়। উদাহরণস্বরূপ :

আপনার .bash_aliases ফাইলে আপনি এর মতো কিছু রাখতে পারেন:

commandsfx() {
    echo "Symlink:  ln -s /path/to/file /path/to/symlink"
    echo "Copy:     cp /file/to/copy /destination/to/send/copy"
}

alias 'cmds'=commandsfx

তারপরে আপনার যখন এটির প্রয়োজন হবে, কমান্ড লাইন থেকে কেবল টাইপ করুন cmdsএবং আপনি এটি সঠিকভাবে বাক্যটি ফিরে পাবেন যাতে আপনি এটি দ্রুত পড়তে এবং বুঝতে পারবেন। আপনি এই ফাংশনগুলিকে যতটা উন্নত করতে পারেন আপনি কী তথ্য প্রয়োজন তা পেতে চান এটি আপনার উপর নির্ভর করে। এমনকি আপনি সেগুলি ইন্টারেক্টিভও করতে পারেন তাই আপনাকে কেবল অনুরোধগুলি অনুসরণ করতে হবে .. এরকম কিছু:

makesymlink() {
    echo "Symlink name:"
    read sym
    echo "File to link to:"
    read fil
    ln -s $fil $sym
}

alias 'symlink'=makesymlink

* - ভাল স্পষ্টত তারা সবাই বিভিন্ন প্যারামিটার নিতে পারে এবং বিভিন্ন কাজ করতে পারে এবং ফাইলগুলির পাশাপাশি ডিরেক্টরিতেও কাজ করতে পারে ... তবে ভিত্তিটি একই
♦ - ব্যাশ শেল ব্যবহার করে উদাহরণ


18
ln [-Ffhinsv] source_file [target_file]

    link, ln -- make links

        -s    Create a symbolic link.

    A symbolic link contains the name of the file to which it is linked. 

    An ln command appeared in Version 1 AT&T UNIX.

16

লিনাক্সে সিম্বলিক লিঙ্ক বা সফট-লিঙ্ক তৈরি করা:

বাশ প্রম্পটটি খুলুন এবং আপনার ফাইলে প্রতীকী লিঙ্ক তৈরি করতে নীচের বর্ণিত কমান্ডটি টাইপ করুন:

ক) আপনি যে ফোল্ডারে নরম লিঙ্ক তৈরি করতে চান সেখানে যান এবং নীচের মতো কমান্ডটি টাইপআউট করুন :

$ ln -s (path-to-file) (symbolic-link-to-file)
$ ln -s /home/user/file new-file

খ) আপনার নতুন-ফাইলের নাম পথ এবং প্রকারটি পান :

$ ls -lrt (To see if the new-file is linked to the file or not)

উদাহরণ:

user@user-DT:[~/Desktop/soft]# ln -s /home/user/Desktop/soft/File_B /home/user/Desktop/soft/File_C
user@user-DT:[~/Desktop/soft]# ls -lrt
total 0
-rw-rw-r-- 1 user user  0 Dec 27 16:51 File_B
-rw-rw-r-- 1 user user  0 Dec 27 16:51 File_A
lrwxrwxrwx 1 user user 31 Dec 27 16:53 File_C -> /home/user/Desktop/soft/File_B


Note: Where, File_C -> /home/user/Desktop/soft/File_B  Means, File_C is symbolically linked to File_B

12

ln -s sourcepath linkpathname

বিঃদ্রঃ:

-s হার্ড লিঙ্কের পরিবর্তে প্রতীকী লিঙ্কগুলি তৈরি করে


11

আপনি যদি সেই ডিরেক্টরিতে থাকেন যেখানে আপনি সিমলিংক তৈরি করতে চান, তবে দ্বিতীয় পথটি উপেক্ষা করুন।

cd myfolder
ln -s target

এটি targetঅভ্যন্তরের সিমিলিংক তৈরি করবে myfolder

সাধারণ বাক্য গঠন

ln -s TARGET LINK_NAME

11

এটি স্ট্যাক ওভারফ্লো তাই আমি ধরে নিই যে আপনি কোড চান:

নিম্নলিখিত সমস্ত কোড অনুমান করে যে আপনি একটি প্রতীকী লিঙ্ক তৈরি করতে চান যেটির /tmp/linkলিঙ্কগুলি রয়েছে /tmp/realfile

সতর্কতা : যদিও এই কোডটি ত্রুটিগুলির জন্য যাচাই করে, এটি /tmp/realfileআসলে উপস্থিত কিনা তা যাচাই করে না ! এটি কারণ একটি মৃত লিঙ্কটি এখনও বৈধ এবং আপনার কোডের উপর নির্ভর করে আপনি (খুব কমই) আসল ফাইলের আগে লিঙ্কটি তৈরি করতে চাইতে পারেন।


শেল (ব্যাশ, জেডএস, ...)

#!/bin/sh
ln -s /tmp/realfile /tmp/link

বাস্তব সহজ, ঠিক যেমন আপনি এটি কমান্ড লাইনে করবেন (যা শেল)। সমস্ত ত্রুটি পরিচালনা পরিচালনা শেল ইন্টারপ্রেটার দ্বারা সম্পন্ন হয়। এই কোডটি ধরে নিয়েছে যে আপনার একটি কার্যকারী শেল ইন্টারপ্রেটার রয়েছে /bin/sh

যদি প্রয়োজন হয় আপনি এখনও $?ভেরিয়েবলটি ব্যবহার করে নিজের ত্রুটি পরিচালনার জন্য প্রয়োগ করতে পারেন যা লিঙ্কটি সফলভাবে তৈরি করা হয়েছিল কেবল তখন 0 তে সেট করা হবে।

সি এবং সি ++

#include <unistd.h>
#include <stdio.h>

int main () {
  if( symlink("/tmp/realfile", "/tmp/link") != 0 )
    perror("Can't create the symlink");
}

symlinkলিঙ্কটি তৈরি করা যেতে পারে কেবল তখন 0 প্রদান করে। অন্যান্য ক্ষেত্রে আমি ব্যবহার করছিperror সমস্যাটি সম্পর্কে আরও বলতে

পার্ল

#!/usr/bin/perl
if( symlink("/tmp/realfile", "/tmp/link") != 1) {
  print STDERR "Can't create the symlink: $!\n"
}

এই কোডটি ধরে নিয়েছে যে আপনার কাছে পার্ল 5 জন দোভাষী রয়েছে /usr/bin/perlsymlinkলিঙ্কটি তৈরি করা যেতে পারে তবেই 1 ফেরত দেয়। অন্যান্য ক্ষেত্রে আমি স্ট্যান্ডার্ড ত্রুটি আউটপুটটির ব্যর্থতার কারণ মুদ্রণ করছি।


1
ব্যাখ্যা যোগ করা হয়েছে, মৃত লিঙ্কগুলির জন্যও সতর্কতার একটি শব্দ। আমি এটির জন্য যাচাই করছি না, কারণ এটি অনুমান করা যায় না যে এটি চাওয়া হয়নি এবং কারণ ফাইললেটগুলি এখন আর বিষয়টিতে নেই
গারো

8

আমি ইতিমধ্যে উপস্থাপিত বর্ণনার একটি প্লেয়ার-ইংলিশ সংস্করণ উপস্থাপন করতে চাই।

 ln -s  /path-text/of-symbolic-link  /path/to/file-to-hold-that-text

"Ln" কমান্ড একটি লিঙ্ক-ফাইল তৈরি করে এবং "-s" উল্লেখ করে যে লিঙ্কের ধরণটি প্রতীকী হবে। প্রতীকী-লিংক ফাইলের একটি উদাহরণ একটি WINE ইনস্টলেশনে পাওয়া যাবে (ডিরেক্টরি সামগ্রীর একটি লাইন দেখানোর জন্য "ls -la" ব্যবহার করে):

 lrwxrwxrwx 1 me power 11 Jan  1 00:01 a: -> /mnt/floppy

স্ট্যান্ডার্ড ফাইল-তথ্য স্টাফগুলি বাম দিকে রয়েছে (যদিও নোট করুন যে প্রথম অক্ষরটি "লিঙ্ক" এর জন্য "l"); ফাইলের নাম "a:" এবং "->" ফাইলটি একটি লিঙ্ক বলেও নির্দেশ করে। এটি মূলত WINE কে জানায় যে উইন্ডোজ "ড্রাইভ এ:" কীভাবে লিনাক্সের ফ্লপি ড্রাইভের সাথে যুক্ত হতে হয়। আসলে এটির জন্য একটি সিম্বলিক লিঙ্ক তৈরি করতে (বর্তমান ডিরেক্টরিতে এবং WINE এর জন্য এটি করা আরও জটিল; "winecfg" ইউটিলিটি ব্যবহার করুন):

 ln -s  /mnt/floppy  a:   //will not work if file a: already exists

7

প্রতীকী লিঙ্ক / নরম লিঙ্ক তৈরি করতে, ব্যবহার করুন:

ln -s {source-filename} {symbolic-filename}

উদাহরণ:

ln -s file1 link1

4

লিঙ্ক দুই ধরনের হয়:

প্রতীকী লিঙ্কগুলি: অন্য কোনও ফাইলের বিমূর্ত অবস্থান নির্দেশ করে একটি প্রতীকী পথটি দেখুন

হার্ড লিঙ্ক: শারীরিক তথ্য নির্দিষ্ট অবস্থান দেখুন।

আপনার ক্ষেত্রে প্রতিলিপি:

ln -s source target

আপনি http://man7.org/linux/man-pages/man7/syMLink.7.html দেখুন

আপনি খুব শক্ত লিঙ্ক তৈরি করতে পারেন

একটি ফাইলের একটি হার্ড লিঙ্ক মূল ডিরেক্টরি এন্ট্রি থেকে পৃথক করা যায় না; কোনও ফাইলের যে কোনও পরিবর্তন ফাইলের রেফারেন্সের জন্য ব্যবহৃত নামের চেয়ে কার্যকরভাবে স্বতন্ত্র। হার্ড লিঙ্কগুলি সাধারণত ডিরেক্টরিগুলি উল্লেখ না করে এবং ফাইল সিস্টেম স্প্যান নাও করতে পারে।

ln source link

4

লিঙ্কগুলি মূলত দুটি ধরণের হয়:

প্রতীকী লিঙ্কগুলি (নরম): প্রতীকী পথের লিঙ্ক যা অন্য কোনও ফাইলের বিমূর্ত অবস্থান নির্দেশ করে

হার্ড লিঙ্ক: শারীরিক তথ্য নির্দিষ্ট অবস্থানের লিঙ্ক।

উদাহরণ 1:

ln /root/file1 /root/file2

উপরেরটি একটি হার্ড লিঙ্কের উদাহরণ যেখানে আপনি নিজের দৈহিক ডেটার একটি অনুলিপি রাখতে পারেন।

উদাহরণ 2:

ln -s /path/to/file1.txt /path/to/file2.txt

উপরের কমান্ডটি file1.txt- তে একটি প্রতীকী লিঙ্ক তৈরি করবে।

আপনি যদি কোনও উত্স ফাইল মুছতে থাকেন তবে আপনার কাছে গন্তব্যে কিছু থাকবে না নরম।

যখন তুমি কর:

ls -lai

আপনি দেখতে পাবেন যে সিমলিংকের জন্য আলাদা একটি ইনোড নম্বর রয়েছে।

আরও তথ্যের জন্য, আপনি আপনার লিনাক্স ওএসে ln এর ম্যান পৃষ্ঠাটি পড়তে পারেন।


hard link where you can have a copy of your physical data- আমি মনে করি আমরা শারীরিক ডেটার অনুলিপি তৈরি করি না । একই শারীরিক তথ্যের জন্য অন্য একটি নাম।
আলেকজান্ডার র‌্যাডচেনকো

3

লোকটির তথ্যে আমি "টার্গেটগুলি" এবং "ডিরেক্টরি" এর পরিভাষাগুলি কিছুটা বিভ্রান্ত দেখতে পাই।

লক্ষ্যটি হ'ল আমরা যে ফোল্ডারে সিলেক্ট করছি এবং ডিরেক্টরিটি প্রকৃত সিমলিংক (যে ডিরেক্টরিটি আপনি সিমিলিং করবেন সেটি নয়), যদি কেউ একই বিভ্রান্তির সম্মুখীন হন তবে একা অনুভব করবেন না।

এটি একটি সিমিলিংক তৈরি করার আমার ব্যাখ্যা (লিনাক্সে):

ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK

আপনি যে ফোল্ডারে সিমলিংক তৈরি করতে চান এবং কমান্ডটি চালাতে চান বা NAME-OF-YOUR-SYMLINK এর পরিবর্তে আপনার সিমিলিঙ্কের জন্য পূর্ণ পথ নির্দিষ্ট করতে পারেন You

cd /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER
ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK

অথবা

ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER/NAME-OF-YOUR-SYMLINK

আমি আশা করি এটি তাদের (এখনও) স্বল্প বিভ্রান্তিতে সহায়তা করে।


-2

কীভাবে সিভিলিং তৈরি করবেন ভিজেন্টে। পদক্ষেপ:

  1. অসম্পূর্ণ ফাইলটিতে একটি সিঙ্কযুক্ত ফোল্ডার তৈরি করুন। উদাহরণস্বরূপ config.vm.synced_folder "এফ: / সানবার্স্ট / উত্স / সানবার্স্ট / এলএমএস", "/ উত্স" এফ: / সানবার্স্ট / উত্স / সানবার্স্ট / এলএমএস: - যেখানে উত্স কোড, / উত্স: - যোজনীর ভিতরে ডিরেক্টরি পথ
  2. ভ্যাগ্রান্ট আপ এবং ভ্যাগ্র্যান্ট এসএস টাইপ করুন এবং উত্স ডিরেক্টরিতে যান যেমন সিডি উত্স
  3. আপনার উত্স কোড যাচাই করুন ফোল্ডার কাঠামো উত্স ডিরেক্টরিতে উপলব্ধ। যেমন / উত্স / স্থানীয়
  4. তারপরে অতিথি মেশিন ডিরেক্টরিতে যান যেখানে ব্রাউজারের সাথে সংযুক্ত ফাইলগুলি। ফাইল ব্যাকআপ পরে। যেমন সুডো এমভি স্থানীয় স্থানীয়_ বি কে
  5. তারপরে সিমিলিংক তৈরি করুন যেমন sudo ln -s / উত্স / স্থানীয় স্থানীয়। স্থানীয় মানে লিংক-নাম (অতিথি মেশিনে ফোল্ডারের নাম যা আপনি লিঙ্ক করতে যাচ্ছেন) আপনার যদি সিমিলেঙ্ক অপসারণ করতে হয়: - sudo rm স্থানীয় টাইপ করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.