LN এর জন্য পরামিতিগুলির ক্রম মনে রাখার জন্য টিপস?


64

আমি lnবহু বছর ধরে প্রতীকী লিঙ্কগুলি লিখতে ব্যবহার করেছি তবে এখনও আমি পরামিতিগুলির ক্রমটি প্রায় কাছাকাছি পেয়েছি।

এটি সাধারণত আমাকে লিখতে থাকে:

ln -s a b

এবং তারপরে নিজেকে মনে করিয়ে দেওয়ার জন্য আউটপুটটি দেখছি।

আমি যখনই a -> bপড়ি ঠিক তখনই এর বিপরীত হয় বলে আমি সবসময়ই কল্পনা করি b -> a। এটিকে পাল্টা স্বজ্ঞাত মনে হয় তাই আমি দেখতে পাই যে আমি সর্বদা নিজেকেই দ্বিতীয় অনুমান করি।

আমাকে সঠিক ক্রমটি মনে রাখতে সাহায্য করার জন্য কারও কাছে কোনও টিপস রয়েছে?


11
কখনও কখনও এটি outloud এটা বলতে যখন আপনি এটি টাইপ সাহায্য "করার সিম্বলিক লিঙ্ক a, এবং এটি কল b"
jsotola

2
আপনি সিপির মতো দ্বিতীয় প্যারামিটার তৈরি করেন এবং আপনি লিঙ্কটি তৈরি করেন। তবে আপনি যদি এটি ভুল উপায়ে পান তবে কোনও উদ্বেগের দরকার নেই, কারণ আপনি কোনও বিদ্যমান ফাইলটি ওভাররাইট করতে বা একটি নতুন লিঙ্কের সাথে সিএমলিংক করতে পারবেন না।
সুডোডাস


1
এটিকে "খারাপ লোকের নাম" হিসাবে ভাবেন। তাকে সর্বদা প্রথমে তার আসল নাম দ্বারা চিহ্নিত করা হয়, তারপরে তার উপস্বত্বগুলি। উদাঃ টনি বালুনি ওরফে অস্কার মেয়ার। বা আপনার লিঙ্কের ক্ষেত্রে, ln -sab এর অর্থ "ফাইল-এ ফাইল-বি নামেও পরিচিত।"
স্কটি এইচ

1
ln source target। হিসাবে একই cp source target, mv source target; ...
ব্যবহারকারী 207421

উত্তর:


40

আমি নিম্নলিখিতটি ব্যবহার করি: lnএকটি ওয়ানগুয়েশন ফর্ম রয়েছে ( ম্যানপেজে তালিকাভুক্ত ২ য় ফর্ম ) যার মধ্যে কেবলমাত্র লক্ষ্য প্রয়োজন (কারণ কীভাবে lnলক্ষ্য না জেনে মোটেও কাজ করতে পারে ) এবং lnবর্তমান ডিরেক্টরিতে লিঙ্কটি তৈরি করে। দ্বি-যুক্তি ফর্মটি এক-যুক্তি ফর্মের সংযোজন, সুতরাং লক্ষ্যটি সর্বদা প্রথম যুক্তি।


3
নোট করুন যে কোনও গন্তব্য / টার্গেট পাথ সহ ফর্মটি হ'ল POSIX নির্দিষ্টকরণের একটি এক্সটেনশন ln
কুসালানন্দ

1
@ কুসা: আপনি কি আমার উত্তরটিতে একাত্তরের ম্যানুয়ালটি এক-যুক্তি ফর্মের সাথে দেখেছেন? এটি যদি একাত্তর সালে হয় তবে এটি পিক্সির এক্সটেনশন কীভাবে হতে পারে? --- "যদি নাম 2 দেওয়া হয়, লিঙ্কটির সেই নামটি রয়েছে"

@ এসএসপি আমি নিশ্চিত না যে আপনি কী বলতে চাইছেন তা আমি বুঝতে পেরেছি। আপনি কি বলছেন যে কোনও historicalতিহাসিক বাস্তবায়ন কোনওভাবে বর্তমানের পসিক্স মানকে ট্রাম্প করে?
কুসালানন্দ

