ওএস এক্স-এর কমান্ড লাইনের মাধ্যমে আমি কীভাবে সক্রিয় ব্যবহারকারীর নাম পেতে পারি?


উত্তর:


197

যেমন 'হোয়ামি' অপ্রচলিত হয়েছে, সম্ভবত এটি ব্যবহারের জন্য আরও সামঞ্জস্যপূর্ণ:

id -un

4
কোন অর্থে 'হোয়ামি' অপ্রচলিত? কে এটি অপ্রচলিত ঘোষণা করেছে?
জোনাথন লেফলার

4
@ জোনাথন: whoamiলিওপার্ডের ম্যান পেজটি নিশ্চিত করেছে যে এটি প্রতিস্থাপন করেছে id
নাফ

আঃ! তারা কেন এমন কিছু বদলে যাচ্ছিল যা ভোর হতে শুরু করে ছিল?
ডিএমকেকে --- প্রাক্তন মডারেটর বিড়ালছানা

29
কে বলবে? <গম্ভীর গর্জন-chacka>
Kent

27

আপনি যদি পুরো নামটি প্রদর্শন করতে চান (ব্যবহারকারীর পরিবর্তে), -Fপতাকাটি যুক্ত করুন:

$ id -F
Andrew Havens

4
-এফ হ'ল ম্যাভেরিক্সের একটি অবৈধ বিকল্প - এটি কখন কাজ শুরু করে?
এলি বি

11

আমি কে

সম্পাদনা

হোয়ামি ইউটিলিটি আইডি (1) ইউটিলিটি দ্বারা অপ্রচলিত হয়েছে এবং এর সমতুল্য id -un। কমান্ডটি id -pস্বাভাবিক ইন্টারেক্টিভ ব্যবহারের জন্য প্রস্তাবিত।


11

আমি নিশ্চিত যে ওএস এক্সের টার্মিনালটি ইউনিক্সের মতো, সুতরাং আদেশটিটি হবে:

whoami

আমার কাছে এই মুহুর্তে কোনও ম্যাক নেই তাই আমি ভুল হলে কেউ আমাকে সংশোধন করে।

দ্রষ্টব্য - whoamiইউটিলিটিটি অপ্রচলিত হয়েছে, এবং এর সমতুল্য id -un। এটি আপনাকে বর্তমান ব্যবহারকারীকে দেবে


10

এখানে মাধ্যমে

/ Dev / কনসোলের মালিককে চেক করা ভাল মনে হচ্ছে।

stat -f "%Su" /dev/console


4
এটি আপনাকে দুর্দান্তভাবে কাজ করে যদি আপনাকে কোনও মেশিনে ছুঁড়ে ফেলা হয় এবং স্থানীয়ভাবে কোনও ব্যবহারকারী লগ ইন করেছেন কিনা তা দেখতে চান। যদি তারা না থাকে, কমান্ডটি "রুট" ফিরে আসবে।
টিম ডিয়ারবোন

4

আপনি যদি বর্তমানে সিস্টেমে লগ ইন করেছেন তা জানতে চাইলে:

$ ডাব্লু
 15:56:14 আপ 5 দিন, 20:58, 6 জন ব্যবহারকারী, লোড গড়: 0.43, 0.53, 0.50
ব্যবহারকারী টিটিওয়াই লগিন @ আইডিএল জেসিপিইউ পিসিপিইউ কী
me pts / 2 Fri19 1: 03m 0.98s 0.98s - / বিন / বাশ
আমার পিটিএস / 3 09:55 6: 00 মি 0.43 এস 0.43 এস / বিন / বাশ
me pts / 5 15:56 0.00s 0.23s 0.00sw

(এটি একটি লিনাক্স সিস্টেম থেকে; ওএস এক্সের ফর্ম্যাটটি কিছুটা আলাদা হতে পারে, তবে তথ্যটি একই রকম হওয়া উচিত))

একাধিক লগইন সেশন থাকতে পারে; ইউএনআইএক্স সর্বোপরি একটি বহু-ব্যবহারকারী সিস্টেম হিসাবে ডিজাইন করা হয়েছে।


4

আপনি lognameলিনাক্স বা ম্যাকওএস-এর অধীনে বিএসডি জেনারেল কমান্ড ম্যানুয়াল থেকে কমান্ডটি বর্তমানে লগ ইন করা ব্যবহারকারীর ব্যবহারকারীর নাম দেখতে ব্যবহার করতে পারেন, এমনকি ব্যবহারকারী কোনও sudoঅপারেশন চালিয়ে যাচ্ছেন কিনা । উদাহরণস্বরূপ, sudo সহ সিস্টেম-ওয়াইড প্যাকেজ ইনস্টল করার সময় কোনও ব্যবহারকারীর ক্রন্টবাকে সংশোধন করার সময় এটি দরকারী:crontab -u $(logname)

