1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Julia いろいろ--002--

Posted at

コマンドラインと同じ機能を持つ関数

cd()

Juliaのcd関数は,カレントディレクトリ(現在の作業ディレクトリ)を変更するための関数である。この関数は,ファイルシステム内で作業する場合に特に便利である。以下は,cd関数の基本的な使用法と説明である。

cd(path::AbstractString)
  • path: カレントディレクトリを変更したいディレクトリのパスを指定する。pathは文字列型(AbstractString型)である必要がある。

例:

cd("/path/to/directory")

この例では,/path/to/directoryというディレクトリにカレントディレクトリを変更する。cd関数は指定されたパスが存在することを確認し,存在しない場合はエラーを返す。

なお,JuliaのREPL(対話型環境)でcd関数を使用すると,REPLのプロセス内でのみディレクトリが変更され,Juliaが実行されているプロセス全体には影響しない。外部のプロセスやシェルでのディレクトリ変更はcd関数では制御できない。

pwd()

pwd()関数は,Juliaで現在の作業ディレクトリ(カレントディレクトリ)を取得するための関数である。以下は,pwd()関数の基本的な使用法と説明である。

pwd()

この関数は引数を取らず,現在の作業ディレクトリの絶対パスを文字列として返す。

例:

current_directory = pwd()
println("Current Directory: $current_directory")

この例では,pwd()関数を使用して現在の作業ディレクトリを取得し,それを表示する。

作業ディレクトリは,ファイルやディレクトリの操作時に相対パスを解釈する基準となる。cd()関数を使用してディレクトリを変更すると,pwd()関数が新しい作業ディレクトリを反映する。

mv()

Juliaのmv関数は,ファイルやディレクトリの移動または名前の変更を行うための関数である。具体的には,ファイルやディレクトリを指定された新しい場所に移動させることや,名前を変更することができる。

基本的な構文は以下の通りである:

mv(oldpath::AbstractString, newpath::AbstractString)
  • oldpath: 移動または名前変更されるファイルやディレクトリの元のパスを指定する。
  • newpath: 移動または名前変更後の新しいパスや名前を指定する。

例えば,ファイルを別のディレクトリに移動させたり,ファイルの名前を変更したりする場合,mv関数を使用する。以下はいくつかの例である:

# ファイルを別のディレクトリに移動する例
mv("/path/to/oldfile.txt", "/path/to/newdirectory/newfile.txt")

# ファイルの名前を変更する例
mv("/path/to/oldfile.txt", "/path/to/newfile.txt")

この関数はファイルやディレクトリの移動・名前変更に使われるが,ディレクトリの中身を再帰的に移動するわけではないので,ディレクトリを移動する際は注意が必要である。ディレクトリごとの再帰的な移動やコピーが必要な場合は,別途関数やパッケージを使用するか,シェルコマンドを呼び出すなどの方法がある。

rm()

Juliaのrm関数は,ファイルやディレクトリを削除するための関数である。具体的には,指定されたパスのファイルやディレクトリを削除する。

基本的な構文は以下の通りである:

rm(path::AbstractString; force::Bool = false, recursive::Bool = false)
  • path: 削除するファイルやディレクトリのパスを指定する。
  • force: もしtrueに設定されていれば,確認なしで強制的に削除する。デフォルトはfalseである。
  • recursive: もしtrueに設定されていれば,ディレクトリを再帰的に削除する。デフォルトはfalseである。

例えば,ファイルを削除する場合:

rm("/path/to/file.txt")

ディレクトリを再帰的に削除する場合:

rm("/path/to/directory"; recursive=true)

forceパラメータを使用して確認なしで強制的に削除することも可能であるが,注意が必要である。ファイルやディレクトリの削除は不可逆的な操作であるため,慎重に扱う必要がある。

なお,Juliaのrm関数は,シェルのrmコマンドと同様の動作を提供する。

touch()

Juliaのmkdir関数は,指定されたファイルの最終更新時刻(last-modified timestamp)を現在の時刻に更新する。もしファイルが存在しない場合は,新しいファイルが作成される。関数は操作が成功した場合には指定されたパスを返す。

touch(path::AbstractString)

例えば:

touch("example.txt")

このコードは,"example.txt"という名前のファイルの最終更新時刻を現在の時刻に更新する。もしファイルが存在しない場合は,新しいファイルが作成される。

