The topology of $C_0^\infty(M) $ I have read definitions in my PDE book as follows: If $M$ is a smooth paracompact manifold, the space of all linear functional on $C^\infty(M)$ is denoted by $E'$ and the space of all linear functional on $C^\infty_0(M)$ is denoted by $D'$.
I have already known the topologies of these 4 spaces when $M$ is $R^n$, can you give me the general description of the topologies of these spaces?
 A: These are given as inductive/projective limit topologies. I assume that  $C_0^\infty$ means compactly supported and replace it by $C_c^\infty$. You only have to topologize the space $C^k(X)$ (k-times differentiable functions). E.g., for subsets of the real line the norm is given by: 
$$ ||f||_k = ||f||_\infty + || f' ||_\infty + \dots + || f^{(k)} ||_\infty.$$
For a general definition, you will have to use a smooth partition of unity and the atlases.
If you know, how you topolgize inductive and projective limits, e.g. via an universal mapping property, then the following definition will give you the topology:
For $X$, define as projective limit
$$ C^\infty(X) = \cap_{k=1}^\infty \; C^k(X),$$
then the dual is an inductive limit
$$  C^\infty(X)' = \cup_{k=1}^\infty C^k(X)'.$$
So in particular, the $C^\infty(X)$ space is metrizable as countable limit of metrizable spaces, if you can find a countable smooth partition of unity. Also the space $C^\infty(X)'$ is metrizable, if and only if $C(X)'$ is metrizable, if and only if $X$ is second-countable, if and only if there is countable smooth partition of unity.
For non-compact $X$, choose a collection $(K_i)_{i \in I}$ of compact subsets $K_i$ of $X$ such that $X =\cup_{i \in I} K_i$. One efines as inductive limit
$$ C_c^\infty(X) = \lim_{J \subset I \;  finite}^{\rightarrow}\cap_{k} C^k(\cup_{i \in J} K_i).$$
For the dual, the limits switch
$$ C_c^\infty(X)' =\lim_{J \subset I \;  finite}^{\leftarrow} \cup_{k}  C^k(\cup_{i \in J} K_i)'.$$
A: (Added the "dual" tick in the LHS of the last line in Mrc Plm's good answer.) For someone who hadn't thought in these terms before, it is probably worth noting, further to Mrc Plm's, that the duals to projective limits $B={\rm projlim}_j B_j$ are not determined purely categorically, but must be "computed" a little, by proving that any TVS hom of such a projective limit to a normed space (such as scalars) must factor through a limitand.
In contrast, that the dual of a colimit is the corresponding limit of duals is formal.
Edited: Also, as in Mrc Plm's answer, indeed $C^\infty(X)=\lim_k C^k(X)$ is complete-metrizable. Metrizability of the dual is subtler. One should know that the dual of $C^o(X)$ is compactly-supported measures, etc. (Also, whether or not a topology is metrizable, completeness is often the salient issue.)
Edit-edit: as in Deane Yang's comments, and Mrc Plm's follow-up comments, on a general smooth manifold there are usually no canonical global "derivatives", so, as in Mrc Plm's comment, one can/should take a smooth partition of unity subordinate to a locally finite cover $U_\alpha$ by coordinate charts. The colimit is then over finite unions of the patches, as before.
However, one may (depending on taste) object that this is "too" dependent on choice of the cover and partition of unity, and/or that we have somewhat obscured the characterization of (the topology on) $C^\infty_o(M)$. Agreed, this can seem fussy, but the independence of the topology on choices would come up at some point, and either a direct comparison of change-of-cover-and-partition ought to be done in advance, or a characterization given for which the explicit details following a choice of cover ... are a construction.
A colimit over locally finite covers by coordinate charts with choice of smooth partition of unity, and then following the prescription given by Mrc Plm in comments, succeeds in proving/arranging independence of such choices. (This might have been the substance of Deane Yang's allusion...) That is, given two locally finite covers by coordinate charts, and smooth partitions of unity corresponding, the "sup" (in the ordering in the colimit) consists of pairwise intersections, and pairwise products of the functions in the smooth partition of unity.
Perhaps some feedback from the questioner would be helpful in seeing how much, or what, anyone should say further. I can't resist saying that the purpose (if not complete characterization) of the topology on test functions is to produce a quasi-complete TVS, so we can reliably take limits without supports "leaking out", and without losing smoothness. The smoothness is completely local (so partition-of-unity stuff succeeds), and/but it is the support condition that necessitates the colimit.
A: You can also look at Dieudonne's treatrise, chap. XVII, where it's also explained for differential forms (obviously, you're just looking for the gluing argument).
