Datasets:
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 |
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.
| 🐙 GitHub (clone + tooling) | https://github.com/ya5h-P/bash-instruct-55k |
| 🤗 Hugging Face (viewer) | https://huggingface.co/datasets/Frost2o24/bash-instruct-II-55k |
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:
bash -non every command — 0 / 54,803 syntax failures.- shellcheck (warning level) on a large sample — the few findings are style nits
(
SC2010ls | grep,SC2164cdwithout check). - 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— needskey=valueinput, not a bare hostsplit 10 10 file,shuf 3 5 file— too many operandsdate --rfc-3339 20,date 2026-03-01 @<ts>— bad / extra operanduname java,cp --parents f1 f2,lspci -s notes.xml,head 20 -3 fileecho -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-numberonto a downstreamtail -n→tail --line-number(invalid). 146 rows removed; the generator now restricts substitution to the owning command's segment. (tail --lines/head --linesare valid on GNU and were kept.) Also removed 3kill --CONT <name>. find -sizemissing 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,stdinfrom/dev/null,sudostripped, andstdoutdiscarded 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 inseeds/_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 f↔cat f | wc -l,sort -u↔sort | 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 abash -ngate 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. anawkcolumn 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
- -