コマンドラインから現在の日付、時刻、月、年で名前が付けられたディレクトリまたはファイルを作成できることをご存知ですか?いいえ?問題ない。このチュートリアルでは、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でネストされたディレクトリ内にファイルをすばやく作成する方法