Solaris · Files and Directories

Solaris · Lesson 6

Files and Directories

Solaris filesystem structure and navigation. Permissions, ownership and ACL concepts. Copy, move and delete operations. Important system directories explained.

Goal of this lesson

Almost everything in Solaris is represented as a file or directory. Understanding filesystem navigation and file operations is essential for every administrator.

In this lesson you will learn how to navigate directories, create files, organize project structures, copy data and safely remove files using standard Solaris commands.

These commands are heavily used while managing logs, configuration files, scripts, backups and application data.

Core filesystem concepts

Paths and navigation

Absolute paths begin from / while relative paths begin from your current directory location.

Directories

Directories organize files and applications into structured locations inside the filesystem.

Files

Files may contain logs, scripts, binaries, configuration data or application information.

Safe cleanup

Commands like rm and rmdir are powerful administrative tools and should be used carefully.

Step-by-step filesystem command practice

The following examples demonstrate realistic Solaris filesystem administration workflows. Practice each command inside your lab VM.

1. Check your current location and list files

Use pwd to print the current directory and ls to view files and folders.

terminal — bash
solaris-lab
[root@solaris ~]# pwd
/root
 
[root@solaris ~]# ls
Desktop Documents scripts backup.sh
 
[root@solaris ~]# ls -l
total 12
drwxr-xr-x 2 root root 3 Jan 10 09:10 Desktop
drwxr-xr-x 3 root root 4 Jan 10 09:20 Documents
drwxr-xr-x 4 root root 5 Jan 10 09:30 scripts
-rwxr-xr-x 1 root root 2048 Jan 10 09:35 backup.sh

2. Navigate using absolute and relative paths

Absolute paths begin from / while relative paths begin from the current directory.

terminal — bash
solaris-lab
[root@solaris ~]# cd /var/log
[root@solaris /var/log]# pwd
/var/log
 
[root@solaris /var/log]# cd ..
[root@solaris /var]# pwd
/var
 
[root@solaris /var]# cd log
[root@solaris /var/log]# pwd
/var/log

3. Create directories and empty files

mkdir creates directories while touch creates empty files or updates timestamps.

terminal — bash
solaris-lab
[root@solaris ~]# mkdir lab
[root@solaris ~]# cd lab
 
[root@solaris ~/lab]# mkdir -p project/docs project/scripts
 
[root@solaris ~/lab]# cd project
 
[root@solaris ~/lab/project]# touch README.txt notes.txt script.sh
 
[root@solaris ~/lab/project]# ls -R
.:
docs notes.txt README.txt script.sh scripts
 
./docs:
 
./scripts:

4. Create files with predefined size using mkfile

mkfile is commonly used for testing storage, creating swap files or simulating application data.

terminal — bash
solaris-lab
[root@solaris ~/lab]# mkfile 100m sample.img
 
[root@solaris ~/lab]# ls -lh sample.img
-rw-r--r-- 1 root root 100M Jan 10 10:15 sample.img
 
[root@solaris ~/lab]# mkfile 1g database-test.img
 
[root@solaris ~/lab]# ls -lh
total 1.1G
-rw-r--r-- 1 root root 1.0G Jan 10 10:16 database-test.img
-rw-r--r-- 1 root root 100M Jan 10 10:15 sample.img

5. Understand mkfile use cases and limitations

mkfile allocates real disk space immediately, so large files can consume storage quickly.

terminal — bash
solaris-lab
[root@solaris ~/lab]# df -h .
Filesystem Size Used Available Capacity Mounted on
rpool/ROOT/solaris 49G 3.9G 42G 9% /
 
# Remove test files when finished
[root@solaris ~/lab]# rm sample.img database-test.img

6. Copy and move files and directories

cp copies files and directories while mv moves or renames them.

terminal — bash
solaris-lab
[root@solaris ~/lab/project]# ls
docs notes.txt README.txt script.sh scripts
 
[root@solaris ~/lab/project]# cp README.txt docs/
 
[root@solaris ~/lab/project]# cp -r scripts docs/
 
[root@solaris ~/lab/project]# mv notes.txt notes-old.txt
 
[root@solaris ~/lab/project]# mv docs /tmp/project-docs
 
[root@solaris ~/lab/project]# ls
README.txt script.sh scripts notes-old.txt

7. Remove empty directories using rmdir

rmdir removes directories only if they are completely empty.

terminal — bash
solaris-lab
[root@solaris ~/lab]# mkdir tempdir
 
[root@solaris ~/lab]# rmdir tempdir
 
[root@solaris ~/lab]# mkdir project
 
[root@solaris ~/lab]# touch project/file1.txt
 
[root@solaris ~/lab]# rmdir project
rmdir: failed to remove 'project': Directory not empty

8. Remove files and directories safely

Use rm for files, rm -r for directory trees and always verify paths carefully.

terminal — bash
solaris-lab
[root@solaris ~/lab/project]# ls
README.txt script.sh scripts notes-old.txt
 
[root@solaris ~/lab/project]# rm notes-old.txt
 
[root@solaris ~/lab/project]# rm -r scripts
 
[root@solaris ~/lab/project]# ls
README.txt script.sh
 
# Dangerous example — avoid:
[root@solaris ~/lab/project]# rm -rf /
rm: dangerous to operate recursively on '/'

9. Search for files using find

find helps administrators quickly locate files and directories inside large filesystems.

terminal — bash
solaris-lab
[root@solaris ~/lab]# find . -name "*.txt"
./project/README.txt
./project/notes.txt
 
[root@solaris ~/lab]# find . -type d
.
./project
./project/docs
./project/scripts

10. Display hidden files and directories

Files beginning with a dot (.) are hidden by default in Unix-like systems.

terminal — bash
solaris-lab
[root@solaris ~]# ls
backup.sh scripts
 
[root@solaris ~]# ls -a
. .. .bashrc .profile backup.sh scripts

Important filesystem administration notes

mkfile best practices

  • mkfile allocates real disk space immediately.
  • Large test files can consume storage quickly.
  • Remove temporary files after storage testing.

rmdir limitations

  • rmdir works only with completely empty directories.
  • Use rm -r carefully for non-empty directories.
  • Always verify contents before recursive deletion.

Safety tips when managing files

Deletion safety

  • Double-check paths before running rm -r.
  • Use rm -ri in important directories.
  • Avoid recursive deletion in system locations.

Storage awareness

  • Monitor free disk space using df -h.
  • Use mkfile carefully on production systems.
  • Keep backups before major cleanup operations.

Practice task – build your own Solaris project structure

  • Create a directory named solaris-lab with subdirectories configs, logs andscripts.
  • Create test files using touch andmkfile.
  • Practice copying, moving and renaming files between directories.
  • Search for files using find and display hidden files using ls -a.
  • Finally, clean up using rm, rm -rand rmdir while carefully verifying paths.

In upcoming lessons, these filesystem skills will be used while managing configuration files, user home directories and Solaris services.