← All commands
Topic hub Terminal & Shell Scripting
Windows Linux Terminal & Shell Scripting Command guide Scripts

Windows %~dp0 script directory equivalent in Linux

Changes to the directory containing the script.

Windows %~dp0 script directory
→
Linux equivalents
Debian/Ubuntu same command
cd "$(dirname "$0")"
Fedora same command
cd "$(dirname "$0")"
Arch same command
cd "$(dirname "$0")"

Overview

What this command does

On Windows, "%~dp0 script directory" is used to script directory. On Linux, the closest practical mapping shown here is "cd "$(dirname "$0")"". Changes to the directory containing the script. This reference is grouped under Terminal & Shell Scripting → Scripts.

Migration tip: For the Windows task "%~dp0 script directory", the Linux workflow on this page uses "cd "$(dirname "$0")"" across Debian/Ubuntu, Fedora and Arch. Check paths, permissions and installed package versions before copying it into a script.

Windows → Linux context

What changes when you use this on Linux?

Equivalent task, different tool

Windows %~dp0 script directory maps to cd "$(dirname "$0")" for this task. Treat this as a workflow mapping rather than a character-for-character syntax translation.

Portable across the compared distros

The Debian/Ubuntu, Fedora and Arch rows use the same command in this mapping. Package availability or defaults can still vary, so check the installed tool version when an option behaves differently.

Practical tasks

Common use cases

Script directory

Changes to the directory containing the script.

cd "$(dirname "$0")"

Script directory

cd --help

Show command help when supported

man cd

Open the manual page when installed

Ready to run

Copyable Linux commands

Review paths, device names, package names and permissions before running any command.

cd "$(dirname "$0")"

Walkthrough

Examples with explanations

# Windows equivalent: %~dp0 script directory
cd "$(dirname "$0")"

Reference

Common options and variations

Command or optionUse
cd "$(dirname "$0")"Script directory
cd --helpShow command help when supported
man cdOpen the manual page when installed

Distro differences

Debian/Ubuntu vs Fedora vs Arch

Debian/Ubuntu, Fedora and Arch all use "cd "$(dirname "$0")"" for this mapping. The command syntax shown here is portable across the three rows, although installed versions and system defaults can still vary.

DistributionPackage manager / baseEquivalent commandDifference to notice
Debian/Ubuntu same command cd "$(dirname "$0")" Same command on this distribution.
Fedora same command cd "$(dirname "$0")" Same command on this distribution.
Arch same command cd "$(dirname "$0")" Same command on this distribution.

Keep learning

Related Terminal & Shell Scripting commands