cutコマンドを使用して、作成日によってソートされた既存のユーザーのリストを表示します。

cutコマンドを使用して、作成日によってソートされた既存のユーザーのリストを表示します。

尋ねる:ユーザーが正常に追加されたことを確認するには、cut コマンドを使用してすべてのユーザーをリストします。

質問:リストが非常に長いため、ユーザーを見つけるには出力をスクロールする必要があります。

必要:ユーザー作成日に基づいてソートします。作成日を表示することは必須ではありませんが、利点があります。

試験を終えた:
cut -d : -f 1 /etc/passwd | sort -t

cut -d : -f 1 /etc/passwd | sort -t':' -k2n

cut -d : -f 1 /etc/passwd | ls

ベストアンサー1

ファイル/etc/passwdには日付情報がないため、ここでは役に立ちません。

システムユーザー以外のすべてのユーザーのディレクトリが必要です/home/%username%/home(シェルループを使用して)以下のすべてのディレクトリにアクセスし、各ディレクトリで最も古いファイルまたはディレクトリを報告できます。良い:

$ for dir in /home/*; do
    ls -lart --time-style=long-iso "${dir}" |
        grep '^-' | head -n 1 |
        awk '{ printf ("%-10s %s\n", $3, $6); }'
  done
ls: cannot open directory '/home/lost+found': Permission denied
paul       2017-03-16
1001       2021-03-02

幸いなことに、ファイルの逆日付を使用している人がいない場合は、touchユーザー名(または削除された場合は数値uid)とホームディレクトリの最も古いファイルの日付が表示されます。

一般に、解析の出力は健全ではありませんが、ls必要なフィールドはかなり予測可能です。

/home/viewerディレクトリ(シェルの拡張順序を決定します)があるため、出力順序は奇妙に見えますが、ユーザービューアは削除され、uidは1001です。

ユーザーを見つけるためになぜリストをスクロールする必要があるのか​​、日付で並べ替えると、なぜこれが簡単になるのかわかりません。出力をファイルにリダイレクトし、エディタを使用して検索したり、grepを使用してユーザー名を検索したり、出力を2番目の列で並べ替えることができます。

ユーザーを追加する場合の動作を証明する従来の方法は、そのユーザーとしてログインしてデフォルトのパスワードを変更し、ローカル要件(標準のプロンプトやエイリアスなど)を変更し、いくつかの簡単なコマンドが機能していることを確認してから確認することです。新しいユーザーが初めてログインしたときにログインするときに自分のパスワードを設定してください。

おすすめ記事