Filesystem

Base.readMethod
read(filename::AbstractString)

اقرأ المحتويات الكاملة لملف كـ Vector{UInt8}.

read(filename::AbstractString, String)

اقرأ المحتويات الكاملة لملف كسلسلة نصية.

read(filename::AbstractString, args...)

افتح ملفًا واقرأ محتوياته. يتم تمرير args إلى read: هذا يعادل open(io->read(io, args...), filename).

source
Base.writeMethod
write(filename::AbstractString, content)

اكتب التمثيل الثنائي القياسي لـ content إلى ملف، والذي سيتم إنشاؤه إذا لم يكن موجودًا بعد أو سيتم الكتابة فوقه إذا كان موجودًا.

أعد عدد البايتات المكتوبة في الملف.

source
Base.Filesystem.pwdFunction
pwd() -> String

احصل على دليل العمل الحالي.

انظر أيضًا: cd، tempdir.

أمثلة

julia> pwd()
"/home/JuliaUser"

julia> cd("/home/JuliaUser/Projects/julia")

julia> pwd()
"/home/JuliaUser/Projects/julia"
source
Base.Filesystem.cdMethod
cd(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"
source
Base.Filesystem.cdMethod
cd(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"
source
Base.Filesystem.readdirFunction
readdir(dir::AbstractString=pwd();
    join::Bool = false,
    sort::Bool = true,
) -> Vector{String}

إرجاع الأسماء في الدليل dir أو الدليل الحالي إذا لم يتم تقديمه. عندما يكون join غير صحيح، فإن readdir يعيد فقط الأسماء في الدليل كما هي؛ عندما يكون join صحيحًا، فإنه يعيد joinpath(dir, name) لكل name بحيث تكون السلاسل المعادة مسارات كاملة. إذا كنت تريد الحصول على مسارات مطلقة، استدعِ readdir مع مسار دليل مطلق وjoin مضبوطًا على صحيح.

بشكل افتراضي، يقوم readdir بفرز قائمة الأسماء التي يعيدها. إذا كنت تريد تخطي فرز الأسماء والحصول عليها بالترتيب الذي تسردها به نظام الملفات، يمكنك استخدام readdir(dir, sort=false) للاختيار بعدم الفرز.

انظر أيضًا: walkdir.

Julia 1.4

تتطلب وسائط الكلمات الرئيسية 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"
source
Base.Filesystem.walkdirFunction
walkdir(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)) # path to directories
    end
    println("Files in $root")
    for file in files
        println(joinpath(root, file)) # path to files
    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[])
source
Base.Filesystem.mkdirFunction
mkdir(path::AbstractString; mode::Unsigned = 0o777)

قم بإنشاء دليل جديد باسم path وأذونات mode. القيمة الافتراضية لـ mode هي 0o777، المعدلة بواسطة قناع إنشاء الملفات الحالي. هذه الدالة لا تنشئ أكثر من دليل واحد. إذا كان الدليل موجودًا بالفعل، أو إذا كانت بعض الأدلة الوسيطة غير موجودة، فإن هذه الدالة ترمي خطأ. انظر mkpath لدالة تقوم بإنشاء جميع الأدلة الوسيطة المطلوبة. أعد path.

أمثلة

julia> mkdir("testingdir")
"testingdir"

julia> cd("testingdir")

julia> pwd()
"/home/JuliaUser/testingdir"
source
Base.Filesystem.mkpathFunction
mkpath(path::AbstractString; mode::Unsigned = 0o777)

قم بإنشاء جميع الدلائل الوسيطة في path حسب الحاجة. يتم إنشاء الدلائل بالأذونات mode التي تكون افتراضيًا 0o777 ويتم تعديلها بواسطة قناع إنشاء الملفات الحالي. على عكس mkdir، لا يحدث خطأ إذا كان 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
source
Base.Filesystem.hardlinkFunction
hardlink(src::AbstractString, dst::AbstractString)

ينشئ رابطًا صلبًا لملف المصدر الموجود src بالاسم dst. يجب ألا يوجد الوجهة، dst.

انظر أيضًا: symlink.

Julia 1.8

تمت إضافة هذه الطريقة في Julia 1.8.

source
Base.Filesystem.symlinkFunction
symlink(target::AbstractString, link::AbstractString; dir_target = false)

