diff --git a/Cargo.lock b/Cargo.lock
index 87b3096..59bafca 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -984,6 +984,7 @@ dependencies = [
  "uu_fsfreeze",
  "uu_last",
  "uu_lscpu",
+ "uu_lslocks",
  "uu_lsmem",
  "uu_mountpoint",
  "uu_rev",
@@ -1056,6 +1057,16 @@ dependencies = [
  "uucore",
 ]
 
+[[package]]
+name = "uu_lslocks"
+version = "0.0.1"
+dependencies = [
+ "clap",
+ "serde",
+ "serde_json",
+ "uucore",
+]
+
 [[package]]
 name = "uu_lsmem"
 version = "0.0.1"
diff --git a/Cargo.toml b/Cargo.toml
index 3c625d7..5ca63cf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -32,12 +32,16 @@ feat_common_core = [
   "fsfreeze",
   "last",
   "lscpu",
+  "lslocks",
   "lsmem",
   "mountpoint",
   "rev",
   "setsid",
 ]
 
+[workspace]
+members = ["src/uu/lslocks"]
+
 [workspace.dependencies]
 clap = { version = "4.4", features = ["wrap_help", "cargo"] }
 clap_complete = "4.4"
@@ -76,6 +80,7 @@ dmesg = { optional = true, version = "0.0.1", package = "uu_dmesg", path = "src/
 fsfreeze = { optional = true, version = "0.0.1", package = "uu_fsfreeze", path = "src/uu/fsfreeze" }
 last = { optional = true, version = "0.0.1", package = "uu_last", path = "src/uu/last" }
 lscpu = { optional = true, version = "0.0.1", package = "uu_lscpu", path = "src/uu/lscpu" }
+lslocks = { optional = true, version = "0.0.1", package = "uu_lslocks", path = "src/uu/lslocks" }
 lsmem = { optional = true, version = "0.0.1", package = "uu_lsmem", path = "src/uu/lsmem" }
 mountpoint = { optional = true, version = "0.0.1", package = "uu_mountpoint", path = "src/uu/mountpoint" }
 rev = { optional = true, version = "0.0.1", package = "uu_rev", path = "src/uu/rev" }
diff --git a/src/uu/lslocks/Cargo.toml b/src/uu/lslocks/Cargo.toml
new file mode 100644
index 0000000..4d2a756
--- /dev/null
+++ b/src/uu/lslocks/Cargo.toml
@@ -0,0 +1,17 @@
+[package]
+name = "uu_lslocks"
+version = "0.0.1"
+edition = "2021"
+
+[lib]
+path = "src/lslocks.rs"
+
+[[bin]]
+name = "lslocks"
+path = "src/main.rs"
+
+[dependencies]
+uucore = { workspace = true }
+clap = { workspace = true }
+serde = { workspace = true }
+serde_json = { workspace = true }
diff --git a/src/uu/lslocks/src/lslocks.rs b/src/uu/lslocks/src/lslocks.rs
new file mode 100644
index 0000000..716d745
--- /dev/null
+++ b/src/uu/lslocks/src/lslocks.rs
@@ -0,0 +1,21 @@
+// This file is part of the uutils util-linux package.
+//
+// For the full copyright and license information, please view the LICENSE
+// file that was distributed with this source code.
+
+use clap::{crate_version, Command};
+use uucore::error::UResult;
+
+#[uucore::main]
+pub fn uumain(_args: impl uucore::Args) -> UResult<()> {
+    println!("lslocks: Hello world");
+    Ok(())
+}
+
+pub fn uu_app() -> Command {
+    Command::new(uucore::util_name())
+        .version(crate_version!())
+        //.about(ABOUT)
+        //.override_usage(format_usage(USAGE))
+        .infer_long_args(true)
+}
diff --git a/src/uu/lslocks/src/main.rs b/src/uu/lslocks/src/main.rs
new file mode 100644
index 0000000..0adaa21
--- /dev/null
+++ b/src/uu/lslocks/src/main.rs
@@ -0,0 +1 @@
+uucore::bin!(uu_lslocks);