![grep과 whoami를 사용하여 /etc/passwd에서 누군가의 이름을 얻는 방법은 무엇입니까?](https://linux55.com/image/180969/grep%EA%B3%BC%20whoami%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%2Fetc%2Fpasswd%EC%97%90%EC%84%9C%20%EB%88%84%EA%B5%B0%EA%B0%80%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
/etc/passwd
및 를 사용하여 grep
다른 사람의 이름을 알아내는 방법은 무엇입니까 whoami
?
답변1
무슨 말인지 잘 모르겠지만 first name
, 사용자의 실제 이름과 성을 다섯 번째 필드에 저장하려면 다음과 같이 하면 됩니다.
grep "^$(whoami):" /etc/passwd | cut -d: -f5
정말로 이름만 원하는 경우:
grep "^$(whoami):" /etc/passwd | cut -d: -f5 | cut -d' ' -f1
답변2
getent passwd $(whoami) | cut -d: -f5 | cut -d, -f1 | cut '-d ' -f1
getent passwd
grep [pattern] /etc/passwd
시스템이 사용자 관리를 위해 LDAP 또는 NIS를 사용하도록 구성된 경우 getent는 LDAP 또는 NIS도 지원하므로 getent는 사용자 정보를 얻는 데 getent보다 더 나은 방법인 경우가 많습니다 .
cut -d: -f5
콜론으로 구분된 비밀번호 항목에서 5번째 필드를 가져옵니다. 이 필드는 전통적으로 gecos라고 불리며 사용자의 전체 이름뿐만 아니라 기타 콘텐츠도 포함합니다.
cut -d, -f1
그런 다음 쉼표로 구분된 gecos 필드의 첫 번째 하위 필드인 사용자의 전체 이름을 가져옵니다.
cut '-d ' -f1
이름의 첫 번째 단어는 사용자의 이름이어야 합니다.
마지막 단계에서는 실제로 이름의 첫 번째 단어만 사용하므로 실제로는 올바른 작업이 아닐 수 있습니다. 더 많은 관련 콘텐츠는 인기 기사에서 찾을 수 있습니다.프로그래머는 이름의 거짓말을 믿는다 - 패트릭 맥켄지(Patrick McKenzie)