1
আমিও দেখি। বিভিন্ন নাম, একই আরগস, কমপক্ষে। আমার কোনও ধারণা ছিল না এই আর্গের নামগুলি সহ gnu শুধুমাত্র।

2
এখানে অনেক ভাল উত্তর ছিল (বিশেষত @ লুয়া_ইন_ ছড়াটি) তবে আমি এইটির সাথে যাচ্ছি। পরামিতিগুলির ক্রম সামঞ্জস্যপূর্ণ (উপেক্ষা করা -t) তা উল্লেখ করে এটি প্রায় প্রমাণের মতো মনে হয়। " lnবর্তমান ডিরেক্টরিতে লিঙ্কটি তৈরি করে two দ্বি-যুক্তি ফর্মটি এক-যুক্তি ফর্মের সংযোজন এবং সুতরাং লক্ষ্যটি সর্বদা প্রথম আর্গুমেন্ট"। কারণ এটি উপলব্ধি করে যে দ্বিতীয় ফর্মটি বিবেচনা করার সময় এটিই ঘটবে, আমি মনে করি এটি আমাকে মনে রাখতে সহায়তা করবে।
Zhro

85

আমি যেতে lnচাই " এর মতো cpThe 'উত্স' প্রথমে আসা দরকার।"


20
... এবং পছন্দ mvmv, cpএবং lnসকলেই একটি বিদ্যমান ফাইলটিকে প্রথম আর্গুমেন্ট হিসাবে গ্রহণ করে এবং উদ্দেশ্যে করা গন্তব্য ফাইল বা ডিরেক্টরিটির নাম দ্বিতীয় যুক্তি হিসাবে গ্রহণ করে।
হান্স-মার্টিন মোসনার

7
এটি লজ্জাজনক যে memcpy, strcpyইত্যাদি অন্যান্য উপায়ে কাজ করে।
আরকাদিউস দ্রবকিজিক

6
@ হান্স-মার্টিনমোসনার, আপনি যখন প্রতীকী লিঙ্কটি তৈরি করবেন তা ব্যতীত, এটি কোনও বিদ্যমান ফাইল হতে হবে না ...
ইলক্কাচু

1
@ilkkachu আপনি ঠিক বলেছেন ব্যতিক্রম ছাড়া কোনও নিয়ম নেই :-)
হান্স-মার্টিন মোসনার

1
অন্যদিকে, আরকাদিউসড্র্যাবজাইক, memcpy(dest,src,n);মানচিত্রের মতো খুব ভাল কিছু dest = src;। অন্য কথায়, nএসসিআরসি (প্রথম বাইট) এর সমান ভাগ (প্রথম nবাইট) সেট করুন।
একটি সিভিএন

10

বেশিরভাগ ইউনিটস lnকমান্ডটি নথি হিসাবে নথিভুক্ত করে

ln source target

(আমি এখানে বিকল্পগুলি বাদ দিচ্ছি)

উদাহরণ:

জিএনইউ lnম্যানুয়ালটি source লক্ষ্য এবং target লিঙ্কনামটি কল করে ।

শব্দের গনুহ পছন্দ উপেক্ষা, lnইউটিলিটি যেমন যেমন শব্দার্থবিদ্যা একই সাজানোর অনুসরণ mvএবং cpযে লক্ষ্য কি থেকে তৈরি করা হয় উৎস

অতএব,

ln -s a b

bনির্দেশিত প্রতীকী লিঙ্ক তৈরি করবে a

আরও লক্ষ করুন যে প্রতীকী লিঙ্কগুলি তৈরি করার সময়, উত্সটি কেবল একটি স্ট্রিং যা প্রতীকী লিঙ্কটি কী নির্দেশ করা উচিত তা উপস্থাপন করে। যাচাই করার জন্য সাধারণত কোনও চেক করা হয় না যা এটি দরকারী কিছুকে নির্দেশ করে:

$ ln -s "hello world" README.txt
$ ls -l
total 0
lrwxr-xr-x  1 kk  wheel  11 Sep 15 11:39 README.txt -> hello world

5
আমি জিএনইউ ডকুমেন্টেশনের জন্য পুরোপুরি দোষারোপ করি যে মানুষ একেবারেই ভুল হয়ে যায় get তাদের শব্দগঠন অন্ধকারে বোঝা যায় তবে উদ্দেশ্যমূলক বিভ্রান্ত হয়।
কনরাড রুডলফ

