GNU/Linux >> Linux の 問題 >  >> Linux

現在の日付/時刻/月/年で名前が付けられたディレクトリまたはファイルを作成する

コマンドラインから現在の日付、時刻、月、年で名前が付けられたディレクトリまたはファイルを作成できることをご存知ですか?いいえ?問題ない。このチュートリアルでは、Linuxで名前に現在のタイムスタンプを使用してディレクトリまたはファイルを作成する方法について説明します。

これは、写真など、実際に撮影された日付で名前が付けられたディレクトリに何かを保存する場合に役立ちます。たとえば、写真が1984年10月16日に撮影された場合、「16-10-1984」という名前のフォルダを作成できます。

タイムスタンプ付きのファイルを作成すると、ファイルを順番に並べる作業が簡単になります。これは、スクリプトを使用してタスクを自動化する場合にも役立ちます。

次のコマンドは、ディレクトリまたはファイルを作成し、コンピュータの時計に基づいて現在の日付/時刻/月/年に名前を付けます。したがって、システムに正しい時刻が設定されていることを確認してください。

Linuxで現在の日付/時刻/月/年で名前が付けられたディレクトリまたはファイルを作成する

ディレクトリを作成して現在の日付に名前を付けるには、次のコマンドを実行します。

$ mkdir "$(date +"%d-%m-%Y")"

または、

$ mkdir $(date +"%d-%m-%Y")

このコマンドはディレクトリを作成し、dd:mm:yyyyで今日の日付に名前を付けます。 フォーマット。

出力例:

06-06-2020

このディレクトリに切り替えるには、mkdirを置き換えるだけです。 cdを使用 以下のようなコマンド。

$ cd "$(date +"%d-%m-%Y")"

同様に、現在の日付、時刻、月、年で名前が付けられたファイルを作成するには、mkdirを置き換えるだけです。 touch コマンド:

$ touch "$(date +"%d-%m-%Y")"

現在の日付のカスタム名でディレクトリまたはファイルを作成する

日付/時刻/月/年のディレクトリまたはファイルのカスタム名はどうですか?それも可能です。

$ mkdir ostechnix.com-$(date +"%d-%m-%Y")

このコマンドは、 "ostechnix.com-06-06-2020"という名前のディレクトリを作成します

カスタム名でファイルを作成するには:

$ touch ostechnix.com-$(date +"%d-%m-%Y")

ISO形式でファイルのディレクトリを作成する

ISO日付形式を使用する場合(例:2020-06-06 )および ls それらを日付順にリストし、実行します:

$ mkdir $(date -I)

または、

$ mkdir $(date +%F)

または、

$ mkdir $(date +"%Y-%m-%d")

上記の3つのコマンドはすべて同じ結果になります。

ファイルを作成するには、mkdirを置き換えるだけです。 touchで コマンド。

その他の例

現在の日付の日のみが必要な場合は、次を使用します:

$ mkdir "$(date +%d)"

このコマンドは、名前に現在の日付が含まれるディレクトリのみを作成します。つまり、 06

同様に、現在の月のみの名前でディレクトリを作成できます:

$ mkdir "$(date +%m)"

年のみ:

$ mkdir "$(date +%y)"

このコマンドは、現在の年の下2桁、つまり 20でディレクトリに名前を付けます。 。通年が必要な場合(例:2020 )名前には Yを使用します (大文字のY)。

$ mkdir "$(date +%Y)"

現在の時刻のディレクトリ名はどうですか?それも可能です。

$ mkdir "$(date +%r)"

このコマンドはフォルダを作成し、 hh:mm:ssの現在の時刻で名前を付けます フォーマット。

出力例:

'02:59:52 PM IST'

名前に現在の分と秒を含むディレクトリを作成することもできます。たとえば、次のコマンドはディレクトリを作成し、現在の秒で名前を付けます。

$ mkdir "$(date +%S)"

ここで、Sは大文字です。

