Cases[Names["System`*"],x_:> If[StringTake[x, 1] == "$", Nothing, If[AtomQ@ToExpression[x], ToExpression[x], Nothing]]]
This still gives me a list of atoms which are actually Built-in Function heads. How do it find and remove them to get a list of all available true atoms.
WolframLanguageData[EntityClass["WolframLanguageSymbol", "Atomic"]]? (It's not complete;IntegerandRealare not there, for example.) This is a previous thread. – J. M.'s missing motivation Jun 04 '16 at 17:04