6
@ কনরাড রুডলফ, বিপরীতে, জিএনইউ শব্দটি আমার কাছে স্পট বলে মনে হচ্ছে। ইউটিলিটি কোথাও নির্দেশ করে কিছু নামের সাথে একটি লিঙ্ক তৈরি করে। "লিঙ্ক নাম" ধরণ সুস্পষ্ট, এবং "লক্ষ্য" এমন কিছু বিষয় যা উল্লেখ হয় একটি পুরোপুরি ভালো বিবরণ থেকে । একটি উপাখ্যান হিসাবে, আমাকে এখনও কখনও কখনও চিন্তা করতে হয় যে কোন পথে ln -s a bকাজ করে এবং জিএনইউ শব্দটির সাথে এর কোনও যোগসূত্র নেই, যেহেতু আমি মনে করি না যে আমি কখনই ম্যান পৃষ্ঠাতে বাক্যটি দেখেছি। : ডি ( ln -si a bনিশ্চিত না হলে কেবল চালানো আরও সহজ , bইতিমধ্যে উপস্থিত থাকলে এটি অভিযোগ করবে ))
ইলক্কাচু

1
@ কনরাড রুডল্ফ, যদিও প্রযুক্তিগতভাবে, কোনও শক্ত লিঙ্কের ক্ষেত্রে এটি "টার্গেট" বলা ভুল , কারণ এটি বিদ্যমান নাম নয় তবে আসল লক্ষ্যটি ইনোড। আমি আশ্চর্য হই যে, জিএনইউ লোকেরা যদি ভাবল যে কোনও সাধারণ ব্যবহারকারীর এতদূর বিশদ নিয়ে এটি ভাবার দরকার নেই।
ইলকচাচু

এটি উল্লেখ করা আকর্ষণীয়, @ গ্যারি এর উত্তরের মন্তব্যে যেমন উল্লেখ করা হয়েছে যে পসিক্স স্ট্যান্ডার্ডে লক্ষ্যটি alচ্ছিক নয়।
Zhro

@ কুসা: "ln -s এবি --- দিয়ে কেবল ফাইলের নাম কপি করুন" আমি আপনার ব্যাখ্যাটি কিছুটা পরিবর্তিত প্রসঙ্গে গ্রহণ করেছি changed এমনকি আমি আপনার র‌্যাডিক্যাল "হ্যালো ওয়ার্ল্ড" উদাহরণের সাথে একমত হতে পারি। "কেবলমাত্র ফাইলটির নাম 'একটি স্ট্রিং

7

যদি আমরা যে কেউকে সাহায্য করে: আমি যেমন চিন্তা অভ্যস্ত করেছি "Ln কি যেখানে ", যা সাহায্য করে আমাকে মনে রাখবেন যে প্রথম আর্গুমেন্ট ( "কি") বিদ্যমান ফাইল, দ্বিতীয় ( "যেখানে") হল স্থান এটি রাখা (একটি লিঙ্ক)। অন্যান্য উত্তরগুলির বেশিরভাগ যুক্তিতে যুক্তিটির বিপরীতে, এটি একটি কৃপণতাবাদী বাক্যাংশ ছাড়া আর কিছুই নয় যা আমি একটি কমান্ড টাইপ করার সাথে সাথে নিজেকে মানসিকভাবে আবৃত্তি করতে পারি, যা একটি স্মৃতি সহায়ক হিসাবে কাজ করে। এটি সম্ভবত সবার পক্ষে কার্যকর হবে না তবে আমার সন্দেহ যে এটি কিছু লোককে সহায়তা করবে।

এটি অন্যান্য স্ট্যান্ডার্ড ফাইল ম্যানিপুলেশন কমান্ড একই কনভেনশন ব্যবহার করতে সহায়তা করে, তাই আমি cpএবং এর জন্যও একই কাজ করতে পারি mv


4
কেন এটিকে হ্রাস করা হয়েছে সে সম্পর্কে কিছু ধারণা পেতে আগ্রহী। এখানে খুব বেশি কিছু নেই যে ভুল হতে পারে - আমি কি অর্ডারটি মিশিয়েছি বা কিছু?
ডেভিড জেড