現在の議事録でディレクトリに名前を付けるには、大文字の Mを使用します

$ mkdir "$(date +%M)"

上記のすべての例で、名前に番号が付いたディレクトリを作成しました。日曜日、10月など、現在の日/月の実際の名前でディレクトリに名前を付けたい場合はどうなりますか?簡単です!

$ mkdir "$(date +%A)"

上記のコマンドは、 "Saturday"という名前のディレクトリを作成します つまり、今日の名前です。

現在の月の名前でディレクトリを作成するには(例:10月 )、実行:

$ mkdir "$(date +%B)"

これは、現在の日、月、時刻、年、曜日、曜日、タイムゾーンなどでディレクトリに名前を付けるために使用できるサポートされている演算子のリストです。

       %a     locale's abbreviated weekday name (e.g., Sun)

       %A     locale's full weekday name (e.g., Sunday)

       %b     locale's abbreviated month name (e.g., Jan)

       %B     locale's full month name (e.g., January)

       %c     locale's date and time (e.g., Thu Mar  3 23:05:25 2005)

       %C     century; like %Y, except omit last two digits (e.g., 20)

       %d     day of month (e.g., 01)

       %D     date; same as %m/%d/%y

       %e     day of month, space padded; same as %_d

       %F     full date; same as %Y-%m-%d

       %g     last two digits of year of ISO week number (see %G)

       %G     year of ISO week number (see %V); normally useful only with %V

       %h     same as %b

       %H     hour (00..23)
       %I     hour (01..12)

       %j     day of year (001..366)

       %k     hour, space padded ( 0..23); same as %_H

       %l     hour, space padded ( 1..12); same as %_I

       %m     month (01..12)

       %M     minute (00..59)

       %n     a newline

       %N     nanoseconds (000000000..999999999)

       %p     locale's equivalent of either AM or PM; blank if not known

       %P     like %p, but lower case

       %q     quarter of year (1..4)

       %r     locale's 12-hour clock time (e.g., 11:11:04 PM)

       %R     24-hour hour and minute; same as %H:%M

       %s     seconds since 1970-01-01 00:00:00 UTC
       %S     second (00..60)

       %t     a tab

       %T     time; same as %H:%M:%S

       %u     day of week (1..7); 1 is Monday

       %U     week number of year, with Sunday as first day of week (00..53)

       %V     ISO week number, with Monday as first day of week (01..53)

       %w     day of week (0..6); 0 is Sunday

       %W     week number of year, with Monday as first day of week (00..53)

       %x     locale's date representation (e.g., 12/31/99)

       %X     locale's time representation (e.g., 23:13:48)

       %y     last two digits of year (00..99)

       %Y     year

       %z     +hhmm numeric time zone (e.g., -0400)

       %:z    +hh:mm numeric time zone (e.g., -04:00)

       %::z   +hh:mm:ss numeric time zone (e.g., -04:00:00)

       %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)

       %Z     alphabetic time zone abbreviation (e.g., EDT)

詳細については、manページを参照してください。

$ man date
$ man mkdir
$ man touch

これがお役に立てば幸いです。

推奨される読み物:

  • Linuxでテキストファイルからディレクトリを作成する方法
  • 初心者向けの例を含むmktempコマンドチュートリアル
  • Linuxでネストされたディレクトリ内にファイルをすばやく作成する方法

Linux
  1. Lsのある日付の後に作成されたファイルのみを取得するにはどうすればよいですか?

  2. Rsyncを使用してディレクトリ/フォルダで変更された日付を保持しますか?

  3. ソース ファイルが異なるディレクトリにある Makefile

  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. systemdでコンピューターの時刻と日付を制御する

  3. 特定の日付のファイルを検索して削除する

  1. Linuxでファイルとディレクトリを圧縮する方法(例付き)

  2. Linuxでネストされたディレクトリ内にファイルをすばやく作成する方法

  3. 現在のディレクトリのすべてのファイル名で1つの文字を別の文字に置き換える方法は?