Linux|lsで最新ファイル”だけ”取得&処理する方法【ls -rtを使う】

Linuxを勉強したい人向け

 この記事は、Linux初心者向けの記事です。

こんにちは。

普段はIT業界についてのブログを執筆してるエンジニアです。
» 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】

今回は、lsコマンドについての解説記事です。

lsコマンドで最新ファイルを確認&処理したいLinux初心者

Linux初心者「lsコマンドで最新ファイルを確認したい。また最新ファイルだけを選択して処理したいときどうすればよい?」

こんな疑問に答えます。

古いファイルから最新ファイルの順に並べて表示するコマンド

ファイル名のみ表示

ls -rt

ファイルの更新時間など詳細も表示

ls -lrt

古いファイルから最新ファイルの順に並べて表示する例

古いファイルから最新ファイルの順に並べて表示する例

古いファイルから最新ファイルの順に並べて表示する例です。
結果がわかりやすいように、更新時間を含めて表示してみます。

$ ls -lrt

実行結果は以下の通りです。黄色の文字は意味を補足しています。
[実行結果]

ファイル権限     所有者 所有グループ 更新月&日 更新年/時間 ファイル名
-rw-r--r--    user01  group01   12 11    2010     file1
-rw-r--r--    user01  group01   12 11    2010     file1
drwxr-xr-x    user01  group01   10  1    2014     testDIR1
drwxr-xr-x    user01  group01    5  1    2017     testDIR2
-rw-r--r--    user01  group01   10 20    2018     file2
-rw-r--r--    user01  group01    4 23    2019     file3
drwxr-xr-x    user01  group01   11  4   09:23     testDIR3
-rw-r--r--    user01  group01    1 21   21:23     file4

詳細を表示せずファイル名だけ出すと、こんな感じになります。

$ ls -rt

[実行結果]

file1 testDIR1 testDIR2 file2 file3 testDIR3 lnk1 lnk2 file4
古いファイル←                       →新しいファイル

最新の1ファイルだけ取得して処理する

最新の1ファイルだけ取得して処理する

最新の1ファイルだけを取得したい場合には次のように記述します。

ls -rt | tail -n 1

最新のファイルであるfile4だけが出力されます。
[実行結果]

file4

最新の3ファイルが欲しい場合、tailの引数を1から3に変えるだけです。

ls -rt | tail -n 3

[実行結果]

lnk1
lnk2
file4

最新のファイルを取得した後に処理する方法

例えば、最新のファイルだけをバックアップしたいときなどに便利です。

latest=`ls -rt | tail -n 1`
cp -i $latest ~/backup/

 最新のファイルであるfile4がバックアップされた

lsの-rオプションを外すとファイルリストが逆順に表示され、逆に一番古いファイルだけをバックアップできます。

latest=`ls -t | tail -n 1`
cp -i $latest ~/backup/

 一番古いファイルであるfile1がバックアップされた

今回は以上です。lsの最も基本的な使い方について紹介しました。参考になりましたら幸いです。

Blog TOP  Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ

Linux&Linuxコマンドを勉強したい人向けの記事もくじ

用語解説・技術一般

  "UNIXとLINUX"の違いについて解説します
  CUIとGUIの違い・特徴について解説します

サーバリソースを確認するコマンドの使い方

  【Linux】CPU使用率を確認する3つの方法を解説します
  【Linux】topコマンドで,CPU消費の原因を特定する方法
  【Linux】ps実行時に-efオプションを付ける理由について
  【Linux】メモリ使用率を確認する|容量・空きの確認も
  【Linux】ディスク容量を確認する|ディスク容量監視も

ファイル操作に関するコマンドの使い方

  【Linux】ファイルの行数をカウントする方法を解説
  【Linux】文字コード変換ならiconvコマンド1択です
  【Linux】/dev/nullを、エンジニアが使う2つの目的
  【Linux】findのexecオプションの使い方とその注意点
  【Linux】findの結果から圧縮ファイルを作るコマンド
  【Linux】hostsの場所はどこ?→/etc/hostsにあります
  【Linux】touchコマンドで,時刻更新&空ファイル作成

Linux管理者用コマンドの使い方

  【Linux】再起動コマンド(shutdown)の使い方と注意点

よく使う便利なコマンドの使い方

  【Linux】改行なしでechoコマンドを使う時の -nオプション
  【Linux】sleepコマンドの使用例と注意点について解説する
  【Linux】rmコマンドでディレクトリを削除する方法を解説
  【Linux】ファイルを削除するコマンド2選【rm以外もあり】
  【Linux】awkの区切り文字を指定する,-Fオプションを解説
  【Linux】sedで文字列の置換をするeオプションを解説する
  【Linux】dateコマンドのフォーマットとその便利な使い方
  【Linux】大文字から小文字に変換する方法【小文字から大文字も】

シェルの便利機能

  【Linux】コマンド履歴を検索する【Ctrl+r】