Filesystem
Base.read
— Methodread(filename::AbstractString)
파일의 전체 내용을 Vector{UInt8}
로 읽습니다.
read(filename::AbstractString, String)
파일의 전체 내용을 문자열로 읽습니다.
read(filename::AbstractString, args...)
파일을 열고 그 내용을 읽습니다. args
는 read
에 전달됩니다: 이는 open(io->read(io, args...), filename)
과 동일합니다.
Base.write
— Methodwrite(filename::AbstractString, content)
content
의 표준 이진 표현을 파일에 씁니다. 파일이 아직 존재하지 않으면 생성되며, 존재하는 경우에는 덮어씁니다.
파일에 기록된 바이트 수를 반환합니다.
Base.Filesystem.pwd
— Functionpwd() -> String
현재 작업 디렉토리를 가져옵니다.
예제
julia> pwd()
"/home/JuliaUser"
julia> cd("/home/JuliaUser/Projects/julia")
julia> pwd()
"/home/JuliaUser/Projects/julia"
Base.Filesystem.cd
— Methodcd(dir::AbstractString=homedir())
현재 작업 디렉토리를 설정합니다.
참고: pwd
, mkdir
, mkpath
, mktempdir
.
예제
julia> cd("/home/JuliaUser/Projects/julia")
julia> pwd()
"/home/JuliaUser/Projects/julia"
julia> cd()
julia> pwd()
"/home/JuliaUser"
Base.Filesystem.cd
— Methodcd(f::Function, dir::AbstractString=homedir())
현재 작업 디렉토리를 dir
로 일시적으로 변경하고, 함수 f
를 적용한 후 원래 디렉토리로 돌아갑니다.
예제
julia> pwd()
"/home/JuliaUser"
julia> cd(readdir, "/home/JuliaUser/Projects/julia")
34-element Array{String,1}:
".circleci"
".freebsdci.sh"
".git"
".gitattributes"
".github"
⋮
"test"
"ui"
"usr"
"usr-staging"
julia> pwd()
"/home/JuliaUser"
Base.Filesystem.readdir
— Functionreaddir(dir::AbstractString=pwd();
join::Bool = false,
sort::Bool = true,
) -> Vector{String}
디렉토리 dir
의 이름을 반환하거나 주어지지 않은 경우 현재 작업 디렉토리의 이름을 반환합니다. join
이 false인 경우, readdir
은 디렉토리의 이름만 그대로 반환합니다. join
이 true인 경우, 각 name
에 대해 joinpath(dir, name)
을 반환하여 반환된 문자열이 전체 경로가 되도록 합니다. 절대 경로를 얻으려면 절대 디렉토리 경로와 join
을 true로 설정하여 readdir
을 호출하십시오.
기본적으로 readdir
은 반환하는 이름 목록을 정렬합니다. 이름 정렬을 건너뛰고 파일 시스템이 나열하는 순서로 얻으려면 readdir(dir, sort=false)
를 사용하여 정렬을 선택 해제할 수 있습니다.
또한 참조: walkdir
.
join
및 sort
키워드 인수는 최소한 Julia 1.4가 필요합니다.
예제
julia> cd("/home/JuliaUser/dev/julia")
julia> readdir()
30-element Array{String,1}:
".appveyor.yml"
".git"
".gitattributes"
⋮
"ui"
"usr"
"usr-staging"
julia> readdir(join=true)
30-element Array{String,1}:
"/home/JuliaUser/dev/julia/.appveyor.yml"
"/home/JuliaUser/dev/julia/.git"
"/home/JuliaUser/dev/julia/.gitattributes"
⋮
"/home/JuliaUser/dev/julia/ui"
"/home/JuliaUser/dev/julia/usr"
"/home/JuliaUser/dev/julia/usr-staging"
julia> readdir("base")
145-element Array{String,1}:
".gitignore"
"Base.jl"
"Enums.jl"
⋮
"version_git.sh"
"views.jl"
"weakkeydict.jl"
julia> readdir("base", join=true)
145-element Array{String,1}:
"base/.gitignore"
"base/Base.jl"
"base/Enums.jl"
⋮
"base/version_git.sh"
"base/views.jl"
"base/weakkeydict.jl"
julia> readdir(abspath("base"), join=true)
145-element Array{String,1}:
"/home/JuliaUser/dev/julia/base/.gitignore"
"/home/JuliaUser/dev/julia/base/Base.jl"
"/home/JuliaUser/dev/julia/base/Enums.jl"
⋮
"/home/JuliaUser/dev/julia/base/version_git.sh"
"/home/JuliaUser/dev/julia/base/views.jl"
"/home/JuliaUser/dev/julia/base/weakkeydict.jl"
Base.Filesystem.walkdir
— Functionwalkdir(dir; topdown=true, follow_symlinks=false, onerror=throw)
디렉토리의 디렉토리 트리를 탐색하는 반복자를 반환합니다. 반복자는 (rootpath, dirs, files)
를 포함하는 튜플을 반환합니다. 디렉토리 트리는 위에서 아래로 또는 아래에서 위로 탐색할 수 있습니다. walkdir
또는 stat
가 IOError
를 만나면 기본적으로 오류를 다시 발생시킵니다. 사용자 정의 오류 처리 함수를 onerror
키워드 인수를 통해 제공할 수 있습니다. onerror
는 IOError
를 인수로 호출됩니다.
참고: readdir
.
예제
for (root, dirs, files) in walkdir(".")
println("Directories in $root")
for dir in dirs
println(joinpath(root, dir)) # 디렉토리 경로
end
println("Files in $root")
for file in files
println(joinpath(root, file)) # 파일 경로
end
end
julia> mkpath("my/test/dir");
julia> itr = walkdir("my");
julia> (root, dirs, files) = first(itr)
("my", ["test"], String[])
julia> (root, dirs, files) = first(itr)
("my/test", ["dir"], String[])
julia> (root, dirs, files) = first(itr)
("my/test/dir", String[], String[])
Base.Filesystem.mkdir
— Functionmkdir(path::AbstractString; mode::Unsigned = 0o777)
path
라는 이름과 mode
라는 권한으로 새 디렉토리를 만듭니다. mode
는 기본적으로 0o777
이며, 현재 파일 생성 마스크에 의해 수정됩니다. 이 함수는 한 개의 디렉토리만 생성합니다. 디렉토리가 이미 존재하거나 일부 중간 디렉토리가 존재하지 않으면 이 함수는 오류를 발생시킵니다. 필요한 모든 중간 디렉토리를 생성하는 함수에 대한 내용은 mkpath
를 참조하세요. path
를 반환합니다.
예제
julia> mkdir("testingdir")
"testingdir"
julia> cd("testingdir")
julia> pwd()
"/home/JuliaUser/testingdir"
Base.Filesystem.mkpath
— Functionmkpath(path::AbstractString; mode::Unsigned = 0o777)
필요에 따라 path
의 모든 중간 디렉토리를 생성합니다. 디렉토리는 기본값이 0o777
인 mode
권한으로 생성되며, 현재 파일 생성 마스크에 의해 수정됩니다. mkdir
와 달리, mkpath
는 path
(또는 그 일부)가 이미 존재하는 경우 오류를 발생시키지 않습니다. 그러나 path
(또는 그 일부)가 기존 파일을 가리키는 경우 오류가 발생합니다. path
를 반환합니다.
path
에 파일 이름이 포함되어 있다면, 파일 이름을 사용하여 디렉토리를 생성하지 않도록 mkpath(dirname(path))
를 사용하는 것이 좋습니다.
예제
julia> cd(mktempdir())
julia> mkpath("my/test/dir") # 세 개의 디렉토리를 생성합니다.
"my/test/dir"
julia> readdir()
1-element Array{String,1}:
"my"
julia> cd("my")
julia> readdir()
1-element Array{String,1}:
"test"
julia> readdir("test")
1-element Array{String,1}:
"dir"
julia> mkpath("intermediate_dir/actually_a_directory.txt") # 두 개의 디렉토리를 생성합니다.
"intermediate_dir/actually_a_directory.txt"
julia> isdir("intermediate_dir/actually_a_directory.txt")
true
Base.Filesystem.hardlink
— Functionhardlink(src::AbstractString, dst::AbstractString)
기존 소스 파일 src
에 대한 하드 링크를 이름 dst
로 생성합니다. 목적지 dst
는 존재하지 않아야 합니다.
또한: symlink
.
이 메서드는 Julia 1.8에 추가되었습니다.
Base.Filesystem.symlink
— Functionsymlink(target::AbstractString, link::AbstractString; dir_target = false)
target
에 대한 심볼릭 링크를 link
라는 이름으로 생성합니다.
Windows에서는 심볼릭 링크가 명시적으로 디렉토리를 참조하는지 여부를 선언해야 합니다. target
이 이미 존재하는 경우, 기본적으로 link
의 유형은 자동으로 감지되지만, target
이 존재하지 않는 경우 이 함수는 기본적으로 파일 심볼릭 링크를 생성합니다. 단, dir_target
이 true
로 설정된 경우는 제외입니다. 사용자가 dir_target
을 설정했지만 target
이 존재하고 파일인 경우, 여전히 디렉토리 심볼릭 링크가 생성되지만, 심볼릭 링크를 역참조하면 실패합니다. 이는 사용자가 디렉토리가 생성되기 전에 dir_target
을 false
로 설정하여 symlink()
를 호출하여 파일 심볼릭 링크를 생성하고 이를 디렉토리로 역참조하려고 할 때와 같습니다.
또한, Windows에서 링크를 만드는 두 가지 방법이 있습니다. 심볼릭 링크와 정션 포인트입니다. 정션 포인트는 약간 더 효율적이지만 상대 경로를 지원하지 않으므로, 상대 디렉토리 심볼릭 링크가 요청되면(isabspath(target)
이 false
를 반환하는 경우) 심볼릭 링크가 사용되고, 그렇지 않으면 정션 포인트가 사용됩니다. Windows에서 심볼릭 링크를 생성하는 모범 사례는 참조하는 파일/디렉토리가 이미 생성된 후에만 생성하는 것입니다.
또한 참조: hardlink
.
이 함수는 Windows XP와 같이 소프트 심볼릭 링크를 지원하지 않는 운영 체제에서 오류를 발생시킵니다.
dir_target
키워드 인자는 Julia 1.6에서 추가되었습니다. 이 이전에는 Windows에서 존재하지 않는 경로에 대한 심볼릭 링크는 항상 파일 심볼릭 링크였으며, 디렉토리에 대한 상대 심볼릭 링크는 지원되지 않았습니다.
Base.Filesystem.readlink
— Functionreadlink(path::AbstractString) -> String
심볼릭 링크 path
가 가리키는 대상 위치를 반환합니다.
Base.Filesystem.chmod
— Functionchmod(path::AbstractString, mode::Integer; recursive::Bool=false)
path
의 권한 모드를 mode
로 변경합니다. 현재 정수 mode
(예: 0o777
)만 지원됩니다. recursive=true
이고 경로가 디렉토리인 경우 해당 디렉토리의 모든 권한이 재귀적으로 변경됩니다. path
를 반환합니다.
Julia 1.6 이전에는 Windows에서 파일 시스템 ACL을 올바르게 조작하지 못했으므로 파일에 대해 읽기 전용 비트만 설정했습니다. 이제 ACL을 조작할 수 있습니다.
Base.Filesystem.chown
— Functionchown(path::AbstractString, owner::Integer, group::Integer=-1)
path
의 소유자 및/또는 그룹을 owner
및/또는 group
으로 변경합니다. owner
또는 group
에 입력된 값이 -1
인 경우 해당 ID는 변경되지 않습니다. 현재 정수 owner
와 group
만 지원됩니다. path
를 반환합니다.
Base.Libc.RawFD
— TypeRawFD
네이티브 OS 파일 설명자를 감싸는 원시 타입입니다. RawFD
는 stat
와 같은 메서드에 전달되어 기본 파일에 대한 정보를 발견할 수 있으며, 스트림을 열 때도 사용할 수 있으며, 이 경우 RawFD
는 스트림을 지원하는 OS 파일을 설명합니다.
Base.stat
— Functionstat(file)
파일에 대한 정보를 포함하는 구조체를 반환합니다. 구조체의 필드는 다음과 같습니다:
이름 | 유형 | 설명 |
---|---|---|
desc | Union{String, Base.OS_HANDLE} | 경로 또는 OS 파일 설명자 |
size | Int64 | 파일의 크기(바이트 단위) |
device | UInt | 파일이 포함된 장치의 ID |
inode | UInt | 파일의 inode 번호 |
mode | UInt | 파일의 보호 모드 |
nlink | Int | 파일에 대한 하드 링크의 수 |
uid | UInt | 파일 소유자의 사용자 ID |
gid | UInt | 파일 소유자의 그룹 ID |
rdev | UInt | 이 파일이 장치를 참조하는 경우, 참조하는 장치의 ID |
blksize | Int64 | 파일에 대한 파일 시스템의 선호 블록 크기 |
blocks | Int64 | 할당된 512바이트 블록의 수 |
mtime | Float64 | 파일이 마지막으로 수정된 Unix 타임스탬프 |
ctime | Float64 | 파일의 메타데이터가 변경된 Unix 타임스탬프 |
Base.Filesystem.diskstat
— Functiondiskstat(path=pwd())
path
가 가리키는 파일 또는 디렉토리가 포함된 디스크에 대한 바이트 단위의 통계를 반환합니다. 인수가 전달되지 않으면 현재 작업 디렉토리가 포함된 디스크에 대한 통계가 반환됩니다.
이 메서드는 Julia 1.8에 추가되었습니다.
Base.Filesystem.lstat
— Functionlstat(file)
stat
와 유사하지만, 심볼릭 링크에 대해서는 링크 자체에 대한 정보를 가져오고, 링크가 참조하는 파일에 대한 정보는 가져오지 않습니다. 이 함수는 파일 객체나 파일 설명자가 아닌 파일 경로에서 호출해야 합니다.
Base.Filesystem.ctime
— Functionctime(file)
stat(file).ctime
와 동일합니다.
Base.Filesystem.mtime
— Functionmtime(file)
stat(file).mtime
와 동일합니다.
Base.Filesystem.filemode
— Functionfilemode(file)
stat(file).mode
와 동일합니다.
Base.filesize
— Functionfilesize(path...)
stat(file).size
와 동일합니다.
Base.Filesystem.uperm
— FunctionBase.Filesystem.gperm
— Functiongperm(file)
uperm
와 유사하지만 파일을 소유한 그룹의 권한을 가져옵니다.
Base.Filesystem.operm
— Functionoperm(file)
uperm
와 유사하지만 파일을 소유하지 않거나 파일을 소유한 그룹의 구성원이 아닌 사람들을 위한 권한을 가져옵니다.
Base.Filesystem.cp
— Functioncp(src::AbstractString, dst::AbstractString; force::Bool=false, follow_symlinks::Bool=false)
파일, 링크 또는 디렉토리를 src
에서 dst
로 복사합니다. force=true
이면 기존의 dst
를 먼저 제거합니다.
follow_symlinks=false
이고 src
가 심볼릭 링크인 경우, dst
는 심볼릭 링크로 생성됩니다. follow_symlinks=true
이고 src
가 심볼릭 링크인 경우, dst
는 src
가 참조하는 파일 또는 디렉토리의 복사가 됩니다. dst
를 반환합니다.
cp
함수는 cp
명령과 다릅니다. cp
함수는 항상 dst
가 파일이라는 가정 하에 작동하는 반면, 명령은 dst
가 디렉토리인지 파일인지에 따라 다른 작업을 수행합니다. dst
가 디렉토리일 때 force=true
를 사용하면 dst
디렉토리에 있는 모든 내용이 손실되며, dst
는 대신 src
의 내용을 가진 파일이 됩니다.
Base.download
— Functiondownload(url::AbstractString, [path::AbstractString = tempname()]) -> path
주어진 url에서 파일을 다운로드하여 path
위치에 저장합니다. 지정하지 않으면 임시 경로에 저장됩니다. 다운로드된 파일의 경로를 반환합니다.
Julia 1.6부터 이 함수는 더 이상 사용되지 않으며 Downloads.download
에 대한 얇은 래퍼일 뿐입니다. 새로운 코드에서는 이 함수를 호출하는 대신 해당 함수를 직접 사용해야 합니다.
Base.Filesystem.mv
— Functionmv(src::AbstractString, dst::AbstractString; force::Bool=false)
파일, 링크 또는 디렉토리를 src
에서 dst
로 이동합니다. force=true
는 먼저 기존의 dst
를 제거합니다. dst
를 반환합니다.
예제
julia> write("hello.txt", "world");
julia> mv("hello.txt", "goodbye.txt")
"goodbye.txt"
julia> "hello.txt" in readdir()
false
julia> readline("goodbye.txt")
"world"
julia> write("hello.txt", "world2");
julia> mv("hello.txt", "goodbye.txt")
ERROR: ArgumentError: 'goodbye.txt' exists. `force=true` is required to remove 'goodbye.txt' before moving.
Stacktrace:
[1] #checkfor_mv_cp_cptree#10(::Bool, ::Function, ::String, ::String, ::String) at ./file.jl:293
[...]
julia> mv("hello.txt", "goodbye.txt", force=true)
"goodbye.txt"
julia> rm("goodbye.txt");
Base.Filesystem.rm
— Functionrm(path::AbstractString; force::Bool=false, recursive::Bool=false)
주어진 경로에서 파일, 링크 또는 빈 디렉토리를 삭제합니다. force=true
가 전달되면 존재하지 않는 경로는 오류로 처리되지 않습니다. recursive=true
가 전달되고 경로가 디렉토리인 경우 모든 내용이 재귀적으로 제거됩니다.
예제
julia> mkpath("my/test/dir");
julia> rm("my", recursive=true)
julia> rm("this_file_does_not_exist", force=true)
julia> rm("this_file_does_not_exist")
ERROR: IOError: unlink("this_file_does_not_exist"): no such file or directory (ENOENT)
Stacktrace:
[...]
Base.Filesystem.touch
— FunctionBase.touch(::Pidfile.LockMonitor)
잠금의 mtime
을 업데이트하여 여전히 최신임을 나타냅니다.
mkpidlock
생성자의 refresh
키워드도 참조하십시오.
touch(path::AbstractString)
touch(fd::File)
파일의 마지막 수정 타임스탬프를 현재 시간으로 업데이트합니다.
파일이 존재하지 않으면 새 파일이 생성됩니다.
path
를 반환합니다.
예시
julia> write("my_little_file", 2);
julia> mtime("my_little_file")
1.5273815391135583e9
julia> touch("my_little_file");
julia> mtime("my_little_file")
1.527381559163435e9
mtime
가 touch
에 의해 수정된 것을 볼 수 있습니다.
Base.Filesystem.tempname
— Functiontempname(parent=tempdir(); cleanup=true) -> String
임시 파일 경로를 생성합니다. 이 함수는 경로만 반환하며, 파일은 생성되지 않습니다. 경로는 고유할 가능성이 있지만, tempname
에 대한 두 개의 동시 호출이 동일한 파일 이름을 생성할 가능성이 매우 낮기 때문에 보장할 수는 없습니다. 이름은 tempname
호출 시점에 이미 존재하는 모든 파일과 다를 것이 보장됩니다.
인수가 없는 상태로 호출되면, 임시 이름은 tempdir()
에 의해 제공된 시스템 임시 디렉토리의 임시 이름에 대한 절대 경로가 됩니다. parent
디렉토리 인수가 주어지면, 임시 경로는 대신 해당 디렉토리에 위치하게 됩니다.
cleanup
옵션은 프로세스가 종료될 때 반환된 경로를 자동으로 삭제하려고 시도하는지 여부를 제어합니다. tempname
함수는 반환된 위치에 파일이나 디렉토리를 생성하지 않으므로, 그곳에 파일이나 디렉토리를 생성하지 않는 한 정리할 것이 없습니다. 만약 생성하고 cleanup
이 true
이면 프로세스 종료 시 삭제됩니다.
parent
및 cleanup
인수는 1.4에서 추가되었습니다. Julia 1.4 이전에는 tempname
의 경로가 프로세스 종료 시 정리되지 않았습니다.
다른 프로세스가 동일한 파일 이름을 얻고 당신이 파일을 생성하기 전에 파일을 생성하면 보안 구멍이 발생할 수 있습니다. 이 점이 우려된다면 JL_O_EXCL
로 파일을 여세요. mktemp()
를 사용하는 것도 권장됩니다.
Base.Filesystem.tempdir
— Functiontempdir()
임시 디렉토리의 경로를 가져옵니다. Windows에서는 tempdir()
이 정렬된 목록 TMP
, TEMP
, USERPROFILE
에서 발견된 첫 번째 환경 변수를 사용합니다. 다른 모든 운영 체제에서는 tempdir()
이 정렬된 목록 TMPDIR
, TMP
, TEMP
, TEMPDIR
에서 발견된 첫 번째 환경 변수를 사용합니다. 이러한 변수 중 어느 것도 발견되지 않으면 경로 "/tmp"
가 사용됩니다.
Base.Filesystem.mktemp
— Methodmktemp(parent=tempdir(); cleanup=true) -> (path, io)
(path, io)
를 반환합니다. 여기서 path
는 parent
에 있는 새 임시 파일의 경로이고, io
는 이 경로에 대한 열린 파일 객체입니다. cleanup
옵션은 프로세스가 종료될 때 임시 파일이 자동으로 삭제되는지 여부를 제어합니다.
cleanup
키워드 인자는 Julia 1.3에서 추가되었습니다. 관련하여, 1.3부터 Julia는 cleanup
이 명시적으로 false
로 설정되지 않는 한, Julia 프로세스가 종료될 때 mktemp
로 생성된 임시 경로를 제거합니다.
Base.Filesystem.mktemp
— Methodmktemp(f::Function, parent=tempdir())
함수 f
를 mktemp(parent)
의 결과에 적용하고 완료 후 임시 파일을 제거합니다.
참고: mktempdir
.
Base.Filesystem.mktempdir
— Methodmktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path
주어진 prefix
와 무작위 접미사로 구성된 이름을 가진 임시 디렉토리를 parent
디렉토리에 생성하고 그 경로를 반환합니다. 또한, 일부 플랫폼에서는 prefix
의 끝에 있는 'X'
문자가 무작위 문자로 대체될 수 있습니다. parent
가 존재하지 않으면 오류를 발생시킵니다. cleanup
옵션은 프로세스가 종료될 때 임시 디렉토리가 자동으로 삭제되는지 여부를 제어합니다.
prefix
키워드 인자는 Julia 1.2에서 추가되었습니다.
cleanup
키워드 인자는 Julia 1.3에서 추가되었습니다. 관련하여, 1.3부터 Julia는 cleanup
이 명시적으로 false
로 설정되지 않는 한, Julia 프로세스가 종료될 때 mktempdir
로 생성된 임시 경로를 제거합니다.
Base.Filesystem.mktempdir
— Methodmktempdir(f::Function, parent=tempdir(); prefix="jl_")
함수 f
를 mktempdir(parent; prefix)
의 결과에 적용하고 완료 후 임시 디렉토리와 그 모든 내용을 제거합니다.
prefix
키워드 인자는 Julia 1.2에서 추가되었습니다.
Base.Filesystem.isblockdev
— Functionisblockdev(path) -> Bool
path
가 블록 장치인 경우 true
를 반환하고, 그렇지 않은 경우 false
를 반환합니다.
Base.Filesystem.ischardev
— Functionischardev(path) -> Bool
path
가 문자 장치인 경우 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.isdir
— Functionisdir(path) -> Bool
path
가 디렉토리인 경우 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
예제
julia> isdir(homedir())
true
julia> isdir("not/a/directory")
false
Base.Filesystem.isfifo
— Functionisfifo(path) -> Bool
path
가 FIFO이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.isfile
— Functionisfile(path) -> Bool
path
가 일반 파일이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
예제
julia> isfile(homedir())
false
julia> filename = "test_file.txt";
julia> write(filename, "Hello world!");
julia> isfile(filename)
true
julia> rm(filename);
julia> isfile(filename)
false
Base.Filesystem.islink
— Functionislink(path) -> Bool
path
가 심볼릭 링크인 경우 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.ismount
— Functionismount(path) -> Bool
path
가 마운트 지점이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.ispath
— Functionispath(path) -> Bool
유효한 파일 시스템 엔티티가 path
에 존재하면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다. 이는 isfile
, isdir
등의 일반화입니다.
Base.Filesystem.issetgid
— Functionissetgid(path) -> Bool
path
에 setgid 플래그가 설정되어 있으면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.issetuid
— Functionissetuid(path) -> Bool
path
에 setuid 플래그가 설정되어 있으면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.issocket
— Functionissocket(path) -> Bool
path
가 소켓이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.issticky
— Functionissticky(path) -> Bool
path
에 스티키 비트가 설정되어 있으면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
Base.Filesystem.homedir
— Functionhomedir() -> String
현재 사용자의 홈 디렉토리를 반환합니다.
homedir
는 libuv
의 uv_os_homedir
를 통해 홈 디렉토리를 결정합니다. 홈 디렉토리를 환경 변수를 통해 지정하는 방법에 대한 자세한 내용은 uv_os_homedir
문서를 참조하세요.
또한 Sys.username
를 참조하세요.
Base.Filesystem.dirname
— Functiondirname(path::AbstractString) -> String
경로의 디렉토리 부분을 가져옵니다. 경로의 끝에 있는 문자 ('/' 또는 '\')는 경로의 일부로 간주됩니다.
예제
julia> dirname("/home/myuser")
"/home"
julia> dirname("/home/myuser/")
"/home/myuser"
또한 basename
를 참조하세요.
Base.Filesystem.basename
— Functionbasename(path::AbstractString) -> String
경로의 파일 이름 부분을 가져옵니다.
이 함수는 Unix basename
프로그램과 약간 다릅니다. 여기서 후행 슬래시는 무시됩니다. 즉, $ basename /foo/bar/
는 bar
를 반환하지만, Julia의 basename
은 빈 문자열 ""
을 반환합니다.
예제
julia> basename("/home/myuser/example.jl")
"example.jl"
julia> basename("/home/myuser/")
""
또한 dirname
를 참조하십시오.
Base.Filesystem.isabspath
— Functionisabspath(path::AbstractString) -> Bool
경로가 절대 경로인지(루트 디렉토리에서 시작하는지) 확인합니다.
예제
julia> isabspath("/home")
true
julia> isabspath("home")
false
Base.Filesystem.isdirpath
— Functionisdirpath(path::AbstractString) -> Bool
경로가 디렉토리를 참조하는지 여부를 결정합니다(예: 경로 구분자로 끝나는 경우).
예제
julia> isdirpath("/home")
false
julia> isdirpath("/home/")
true
Base.Filesystem.joinpath
— Functionjoinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{AbstractString}) -> String
경로 구성 요소를 전체 경로로 결합합니다. 일부 인수가 절대 경로이거나 (Windows에서) 드라이브 사양이 이전 경로의 조합에 대해 계산된 드라이브와 일치하지 않으면 이전 구성 요소가 삭제됩니다.
Windows에서는 각 드라이브에 대한 현재 디렉토리가 있으므로 joinpath("c:", "foo")
는 드라이브 "c:"의 현재 디렉토리에 대한 상대 경로를 나타내므로 이는 "c:foo"와 같고 "c:\foo"와 같지 않습니다. 또한, joinpath
는 이를 비절대 경로로 처리하고 드라이브 문자 대소문자를 무시하므로 joinpath("C:\A","c:b") = "C:\A\b"
입니다.
예제
julia> joinpath("/home/myuser", "example.jl")
"/home/myuser/example.jl"
julia> joinpath(["/home/myuser", "example.jl"])
"/home/myuser/example.jl"
Base.Filesystem.abspath
— Functionabspath(path::AbstractString) -> String
현재 디렉토리를 추가하여 경로를 절대 경로로 변환합니다. 또한 normpath
와 같이 경로를 정규화합니다.
예제
JuliaExample
이라는 디렉토리에 있고 사용 중인 데이터가 JuliaExample
디렉토리에서 두 단계 위에 있는 경우 다음과 같이 작성할 수 있습니다:
abspath("../../data")
이것은 "/home/JuliaUser/data/"
와 같은 경로를 제공합니다.
또한 joinpath
, pwd
, expanduser
를 참조하세요.
abspath(path::AbstractString, paths::AbstractString...) -> String
경로 집합을 절대 경로로 변환하여 함께 결합하고 필요한 경우 현재 디렉토리를 추가합니다. abspath(joinpath(path, paths...))
와 동일합니다.
Base.Filesystem.normpath
— Functionnormpath(path::AbstractString) -> String
경로를 정규화하여 "." 및 ".." 항목을 제거하고 "/"를 시스템의 표준 경로 구분자로 변경합니다.
예제
julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"
julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
true
normpath(path::AbstractString, paths::AbstractString...) -> String
여러 경로를 결합하고 "." 및 ".." 항목을 제거하여 정규화된 경로로 변환합니다. normpath(joinpath(path, paths...))
와 동일합니다.
Base.Filesystem.realpath
— Functionrealpath(path::AbstractString) -> String
기호 링크를 확장하고 "." 및 ".." 항목을 제거하여 경로를 정규화합니다. 대소문자를 구분하지 않고 대소문자를 보존하는 파일 시스템(일반적으로 Mac 및 Windows)에서는 경로에 대한 파일 시스템의 저장된 대소문자가 반환됩니다.
(이 함수는 path
가 파일 시스템에 존재하지 않으면 예외를 발생시킵니다.)
Base.Filesystem.relpath
— Functionrelpath(path::AbstractString, startpath::AbstractString = ".") -> String
현재 디렉토리 또는 선택적 시작 디렉토리에서 path
에 대한 상대 파일 경로를 반환합니다. 이는 경로 계산입니다: path
또는 startpath
의 존재 여부나 성격을 확인하기 위해 파일 시스템에 접근하지 않습니다.
Windows에서는 드라이브 문자를 제외한 경로의 모든 부분에 대해 대소문자 구분이 적용됩니다. path
와 startpath
가 서로 다른 드라이브를 참조하는 경우, path
의 절대 경로가 반환됩니다.
Base.Filesystem.expanduser
— Functionexpanduser(path::AbstractString) -> AbstractString
유닉스 시스템에서 경로의 시작 부분에 있는 물결표 문자를 현재 사용자의 홈 디렉토리로 대체합니다.
또한 참조: contractuser
.
Base.Filesystem.contractuser
— Functioncontractuser(path::AbstractString) -> AbstractString
Unix 시스템에서 경로가 homedir()
로 시작하면 물결 문자로 교체합니다.
참고: expanduser
.
Base.Filesystem.samefile
— Functionsamefile(path_a::AbstractString, path_b::AbstractString)
path_a
와 path_b
가 동일한 기존 파일 또는 디렉토리를 참조하는지 확인합니다.
Base.Filesystem.splitdir
— Functionsplitdir(path::AbstractString) -> (AbstractString, AbstractString)
경로를 디렉토리 이름과 파일 이름의 튜플로 분할합니다.
예시
julia> splitdir("/home/myuser")
("/home", "myuser")
Base.Filesystem.splitdrive
— Functionsplitdrive(path::AbstractString) -> (AbstractString, AbstractString)
Windows에서는 경로를 드라이브 문자 부분과 경로 부분으로 나눕니다. Unix 시스템에서는 첫 번째 구성 요소가 항상 빈 문자열입니다.
Base.Filesystem.splitext
— Functionsplitext(path::AbstractString) -> (String, String)
경로의 마지막 구성 요소에 하나 이상의 점이 포함되어 있으면, 경로를 마지막 점 이전의 모든 것과 점을 포함한 이후의 모든 것으로 나눕니다. 그렇지 않으면, 인수를 수정하지 않은 튜플과 빈 문자열을 반환합니다. "splitext"는 "split extension"의 약자입니다.
예시
julia> splitext("/home/myuser/example.jl")
("/home/myuser/example", ".jl")
julia> splitext("/home/myuser/example.tar.gz")
("/home/myuser/example.tar", ".gz")
julia> splitext("/home/my.user/example")
("/home/my.user/example", "")
Base.Filesystem.splitpath
— Functionsplitpath(path::AbstractString) -> Vector{String}
파일 경로를 모든 경로 구성 요소로 분할합니다. 이는 joinpath
의 반대입니다. 경로에 있는 각 디렉토리 또는 파일에 대해 하나씩의 하위 문자열 배열을 반환하며, 루트 디렉토리가 있는 경우 포함됩니다.
이 함수는 최소한 Julia 1.1이 필요합니다.
예제
julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
"/"
"home"
"myuser"
"example.jl"