functionalCode
functionalCode

Reputation: 563

Type null character in terminal

Is there a way to type the null character in the terminal?

I would like to do something like:

this is a sentence (null) test123

Upvotes: 20

Views: 59842

Answers (4)

unode
unode

Reputation: 9581

In Linux, any special character can be literally inserted on the terminal by pressing Ctrl+v followed by the actual symbol. null is usually ^@ where ^ stands for Ctrl and @ for whatever combination on your keyboard layout that produces @.

So on my keyboard I do: Ctrl+v followed by Ctrl+Shift+@ and I get a ^@ symbol with a distinguished background color. This means it's a special character and not just ^ and @ typed in.

Edit: Several years later and a few input variations implemented by different terminals using keyboard layouts that require pressing Shift to access @.

  • Ctrl+v followed by Ctrl+Shift+@
  • Ctrl+v followed by Shift+@ without releasing Ctrl.
  • Ctrl+Shift+v followed by @ without releasing Ctrl+Shift.
  • Ctrl+Shift release Shift and re-press Shift keeping both Ctrl+Shift pressed followed by v and finally @. Seen in some terminals that implement a special input on Ctrl+Shift.

Upvotes: 19

Oskar N.
Oskar N.

Reputation: 8587

$ echo -e "this is a sentence \0 test123"
this is a sentence  test123

The null here ^^ IS NOT visible

$ echo -e "this is a sentence \0 test123" | cat --show-nonprinting
this is a sentence ^@ test123

But it IS here ^^

But maybe you did not want this for a script?

Upvotes: 11

AXE Labs
AXE Labs

Reputation: 4541

As with the abort command (Ctrl-C), in most terminals just hit Ctrl-@ (with the use of Shift on my keyboard).

Upvotes: 3

tjarratt
tjarratt

Reputation: 1690

Apparently you can type this character with ^@ on some character sets. This wikipedia article on the null character may be helpful.

Upvotes: 7

Related Questions