Confusion about Addresses I have a little bit confusion about addresses segwit and not segwit.

I can see P2WPKH and P2WSH from this link https://en.bitcoin.it/wiki/BIP_0173, and they are segwit and start with bc (mainnet) or tb (testnet).

But I can see even P2SH, start with 3 nested P2WPKH or P2WSH, and that address start with 3.

Then When we speak about P2WPKH and P2WSH we mean Native and start with bc, or We can have even P2WPKH start with 1 and P2WSH start with 3?

when I create

bitcoin-cli getnewaddress "segwit" "p2sh-segwit" 


which kind of script I have? P2PK?
6 types of Bitcoin addresses (in parentheses are the data they keep):
Legacy

P2PKH 1... (a public key's hash)
P2SH  3... (a script's hash) (defined in BIP16)

SegWit (P2WPKH/P2WSH) nested in P2SH (defined in BIP141)

P2SH-P2WPKH 3... (a public key's hash)
P2SH-P2WSH 3... (a script's hash)

(these start with three because these addresses are meant to be compatible with existing wallets, who would see those addresses as P2SH wallets)
Native SegWit (P2WPKH/P2WSH) (defined in BIP141 + BIP173)

P2WPKH bc1... (a public key's hash)
P2WSH bc1... (a script's hash) (but longer than P2WPKH)


which kind of script I have? P2PK?

getnewaddress can't return P2PK because you can either pay directly to a script (which can be P2PK) or a script enclosed in P2SH (or its derivatives P2SH-P2WSH and P2WSH). But that's not very useful.
The documentation says:

Arguments:

&quot;label&quot;          (string, optional) The label name for the address to be linked to. If not provided, the default label &quot;&quot; is used. It can also be set to the empty string &quot;&quot; to represent the default label. The label does not need to exist, it will be created if there is no label by the given name.

&quot;address_type&quot;   (string, optional) The address type to use. Options are &quot;legacy&quot;, &quot;p2sh-segwit&quot;, and &quot;bech32&quot;. Default is set by -addresstype.



The legacy type means P2PKH, p2sh-segwit means P2SH-P2WPKH and bech32 means P2WPKH.