আমি ব্যক্তিগতভাবে মনে করি যে "এলএন হোইট হোইট" এখনও ব্যাখ্যা ছাড়াই অস্পষ্ট নয়: "লিঙ্কটি পয়েন্টিং লিংকটি কী?" (সঠিক) বা "কোন কিছুর সাথে যুক্ত হচ্ছে?" (ভুল)। একই সাথে: "লিঙ্কটি কোথায় নির্দেশ করছে?" (ভুল) বা "লিঙ্কটি কোথায় তৈরি করা উচিত" (সঠিক) সুতরাং আপনি যদি নিজেকে দ্বিতীয় অনুমান করে থাকেন তবে এটি অগত্যা এতটা সহায়তা করে না। সিপি এবং এমভি মনে রাখার সাহায্য করা উচিত।
125_m_125

আমরা সকলেই প্রত্যাশা করি যে একটি ইউএনআইএক্স কমান্ড অন্যান্য ধরণের আর্গুমেন্টের পরে (ফাইলটি গ্রেপ যেমন এক্সপ্লোরের জন্য) এর ফাইল আর্গুমেন্ট অন্তর্ভুক্ত করবে। ln একটি নির্দিষ্ট ধরণের একটি প্রদত্ত বিষয়বস্তু সহ একটি ফাইল তৈরি করে। যে ফাইল সিস্টেমটি বিশেষ কিছু করে এবং আমরা সাধারণত এটিতে কোনও উত্স ফাইলের পথ রেখেছি ln ঘটনাক্রমে। এক্সপ্লোরার জন্য, আমি একটি পাঠ্য সম্পাদক লিখতে পারি যা এটির প্রথম লাইনের বিষয়বস্তু 1, ইত্যাদি নামের একটি সিমিলিংকে সংরক্ষণ করেছিল এটি ডাফ্ট হবে তবে এটি জোর দিয়েছিল যে এলএন কিছু পাঠ্য বিষয়বস্তু দিয়ে কিছু প্রকারের ফাইল তৈরি করে, কম বা কম কিছুই না, এবং আর্গুমেন্টের আদেশটিকে যৌক্তিক মনে হয়।
ড্যানি

@ 125_m_125 আপনি যে বিকল্প ব্যাখ্যাটি উপস্থাপন করেছেন তা আমার কাছে খুব একটা বোঝায় না, তবে এটি ঠিক আছে; এই মেমরি এইড সবার জন্য নয়।
ডেভিড জেড

6

আমি সম্প্রতি এই বিশেষ জিনিসটি মনে রাখার দুর্দান্ত উপায় শুনেছি: একটি ছড়া

কিছু পুরানো, নতুন কিছু,

কিছু ধার, কিছু নীল,

এবং তার জুতো একটি ছয় পেন্স।

প্রথম আয়াতটি হল ln এর আর্গুমেন্টগুলি: নতুন ডিরেক্টরি প্রবেশের নাম অনুসারে পুরানো কিছু।


3
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 --colorstat"ইনড: 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

2

লিঙ্কটির নামটি alচ্ছিক তা মনে রাখা সত্যিই সহায়ক। যদি এটি দেওয়া না হয় তবে লিঙ্ক টার্গেটের ভিত্তি ব্যবহার করা হয়।

ln -s /path/to/file1 file1

লিঙ্কটির নামটি পুরোপুরি বাদ দেওয়ার অনুরূপ:

ln -s /path/to/file1

লিঙ্ক টার্গেটটি শেষ উল্লেখ করা থাকলে এটি কোনও অর্থবোধ করবে না।


1

ডানদিকে ইউনিক্স -> এটি অ্যান্ড টি -> গন্তব্যটি মনে করুন:

mov %eax, %ebx  ;; AT&T style assembler syntax: %ebx register gets value of %ecx

mv foo bar    ;; foo renamed to bar

cp foo bar    ;; contents of foo go to bar

foo | bar     ;; data moves left to right in pipeline

ln abc def    ;; link to abc installed as def

