Change the mode of each FILE to OCTAL-MODE.
ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE -v verbose
# File un.rb, line 195 def chmod setup do |argv, options| mode = argv.shift.oct FileUtils.chmod mode, argv, options end end
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY
ruby -run -e cp -- [OPTION] SOURCE DEST -p preserve file attributes if possible -r copy recursively -v verbose
# File un.rb, line 68 def cp setup("pr") do |argv, options| cmd = "cp" cmd += "_r" if options.delete :r options[:preserve] = true if options.delete :p dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.send cmd, argv, dest, options end end
Display help message.
ruby -run -e help [COMMAND]
# File un.rb, line 222 def help setup do |argv,| all = argv.empty? open(__FILE__) do |me| while me.gets("##\n") if help = me.gets("\n\n") if all or argv.delete help[/-e \w+/].sub(/-e /, "") print help.gsub(/^# ?/, "") end end end end end end
Copy SOURCE to DEST.
ruby -run -e install -- [OPTION] SOURCE DEST -p apply access/modification times of SOURCE files to corresponding destination files -m set permission mode (as in chmod), instead of 0755 -v verbose
# File un.rb, line 177 def install setup("pm:") do |argv, options| options[:mode] = (mode = options.delete :m) ? mode.oct : 0755 options[:preserve] = true if options.delete :p dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.install argv, dest, options end end
Create a link to the specified TARGET with LINK_NAME.
ruby -run -e ln -- [OPTION] TARGET LINK_NAME -s make symbolic links instead of hard links -f remove existing destination files -v verbose
# File un.rb, line 89 def ln setup("sf") do |argv, options| cmd = "ln" cmd += "_s" if options.delete :s options[:force] = true if options.delete :f dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.send cmd, argv, dest, options end end
Create the DIR, if they do not already exist.
ruby -run -e mkdir -- [OPTION] DIR -p no error if existing, make parent directories as needed -v verbose
# File un.rb, line 144 def mkdir setup("p") do |argv, options| cmd = "mkdir" cmd += "_p" if options.delete :p FileUtils.send cmd, argv, options end end
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
ruby -run -e mv -- [OPTION] SOURCE DEST -v verbose
# File un.rb, line 108 def mv setup do |argv, options| dest = argv.pop argv = argv[0] if argv.size == 1 FileUtils.mv argv, dest, options end end
Remove the FILE
ruby -run -e rm -- [OPTION] FILE -f ignore nonexistent files -r remove the contents of directories recursively -v verbose
# File un.rb, line 126 def rm setup("fr") do |argv, options| cmd = "rm" cmd += "_r" if options.delete :r options[:force] = true if options.delete :f FileUtils.send cmd, argv, options end end
Remove the DIR.
ruby -run -e rmdir -- [OPTION] DIR -v verbose
# File un.rb, line 160 def rmdir setup do |argv, options| FileUtils.rmdir argv, options end end
# File un.rb, line 32 def setup(options = "") ARGV.map! do |x| case x when /^-/ x.delete "^-#{options}v" when /[*?\[{]/ Dir[x] else x end end ARGV.flatten! ARGV.delete_if{|x| x == "-"} opt_hash = {} OptionParser.new do |o| options.scan(/.:?/) do |s| o.on("-" + s.tr(":", " ")) do |val| opt_hash[s.delete(":").intern] = val end end o.on("-v") do opt_hash[:verbose] = true end o.parse! end yield ARGV, opt_hash end