আমি কি একটি ডিরেক্টরিতে একটি পিছনে স্ল্যাশ / একটি সিমলিংকে অন্তর্ভুক্ত করব?


30

কোনও ডিরেক্টরিতে সিমিলিং করা ls -lআমি ln -s dirবা না তার উপর নির্ভর করে বিভিন্ন ফলাফল দেয় ln -s dir/। তবে আসল পার্থক্য কী, এবং কোনটি আমার পছন্দ করা উচিত কেন?

উত্তর:


9

কোন পার্থক্য নেই। (লক্ষ্যটি যদি কোনও ডিরেক্টরি বিদ্যমান না থাকে তবে সেখানে পার্থক্য হবে))

শেল সম্পূর্ণ হওয়ার কারণে চূড়ান্ত স্ল্যাশটি এখানেই শেষ হতে পারে: কিছু কনফিগারেশন সহ, ln -s tarTabSpacelinkসম্পূর্ণ হয় ln -s target/ link


লিঙ্কযুক্ত প্রশ্নটি পথগুলিতে একাধিক ক্রমাগত স্ল্যাশ সম্পর্কে বলে মনে হচ্ছে, তবে লিঙ্কগুলিতে পিছনে থাকা স্ল্যাশ সম্পর্কে নয়। আমি নিশ্চিত যে এখানে কিছু বলার আছে।
mwfearnley

আসলে, আমার এটা বলা উচিত হয়নি। প্রশ্নের সাথে ঘনিষ্ঠভাবে জড়িত একটি সাধারণ উদ্বেগের বিষয়ে এটি বলার যথেষ্ট পরিমাণ রয়েছে। আমি মনে করি না যদিও এটি এই উপসংহারে সমস্ত পথে নিয়ে যায়।
mwfearnley

@mwfearnley এটি একটি লজিক্যাল ফল আছে: যদি foo -> bar/তারপর foo/quxসমতূল্য bar//qux। আনুষ্ঠানিকভাবে প্রশ্নের শিরোনামটি অন্তর্ভুক্ত না থাকাকালীন foo -> bar/আমি সেখানে আমার উত্তরে সেই মামলাটি নিয়েও আলোচনা করি।
গিলস 'এ-ও অশুভ হওয়া বন্ধ করুন' ২১ শে

হাই, প্রতিক্রিয়া দেওয়ার জন্য ধন্যবাদ .. এটি আমাকে বলে যে সিমলিংক সহ পাথগুলি সমান। এটি অগত্যা আমাকে সিমেলিংকটি অ্যাক্সেস করলে (কীভাবে পিছনে স্ল্যাশ ছাড়াই) অ্যাক্সেস হয় এবং কী ঘটবে তা ইউনিক্স বিশেষজ্ঞ না হয়ে অগত্যা আমি বুঝতে পারি না যে 'সমতা' অর্থ কী বা কী তা বোঝায় না।
mwfearnley

কমপক্ষে একটি এজ-কেস রয়েছে যেখানে এটি একটি পার্থক্য তৈরি করে, তাই আমাকে এই উত্তরটি ডাউনওয়েট করতে হয়েছিল।
ফ্লিম

27

আমি কেবল ভাবতে পারি এটি হ'ল ডিরেক্টরি মুছে ফেলা এবং একটি ফাইল তৈরি করা কারও কাছ থেকে এটি আপনাকে "রক্ষা করে"।

[user@host linktest]$ mkdir test
[user@host linktest]$ ln -s test/ slash
[user@host linktest]$ ln -s test noslash
[user@host linktest]$ ls -l
total 4
lrwxrwxrwx 1 paul paul    4 Feb 21 21:00 noslash -> test
lrwxrwxrwx 1 paul paul    5 Feb 21 21:00 slash -> test/
drwxrwxr-x 2 paul paul 4096 Feb 21 20:59 test
[user@host linktest]$ file *slash
noslash: symbolic link to `test'
slash: symbolic link to `test/'
[user@host linktest]$ rmdir test
[user@host linktest]$ file *slash
noslash: broken symbolic link to `test'
slash: broken symbolic link to `test/'
[user@host linktest]$ touch test
[user@host linktest]$ file *slash
noslash: symbolic link to `test'
slash: broken symbolic link to `test/'
[user@host linktest]$

লক্ষ্যটি কোনও ফাইলের সাথে প্রতিস্থাপন করা হলে স্ল্যাশ সহ সংস্করণটি ভেঙে যায়।


3

প্রশ্ন আগ্রহী। আমি ছোট পরীক্ষা করেছি:

$ mkdir dir
$ ln -s dir/ test_slash
$ ln -s dir test_noslash
$ ls -l
total 4
drwxr-xr-x 2 vrusinov vrusinov 4096 Feb 21 16:41 dir
lrwxrwxrwx 1 vrusinov vrusinov    3 Feb 21 16:41 test_noslash -> dir
lrwxrwxrwx 1 vrusinov vrusinov    4 Feb 21 16:41 test_slash -> dir/
$ strace ls test_slash 2> trace_slash
$ strace ls test_noslash 2> trace_noslash
$ wc -l trace_*
   79 trace_noslash
   79 trace_slash
$ diff -u trace_* | less

যেমন আপনি দেখতে পাচ্ছেন, সিস্টেম কলগুলির সংখ্যার মধ্যে কোনও পার্থক্য নেই (কমপক্ষে ls এর জন্য) এবং ট্রেসগুলি দেখতে খুব সাদৃশ্যপূর্ণ। যাইহোক, এটি কেবল ডাম্প পরীক্ষা এবং আমি নিশ্চিত নই - কিছু পার্থক্য থাকতে পারে।


আমিও ভাবছি যে এটি যদি আসলেই কোনও পার্থক্য করে তবে এই অতিরিক্ত স্ল্যাশ কেন তখন সংরক্ষণ করা হবে?
টোবিয়াস কেইনজলার

2

আপনার প্রশ্নটি আসলে lsপ্রোগ্রামটির আচরণ সম্পর্কে ।

1) আপনি যদি do ls -l $dirdir প্রকৃতপক্ষে একটি সিমলিংক করেন তবে আপনি সিমলিংক সম্পর্কিত তথ্য পাবেন।

2) আপনি যদি do ls -lL $dirdir কোনও ডিরেক্টরিতে একটি syMLink হয় তবে আপনি লক্ষ্য ডিরেক্টরি সম্পর্কে তথ্য পাবেন।

3) আপনি যদি ls -l $dir/.এটি করেন তবে সিমলিংকে অনুসরণ করতে বাধ্য করে এবং লক্ষ্য ডিরেক্টরি সম্পর্কে তথ্য সরবরাহ করে।

৪) আপনি যদি করেন ls -l $dir/তবে ফলাফলগুলি # 1 এর মতো হতে পারে বা কোন সংস্করণ lsব্যবহৃত হচ্ছে তার উপর নির্ভর করে # 3 এর মতো হতে পারে । আমি # 1 এর মতো করে সোলারিসের পুরানো সংস্করণে অভ্যস্ত ছিলাম এবং লিনাক্স এটি # 3 এর মতো করে দেখে অবাক হয়েছিল।

এবং কোনটি আমার পছন্দ করা উচিত কেন?

ট্রেড স্ল্যাশ ব্যতীত যদি আপনি উদ্বিগ্ন হতে পারেন যে কোনও ডিরেক্টরি নির্দেশিকা কোনও ডিরেক্টরিতে একটি সিমলিংক বনাম একটি প্রকৃত ডিরেক্টরি কিনা।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.