"লুকানো" ফাইলের পতাকা সম্পর্কে সচেতন করা


12

ম্যাক ওএস এক্স-তে ফাইল পতাকা lsসম্পর্কে সচেতন করা কি সম্ভব hidden?

বর্তমানে, একটি সাধারণ ls -lOউত্পাদন করে:

$ ls -lO
total 0
drwxr-xr-x@  84 danielbeck  staff  -      2856 29 Mai 22:44 Applications
drwx------+ 158 danielbeck  staff  -      5372 29 Mai 15:27 Desktop
drwx------@ 250 danielbeck  staff  -      8500 30 Mai 20:40 Documents
drwx------+  11 danielbeck  staff  -       374 29 Mai 22:21 Downloads
drwx------@  84 danielbeck  staff  -      2856 29 Mai 22:48 Library
drwx------@   3 danielbeck  staff  hidden  102  3 Apr 20:45 Movies
drwx------@   5 danielbeck  staff  hidden  170  3 Apr 20:45 Music
drwx------+ 215 danielbeck  staff  -      7310 29 Mai 22:54 Pictures
drwxr-x---@   7 danielbeck  staff  hidden  238  3 Apr 20:45 Public
drwxr-xr-x@   4 danielbeck  staff  hidden  136 24 Apr 23:25 Sites

সুতরাং আমাদের তিন ধরণের দৃশ্যমানতা রয়েছে: নিয়মিত, দৃশ্যমান ফাইল, ফাইলের পতাকাযুক্ত ফাইলগুলি hidden, যা টার্মিনালে লুকানো থাকে না এবং সত্যই লুকানো ফাইল যাদের নামগুলি বিন্দু দিয়ে শুরু হয়।

কী কোনও উপায় আছে, যেমন একটি উপাধি বা একটি নির্ভরযোগ্য শেল ফাংশন lsব্যবহার করে hiddenফ্ল্যাগযুক্ত এবং .dothiddenফাইলগুলি একইরূপে তৈরি করতে, যেমন ডিফল্টরূপে আড়াল করে এবং এর সাথে দেখায় ls -Aবা ls -aফাইন্ডারের মান অনুসারে defaults read com.apple.Finder AppleShowAllFilesকী আচরণ করে ?

আমি সচেতন যে man chflagsসুনির্দিষ্টভাবে hiddenপতাকা কেবল জিইউআই, অর্থাৎ ফাইন্ডারের থেকে লুকানো রয়েছে men

উত্তর:


8

কোনও ওএস এক্স পাওয়ার জন্য এই পদক্ষেপগুলি lsযা ডট ফাইলের অনুরূপ বিকল্পটি নির্দিষ্ট না করা থাকলে লুকানো ফ্ল্যাগের সাহায্যে ফাইলগুলি আড়াল -a/-Aকরে।

  1. এক্সকোড ইনস্টল করুন। আমি নীচে Xcode ব্যবহার করছি 4.5
  2. আপনার ওএস রিলিজ libutilএবং http://www.opensource.apple.comfile_cmds থেকে ডাউনলোড করুন । প্রতিটি প্যাকেজ তালিকার প্রবেশের ডানদিকে একটি ডাউনলোড বোতাম রয়েছে। এই গাইডটি ওএস এক্স 10.8.2, ওয়াইএমএমভি-র জন্য নীচে সঠিক পদক্ষেপগুলি দিয়ে লেখা হয়েছিল যদি আপনি অন্য সংস্করণে থাকেন তবে।
  3. উভয় সংরক্ষণাগার বের করুন।
  4. file_cmds.xcodeprojএক্সকোডে খুলুন এবং lsলক্ষ্য তৈরি করতে নির্বাচন করুন ।

    স্ক্রিনশট

  5. file_cmdsবাম দিকে এক্সকোড প্রকল্পটি নির্বাচন করুন lsএবং প্রধান অঞ্চলে লক্ষ্য নির্বাচন করুন । ইন সেটিংস বিল্ড ট্যাব, জন্য বর্ণন শিরোলেখ অনুসন্ধান পথ মধ্যে শিরোলেখ বিভাগ এবং যেখানে আপনি নিষ্কাশিত ফোল্ডার পাথ যোগ libutil

    স্ক্রিনশট

  6. ফাইল খুলুন print.cমধ্যে lsবাম ফোল্ডার এবং লাইন বলে অপসারণ #include <membershipPriv.h>। ফাইলটি পরে সংরক্ষণ করুন। এটি কিছু ভেঙে ফেলা উচিত , কারণ অন্তর্ভুক্ত কারণের জন্য আছে, কিন্তু আমি এখনও এটি নির্ধারণ করতে পারেনি।

  7. ফাইল খুলুন ls.cএকই ফোল্ডারে, এবং একটি মন্তব্য বলার অপেক্ষা রাখে চেহারা /* Only display dot file if -a/-A set. */মধ্যে displayফাংশন। এটির নীচে এবং এর নীচের শর্তটি প্রতিস্থাপন করুন:

    /* Only display dot file and file with hidden flag if -a/-A set. */
    sp = cur->fts_statp;
    if (((sp != NULL && (sp->st_flags & 0x8000)) || cur->fts_name[0] == '.') && !f_listdot) {
        cur->fts_number = NO_PRINT;
        continue;
    }
    
  8. তৈরি করতে Cmd- টিপুন B

    সফল!

  9. বামদিকে পণ্যগুলি নির্বাচন করুন (ফোল্ডারের তালিকার শেষে) এবং ডান ক্লিক করুন lsফাইন্ডারে শো নির্বাচন করুন

    আউটপুট ফোল্ডার স্ক্রিনশট তৈরি করুন

  10. lsএক্সিকিউটেবলকে কোথাও সুবিধাজনক স্থানান্তর করুন , যেমন আপনার হোম ডিরেক্টরি। তারপরে টার্মিনালটি খুলুন এবং চালান sudo mv $HOME/ls /bin/ls, বা আরও ভাল, binআপনার হোম ডিরেক্টরিতে নতুন একটি ফোল্ডার তৈরি করুন এবং এটিকে সেখানে স্থানান্তর করুন। আপনার PATHপরে সেই ফোল্ডারটি যুক্ত করুন ।

ফলাফল পরীক্ষা করা:

$ mkdir test
$ cd test
$ touch foo bar
$ chflags hidden bar
$ /bin/ls -lO
total 0
-rw-r--r--@ 1 danielbeck  staff  hidden 0 25 Okt 22:25 bar
-rw-r--r--  1 danielbeck  staff  -      0 25 Okt 22:25 foo
$ $HOME/bin/ls -lO
total 0
-rw-r--r--  1 danielbeck  staff  - 0 25 Okt 22:25 foo
$ $HOME/bin/ls -A
bar foo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.