الفلاتر
طريقة البحث
  • الكلمات العادية تجد الأسماء والنصوص والأمثلة.
  • "كلمتان" تجد العبارة بالضبط.
  • --name أو -x تجد خيارًا.
  • #كلمة تبحث داخل الأوامر فقط.
  • @grep تجد الدروس والمعامل التي تستخدم grep.
  • الفلاتر: cat:network · in:labs · level:rhcsa · ch:8 · root:yes. ضع ! قبل كلمة لاستبعادها. OR بين الكلمات تعني إحداها.
  • ↑ ↓ للتنقل · Enter للفتح · Esc للإغلاق · / للبحث

logname

Print the name of the user who logged in to this session (also after su or sudo).

المستوى
إضافي
المجموعة
المستخدمون والمجموعات
يحتاج root
لا
الحزمة
coreutils

هذا الجزء لم يُترجم بعد. أنت ترى النص الإنجليزي.

ماذا يفعل

logname reads the login record of the session. After su - or sudo -i, whoami shows the new user, but logname still shows the person who logged in.

It needs a terminal session with a login record; in cron or some containers it prints "no login name".

طريقة الكتابة

logname [OPTION]

الخيارات 2

الأكثر استخدامًا

--help
Show help.
--version
Show the version.

أمثلة 10

$ مستخدم عادي# بصلاحية root (أو مع sudo)

  1. 1Show the login name

    logname
    student

    The user who logged in.

  2. 2After switching to root

    sudo -i
    whoami; logname
    root
    student

    logname still shows the real person.

  3. 3Use the real user in a root script

    echo "$(date) $(logname) changed the firewall" >> /var/log/admin-changes.log

    Better audit text than "root".

  4. 4Compare with SUDO_USER

    sudo sh -c 'echo $SUDO_USER; logname'
    student
    student

    SUDO_USER is set only by sudo; logname also works after su.

  5. 5Without a terminal

    ssh server2 logname
    logname: no login name

    A remote command without a terminal has no login record.

  6. 6In cron

    crontab -l | grep logname

    Cron jobs have no login name; use id -un there.

  7. 7Give a file back to the real user

    chown "$(logname)": /tmp/report.txt

    After a root script, the user can open the file.

  8. 8Check the login records

    who am i
    student  pts/0        2026-10-25 09:02 (192.168.122.1)

    logname reads the same data.

  9. 9Script that needs a person

    logname >/dev/null 2>&1 || echo "no interactive login"

    Exit code 1 when there is no login name.

  10. 10Show the home folder of the real user

    getent passwd "$(logname)" | cut -d: -f6
    /home/student

    Useful in an install script run with sudo.

رموز الخروج

0Done.
1No login name.

الدليل الكامل

هذه الصفحة تشرح الأمر بكلمات بسيطة. الدليل الأصلي فيه كل التفاصيل.

في الطرفية: man logname