"সিপি ফু বার" এর অর্থ "টু বার"। "ln abc def" এর অর্থ "to abc"। আপনি যদি চিহ্নগুলি রাখতেন: "ফু"। ঠিক এটাই সমস্যা the

@ ব্যবহারকারী370539 এটি সত্য নয়; পরে ln abc def, abcএবং defএকই বস্তুর হয়; তারা অবর্ণনীয়। তদ্ব্যতীত, abcলিংক সংখ্যা বাড়ানো ব্যতীত অপারেশনটির কোনও প্রভাব নেই । গন্তব্য def। অবজেক্টের একটি পয়েন্টার নতুন জায়গায় ইনস্টল করা আছে def
কাজ

@ user370539 লিঙ্কটি যদি প্রতীকী হয় তবে এর ln -s abc defঅর্থ abcহ'ল সামগ্রীটি লিখিত আছে defabcএমনকি কোনও কিছুর সমাধানও করতে হবে না; এটি একটি জটলা লিঙ্ক হতে পারে।
কাজ

আপনার মন্তব্য ঠিক ... ভুল। এটা কাছাকাছি অন্য কোন উপায়ে হওয়া উচিত।
রেক্সকোগিটানস

@rexkogitans আমার বক্তব্যটি এটি সামঞ্জস্যপূর্ণ। তাহলে অর্ডার "ভুল" এবং বিপরীত করা উচিত, তারপর, এটা ঐ সমস্ত কমান্ড জন্য হওয়া উচিত: mv dest src, ln [ -s ] dest src, cp dest src, ...
Kaz

0

ব্যক্তিগতভাবে, আমি এক্সকে স্মরণ করা এড়াতে পছন্দ করি , যখন প্রয়োজন হবে তখন এক্স কোথায় সন্ধান করতে হবে তা জানার পক্ষে । আমি "দুঃখিত চেয়ে ভাল নিরাপদ" মনোভাবের একজন অনুরাগীও তাই আমি সবসময় সাবধানতার সাথে যাচাই করতে চাই, বিশেষত মূল হিসাবে।

এই ক্ষেত্রে, উত্তরটি ম্যানপেজের প্রথম লাইনে আক্ষরিক অর্থে:

   ln [OPTION]... [-T] TARGET LINK_NAME
   (...)
   In the 1st form, create a link to TARGET with the name LINK_NAME.

আমি যদি ম্যানপেজে আবিষ্কার করার প্রয়োজন হয় তবে আমি এটি প্রস্তাব করতাম না, তবে যেহেতু এটি শুরুতে ঠিক তাই আইএমএইচও এটি টাইপ করতে man lnএবং ছেড়ে দিতে 3 সেকেন্ডের জন্য মূল্যবান ।


-1

সিপি-র অনুরূপ, যা আমি মানসিকভাবে "এটির সাথে এটি অনুলিপি করে" পড়ি, আমি ln কমান্ডগুলি "এটির সাথে যুক্ত করুন" হিসাবে পড়েছি।


2
এটি শীর্ষ রেট করা উত্তরের সাথে খুব মিল ।
মাইকেল

সুতরাং "ln -s এবি 'এটিকে বি এর সাথে সংযুক্ত করে? এখন এটি কি এ -> বি বা বি -> এ? আমার মনে হয় বেশিরভাগ বিভ্রান্তির প্রথম পর্যায়েও যায় নি They তারা এটিকে সহজ বলে বলেছে, তবে এটি কেবল ভুল।

-2

এটি আমার মনে আছে: লক্ষ্যটি ভুলে যান। অন্য কথায়, আমি যদি ডিআর 1 এ থাকি এবং এখানে ফাইল 1 তে একটি সিমলিংক তৈরি করতে চাই যা / কিছু / অন্য / দির / তে বিদ্যমান আছে, আমি কেবল এটি করব:

ln -s /some/other/dir/file1

আপনি dir1 এ ফাইল 1 নামক একটি সিমিলিংক পাবেন যা / কিছু / অন্য / দির / ফাইল 1 তে নির্দেশ করে। এলএন এর জন্য ম্যান পৃষ্ঠা থেকে:

