The give utility transfers files to another specified user (i.e., changes the owner) by copying the files to a holding directory from which only the intended recipient can retrieve the files by running take.

Important: Both giver and taker must have accounts on the system on which the give occurs. The take can occur on any system on which the taker has an account.

The syntax for give is:

give [-f] [-i] [-l] [-n] [-u] takername flist


takername is the login name of the user you intend to receive the files. You cannot specify several recipients with one execution of give.

flist is the name, space-delimited list of names, or file filter that specifies the file(s) or directories to give to takername. Path names are accepted for files not in the current directory.

When you give a file, you always automatically retain the original. Because the transferred copy waits in a special temporary subdirectory, it may be purged if the recipient delays retrieving it longer than the local purge interval. Options let you confirm (-l) or cancel (-u) files not yet taken. If you try to give two files with the same name, only the first is copied to the holding directory (you get a warning about the second). Files that are given always arrive with the recipient as owner and group, regardless of how you set the group and permissions on the file before you give it.

Given files are copied to the file system /usr/give, which has a whole system quota of 200 GB and a per user quota of 25 GB of disk space. If you plan to give a few large files (or even many small ones), you should probably confirm that you will not violate the quota by first running

df -h /usr/give

to get a current report on how much free space (in KB, MB, or GB) is still available in /usr/give. (See below for more background on using df.) There is no quota on the number of files that you can give.

Give is not capable of giving directories. Instead, create and give a tar file.

For additional information and details about options, consult the man page for give.


give mjones file1 Give one file to user mjones
give mjones file* Give multiple files via wildcard to user mjones
give -l mjones List the files given to user mjones
give -u mjones file1   Ungive (remove) file1 previously given to (but not yet taken by) user mjones