How do I execute a Linux command whilst using the less command or within the man pages?

You can access the command line using bang (!) within less.

So for example, if you type:

touch temp.txt
ls | less
!rm temp.txt

And temp.txt should be gone.

Edit: By default it seems that man now uses less to page (for some reason I thought it used more, maybe in the past it did). You can use the same trick, but it requires the full path (eg. /home/user/...) to get it to work.

This is because invoking man changes the current working directory. On my machine (xubuntu, using xfce-terminal) it goes to /usr/share/man. If your console displays the CWD you can see it change, or you can see it from within man by entering:

!pwd

The generic way to do this is by suspending the current job, executing the command and resuming the old job.

ls | less (read text, notice the filename)
Control-z to suspend the current active command

You should get a line similar to this:[1]+ Stopped ls | less
([1] is the job number.)

rm testfile

fg or fg %1 (the 1 is the job number)

You can suspend multiple processes at the same time. E.g.
ls | less
Control-z (output: [1]+ Stopped ls | less)
man rm
Control-z (output: [2]+ Stopped man rm)
rm -i testfile*

fg %1 to resume job 1 (leaving the man page open in the background), or
fg %2 to resume job 2 (man rm)

If you have multiple suspended processes you can list them with jobs.