ينشئ رابطًا رمزيًا إلى target بالاسم link.

على نظام Windows، يجب أن يتم التصريح عن الروابط الرمزية بشكل صريح على أنها تشير إلى دليل أو لا. إذا كان target موجودًا بالفعل، فبشكل افتراضي سيتم اكتشاف نوع link تلقائيًا، ومع ذلك إذا لم يكن target موجودًا، فإن هذه الوظيفة بشكل افتراضي تنشئ رابط ملف ما لم يتم تعيين dir_target إلى true. لاحظ أنه إذا قام المستخدم بتعيين dir_target ولكن target موجود وهو ملف، فسيتم إنشاء رابط دليل، ولكن سيتم فشل فك ارتباط الرابط الرمزي، تمامًا كما لو أن المستخدم أنشأ رابط ملف (عن طريق استدعاء symlink() مع تعيين dir_target إلى false قبل إنشاء الدليل) وحاول فك ارتباطه إلى دليل.

بالإضافة إلى ذلك، هناك طريقتان لإنشاء رابط على Windows؛ الروابط الرمزية ونقاط التقاطع. نقاط التقاطع أكثر كفاءة قليلاً، لكنها لا تدعم المسارات النسبية، لذا إذا تم طلب رابط دليل نسبي (كما هو موضح من خلال إرجاع isabspath(target) إلى false) سيتم استخدام رابط رمزي، وإلا سيتم استخدام نقطة تقاطع. أفضل ممارسة لإنشاء الروابط الرمزية على Windows هي إنشاؤها فقط بعد أن يتم إنشاء الملفات/الدلائل التي تشير إليها بالفعل.

انظر أيضًا: hardlink.

Note

هذه الوظيفة تثير خطأً تحت أنظمة التشغيل التي لا تدعم الروابط الرمزية الناعمة، مثل Windows XP.

Julia 1.6

تم إضافة وسيط الكلمة الرئيسية dir_target في Julia 1.6. قبل ذلك، كانت الروابط الرمزية إلى المسارات غير الموجودة على Windows دائمًا روابط ملفات، ولم تكن الروابط النسبية إلى الدلائل مدعومة.

source
Base.Filesystem.readlinkFunction
readlink(path::AbstractString) -> String

إرجاع موقع الهدف الذي يشير إليه الرابط الرمزي path.

source
Base.Filesystem.chmodFunction
chmod(path::AbstractString, mode::Integer; recursive::Bool=false)

قم بتغيير وضع الأذونات لـ path إلى mode. حاليًا، يتم دعم أوضاع الأعداد الصحيحة فقط (مثل 0o777). إذا كان recursive=true وكان المسار دليلاً، فسيتم تغيير جميع الأذونات في ذلك الدليل بشكل متكرر. أعد path.

!!! ملاحظة قبل إصدار Julia 1.6، لم يكن هذا يقوم بالتلاعب بشكل صحيح في ACLs نظام الملفات على Windows، لذلك كان يقوم فقط بتعيين بتات القراءة فقط على الملفات. الآن يمكنه التلاعب بـ ACLs.

source
Base.Filesystem.chownFunction
chown(path::AbstractString, owner::Integer, group::Integer=-1)

قم بتغيير مالك و/أو مجموعة path إلى owner و/أو group. إذا كانت القيمة المدخلة لـ owner أو group هي -1 فلن يتغير المعرف المقابل. حاليًا، يتم دعم المالكين والمجموعات من نوع صحيح فقط. أعد path.

source
Base.Libc.RawFDType
RawFD

نوع بدائي يلتف حول موصِف ملف نظام التشغيل الأصلي. يمكن تمرير RawFDs إلى طرق مثل stat لاكتشاف معلومات حول الملف الأساسي، ويمكن أيضًا استخدامها لفتح تدفقات، مع وصف RawFD لملف نظام التشغيل الذي يدعم التدفق.

source
Base.statFunction
stat(file)

إرجاع هيكل يحتوي على معلومات حول الملف. حقول الهيكل هي:

