Early in the development of BIND 9, the Internet Systems Consortium planned to deprecate nslookup in favor of host and dig. However, this decision was reversed in 2004 with the release of BIND 9.3, and nslookup has been fully supported since then.
The name "nslookup" means "name server lookup". nslookup does not use the operating system's local Domain Name System resolver library to perform its queries, and thus may behave differently from dig (which does). Additionally, vendor-provided versions can confuse matters by using or including output of other sources of name information (such as host files, Network Information Service). Some behaviors of nslookup may be modified by the contents of resolv.conf.
nslookup operates in interactive or non-interactive mode. When used interactively by invoking it without arguments or when the first argument is - (minus sign) and the second argument is a hostname or Internet address of a name server, the user issues parameter configurations or requests when presented with the nslookup prompt (>). When no arguments are given, then the command queries the default server. The - (minus sign) invokes subcommands which are specified on the command line and should precede nslookup commands. In non-interactive mode, i.e. when the first argument is a name or Internet address of the host being searched, parameters and the query are specified as command line arguments in the invocation of the program. The non interactive mode searches the information for a specified host using the default name server.