NAME ln -- make a link
SYNOPSIS ln name1[ name2 ]
DESCRIPTION ln creates a link to an existing file name1.
If name2 is given, the link has that name;
1971 থেকে ইউনিক্স প্রথম সংস্করণ ম্যানুয়াল ।
একটি দ্বিতীয় , সরল, বাক্য গঠন ফর্ম রয়েছে।
সম্পাদনা: আমি লক্ষ্য পরিবর্তে ফাইল বা জন্য FILENAME করা --- মন্তব্য দেখতে ইত্যাদি এছাড়াও নীচে খুব দীর্ঘ উপরন্তু দেখুন, অ্যাড্রেসিং হিমশৈল, হার্ড নরম এর ln
শুধু এটা ডগা।
সুতরাং জিএনইউতে ln
এটি রয়েছে:
ln [opt] FILENAME
In the 2nd form, create a link to FILENAME in the current directory.
যেখানে আপনার লিঙ্কটির প্রয়োজন নেই। ln -s /usr/lib/modules
আপনি একটি পরে
modules -> /usr/lib/modules
ঠিক যেখানেই আপনি রয়েছেন FILENAME ("টার্গেট" বা "উত্স") হিসাবে একই নামের সাথে। কোন পছন্দ, কোন বিভ্রান্তি নেই।
এখন আপনি যদি বেশি দাবি করে থাকেন এবং অন্য নামে এবং / অথবা অন্য কোথাও লিঙ্কটি তৈরি করতে চান , আপনি সেই ইচ্ছাটিকে নাম বা পথ হিসাবে যুক্ত করুন । আসল লক্ষ্যটি প্রথম আসে, অতিরিক্ত কল্পনার নতুন লিঙ্কের নাম দ্বিতীয়।
অথবা আপনি বলেছেন: "আমি ls -l
লিঙ্কগুলির জন্য এই তীর চিহ্নটি জানি । আমার লিঙ্কটির দিকনির্দেশ দেখানোর জন্য আমার শেলটিতে একটি তীর নেই So সুতরাং আমাকে এটিকে ঘুরিয়ে দিতে হবে" "
আপনি এটিকে একদিকে তৈরি করেছেন, যাতে আপনি এটি অন্যদিকে ব্যবহার করতে পারেন।
(উত্তরের উত্তর অংশের সমাপ্তি)
অন্য স্তরে, "লিঙ্ক" শব্দটি নিজেই একটি গভীর লুকানো ডাবল অর্থ বহন করে। প্রতীকী লিঙ্কগুলি পরে এসেছিল, তাই প্রথম দিনগুলিতে একটি লিঙ্ক ছিল কেবল একটি লিঙ্ক। কোনও নরম এবং শক্ত ছিল না, কোনও -s
বিকল্প ছিল না । এবং এখন আমি উত্স-লক্ষ্য প্রতীকতা ব্যবহার:
mv A B --- move the whole file to B (dir or new name)
cp A B --- copy whole file (mv and cp are "the same" here)
ln A B --- copy whole file MINUS data blocks (=copy only inode and name), and increase "link count" for track keeping
এই পর্যায়ে, লিঙ্কগুলি রয়েছে, তবে কোনও শক্ত এবং নরম ls -l
নয় এবং তীর দেখায় না, কারণ (শক্ত) লিঙ্কটিতে কোনও দিকনির্দেশ নেই। ইউনিক্স বিবর্তনের সেই পর্যায়ে একটি "লিঙ্ক" অর্থ ফাইল সিস্টেমের "বি" (ডিরেক্টরি এন্ট্রি "বি") ফাইলনাম "এ" হিসাবে চিহ্নিত একই ইনোডে নির্দেশ করে।
ফাইল এ এবং বি একত্রে "সংযুক্ত", কারণ তারা একই ব্লকগুলি ভাগ করে। সুতরাং এখন প্রতিটি আরএমের সাথে, কার্নেলটি পরীক্ষা করে দেখতে হবে: আমি কি এই ফাইলটির ব্লকগুলি ডিস্কে মুছে / ফ্রি করতে পারি, বা একই ব্লকের সাথে অন্য কোনও ফাইল যুক্ত আছে? তার জন্য, একটি লিঙ্ক কাউন্টার ব্যবহার করা হয়।
বলুন আপনি / টিএমপি গ্রোম মোছা হয়ে একটি বড় ফাইল রাখতে চান এবং করেন ln /tmp/bigfile
। আপনার কর্মক্ষম ডিয়ারে এখন আপনার একটি বড় বিগ ফাইল রয়েছে। "মূল" পরিষ্কার / tmp এবং rmOV পরে, আপনি আনন্দের সাথে একই ডেটা ব্লক ব্যবহার করে যান। আপনি কোনও মৃত বা ঝাঁকুনির লিঙ্ক পাবেন না, আপনার একটি সাধারণ ফাইল রয়েছে। কোনও ফাইলের দিকে ইঙ্গিত করা নয় তবে প্রতিটি দির এন্ট্রি যেমন করে কেবল ফাইল সিস্টেম ব্লক করে। কেবল এখন "সাফাই" / টিএমপি তেমন প্রভাব ফেলেনি। এটি খালি দেখাচ্ছে, এবং এটি হ'ল, তবে পার্টিশনের ব্লকগুলি মুক্ত হয় না।
যদিও কোনও হার্ড লিঙ্কটি সিপি হিসাবে নিজের জায়গার ব্যয় করে না, অপ্রত্যক্ষভাবে তা পারে it
ln -s
উপরের ক্রমটিতে যুক্ত করা:
ln -s A B --- copy only the file's name to "B"
এখন "বি", নরম লিঙ্কটিতে কেবল একটি পথনামের স্ট্রিং রয়েছে। এটি "নরম" তথ্য। প্রযুক্তিগতভাবে "এ" এবং "বি" সম্পর্কিত নয়। তবে এখনও বি নতুন অর্থে একটি "লিঙ্ক" যে আপনি সেই স্টোরড পাথনামকে "এ" এর শর্টকাট হিসাবে ব্যবহার করতে পারেন । এখন এটি "এ এর লিঙ্ক" (পিরিয়ড) এবং "ফাইল এ এর ইনোডের সাথে সংযুক্ত নয় "
উভয় ধরণের লিঙ্কগুলি কেবল মানুষকেই নয়, কার্নেল / এফএসকেও বিভ্রান্ত করতে পারে। একাত্তরের ম্যান পেজ নোট করে: "বিগিজ: লিঙ্কগুলি দু'বার ব্যাকআপ হয়ে যায় এবং পৃথক ইনোড সহ পৃথক ফাইল হিসাবে পুনরুদ্ধার করা হয়।"
ডিরেক্টরিগুলির হার্ড লিঙ্কগুলি (বিরল / অনুমোদিত নয়) সহজেই একটি বাঁধা তৈরি করতে পারে।
ডিরেক্টরিগুলিতে সফট লিঙ্কগুলি (খুব সাধারণ) চিরন্তন লুপগুলি আনতে পারে - ইউটিলিটিস / কার্নেল দ্বারা স্বীকৃত হতে হবে।
ব্যাশে ব্যবহারিক উদাহরণ
নিয়মিত ফাইল "এফ" দিয়ে শুরু হচ্ছে ...
ln F Fhard
... ফার্ডকে এফের মতো একই আকারের করে তোলে তবে তারা এখন তীর ছাড়া আর একটি গা red় লালচে উপস্থিত হয় ls -l --color
। stat
"ইনড: xyz" এর সাথে সম্পর্কিত "লিঙ্কস: 2" দেখানোর কারণে । হার্ড লিঙ্কিং এফ নিজেই একটি শক্ত লিঙ্কে রূপান্তরিত করে। উভয়ই / থাকার ফাইল টাইপ "নিয়মিত ফাইল"। তবে উভয়েরই লিঙ্কের গণনা 1 এর উপরে রয়েছে in
ln -s F Fsoft
... একটি ছোট "অনিয়মিত" ফাইল "এফসফট" ফাইল টাইপ "প্রতীকী লিঙ্ক" দিয়ে --- একটি খালি dir চেয়ে আরও বেশি স্থান সাশ্রয়। এ ls -l
"এফ" এর জন্য বিশেষ কিছু দেখায় না। এফসফ্টের জন্য, স্ট্রিংটি 'এফ' হিসাবে প্রদর্শিত আকারটি 1 বাইট এবং Fsoft -> F
নাম হিসাবে প্রদর্শিত হয়। এটিকে সনাক্ত করতে কোনও নরম লিঙ্ক রঙিন করার দরকার নেই। কারণ সংক্ষিপ্ত আকারে ls -F
আপনি একটি কয়েলড চেইন @
সংযুক্ত করুন:Fsoft@
সঙ্গে ls -l
এটা ভালো দেখায়:
-rw-r--r-- 2 root root 6070340 Sep 16 16:28 F
-rw-r--r-- 2 root root 6070340 Sep 16 16:28 Fhard
lrwxrwxrwx 1 root root 1 Sep 16 16:31 Fsoft -> F
ফার্ডের এফ এর আকার এবং প্রকার রয়েছে।
এফসফ্টের এফের নাম এবং আকারের আকারের এফের দৈর্ঘ্য এবং একটি পৃথক ফাইলের ধরণ রয়েছে।
সংক্ষিপ্ত ls -sF
:
5932 F 5932 Fhard 0 Fsoft@
যোগ করা --block-size=1
একই মাপ দেয় না। এফসফ্টের আকার "একটি বাইট, শূন্য ব্লক" রয়েছে। সমান্তরালে এফ এবং ফার্ড বিচ্যুত:
6074368 F 6074368 Fhard 0 Fsoft@
এফসোফ্ট ঝুলছে কিনা তা দেখার জন্য ls
আপনাকে রং ব্যবহার করতে দেয়।
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
a
, এবং এটি কলb
"