None of those utilities are actually in the kernel itself, or strictly speaking the operating system at all. Nor are the shell interpreters, for that matter; if you are able to get a shell prompt, then you have already done everything you need vis a vis running a simple kernel, and you now need to install some applications - such as the
GNU core utilities (fdisk, chmod, etc.), the
binutils development toolchain (ld, gas. etc.), the
Gnu Compiler Collection, and a simple editor such as nano.
While these are almost invariably bundled with the Linux operating system (that is, the kernel and set of drivers to let the kernel speak to the peripheral devices), that bundling is done by the distribution managers; those things aren't actually part of Linux, even if they are all needed to make Linux usable. The same is true of Windows and Mac OS, actually, but since they only are available as their manufacturers' bundled distribution, you would never normally see a Windows system without the desktop manager, for example (though the server versions can actually run without it). This is the main practical effect of Linux being FOSS for most users: they can get their toolchains a la carte, as it were, and pick the distro that sucks in the least painful way (
every OS sucks, they just don't all suck the same ways).
I recommend reading through the
OS-Dev Wiki, as you seem to have missed some important information. Also, you might want to look towards the
Linux From Scratch project, since that's basically what you're doing even if you are modifying the kernel.
<boilerplate type="wiki links">
Getting Started
How To Ask Questions
FAQ
Required Knowledge
Beginner Mistakes (the "deadlines" section in particular)
What order should I make things in
Code Management
How kernel, compiler, and C library work together
Using Programming
Languages other than C
Real Mode, especially the section on memory addressing, and
Segmentation
Memory Map,
Detecting Memory and
A20 Line
BIOS, and
Boot Sequence
Interrupts
Bootloader and
Rolling Your Own Bootloader
FAT and
SFS
While this is a lot of reading, it simply reflects the due diligence that any OS-devver needs to go through in order to get anywhere. OS development, even as a simple project, is not amenable to the Stack Overflow cut-and-paste model of software development; you really need to understand a fair amount of the concepts and principles before writing any code, and the examples given in tutorials and forum posts generally are exactly that. Copying an existing code snippet without at least a basic idea of what it is doing simply won't do. While learning itself is an iterative process - you learn one thing, try it out, see what worked and what didn't, read some more, etc. - in this case a basic foundation is needed at the start. Without a solid understanding of at least some of the core ideas before starting, you simply can't get very far in OS dev.
</boilerplate>