الاسمالنوعالوصف
descUnion{String, Base.OS_HANDLE}المسار أو موصل ملف نظام التشغيل
sizeInt64الحجم (بالبايت) للملف
deviceUIntمعرف الجهاز الذي يحتوي على الملف
inodeUIntرقم inode للملف
modeUIntوضع الحماية للملف
nlinkIntعدد الروابط الصلبة إلى الملف
uidUIntمعرف المستخدم لمالك الملف
gidUIntمعرف المجموعة لمالك الملف
rdevUIntإذا كان هذا الملف يشير إلى جهاز، معرف الجهاز الذي يشير إليه
blksizeInt64الحجم المفضل لكتلة نظام الملفات للملف
blocksInt64عدد الكتل المخصصة بحجم 512 بايت
mtimeFloat64الطابع الزمني لنظام Unix عندما تم تعديل الملف آخر مرة
ctimeFloat64الطابع الزمني لنظام Unix عندما تم تغيير بيانات الملف
source
Base.Filesystem.diskstatFunction
diskstat(path=pwd())

يعيد إحصائيات بالبايت عن القرص الذي يحتوي على الملف أو الدليل المشار إليه بواسطة path. إذا لم يتم تمرير أي وسيط، يتم إرجاع إحصائيات عن القرص الذي يحتوي على الدليل الحالي.

Julia 1.8

تم إضافة هذه الطريقة في Julia 1.8.

source
Base.Filesystem.lstatFunction
lstat(file)

مثل stat، ولكن بالنسبة للروابط الرمزية، يحصل على المعلومات للرابط نفسه بدلاً من الملف الذي يشير إليه. يجب استدعاء هذه الدالة على مسار ملف بدلاً من كائن ملف أو موصِّل ملف.

source
Base.Filesystem.upermFunction
uperm(file)

احصل على أذونات مالك الملف كحقل بت

القيمةالوصف
01إذن التنفيذ
02إذن الكتابة
04إذن القراءة

للاطلاع على الحجج المسموح بها، انظر stat.

source
Base.Filesystem.opermFunction
operm(file)

مثل uperm ولكن يحصل على الأذونات للأشخاص الذين لا يمتلكون الملف ولا هم أعضاء في المجموعة المالكة للملف

