Dataset Viewer
Auto-converted to Parquet Duplicate
messages
listlengths
3
3
category
stringclasses
3 values
utility
stringclasses
182 values
variant_group
stringlengths
16
16
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Set build.bak to permissions 644." }, { "role": "assistant", "content": "chmod 644 build.bak" } ]
single
chmod
9b0c227f8e182a5e
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Set build.bak to permissions 644." }, { "role": "assistant", "content": "chmod u=rw,go=r build.bak" } ]
single
chmod
9b0c227f8e182a5e
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Extract the idle-CPU column from a vmstat snapshot." }, { "role": "assistant", "content": "vmstat 1 2 | tail -n1 | awk '{print $15}'" } ]
pipeline
vmstat
6d1ebc51a3c79477
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Watch active/inactive memory with vmstat every 1s." }, { "role": "assistant", "content": "vmstat -a 1" } ]
single
vmstat
8f4a83f9df55dac9
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Write a start/stop/restart control script for the docker service using a case statement." }, { "role": "assistant", "content": "#!/usr/bin/env bash\ns...
script
case
f2150077c7dbbab8
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "List dave's activity, headerless." }, { "role": "assistant", "content": "w -h dave" } ]
single
w
ab7d4f1695a950cc
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show the kernel routing table numerically." }, { "role": "assistant", "content": "netstat -rn" } ]
single
netstat
3b514fb79011c846
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Lower the priority of process 9404 to nice value 10." }, { "role": "assistant", "content": "renice -n 10 -p 9404" } ]
single
renice
3b5514b0a1e651b9
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Run 'tar -czf backup.tar.gz /home/deploy' niced to 5 in the background." }, { "role": "assistant", "content": "nice -n 5 tar -czf backup.tar.gz ...
single
nice
a94903dff3bedde8
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show a one-shot CPU and disk I/O summary." }, { "role": "assistant", "content": "iostat" } ]
single
iostat
b28537e1bef40b2b
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Lower the priority of process 9368 to nice value 10." }, { "role": "assistant", "content": "renice -n 10 -p 9368" } ]
single
renice
f983ea0af1f1da5a
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Benchmark multiple algorithms in parallel using all available CPU cores." }, { "role": "assistant", "content": "openssl speed -multi $(nproc)" } ]
pipeline
openssl
4d1d0afa50beb4d7
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "List open files owned by alice." }, { "role": "assistant", "content": "lsof -u alice" } ]
single
lsof
bdb0654d8fc9f4f9
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Report CPU stats via iostat -c." }, { "role": "assistant", "content": "iostat -c" } ]
single
iostat
e879666821380518
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Display all processes as a hierarchy." }, { "role": "assistant", "content": "pstree" } ]
single
pstree
240469869021feb6
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Start a backup with tar at the lowest CPU priority." }, { "role": "assistant", "content": "nice -n 19 tar -czf backup.tar.gz /home/deploy" } ]
single
nice
3882760148cd3f47
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Show every network socket in use." }, { "role": "assistant", "content": "lsof -i" } ]
single
lsof
9b7384a175f998cd
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show the 10 largest subdirectories in /srv/www." }, { "role": "assistant", "content": "du -h /srv/www/* | sort -rh | head -n 10" } ]
pipeline
du
c576840f4778e26a
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Show the 10 largest subdirectories in /srv/www." }, { "role": "assistant", "content": "du --human-readable /srv/www/* | sort -rh | head -n 10" } ]
pipeline
du
c576840f4778e26a
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "extract backup.tar.gz into the modules folder" }, { "role": "assistant", "content": "tar -xzf backup.tar.gz -C modules" } ]
single
tar
497f2b0ccbcd2c8d
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "extract backup.tar.gz into the modules folder" }, { "role": "assistant", "content": "tar xzf backup.tar.gz -C modules" } ]
single
tar
497f2b0ccbcd2c8d
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "extract backup.tar.gz into the modules folder" }, { "role": "assistant", "content": "tar -zxf backup.tar.gz -C modules" } ]
single
tar
497f2b0ccbcd2c8d
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "How many lines in worker.log mention '502'?" }, { "role": "assistant", "content": "grep -c '502' worker.log | cat" } ]
pipeline
grep
04b94981ea370b87
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "How many lines in worker.log mention '502'?" }, { "role": "assistant", "content": "grep --count '502' worker.log | cat" } ]
pipeline
grep
04b94981ea370b87
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "When the method returns or an exception occurs, observe the count property of the second parameter." }, { "role": "assistant", "content": "watch dropp...
single
watch
8b941100e6c1aea0
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Back up /mnt/storage to /backup as a dated bzip2 archive, pruning all but the last 14 backups." }, { "role": "assistant", "content": "#!/usr/bin/env bash\nset -euo pipefail\nsrc=/mnt/storage\ndes...
script
tar
3b1487922e316b9a
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Execute and print the result of one statement, then exit." }, { "role": "assistant", "content": "echo \"credentials.html\" | yacas -p -c /dev/stdin" ...
pipeline
echo
c9c5374e97383380
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "extract backup.tar.gz into the assets folder" }, { "role": "assistant", "content": "tar -xzf backup.tar.gz -C assets" } ]
single
tar
933ef58998e30998
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "extract backup.tar.gz into the assets folder" }, { "role": "assistant", "content": "tar xzf backup.tar.gz -C assets" } ]
single
tar
933ef58998e30998
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "extract backup.tar.gz into the assets folder" }, { "role": "assistant", "content": "tar -zxf backup.tar.gz -C assets" } ]
single
tar
933ef58998e30998
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "How much RAM is free right now?" }, { "role": "assistant", "content": "free -h" } ]
single
free
198f64efe2e1666e
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Execute a command from `stdin`." }, { "role": "assistant", "content": "echo \"manifest.txt\" | batch" } ]
pipeline
echo
ead9b0deb1154110
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Show raw uptime in seconds from /proc." }, { "role": "assistant", "content": "cat /proc/uptime" } ]
single
uptime
e9e22103084757f7
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Output the value of multiple keys as a new JSON object (assuming the input JSON has the keys `key_name1` and `key_name2`)." }, { "role": "assistant", "content": "ca...
pipeline
cat
6b7b579f41a9f86f
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Lis[t] the contents of a tar [f]ile [v]erbosely." }, { "role": "assistant", "content": "tar tvf customer.bak" } ]
single
tar
d0e774c5926a656b
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Timestamped vmstat every 5s for 10 samples." }, { "role": "assistant", "content": "vmstat -t 5 10" } ]
single
vmstat
f35e14e2bec7d087
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Find the biggest files under /mnt/data." }, { "role": "assistant", "content": "du -ah /mnt/data | sort -rh | head -n 20" } ]
pipeline
du
7099b31de037f305
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Find the biggest files under /mnt/data." }, { "role": "assistant", "content": "du -ha /mnt/data | sort -rh | head -n 20" } ]
pipeline
du
7099b31de037f305
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Find the biggest files under /mnt/data." }, { "role": "assistant", "content": "du -a -h /mnt/data | sort -rh | head -n 20" } ]
pipeline
du
7099b31de037f305
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Fetch JSON from https://registry.corp.net/api/users and pretty-print it with jq." }, { "role": "assistant", "content": "curl -s https://registry.corp....
pipeline
curl
dda81a58f1c891b4
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Fetch JSON from https://registry.corp.net/api/users and pretty-print it with jq." }, { "role": "assistant", "content": "curl --silent https://registry.corp.net/api/users | jq ." } ]
pipeline
curl
dda81a58f1c891b4
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Create multiple files with an increasing number." }, { "role": "assistant", "content": "touch response.tmp}" } ]
single
touch
80861dad6bb7ffdb
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "recursively search /data/uploads for 'segfault' and show line numbers" }, { "role": "assistant", "content": "grep -rn 'segfault' /data/uploads" } ]
single
grep
f7484180abc68263
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "recursively search /data/uploads for 'segfault' and show line numbers" }, { "role": "assistant", "content": "grep -nr 'segfault' /data/uploads" } ]
single
grep
f7484180abc68263
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "recursively search /data/uploads for 'segfault' and show line numbers" }, { "role": "assistant", "content": "grep -r -n 'segfault' /data/uploads" } ]
single
grep
f7484180abc68263
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show network interface statistics." }, { "role": "assistant", "content": "netstat -i" } ]
single
netstat
db532f4fd3c924aa
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "list the distinct error messages in metrics.log" }, { "role": "assistant", "content": "grep -i error metrics.log | sort -u" } ]
pipeline
grep
54396429bd6e63c9
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "list the distinct error messages in metrics.log" }, { "role": "assistant", "content": "grep --ignore-case error metrics.log | sort -u" } ]
pipeline
grep
54396429bd6e63c9
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Follow live logs for mongod." }, { "role": "assistant", "content": "journalctl -u mongod -f" } ]
single
journalctl
fa8126d5fa795cb5
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Read JSON from `stdin`." }, { "role": "assistant", "content": "cat credentials.zip | jless" } ]
pipeline
cat
a892e42b9aa679af
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Show all journal entries since the last boot." }, { "role": "assistant", "content": "journalctl -b" } ]
single
journalctl
4841d3fe5f9b2d44
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show all journal entries since the last boot." }, { "role": "assistant", "content": "journalctl --boot" } ]
single
journalctl
4841d3fe5f9b2d44
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "What are the 20 largest subdirectories of dist?" }, { "role": "assistant", "content": "du -h dist/* 2>/dev/null | sort -rh | head -n 20" } ]
pipeline
du
25b6765c7f468319
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "What are the 20 largest subdirectories of dist?" }, { "role": "assistant", "content": "du --human-readable dist/* 2>/dev/null | sort -rh | head -n 20" } ]
pipeline
du
25b6765c7f468319
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "copy the whole backup folder to backup_copy recursively" }, { "role": "assistant", "content": "cp -r backup backup_copy" } ]
single
cp
04335db6c63c13a8
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "copy the whole backup folder to backup_copy recursively" }, { "role": "assistant", "content": "cp --recursive backup backup_copy" } ]
single
cp
04335db6c63c13a8
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Show the last 50 lines containing 'denied' in cron.log." }, { "role": "assistant", "content": "grep 'denied' cron.log | tail -n 50" } ]
pipeline
grep
d8551b429f2a8574
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Bump process 6822 to a higher priority (nice -5). Requires root." }, { "role": "assistant", "content": "sudo renice -n -5 -p 6822" } ]
single
renice
a9fe2108515945c1
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Give me the wide free output splitting buffers and cache." }, { "role": "assistant", "content": "free -w" } ]
single
free
43532f5145d0a9c1
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Give me the wide free output splitting buffers and cache." }, { "role": "assistant", "content": "free --wide" } ]
single
free
43532f5145d0a9c1
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "[Interactive] Get a list of files on the remote machine." }, { "role": "assistant", "content": "ls" } ]
single
ls
06482715bd136348
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Output all elements from arrays (or all the values from objects) in JSON or JSON-Lines data from `stdin` to `stdout`." }, { "role": "assistant", ...
pipeline
cat
417faeae55a82347
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Print pstree annotated with process IDs." }, { "role": "assistant", "content": "pstree -p" } ]
single
pstree
e3f023e99b62c673
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "I need to show the last 50 lines containing 'invalid' in auth.log." }, { "role": "assistant", "content": "grep 'invalid' auth.log | tail -n 50" ...
pipeline
grep
81ecdcaddbaaa2af
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Show memory usage in gigabytes." }, { "role": "assistant", "content": "free -g" } ]
single
free
966603bb4d3d0987
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Show only kernel error-level messages." }, { "role": "assistant", "content": "dmesg -l err" } ]
single
dmesg
5dd1c13a0f043c2f
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "List all listening ports and the programs using them." }, { "role": "assistant", "content": "netstat -tulpn" } ]
single
netstat
4a582e4b6f427262
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "List logged-in users without the header line." }, { "role": "assistant", "content": "w -h" } ]
single
w
a4d81daab939a6ee
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Show memory usage using powers of 1000 (SI units)." }, { "role": "assistant", "content": "free -h --si" } ]
single
free
961f35914185455a
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Start 'find / -name '*.core'' with nice value 15 so it doesn't hog the CPU." }, { "role": "assistant", "content": "nice -n 15 find / -name '*.core'" } ]
single
nice
227a94dbe17557e7
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Create the docs directory if needed and then cd into it." }, { "role": "assistant", "content": "mkdir -p docs && cd docs" } ]
pipeline
chain
bcfa179749870de0
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Create the docs directory if needed and then cd into it." }, { "role": "assistant", "content": "mkdir --parents docs && cd docs" } ]
pipeline
chain
bcfa179749870de0
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "extract backup.tar.gz into the fixtures folder" }, { "role": "assistant", "content": "tar -xzf backup.tar.gz -C fixtures" } ]
single
tar
fb8129e4b67bca01
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "extract backup.tar.gz into the fixtures folder" }, { "role": "assistant", "content": "tar xzf backup.tar.gz -C fixtures" } ]
single
tar
fb8129e4b67bca01
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "extract backup.tar.gz into the fixtures folder" }, { "role": "assistant", "content": "tar -zxf backup.tar.gz -C fixtures" } ]
single
tar
fb8129e4b67bca01
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Fetch JSON from https://monitor.corp.net/api/users and pretty-print it with jq." }, { "role": "assistant", "content": "curl -s https://monitor.c...
pipeline
curl
143f16e0cda4e399
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Fetch JSON from https://monitor.corp.net/api/users and pretty-print it with jq." }, { "role": "assistant", "content": "curl --silent https://mon...
pipeline
curl
143f16e0cda4e399
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Count error lines in the mariadb journal since yesterday." }, { "role": "assistant", "content": "journalctl -u mariadb --since yesterday | grep ...
pipeline
journalctl
ff05799e4d10053b
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Count error lines in the mariadb journal since yesterday." }, { "role": "assistant", "content": "journalctl --unit mariadb --since yesterday | grep -i...
pipeline
journalctl
ff05799e4d10053b
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Use vmstat's wide output, 5s apart, 5 times." }, { "role": "assistant", "content": "vmstat -w 5 5" } ]
single
vmstat
3f1fdc3ae3a1e626
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Get the bare PID that holds port 9000." }, { "role": "assistant", "content": "lsof -i :9000 -t" } ]
single
lsof
2fbc2dda96d288a7
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "Background 'find / -name '*.core'' at nice level 5." }, { "role": "assistant", "content": "nice -n 5 find / -name '*.core' &" } ]
single
nice
8c26f9f80f7683f2
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Extract just the email addresses from output.md." }, { "role": "assistant", "content": "grep -oE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+' output.md | sort -u" } ]
pipeline
sed
ffcf524be739626c
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Extract just the email addresses from output.md." }, { "role": "assistant", "content": "grep -Eo '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+' output.md | sort -u" } ]
pipeline
sed
ffcf524be739626c
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Extract just the email addresses from output.md." }, { "role": "assistant", "content": "grep -o -E '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+' output.md | sort -u" } ]
pipeline
sed
ffcf524be739626c
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Set invoice.gz to permissions 644." }, { "role": "assistant", "content": "chmod 644 invoice.gz" } ]
single
chmod
5af758e3d3beae62
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "Set invoice.gz to permissions 644." }, { "role": "assistant", "content": "chmod u=rw,go=r invoice.gz" } ]
single
chmod
5af758e3d3beae62
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Give './import.sh' a boosted CPU priority of -5." }, { "role": "assistant", "content": "sudo nice -n -5 ./import.sh" } ]
single
nice
9d95144f5168a250
[ { "role": "system", "content": "You are a Linux shell expert. Respond with Bash only." }, { "role": "user", "content": "make a bzip2-compressed tarball of vendor" }, { "role": "assistant", "content": "tar -cjf vendor.tar.bz2 vendor" } ]
single
tar
3ca4c4e0cb53cd47
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "make a bzip2-compressed tarball of vendor" }, { "role": "assistant", "content": "tar cjf vendor.tar.bz2 vendor" } ]
single
tar
3ca4c4e0cb53cd47
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "make a bzip2-compressed tarball of vendor" }, { "role": "assistant", "content": "tar -jcf vendor.tar.bz2 vendor" } ]
single
tar
3ca4c4e0cb53cd47
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "extract backup.tar.gz into the vendor folder" }, { "role": "assistant", "content": "tar -xzf backup.tar.gz -C vendor" } ]
single
tar
28bca17b0b1317b8
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "extract backup.tar.gz into the vendor folder" }, { "role": "assistant", "content": "tar xzf backup.tar.gz -C vendor" } ]
single
tar
28bca17b0b1317b8
[ { "role": "system", "content": "You are a command-line assistant specializing in Bash and GNU coreutils." }, { "role": "user", "content": "extract backup.tar.gz into the vendor folder" }, { "role": "assistant", "content": "tar -zxf backup.tar.gz -C vendor" } ]
single
tar
28bca17b0b1317b8
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Loop through the .json files in logs and makes a .bak copy of each file — write it as a proper script." }, { "role": "assistant", "content": "#!/usr/b...
script
cp
af3693211f4046a4
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "I need a script that checks a list of required commands (git, curl, jq) are installed before continuing." }, { "role": "assistant", "content": "...
script
command
675ffaf4b1b27228
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Lower the priority of process 9459 to nice value 10." }, { "role": "assistant", "content": "renice -n 10 -p 9459" } ]
single
renice
17f4edc41ebc31c7
[ { "role": "system", "content": "You are a helpful assistant that writes correct, idiomatic Bash commands." }, { "role": "user", "content": "Show me how full each mounted filesystem is, worst first." }, { "role": "assistant", "content": "df -h | awk 'NR>1 {print $5, $6}' | sort -rn" ...
pipeline
df
ee3ced1b50649de3
[ { "role": "system", "content": "You translate natural-language requests into correct Bash commands." }, { "role": "user", "content": "Show me how full each mounted filesystem is, worst first." }, { "role": "assistant", "content": "df --human-readable | awk 'NR>1 {print $5, $6}' | sor...
pipeline
df
ee3ced1b50649de3
[ { "role": "system", "content": "You are a Bash expert." }, { "role": "user", "content": "Which files does user nginx have open?" }, { "role": "assistant", "content": "lsof -u nginx" } ]
single
lsof
e882640e24996ca1
End of preview. Expand in Data Studio

Bash Instruct II 55k

A synthetic instruction-tuning dataset that maps natural-language requests to correct Bash — single commands, short pipelines, and multi-line scripts — for fine-tuning small LLMs to turn plain requests into runnable shell code.

Each example is a chat conversation (system / user / assistant). Rows carry metadata for slicing (category, utility) and for grouping equivalent answers to one request (variant_group). This is the second-generation build: chat format, grouped alternative answers, real human phrasing seeded from tldr-pages, a strict utility cap, and validation by both static analysis and real execution on Linux.

from datasets import load_dataset
ds = load_dataset("Frost2o24/bash-instruct-II-55k", split="train")

At a glance

Metric Value
Rows 54,803
Distinct requests (variant_groups) 45,142
single / pipeline / script 40% / 35% / 25% (exact)
Distinct primary utilities 183
bash -n valid 100% (0 syntax errors)
Executed on real Linux (correctness on gradable) ≈100% clean
Exact-duplicate (request, command) pairs 0
Unique request text per request ≈97%
Requests with ≥2 equivalent answers ≈17%
Max share of any one utility (requests / rows) ≤ 4.9% / ≤ 6.0%

Format

One JSON object per line (bash_dataset.jsonl):

{
  "messages": [
    {"role": "system",    "content": "You are a Bash expert."},
    {"role": "user",      "content": "Show the last 20 lines of error.log."},
    {"role": "assistant", "content": "tail -n 20 error.log"}
  ],
  "category": "single",
  "utility": "tail",
  "variant_group": "3f9a1c0b7e2d4a86"
}
Field Meaning
messages The training conversation. The system prompt is one of 5 equivalent Bash-assistant prompts, rotated so the model doesn't overfit a single string.
category single (one command) · pipeline (pipes, &&/||, $(...), xargs) · script (multi-line: set -euo pipefail, functions, getopts, trap, loops, here-docs).
utility The primary command of the solution (grep, awk, find, for, …).
variant_group 16-hex id shared by rows that answer the same request with different-but-equivalent commands (e.g. wc -l f vs cat f | wc -l). Solo requests get a unique id.

System / info utilities that small models often fumble are covered with correct, idiomatic usage and guaranteed minimum counts: journalctl, pstree, lsof, vmstat, w, nice, renice, free, hostname, ss, iostat, netstat, dmesg, uptime.


Loading

from datasets import load_dataset
ds = load_dataset("Frost2o24/bash-instruct-II-55k", split="train")   # or: json, data_files="bash_dataset.jsonl"
print(ds[0]["messages"])

import collections
print(collections.Counter(ds["category"]))
print(collections.Counter(ds["utility"]).most_common(15))

# collapse to one canonical answer per request
seen, canonical = set(), []
for r in ds:
    if r["variant_group"] not in seen:
        seen.add(r["variant_group"]); canonical.append(r)
print(len(canonical), "distinct requests")

Peek without Python:

head -n 1 bash_dataset.jsonl | jq .
jq -r '.utility' bash_dataset.jsonl | sort | uniq -c | sort -rn | head

Quality & validation

Three layers, in increasing strength:

  1. bash -n on every command — 0 / 54,803 syntax failures.
  2. shellcheck (warning level) on a large sample — the few findings are style nits (SC2010 ls | grep, SC2164 cd without check).
  3. Real execution of the runnable subset in a disposable Linux sandbox (Debian 13 via WSL): 43,257 commands run; after cleaning (below), essentially all gradable commands execute cleanly.

"Gradable" excludes failures that are environmental, not command defects — a blank sandbox legitimately lacks referenced files, users, services, CLI args, root, or systemd (e.g. ps -C postgres when postgres isn't running, chown ec2-user: when that user is absent, rmdir on a populated fixture dir). Those commands are correct; only the sandbox lacks the target, so they are kept.

Data cleaning

Whole-set execution flagged 43 genuinely-malformed commands — bad argument count/format that fail on any system (mostly tldr-seed placeholder fills that slipped the filter). They were removed (55,000 → 54,957). What was cut:

  • echo "host" | git credential fill/approve/reject — needs key=value input, not a bare host
  • split 10 10 file, shuf 3 5 file — too many operands
  • date --rfc-3339 20, date 2026-03-01 @<ts> — bad / extra operand
  • uname java, cp --parents f1 f2, lspci -s notes.xml, head 20 -3 file
  • echo -e "appdb" | tsort — odd number of tokens

A second pass (manual analysis + a stricter validator) caught two generator bugs and fixed them at the source (55,000 → 54,808):

  • Invalid long-form flag variant. The answer-diversity generator applied a command's short→long flag map across a whole pipeline, leaking e.g. grep's -n → --line-number onto a downstream tail -ntail --line-number (invalid). 146 rows removed; the generator now restricts substitution to the owning command's segment. (tail --lines / head --lines are valid on GNU and were kept.) Also removed 3 kill --CONT <name>.
  • find -size missing its comparison operator. "larger than N" requests emitted bare -size N (means exactly N). 113 rows repaired to -size +N; the template now sets +/- from the request direction.

Re-running the hardened validator (now with set -o pipefail + a per-stage stderr scan for invalid/unrecognized option) then surfaced 5 more malformed rows the old exit-status check had missed — journalctl <service> <service> (bare units need -u) — which were removed (→ 54,803).

Running the validator yourself (validate.py)

Validation is decoupled from generation — nothing in generate.py calls it.

# instant static checks: bash -n on every command + shellcheck (if installed),
# broken down by category and utility
python validate.py --data bash_dataset.jsonl

# execute the SAFE self-contained subset in a disposable fixture dir
python validate.py --data bash_dataset.jsonl --execute --n 3000

# whole-set execution on a THROWAWAY Linux box (WSL etc.): runs nearly every
# single-line command AND scripts, then reports the genuine-error rate and offers
# to delete those rows (backs up the dataset first)
python validate.py --data bash_dataset.jsonl --execute --permissive --n 60000 --timeout 5

Two execution modes:

  • strict (default) — only self-contained, read-only coreutils on relative paths.
  • --permissive — for a disposable Linux box. Runs ≈43k rows including scripts and system-info / fs-mutating tools, while hard-blocking genuinely dangerous commands (dd/mkfs/shutdown/reboot/mount, fork bombs, kill/pkill, writes to /etc·/var·$HOME, block devices) and skipping anything that would hang (tail -f, watch, while true, sleep, installers, network, yes). Every command runs in a temp sandbox with a timeout, stdin from /dev/null, sudo stripped, and stdout discarded so infinite-output commands can't exhaust memory.

The report separates ran-clean, environmental (not correctness failures), and genuine errors (bad flag/option/logic). --dump-errors FILE writes every genuine error for inspection; --yes / --no control the delete prompt non-interactively.


Reproducing (generate.py)

python generate.py plan            # quota table + registered recipes
python generate.py run             # generate to ./bash_dataset.jsonl (resumable)
python generate.py status          # where a run stands
python generate.py validate-all    # re-run bash -n over the whole file
python generate.py seeds           # build/inspect the real-phrasing seed pool

Resumable: bash_dataset.jsonl is ground truth and a derived bash_dataset.progress.json snapshot is rewritten after every batch, so re-running continues where it stopped.

How it's built

  • Recipe engine — ≈150 hand-written recipe families emit (request, command) pairs by combining varied phrasings with realistic parameter pools (filenames, dirs, ports, services, users, patterns). Every parameter is drawn once per example and reused in both the request and the command, so they never disagree.
  • Argument-fidelity gate (argcheck.py) — a pair is rejected unless the command references the concrete nouns the request names (filename, extension, user, group, service, process, port).
  • Real phrasing (seeds) — a share of requests are seeded from tldr-pages: the human description becomes the request, its command the solution, with {{placeholders}} filled fresh from the pools. Heavily quality-filtered (subcommand multiplexers and non-fillable placeholders dropped) down to ≈600 clean coreutils/text/net templates, cached in seeds/_seedcache.json.
  • Answer diversity — a share of requests also emit 1–2 genuinely-equivalent alternates sharing a variant_group (flag reorderings, long/short options, wc -l fcat f | wc -l, sort -usort | uniq, …), each re-checked before it's kept.
  • Guards — SHA-1 dedup; a degeneracy guard rejecting no-op transforms (sed 's/x/x/', mv f f); category quotas (40/35/25); a 4% per-utility request cap + 6% row cap; minimum floors for the system/info utilities; and a bash -n gate on every command.

Tunable flags

Flag Default Effect
--target 55000 Total rows (rescales quotas, caps, floors).
--seed-frac 0.40 Target share of seedable requests drawn from real seeds.
--seed-reuse 8 Max reuse of one tldr template (higher = more real phrasing, less request variety).
--variant-frac 0.30 Share of requests that attempt alternate answers.
--row-cap-pct 0.06 Max total-row share per utility (trades off answer diversity).
--no-net off Never download seeds; use the local cache only.

Seed and answer-diversity fractions are soft (they land under target when the clean seed pool or the caps bind). The hard invariants — category split, caps, floors, argument fidelity, bash -n, dedup — always hold.


Files

File What it is
bash_dataset.jsonl The dataset — 54,803 rows (≈22 MB, no Git LFS needed).
generate.py The generator (reproducible, resumable).
validate.py Standalone validator (strict + --permissive execution).
argcheck.py Argument-fidelity checker (generation gate + standalone auditor).
seeds/_seedcache.json Cleaned real-phrasing templates so generation runs offline.

Intended use & limitations

Good for teaching a small model to map natural-language requests to correct single commands, short pipelines, and small scripts — including the fumble-prone system utilities.

  • Synthetic. Variety comes from recombining templates + token pools and a quality-filtered slice of real tldr phrasings; request shapes come from a finite family set (phrasing is diversified — request text ≈97% unique).
  • Valid ≠ fully semantically correct. bash -n, shellcheck, sandbox execution, and the argument gate show commands parse, lint, run, and use the request's nouns — none prove the command's logic perfectly matches intent (e.g. an awk column index assumes a particular layout).
  • Single-turn. No explanations or negative examples, aside from the equivalent answers grouped by variant_group.

License

MIT.

Downloads last month
-