ln [বিকল্প] ... টার্গেট (2 য় ফর্ম) ... 2 য় ফর্মের মধ্যে, বর্তমান ডিরেক্টরিতে টারগেটের একটি লিঙ্ক তৈরি করুন।

কেবল মনে রাখবেন যে এই কাজটি কেবলমাত্র যদি আপনি চান সিমলিংকের লক্ষ্য হিসাবে একই নাম (যা সম্ভবত সম্ভবত ক্ষেত্রে হয়) have


কেউ দয়া করে ব্যাখ্যা করতে পারেন কেন এটিকে নিম্নমানের করা হয়েছিল? আমি ম্যান পৃষ্ঠাটি থেকে কেবল অনুলিপি-আটকানো করেছি (এবং তদনুসারে বিশিষ্ট)। এটি অন্যকে কীভাবে এসই তে পোস্ট করতে হয় তা বুঝতে সহায়তা করবে। ধন্যবাদ।
বনি হ্যাপিং

আমি ব্যাখ্যা করতে পারি: এটি একটি সাংস্কৃতিক সংঘর্ষ। চিন্তা করবেন না। অন্যান্য উত্তর, মন্তব্যগুলি দেখুন ...

-3

আমি @ গ্যারি এর উত্তরে প্রসারিত করতে চাই

তাঁর অজানা ছাড়াও: lnকমান্ডটি নির্বিচারে সংখ্যক যুক্তি গ্রহণ করতে পারে, যাতে আপনি একটি অনুরোধে একাধিক প্রতিলিঙ্ক তৈরি করতে পারেন (যা আপনার প্রয়োজন হলে কার্যকর হয়)।

  1. সেই জ্ঞানের সাথে, যখন আপনি মুখোমুখি হন ln -s foo bar baz, সবচেয়ে যুক্তিযুক্ত ব্যাখ্যা কোনটি যুক্তি মানে?
  2. # 1 এর উত্তরের সাথে, যখন আপনি মুখোমুখি হন ln -s foo bar, সবচেয়ে যুক্তিযুক্ত ব্যাখ্যা কোনটি যুক্তি মানে?

1
গ্যারির উত্তরটিতে আপনার যদি যোগ হয় তবে দয়া করে এটি সম্পাদনা হিসাবে প্রস্তাব করুন। যেমনটি হ'ল, আপনার দুটি পেছনের (অনুমান?) প্রশ্নগুলি এই "উত্তর "টিকে দ্বিতীয় প্রশ্নের মতো দেখায়।
জেফ শ্যাচলার

-3

এমন কোনও সংস্করণটির কল্পনা করুন lnযা আপনাকে একটি কমান্ডে একাধিক (প্রতীকী) লিঙ্ক তৈরি করতে দেয়।

Synopsis: ln -s TARGET NEW_LINK...
Example: ln -s target_file  new_link_1  new_link_2  new_link_3

বিপরীত হওয়ার পরে এটি কোনও লাভই করতে পারে না, যেহেতু একটি সিমলিংক কেবল TARGETএকবারে কেবল একটিকে নির্দেশ করতে পারে এবং সাধারণ কমান্ড লাইন কনভেনশনটি কমান্ড লাইনের শেষে পুনরাবৃত্তি অংশটি রাখে, যেমনgrep PAT [FILE]...


-6

" তাই lsদেখায় "a -> bln a b

শুধু মনে রাখবেন যে এটি ভুল।


6
আমি সবসময় মনে করি "কিছু-কিছু সর্বদা ভুল"। তবে কোন পথে ভুল? এটাই সমস্যা। সমস্যাটি তখন আমার দ্বিতীয় অনুমান করা হয়ে যায় যদিও আমি এটি সঠিক হয়ে গেলেও। কারণ আমি আসলে সঠিক অর্ডারটি মনে করতে পারি না!
Zhro

আমি মনে করি আপনি কী বলতে চাইছেন তা আমি বুঝতে পেরেছি: আউটপুট ls -l: কমান্ড লাইনটি link -> targetকীভাবে সেট আপ করবেন সে সম্পর্কে আপনার ধারণাকে বিভ্রান্ত করতে পারে ln। তবে আমি আশঙ্কা করছি যে এটি খুব বেশি সাহায্য করবে না।
সুডোডাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.