source
Base.Filesystem.cpFunction
cp(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.

Note

وظيفة cp تختلف عن أمر cp. وظيفة cp تعمل دائمًا على افتراض أن dst هو ملف، بينما الأمر يقوم بأشياء مختلفة اعتمادًا على ما إذا كان dst دليلًا أو ملفًا. استخدام force=true عندما يكون dst دليلًا سيؤدي إلى فقدان جميع المحتويات الموجودة في دليل dst، وسيصبح dst ملفًا يحتوي على محتويات src بدلاً من ذلك.

source
Base.downloadFunction
download(url::AbstractString, [path::AbstractString = tempname()]) -> path

قم بتنزيل ملف من عنوان url المعطى، وحفظه في الموقع path، أو إذا لم يتم تحديده، في مسار مؤقت. يُرجع مسار الملف الذي تم تنزيله.

!!! ملاحظة منذ إصدار Julia 1.6، تم إهمال هذه الوظيفة وهي مجرد غلاف رقيق حول Downloads.download. في الشيفرات الجديدة، يجب عليك استخدام تلك الوظيفة مباشرة بدلاً من استدعاء هذه.

source
Base.Filesystem.mvFunction
mv(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");
source
Base.Filesystem.rmFunction
rm(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:
[...]
source
Base.Filesystem.touchFunction
Base.touch(::Pidfile.LockMonitor)

قم بتحديث mtime على القفل، للإشارة إلى أنه لا يزال جديدًا.

انظر أيضًا إلى الكلمة الرئيسية refresh في منشئ mkpidlock.

source
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.

source
Base.Filesystem.tempnameFunction
tempname(parent=tempdir(); cleanup=true) -> String

توليد مسار ملف مؤقت. هذه الدالة تعيد فقط مسارًا؛ لا يتم إنشاء أي ملف. من المحتمل أن يكون المسار فريدًا، ولكن لا يمكن ضمان ذلك بسبب الاحتمالية البعيدة جدًا لاستدعاء tempname مرتين في وقت واحد مما يؤدي إلى توليد نفس اسم الملف. الاسم مضمون أن يختلف عن جميع الملفات الموجودة بالفعل في وقت استدعاء tempname.

عند استدعائها بدون أي معطيات، سيكون الاسم المؤقت مسارًا مطلقًا إلى اسم مؤقت في دليل النظام المؤقت كما هو محدد بواسطة tempdir(). إذا تم إعطاء معطى parent، سيكون المسار المؤقت في ذلك الدليل بدلاً من ذلك.

خيار cleanup يتحكم فيما إذا كانت العملية تحاول حذف المسار المعاد تلقائيًا عند انتهاء العملية. لاحظ أن دالة tempname لا تنشئ أي ملف أو دليل في الموقع المعاد، لذا لا يوجد شيء لتنظيفه ما لم تقم بإنشاء ملف أو دليل هناك. إذا قمت بذلك وكان cleanup هو true، فسيتم حذفه عند إنهاء العملية.

Julia 1.4

تمت إضافة معطيات parent و cleanup في 1.4. قبل Julia 1.4، لم يكن المسار الذي تعيده tempname سيتم تنظيفه عند إنهاء العملية.

Warning

يمكن أن يؤدي ذلك إلى ثغرات أمنية إذا حصلت عملية أخرى على نفس اسم الملف وأنشأت الملف قبل أن تتمكن من ذلك. افتح الملف باستخدام JL_O_EXCL إذا كانت هذه مسألة تثير قلقك. يُوصى أيضًا باستخدام mktemp() بدلاً من ذلك.

source
Base.Filesystem.tempdirFunction
tempdir()

يحصل على مسار الدليل المؤقت. على نظام ويندوز، يستخدم tempdir() أول متغير بيئي موجود في القائمة المرتبة TMP، TEMP، USERPROFILE. على جميع أنظمة التشغيل الأخرى، يستخدم tempdir() أول متغير بيئي موجود في القائمة المرتبة TMPDIR، TMP، TEMP، و TEMPDIR. إذا لم يتم العثور على أي من هذه، يتم استخدام المسار "/tmp".

source
Base.Filesystem.mktempMethod
mktemp(parent=tempdir(); cleanup=true) -> (path, io)

إرجاع (path, io)، حيث path هو مسار ملف مؤقت جديد في parent و io هو كائن ملف مفتوح لهذا المسار. يتحكم خيار cleanup في ما إذا كان سيتم حذف الملف المؤقت تلقائيًا عند خروج العملية.

Julia 1.3

تم إضافة وسيط الكلمة الرئيسية cleanup في Julia 1.3. وبالمثل، بدءًا من 1.3، ستقوم Julia بإزالة المسارات المؤقتة التي تم إنشاؤها بواسطة mktemp عند خروج عملية Julia، ما لم يتم تعيين cleanup صراحةً إلى false.

source
Base.Filesystem.mktempdirMethod
mktempdir(parent=tempdir(); prefix="jl_", cleanup=true) -> path

قم بإنشاء دليل مؤقت في دليل parent مع اسم مُركب من prefix المعطى ولاحقة عشوائية، وأعد مساره. بالإضافة إلى ذلك، في بعض الأنظمة، قد يتم استبدال أي أحرف 'X' متبقية في prefix بأحرف عشوائية. إذا كان parent غير موجود، قم بإلقاء خطأ. يتحكم خيار cleanup في ما إذا كان سيتم حذف الدليل المؤقت تلقائيًا عند خروج العملية.

Julia 1.2

تم إضافة وسيط prefix في Julia 1.2.

Julia 1.3

تم إضافة وسيط cleanup في Julia 1.3. ذات صلة، بدءًا من 1.3، ستقوم Julia بإزالة المسارات المؤقتة التي تم إنشاؤها بواسطة mktempdir عند خروج عملية Julia، ما لم يتم تعيين cleanup صراحةً إلى false.

انظر أيضًا: mktemp, mkdir.

source
Base.Filesystem.mktempdirMethod
mktempdir(f::Function, parent=tempdir(); prefix="jl_")

قم بتطبيق الدالة f على نتيجة mktempdir(parent; prefix) واحذف الدليل المؤقت وجميع محتوياته عند الانتهاء.

انظر أيضًا: mktemp، mkdir.

Julia 1.2

تم إضافة وسيط الكلمة الرئيسية prefix في Julia 1.2.

source
Base.Filesystem.isdirFunction
isdir(path) -> Bool

ارجع true إذا كان path دليلاً، و false خلاف ذلك.

أمثلة

julia> isdir(homedir())
true

julia> isdir("not/a/directory")
false

انظر أيضًا isfile و ispath.

source
Base.Filesystem.isfileFunction
isfile(path) -> Bool

ارجع true إذا كان path ملفًا عاديًا، و 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

انظر أيضًا isdir و ispath.

source
Base.Filesystem.islinkFunction
islink(path) -> Bool

ارجع true إذا كان path رابطًا رمزيًا، و false خلاف ذلك.

source
Base.Filesystem.ispathFunction
ispath(path) -> Bool

ارجع true إذا كانت هناك كيان نظام ملفات صالح موجود في path، وإلا ارجع false. هذه هي التعميم لـ isfile، isdir إلخ.

source
Base.Filesystem.issetgidFunction
issetgid(path) -> Bool

ارجع true إذا كان path يحتوي على علامة setgid مضبوطة، و false خلاف ذلك.

source
Base.Filesystem.issetuidFunction
issetuid(path) -> Bool

ارجع true إذا كان path يحتوي على علامة setuid مضبوطة، و false خلاف ذلك.

source
Base.Filesystem.isstickyFunction
issticky(path) -> Bool

ارجع true إذا كان path يحتوي على بت لاصق مضبوط، و false خلاف ذلك.

source
Base.Filesystem.homedirFunction
homedir() -> String

إرجاع دليل المنزل الحالي للمستخدم.

!!! ملاحظة homedir يحدد دليل المنزل عبر libuv's uv_os_homedir. لمزيد من التفاصيل (على سبيل المثال حول كيفية تحديد دليل المنزل عبر متغيرات البيئة)، انظر إلى وثائق uv_os_homedir.

انظر أيضًا Sys.username.

source
Base.Filesystem.dirnameFunction
dirname(path::AbstractString) -> String

احصل على جزء الدليل من المسار. يتم احتساب الأحرف اللاحقة ('/' أو '\') في المسار كجزء من المسار.

أمثلة

julia> dirname("/home/myuser")
"/home"

julia> dirname("/home/myuser/")
"/home/myuser"

انظر أيضًا basename.

source
Base.Filesystem.basenameFunction
basename(path::AbstractString) -> String

احصل على اسم الملف من مسار.

!!! ملاحظة هذه الدالة تختلف قليلاً عن برنامج Unix basename، حيث يتم تجاهل الشرطات اللاحقة، أي أن $ basename /foo/bar/ يعيد bar، بينما basename في جوليا يعيد سلسلة فارغة "".

أمثلة

julia> basename("/home/myuser/example.jl")
"example.jl"

julia> basename("/home/myuser/")
""

انظر أيضًا dirname.

source
Base.Filesystem.isabspathFunction
isabspath(path::AbstractString) -> Bool

حدد ما إذا كان المسار مطلقًا (يبدأ من الدليل الجذر).

أمثلة

julia> isabspath("/home")
true

julia> isabspath("home")
false
source
Base.Filesystem.isdirpathFunction
isdirpath(path::AbstractString) -> Bool

حدد ما إذا كان المسار يشير إلى دليل (على سبيل المثال، ينتهي بفاصل مسار).

أمثلة

julia> isdirpath("/home")
false

julia> isdirpath("/home/")
true
source
Base.Filesystem.joinpathFunction
joinpath(parts::AbstractString...) -> String
joinpath(parts::Vector{AbstractString}) -> String
joinpath(parts::Tuple{AbstractString}) -> String

قم بدمج مكونات المسار في مسار كامل. إذا كان بعض المعاملات هو مسار مطلق أو (على نظام ويندوز) يحتوي على مواصفات محرك لا تتطابق مع المحرك المحسوب لدمج المسارات السابقة، فسيتم إسقاط المكونات السابقة.

ملاحظة على نظام ويندوز، نظرًا لوجود دليل حالي لكل محرك، فإن 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"
source
Base.Filesystem.abspathFunction
abspath(path::AbstractString) -> String

قم بتحويل مسار إلى مسار مطلق عن طريق إضافة الدليل الحالي إذا لزم الأمر. كما يقوم بتطبيع المسار كما في normpath.

أمثلة

إذا كنت في دليل يسمى JuliaExample والبيانات التي تستخدمها تقع على بعد مستويين أعلى بالنسبة لدليل JuliaExample، يمكنك كتابة:

abspath("../../data")

والذي يعطي مسار مثل "/home/JuliaUser/data/".

انظر أيضًا joinpath، pwd، expanduser.

source
abspath(path::AbstractString, paths::AbstractString...) -> String

قم بتحويل مجموعة من المسارات إلى مسار مطلق عن طريق دمجها معًا وإضافة الدليل الحالي إذا لزم الأمر. يعادل abspath(joinpath(path, paths...)).

source
Base.Filesystem.normpathFunction
normpath(path::AbstractString) -> String

قم بتطبيع مسار، مع إزالة إدخالات "." و ".." وتغيير "/" إلى فاصل المسار القياسي للنظام.

أمثلة

julia> normpath("/home/myuser/../example.jl")
"/home/example.jl"

julia> normpath("Documents/Julia") == joinpath("Documents", "Julia")
true
source
normpath(path::AbstractString, paths::AbstractString...) -> String

قم بتحويل مجموعة من المسارات إلى مسار موحد عن طريق دمجها معًا وإزالة إدخالات "." و "..". يعادل normpath(joinpath(path, paths...)).

source
Base.Filesystem.realpathFunction
realpath(path::AbstractString) -> String

قم بتوحيد مسار عن طريق توسيع الروابط الرمزية وإزالة إدخالات "." و "..". في أنظمة الملفات التي لا تأخذ في الاعتبار حالة الأحرف ولكن تحتفظ بها (عادةً ما تكون على ماك وويندوز)، يتم إرجاع الحالة المخزنة في نظام الملفات للمسار.

(ترمي هذه الدالة استثناءً إذا لم يكن path موجودًا في نظام الملفات.)

source
Base.Filesystem.relpathFunction
relpath(path::AbstractString, startpath::AbstractString = ".") -> String

إرجاع مسار ملف نسبي إلى path إما من الدليل الحالي أو من دليل بدء اختياري. هذه عملية حساب مسار: لا يتم الوصول إلى نظام الملفات لتأكيد وجود أو طبيعة path أو startpath.

في نظام ويندوز، يتم تطبيق حساسية الحالة على كل جزء من المسار باستثناء أحرف محركات الأقراص. إذا كانت path و startpath تشير إلى محركات أقراص مختلفة، يتم إرجاع المسار المطلق لـ path.

source
Base.Filesystem.expanduserFunction
expanduser(path::AbstractString) -> AbstractString

في أنظمة Unix، استبدل حرف التلدة في بداية المسار بدليل المستخدم الحالي.

انظر أيضًا: contractuser.

source
Base.Filesystem.contractuserFunction
contractuser(path::AbstractString) -> AbstractString

في أنظمة Unix، إذا كان المسار يبدأ بـ homedir()، استبدله برمز التلدة.

انظر أيضًا: expanduser.

source
Base.Filesystem.samefileFunction
samefile(path_a::AbstractString, path_b::AbstractString)

تحقق مما إذا كانت المسارات path_a و path_b تشير إلى نفس الملف أو الدليل الموجود.

source
Base.Filesystem.splitdirFunction
splitdir(path::AbstractString) -> (AbstractString, AbstractString)

قسّم المسار إلى زوج من اسم الدليل واسم الملف.

أمثلة

julia> splitdir("/home/myuser")
("/home", "myuser")
source
Base.Filesystem.splitdriveFunction
splitdrive(path::AbstractString) -> (AbstractString, AbstractString)

على نظام ويندوز، يتم تقسيم المسار إلى جزء حرف محرك الأقراص وجزء المسار. على أنظمة يونكس، يكون المكون الأول دائمًا سلسلة فارغة.

source
Base.Filesystem.splitextFunction
splitext(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", "")
source
Base.Filesystem.splitpathFunction
splitpath(path::AbstractString) -> Vector{String}

قم بتقسيم مسار الملف إلى جميع مكوناته. هذا هو عكس joinpath. يُرجع مصفوفة من السلاسل الفرعية، واحدة لكل دليل أو ملف في المسار، بما في ذلك الدليل الجذر إذا كان موجودًا.

Julia 1.1

تتطلب هذه الوظيفة على الأقل Julia 1.1.

أمثلة

julia> splitpath("/home/myuser/example.jl")
4-element Vector{String}:
 "/"
 "home"
 "myuser"
 "example.jl"
source