JanetDocsI'm feeling luckyGithub sign in

os/stat



    cfunction

    (os/stat path &opt tab|key)
    
    Gets information about a file or directory. Returns a table If the
    third argument is a keyword, returns only that information from stat.
    If the file or directory does not exist, returns nil. The keys are
    
      :dev - the device that the file is on
      :mode - the type of file, one of :file, :directory, :block,
    :character, :fifo, :socket, :link, or :other
      :int-permissions - A Unix permission integer like 8r744
      :permissions - A Unix permission string like "rwxr--r--"
      :uid - File uid
      :gid - File gid
      :nlink - number of links to file
      :rdev - Real device of file. 0 on windows.
      :size - size of file in bytes
      :blocks - number of blocks in file. 0 on windows
      :blocksize - size of blocks in file. 0 on windows
      :accessed - timestamp when file last accessed
      :changed - timestamp when file last changed (permissions changed)
      :modified - timestamp when file last modified (content changed)
    


3 examplesSign in to add an example
Loading...
(defn recent-mods
  "List the files in the current directory which have changed within the last hour."
  []
  (filter
    (fn [fname]
      (<
        (- (os/time) 3600)
        (os/stat fname :modified)))
    (os/dir ".")))
cellularmitosis
(defn ls-sockets
  "List the sockets in the current directory."
  []
  (filter
    (fn [fname] (= :socket (os/stat fname :mode)))
    (os/dir ".")))
cellularmitosis
(os/shell "touch foo")
(os/stat "foo" :modified)  # => 1593836002
(os/touch "foo")
(os/stat "foo" :modified)  # => 1593836013
cellularmitosis