mkdir()

Juliaのmkdir関数は,新しいディレクトリ(フォルダ)を作成するための関数である。以下はmkdir関数の基本的な構文と説明である。

mkdir(path::AbstractString; mode::UInt16 = 0o777, parents::Bool = false)
  • path: 作成したいディレクトリのパスを指定する。パスは文字列(AbstractString型)である必要がある。
  • mode: 作成されるディレクトリのパーミッション(権限)を指定する。デフォルトでは0o777となっており,これは最大のアクセス権を意味する。
  • parents: もしtrueに設定されていれば,親ディレクトリも必要に応じて自動的に作成する。デフォルトはfalseである。

例えば:

mkdir("/path/to/new_directory")

この例では,"/path/to/new_directory"というパスに新しいディレクトリが作成される。デフォルトのパーミッションで作成され,親ディレクトリは存在しないものと仮定している。

modeパラメータは作成されるディレクトリの権限を指定するもので,Unixのスタイルで指定する。0oから始まる8進数で表現される。例えば,0o755は所有者には読み書き実行権限があり,他のユーザーには読み取り権限と実行権限がある権限を指定する。

rmdir()

Juliaのrmdir関数は,ディレクトリ(フォルダ)を削除するための関数である。以下はrmdir関数の基本的な構文と説明である。

rmdir(path::AbstractString; force::Bool = false, recursive::Bool = false)
  • path: 削除したいディレクトリのパスを指定する。パスは文字列(AbstractString型)でなければならない。
  • force: もしtrueに設定されていれば,確認なしで強制的に削除する。デフォルトはfalseである。
  • recursive: もしtrueに設定されていれば,ディレクトリを再帰的に削除する。デフォルトはfalseである。

例えば:

rmdir("/path/to/directory")

この例では,"/path/to/directory"というパスのディレクトリが削除される。デフォルトではディレクトリが空でないと削除できないが,recursiveパラメータをtrueに設定することでディレクトリとその中身を再帰的に削除できるが,ファイルやディレクトリの削除は不可逆的な操作であるため,注意が必要である。

cp()

Juliaのcp関数は,ファイルやディレクトリをコピーするための関数である。以下はcp関数の基本的な構文と説明である。

cp(source::AbstractString, dest::AbstractString; force::Bool = false, remove_destination::Bool = false)
  • source: コピー元のファイルまたはディレクトリのパスを指定する。
  • dest: コピー先のパスを指定する。これは新しいファイルやディレクトリのパスである。
  • force: もしtrueに設定されていれば,既存の同名のファイルやディレクトリを上書きする。デフォルトはfalseである。
  • remove_destination: もしtrueに設定されていれば,既存の同名のファイルやディレクトリを事前に削除してからコピーする。デフォルトはfalseである。

例えば:

cp("/path/to/source_file.txt", "/path/to/destination/")

この例では,"/path/to/source_file.txt"を"/path/to/destination/"にコピーする。forceremove_destinationの設定によって挙動が変わる。

cp関数は,ファイルやディレクトリを効率的かつ柔軟にコピーするためのものであり,様々なオプションを指定できる。

ls に相当する関数

Juliaには標準のls関数が存在しないが,ディレクトリ内のファイルやサブディレクトリのリストを取得するために,Juliaの標準ライブラリに含まれるreaddir関数が使われることがある。以下はreaddir関数の説明である。

readdir(path::AbstractString; join::Bool = true, sort::Bool = true, keep_hidden::Bool = false)
  • path: リストを取得したいディレクトリのパスを指定する。パスは文字列(AbstractString型)でなければならない。
  • join: もしtrueに設定されていれば,ディレクトリパスとファイル名を連結してフルパスを返す。デフォルトはtrueである。
  • sort: もしtrueに設定されていれば,結果をアルファベット順にソートする。デフォルトはtrueである。
  • keep_hidden: もしtrueに設定されていれば,隠しファイルや隠しディレクトリもリストに含める。デフォルトはfalseである。

例えば:

files = readdir("/path/to/directory")

この例では,"/path/to/directory"というディレクトリ内のファイルやディレクトリのリストを取得する。取得されるリストは,joinsortの設定によって変化する。

もしも,特定のディレクトリ内のファイルやディレクトリのリストを取得する目的がある場合は,readdir関数が使われることがある。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?