But, if you want to check it yourself, you can got to a block explorer like blockchain.info and look at the address the transaction comes from and the INPUT script with that address.
IF there is another transaction of the same amount that also has the same input script, it is a double spend. You cannot have a regular transaction/client that reuses an input script (hence why change addresses are needed or two outputs are used to ensure a new input script is created in the same address).
AFAIK, even if blockchain.info only broadcasts and attempts to mine one of the transactions, it will still show both transactions in the block explorer.
Ok, If happen really double spend transaction.. First TX (fake) , second TX is reall and confirmed.
How can I see first TX or it's disappear?
And if I have 2 TX and push first TX to pool with 0 fees, will TX confirm?
In your story, both the first tx and the second tx are valid. The difference between the two transactions is that there was a miner out there whose mining node had the "real" tx in it's mempool. This miner found this tx interesting enough (the fee was sufficiently high) to put this tx in the block he was currently solving, and by pure luck, the hash he generated from the header of this block was under the current diff.
If the "real" tx gets added to a block, and this block is propagated to the network, all other nodes will remove the unspent outputs used for the "real" tx from their UTXO set, this will invalidate the "false" tx they had in their mempool because the "false" tx is now using unspent outputs that are no longer in the node's UTXO set (in case they had the false tx instead of the real one in the first place).
A site like blockchain.info, however, has a total independent database where they usually log things like double spends... It's only in such an external database you'll find the "false" transaction...
So, at a certain point, before the "real" transaction was put into a valid block, both transactions had a chance of becoming the "real" transaction, and after the "real" transaction was put into a block, the "false" transaction will dissapear from the network in a matter of seconds and can only be found in external databases that are maintained by thirth parties like blockchain.info.
As for your second question: yes, 0 sat transactions CAN in fact be broadcasted AND can in fact end up in a valid block... However, some nodes do not want to relay 0 fee transactions, and some miners won't add 0 fee transactions into the block they're currently working on, even if their mempool is empty... So, there are decent odds that a 0 fee transaction will long be pruned from the mempool of allmost all nodes before there even is a remote chance of it ending up in a block... It's all odds and averages tough. The odds of winning the bit pool in the national lottery are extremely small, but still, there are people that win the damn thing every couple of weeks/months.