প্রতি man logname:

LOGNAME(1)

NAME
    logname -- display user's login name

4
এটি অবশ্যই সবচেয়ে পরিষ্কার এবং সহজ সমাধান। ব্যবহারকারী যে কমান্ডটি কার্যকর করছে তা কার্যকর নয় works
ম্যাক্সিমাম ভাইয়ারগিউস

2

প্রশ্নের পুরোপুরি উত্তর দেওয়া হয়নি, আইএমএইচও। আমি ব্যাখ্যা করার চেষ্টা করব: আমার একটি ক্রন্টব এন্ট্রি রয়েছে যা ব্যাশ শেল কমান্ড প্রক্রিয়াটির সময়সূচি দেয়, যার ফলে আমার ফাইলগুলি কিছুটা পরিষ্কার করা যায়; এবং হয়ে গেলে, ওএস এক্স বিজ্ঞপ্তি কেন্দ্রটি (কমান্ড সহ ) ব্যবহার করে আমার কাছে একটি বিজ্ঞপ্তি প্রেরণ করে osascript -e 'display notification ...। যদি কেউ (যেমন আমার স্ত্রী বা আমার মেয়ে) কম্পিউটারের বর্তমান ব্যবহারকারীকে তার কাছে সরিয়ে দেয়, আমাকে ব্যাকগ্রাউন্ডে রেখে, বিজ্ঞপ্তি প্রেরণের সময় ক্রোন স্ক্রিপ্ট ব্যর্থ হয়

সুতরাং, বর্তমান ব্যবহারকারীর অর্থ কে কী অন্য কিছু লোক আমাকে কার্যকর ব্যাকগ্রাউন্ডে রেখে ব্যবহারকারী হয়ে উঠেছে ? কি stat -f "%Su" /dev/consoleআয় বর্তমান সক্রিয় ব্যবহারকারী নাম?

উত্তরটি হল হ্যাঁ; সুতরাং, এখন আমার ক্রন্টব শেল স্ক্রিপ্টটি নিম্নলিখিত উপায়ে পরিবর্তন করা হয়েছে:

...
if [ "$(/usr/bin/stat -f ""%Su"" /dev/console)" = "loreti" ]
then /usr/bin/osascript -e \
  'display notification "Cleanup done" sound name "sosumi" with title "myCleanup"'
fi

2

ম্যাক টার্মিনালে ব্যবহারকারীর নাম পাওয়া সহজ ...

আমি সাধারণত ব্যবহার whoamiমধ্যে টার্মিনাল ...

উদাহরণস্বরূপ, এই ক্ষেত্রে টমক্যাট সার্ভারটি ইনস্টল করার জন্য আমার দরকার ছিল ...

এখানে চিত্র বর্ণনা লিখুন



1

আপনি এটি পরিবেশের ভেরিয়েবল থেকেও পুনরুদ্ধার করতে পারেন, তবে এটি সম্ভবত নিরাপদ নয়, তাই আমি অ্যান্ড্রুয়ের উত্তর নিয়ে যাব।

printenv USER

আপনার যদি নোডের মতো কোনও অ্যাপ্লিকেশন থেকে এটি পুনরুদ্ধার করতে হয় তবে পরিবেশের ভেরিয়েবলগুলি থেকে এটি নেওয়া আরও সহজ, যেমন

process.env.USER


1

'সক্রিয় ব্যবহারকারী' সংজ্ঞা দিন।

যদি প্রশ্নটি হয় 'লগ-ইন ব্যবহারকারী' কে, তবে 'আমি কে' বা 'হোয়ামি' ঠিক আছে (যদিও তারা বিভিন্ন উত্তর দেয় - 'হোয়ামি' কেবল একটি ব্যবহারকারীর নাম রিপোর্ট করে; 'আমি কে' টার্মিনালে এবং লগইন সময়)।

যদি প্রশ্নটি হয় 'কোন ব্যবহারকারী আইডিটি শেলের কার্যকর আইডি' হয় তবে 'আইডি' ব্যবহার করা ভাল often এই বাস্তব এবং কার্যকর ব্যবহারকারী আইডি এবং গ্রুপ আইডি, এবং পরিপূরক গোষ্ঠী আইডিতেও প্রতিবেদন করে। শেলটি SID বা SGID চালাচ্ছে কিনা এটি বিবেচনা করতে পারে।

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