Objects are entries on a filesystem, a filesystem is the format (not to be confused with file format) of how data is arranged on a physical or virtual storage device (such as a hard drive, floppy disk, CD, ZIP disk, swap partition, etc). For more information on filesystems and devices see Devices.
Different types of filesystems support different types of objects, the following is a list of object types (listed from most to least common):
![]() |
File |
Used to store data for long periods of time.
Each file's data has a format, a format is a set of
rules that interpret what the data means (such as text,
document, image, sound, video, three-dimensional model, etc). The
format is usually determined by the file's extension, the
extension is the postfix of a file's name separated by a
.
character (such as .txt
, .png
,
.tar.gz
, etc).
Formats can be associated with MIME Types in order to determine additional specifications of that format (such as which program should be used to open it and what icon should be used to represent it).
Files are also known as regular objects.
To create a new file, select the directory that you want the new file to reside in and then go to File->New->File.
![]() |
Executable |
This is basically a file who's permissions are set to allow it to be executed (aka opened or runned).
Executable objects are often programs or scripts, they can be executed/opened by double-clicking on the object or going to File->Open.
To set an object to be executable:
X
(eXecutable) permission.
You should only set objects to be executable when you know for certain that they are programs, libraries, plugins, or scripts.
See Permissions for more information.
![]() |
Directory |
Used to organize objects, each directory can contain other objects (including other directories which would be called child directories or subdirectories).
Directories are also known as folders.
To create a new directory, select the directory that you want the new directory to reside in and then go to File->New->Directory.
![]() |
Link |
Used to refer to another object (including other links). Each link has a value, this value often contains a relative path or an absolute path that specifies the location of its destination object.
Links that do not refer to an existing object are called dangling
links and are indicated by a
broken link icon.
Links do not have permissions.
Links that are displayed in orange indicate that it may be infinately recursive. Infinately recursive means that it may, at some point, refer back to itself.
Not all filesystems support this type of object.
To create a new link, select the directory that you want the new link to reside in and then go to File->New->Link.
To set the link's value, select the link, and then go to Edit->Properties->Link.
![]() |
FIFO Pipe |
FIFO stands for First In First Out, they are used to buffer (temporary store) data. Typically, one program writes or sends data to a FIFO pipe and then another program reads or receives that data.
FIFO pipes are often created by other programs for use between programs as a communications medium.
Not all filesystems support this type of object.
To create a new FIFO pipe, select the directory that you want the new FIFO pipe to reside in and then go to File->New->FIFO Pipe.
![]() |
Block Device |
Used to refer to a physical or virtual device by allowing programs to open them and then read or write data from/to them. Block devices are device nodes that allow programs to have buffered access to the device, whereas character devices have unbuffered serial data access to the device.
Each block device has a pair of device numbers that are used to identify the device. There is a major and a minor device number.
Most block devices are found in the /dev
directory.
Block devices are also known as device special files.
Not all filesystems support this type of object.
To create a new block device, select the directory that you want the new block device to reside in, and then go to File->New->Block Device.
To set the block device's device numbers, select the block device and then go to Edit->Properties->Device Node.
![]() |
Character Device |
Used to refer to a physical or virtual device by allowing programs to open them and then read or write data from/to them. Character devices are device nodes that allow programs to have unbuffered serial data access to the device.
Each character device has a pair of device numbers that are used to identify the device. There is a major and a minor device number.
Most character devices are found in the /dev
directory.
Character devices are also known as device special files.
Not all filesystems support this type of object.
To create a new character device, select the directory that you want the new character device to reside in and then go to File->New->Character Device.
To set the character device's device numbers, select the character device, and then go to Edit->Properties->Device Node.
![]() |
Socket |
Used to send and receive data between two programs or processes who open this object.
Sockets are often created by other programs for use between programs as a communications medium.
Not all filesystems support this type of object.
To create a new socket, select the directory that you want the new socket to reside in and then go to File->New->Socket.
![]() |
Unknown |
This is an object who's type is unknown or undeterminable. It may indicate that this object is "damaged" on the media, that it contains errors (see Error object), or it may mean that this object is of a (possibly newer) type that is not (yet) recognized.
This object type was introduced in Endeavour Mark II version 2.6.x.
![]() |
Error |
This is an object that has been reported by the system to contain errors or it may be a "damaged" object on a "damage' media.
There are many posibilities for encountering error objects, the most common include:
stat()
not supporting 64-bit data).
This object type was introduced in Endeavour Mark II version 2.6.x.
Every object has a set of properties. Properties are values that describe the object's basic characteristics, such as its name, size, and date modified.
The following is a list of properties (listed from most to least common):
To view an object's properties, select the object and then go to Edit->Properties...->Details.
Permissions determine the access rights to an object, whether or not you may read (view), write (create or modify), search (see in a list), and execute an object.
Permissions are typically displayed as the string
rwxrwxrwx
, where the rwx
triplets
apply (respectively) to the owner, group, and other
(see Ownership for more information).
r
- Allows reading of the object.
w
- Allows writing (modification) of the
object. In the case of directories,
it allows the creating of objects in that directory.
x
- Allows execution of the object. In the
case of directories, it allows the
listing of objects in that directory.
S
- Sets the uSer id level of the user who is
accessing it to that of the object's owner. This permission is
also known as setuid.
G
- Sets the Group id level of the user who
is accessing it to that of the object's owner's group id.
This permission is also known as setgid.
T
- STicky bit, allows anyone to read,
write, or execute the object (but not delete
it).
Some filesystems do not support all of the permissions listed above.
There are two ways to change the permissions of an object:
Ownership consists of an owner and a group. Each object is owned by an owner and jointly owned by a group. The owner of an object is determined by a user id (UID) value set on the object. The group ownership of an object is determined by a group id (GID) value set on the object.
If your UID level is equal to that of the object's UID
then you own that object. In addition, if your UID is
0
(the root user) then you also own the object
unconditionally. If you own the object then the first triplet of the
permissions
would apply to your level of access to that object.
If your GID level is equal to that of the object's GID then you have group ownership of that object. If you have group ownership of the object then the second triplet of the permissions would apply to your level of access to that object.
If you do not own the object then the last triplet of the permissions would apply to your level of access to that object.
Not all filesystems support ownership.
To change the UID or GID of an object, you would need to run Endeavour as the root user:
su
/usr/bin/endeavour2 &
Be careful when running Endeavour as the root user, since you
have the ability to modify or remove any object on the system. If
you make a mistake then your system may be rendered inoperable!
Once you are running Endeavour as the root user, there are two ways to change the object's UID and/or GID:
Endeavour Mark II is Copyright © 1997-2009 WolfPack Entertainment |