shell命令行和在DOS窗口中输入命令有啥区别吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell命令行和在DOS窗口中输入命令有啥区别吗相关的知识,希望对你有一定的参考价值。

Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可靠、稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面,作为一个典型的DOS 和WINDOWS用户,让我们一起来学习Linux的一些主要命令,希望大家能尽快进入到Linux的世界里。
  一、启动
  Linux的启动操作过程和DOS相似(尽管如此,但作为操作系统本身,Linux在启动和退出时所作的工作要比DOS多得多),也可以通过按下Ctrl+Alt+Del三键进行热启动。不同的是Linux启动到最后时,需要进行登录。下面是一个典型的登录过程:
  ……
  RedHat Linux release 5.1
  Kernel 2.0.32 on an i686
  login:
  你键入:root后,计算机显示输口令(password:),输入你的口令(如果是第一次启动,则是你在安装时所输入的口令)即可。当计算机出现一个“#”提示 符时,表明你登录成功!
  [root@localhost root]#_    Linux提示符
  C:>_         DOS提示符
  二、常用的一些命令:
  1.显示文件目录命令ls(DOS下为DIR)
  在Linux中用ls命令显示文件及目录(当然,你仍然也可用DIR命令,只不过在这里的参数不同)。例如:#ls
  root mnt boot dev bin usr xiong tmp etc games
  看起来似乎简单(就相当于DOS中的“DIR/W”),但你会发现你看到的有些难懂,连哪些是目录哪些是文件都不清楚,哪些又是可执行文件呢?不要紧,请输入:#ls -F+root/ mnt/ boot/ dev/ bin/ usr/ xiong* tmp/ etc/ games / readme
  看清楚了吧,带*为可执行文件(相当于DOS中的EXE和COM文件),带/为子目录,其它的为通用文件。另外,我们可用ls -l显示文件目录的详细情况(相当于DOS中的DIR命令)。千万注意区分大小写!!如LS -f;Ls等都是错误的。另外,ls命令还有许多参数,你可以用man ls或ls--help去进一步了解。
  2.改变当前目录命令cd(DOS下为CD)
  在DOS中,我们可以用C:>CDMNTcdrom或cdmntcdrom
  C:mntcdrom>cd ..或cd..或CD..
  C:mnt>cd或C:mnt>cd
  而在Linux中为cd /mnt/cdrom,目录名的大小写必须与实际相同,cd后必须有空格。
  pwd 显示当前目录
  cd .. 必须为小写,必须有空格
  cd / 总目录为/,cd与/? 有空格
  3.建立子目录mkdir(DOS下为MD或MKDIR)
  在Linux中只能用mkdir,可用相对路径和绝对路径,请比较:
  C:>md xiong或md xiong或mdxiong
  DOS系统
  [root@localhost /]#mkdir xiong或mkdir /xiong
  Linux系统
  4.删除子目录命令rmdir(DOS下为RD)
  在Linux中用rmdir命令删除子目录,例如:
  rmdir /mnt/cdrom 相当于rd mntcdrom
  注意:同DOS一样,要删除的子目录必须是空的,而且必须在上一级目录中才能删除下一级 子目录。
  5.删除文件命令RM(DOS下为DEL或EARSE)
  在Linux中用RM命令删除文件,例:
  rm /ucdos.bat 相当于del ucdos.bat
  6.文件改名命令MV(DOS下为REN或RENAME)
  在Linux中用mv命令给文件改名,例:
  mv /mntfloppy p相当于 ren mntfloppy p
  说明:在Linux中的mv命令除了文件改名外,还有文件移动的功能,请看例子:
  mv /mnt/floppy /bin 相当于DOS中的命令 move mntfloppy in
  7.文件复制命令cp(DOS下为COPY)
  在Linux中用cp命令进行文件复制,例:
  cp /ucdos/* /fox 相当于copy ucdos*.* fox
  注意:DOS中的*.*在Linux中用*代替。
  8.获取帮助信息命令man(DOS下为HELP)
  在Linux中用man命令获取帮助信息,例:
  man ls 相当于help dir
  ls --help 相当于dir/
  9.显示文件的内容less(DOS下为TYPE)
  在Linux中用less命令进行文件显示工作,例如,我们要显示man1子目录下的mwm.lx的内容,只需输入:[root@localhost man1]#less mwm.lx即可。在Linux中,我们也可用另外一个命令“more”来显示文件内容,例如:more mwm.lx。你会看到,这两个命令非常相似,实际上,less命令的功能要比more强一些,你可以自己去摸索。在Linux中,还提供了两个DOS中没有的阅读文件的命令,它们是head和tail命令,分别用来显示文件的头部和后部的部分内容。使用格式为:head(tail) [m],缺省n时,显示10行,例如:
  head /usr/man/mwm.lx 显示文件mwm.lx前10行的内容
  head 15 /usr/man/mwm.lx 显示文件mwm.lx前15行的内容
  tail 17 /usr/man/mwm.lx 显示文件mwm.lx后17行的内容
  10.重定向与管道
  大家知道,在DOS中,我们可以通过重定向与管道方便地进行一些特殊的操作,如:dir>direct将当前目录放入文件direct中;type readme>>direct,将文件readme的内容追加到文件direct中;又如:type readme.txt|more,分页显示文本文件readme.txt的内容。在Linux中的重定向与管道操作同DOS中的操作几乎一样,上面两个例子在Linux中应为:ls>direct; less readme.txt|more(注:实际上,Linux中的more和less命令本身具有分页功能)。
  11.外壳程序(shell):命令解释器(command)
  在DOS系统中,我们绝大多数用户都是用的command.com这个命令解释器。当然,你也可换用Norton或DOS4.0以后的dosshell。在Linux中,有好几种shell。常见的有:ash,bash,ksh,tcsh,zsh等,从上面的环境变量中SHELL=/bin/bash可以看出你用的是哪种shell,它位于何处。计算机默认的一般是bash。
   以上讲到的仅仅是与DOS功能相似的一些Linux命令,而作为一个多用户、多任务的操作系统,其强大的功能还远不止于此。希望更多的人用上这个优秀的操作系统,相信你一定不会后悔的。
==========
Linux常用基本命令及应用技巧
一,使用光盘及软盘
  在Linux的文字模式下要使用光盘或软盘,并不是只将光盘或软盘放入即可,用户需要运行加载的命令,才可读写数据。所谓加载就是将存储介质(如光盘和软盘)指定成系统中的某个目录(如/mnt/cdrom或mnt /floppy)。通过直接存取此加载目录,即可读写存储介质中的数据。以下就来看看文字模式下的加载及卸载命令。
  1,加载的mount命令
  要使用光盘时先把光盘放入光驱,然后执行加载的mount命令,将光盘加载至系统中:
  [tony@free tony]# mount/dev/cdrom/mut/cdrom ← 加载光盘
  同理,使用软盘之前也需要和光盘一样,必须先加载后才能使用:
  [tony@free tony]# mount/dev/fd0/mut/floppy ← 加载软盘
  2,卸载的umount命令
  如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。范例如下:
  [tony@free tony]# umount / mnt/cdrom ← 光盘卸载
  在不使用软盘时执行umount 命令卸载软盘,再将软盘拿出
  [tony@free tony]# umount / mnt/ ← 软盘卸载
二,在后台运行程序
  用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其他事情,最好的方法就是将它放在后台运行,甚至可能希望在用户注销系统后,程序还可以继续运行。让我们看看那如何实现这一目的。
  1,在后台运行程序的&、bg命令
  将程序放到后台运行的最简单方法就是在命令最后加上“&”,范例如下:
  [tony@free root]# updatedb & ← 在后台执行 locate 数据库更新命令
  [tony@free root]# bg ← 将更新操作放到后台运行
  2,前台运行的程序fg命令
  如果用户当前已有程序在后台运行,可以输入fg命令,将它从背景中移到前台运行:
  [tony@free root]# fg ← 放到前台执行的命令会显示出来
  3,在退出后让程序继续运行的nohup命令
  此命令可使用户退出系统后,程序继续运行。范例如下:
  [tony@free rony]$ nohup myserver &
  然后用户就可以退出了,当再次登录的时候,可以用ps –aux命令看到程序仍在后台中运行。
三,任务调度命令
  计算机有很多程序需要周期性的被运用,例如清理磁盘中不要的暂存盘、备份系统数据、检查远程服务器的邮件等。对于这些重复性的工作,其实不需要每次都辛苦地运行这些程序。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工作。
  任务调度的crond常驻命令
  crond 是Linux用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调动命令。crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作,便会自动执行该工作。由于任务调度中间的操作过程十分繁杂,我们只将任务调度文件的写法介绍给大家,供大家参阅:
  Minute Hour Day Month DayOfWeek Command
  在这段文字中除了“Command”是每次都必须指定的字段以外,其他自动皆可视需求自行决定是否指定。
四,任务调度的系统工作
  /ect/crontab/文件是Linux系统工程的任务调度设置文件,其默认的内容如下:
  SHELL=/bin/bash ← 指定执行任务调度工作时所使用的SHELL
  PATH=/shin:/bin:/usr/sbin:/usr/bin ← 指定命令搜索的路径
  MAILTO=root ← 指定将输出结果给root用户
  HOME=/ ← 指定跟目录
五,任务调度的个人工作
  除了上述任务调度的系统工作外,一般用户则可利用crintab命令,自行设置要定期执行的工作。
  每个用户可执行crontab –e命令,编辑自己的任务调度设置文件,并在此文件加入要定期执行的工作。以下范例为tony用户编辑的任务调度设置文件:
  [tony@free rony]$ crontab –e
  执行上述命令后,即会进入VI文本编辑器自行编辑任务调度的工作。
  八,删除调度工作任务
  如果不想再定期执行任务调动中的工作,则可执行crontab –r命令删除所有任务调度的工作。范例如下:
  [tony@free rony]$ crontab –r ← 删除任务调度中的工作
  [tony@free rony]$ crontab -1 ← 再查看一次任务调度中的工作
  no crontab for tony ← 已经没有任何任务调度工作
六,打包、压缩与解压缩
  由于这是每一个Linux用户都会经常用到的基本功能,因此我们将介绍最常见到的打包、压缩和解压缩程序。
  1,打包文件的tar命令
  tar命令位于/bin目录中,它能将用户所指定的文件或目录打包成一个文件,不过它并不做压缩。一般Unix上常用的压缩方式是先用tar命令将许多文件打包成一个文件,再以gzip等压缩命令压缩文件。tar命令参数繁多,以下举例常用参数作说明:
   -c:创建一个新的tar文件;
   -v:显示运作过程信息;
   -f:在:指定文件名称;
   -z:调用gzip压缩命令执行压缩;
   -j:调用bzip2压缩命令执行压缩;
   -t:参看压缩文件内容;
   -x:解开tar文件。
  在此举一常用范例:
  [tony@free data]# tar cvf data.tar * ← 将目录下所有文件打包成data.tar
  [tony@free data]# tar cvf data.tar.gz * ← 将目录所有文件打包成data.tar再用gzip命令压缩
  [tony@free data]# tar tvf data.tar * ← 查看data.tar文件中包括了哪些文件
  [tony@free data]# tar xvf data.tar * ← 将data.tar解开
2,压缩与解压缩
  tar命令本身没有压缩能力,但是可以在产生的tar文件后,立即使用其他压缩命令来压缩,省区需要输入两次命令的麻烦。
   使用-z参数来解开最常见的.tar.gz文件:
   [tony@free data]# tar –zxvf foo.tar.gz ←将文件解开至当前目录下
  
   使用-j参数解开tar.bz2压缩文件:
   [tony@free data]# tar –jxvf linux-2.4.20tar.bz2 ←将文件解开至当前目录下
  
   使用-Z参数指定以compress命令压缩
   [tony@free data]# tar –cZvf prcture.tar.Z*.tif 将该目录下所有.tif打包并命令压缩成.tar.Z文件
七,其他常用命令
  Linux可用的命令相当多,本章我们只举例几个常用的命令进行说明,在以后的章节中,还会接触到许多其他命令。
  1,修改密码的passwd命令
  passwd(password)命令可让用户变更密码。范例如下:
  [tony@free tony]$ passwd
  Changing password for user tony
  Changing password for tony
  (current)UNIX password: ← 输入原密码
  New password: ← 输入新密码
  Retype new password ← 在此输入新密码
  passwd: all authentication tokens updated successfully ← 密码修改成功
2,创建引导盘的mkbootdisk命令
  如果安装系统时,并没有制作引导盘,或者引导盘已经损害,可以在安装系统之后,利用mkbootdisk命令创建一张新的引导盘:
  [root@free root]# mkbootdisk ‘uname -r’
  执行上述指令便可以成功的创建一张引导盘了。请保存好出盘,已备紧急之用。
  3,显示与设置时间的date、clock和ntpdate命令
  date 命令可以显示当前日期时间。范例如下:
  [tony@free rony]$ date
  -9月 8 10:00:00 CST 2006
  CST为中部标准时间
  clock命令也可以显示出系统当前的日期与时间,不过clock命令默认不允许一般用户执行,请用root账号执行:
  [root@free root]# clock
  公元2006年9月8日(周五)10时00分00秒 0.112604 seconds
  如果系统时间不正确要想更改,可以使用date命令来设置时间。用root账号如下操作:
  [root@free root]# date 09091200 ← 将时间设定为9月9日12点00分
  用户有时可能会苦于不知道标准时间。没关系,当前网络上也有校对时服务器提供的标准时间。因此可执行ntpdate命令,将系统时间设成与校时服务器一致:
  [root@free root]# ntpdate stdtime.microsoft.com ← 与微软校时服务器校时。
  然后再执行一次date命令,就会发现系统时间已经更改。不过这样还没有结束,还需要执行clock –w 命令将更改的时间写入计算机的CMOS中,这样下次启动时才会使用更改过的时间。范例如下:
  [root@free root]# clock –w
使用过程中遇到的一些疑难问题的解决方法以及在操作过程中的一些应用技巧。
一,如何进入文字模式
  当安装Linux时,可选择自动后要进入文字模式或时图形模式。如果选择的时文字模式则可略过此说明;若是直接进入X Window的图形模式,仍可以使用下列方式,进入文字模式:
  1,在X Window中打开文字模式窗口
  在默认的GNOME窗口环境为例,在X Windows 下进入文字模式最简单的方式,就是在桌面空白处单击鼠标右键,执行“新增终端命令”,打开文字模式窗口。在文字模式窗口中可以用 Shift+Page Up和Shift+Page Dwon 键来卷动窗口内容。
  2,切换虚拟主控制台进入文字模式
  Linux主机在主控制台(console)下提供了7个虚拟主控台,在每一个虚拟主控台中可以运行各自的程序。可以在登陆X Window系统后的任何时间,按下Ctrl+Alt+Fn键来切换到其他的虚拟主控台。其中的Fn是指F1~F7的功能键。
  3,启动直接进入文字模式
  要设置启动时直接进入文字模式,可以使用任何一个文本编辑器,打开/etc/inittab文件,在文件中查找“id:5:initdefault:”这一段文字,并将其改为“id:3:initdefault:”即可。
二,/etc/inittab设置错误,导致无法启动
  若修改/etc/inittab后无法正常启动,则可以在启动时采用单人模式进入系统,重新修改inittab设置文件以解决问题。
  若使用GRUB为引导装载程序时,只要在启动显示菜单画面时,按a键,并在命令行输入一下参数以进入单人模式:
  grub append > ro root=LABEL=/s ← 只要在命令行原来的语句后,加“S”即可
  使用LILO为引导装载程序时,同样在启动显示LILO菜单画面时,按Ctrl+X键,切换到文字模式的LILO登录画面,并输入以下参数即可:
  boot: linux s ← 表示系统直接讲进入单人模式
三,如何查询命令的用法
  在linux系统中,如果用户某命令的功能不大清楚,可以使用man命令查询帮助:
  [root@free root]# man shutdown ← 以man命令查询稍后要介绍的shutdown命令的用法。
  大多数命令的语法,还可以通过-h或—help参数查询。例如shutdown命令的语法可以运行shutdown –h或上述的man shutdown 命令查得。
四,避免按Ctrl+Alt+Del重新启动系统
  在linux中直接按下Ctrl+Alt+Del三个键后就会重新启动,如果不希望任何人利用这组组合键随意重新启动计算机,请用文本编辑器修改/etc/inittab文件:
  #ca::ctrlaltdel:/sbin/shut down –t3 –r now ← 在此之前加上“#”。
  存盘后重新启动计算,以后就无法用Ctrl+Alt+Del 键重新启动了。
五,文字模式下的中文信息出现乱码
  在此版的Red Hat Linux中,若是在X Window打开文字模式窗口,以文字模式操作,则所有中文文件名、月份,甚至部分信息都可以正常的以中文显示。但在文字模式的虚拟控制台中,这些中文信息,则会变成乱码,此时请如下操作,可将此信息改成英文显示:
  [root@free root]$ LANG=C
  [root@free root]# ls –l
  运行LANG=C命令后原来以中文显示(乱码)的部分,变成英文了
  若想改回原来的设置,则只要再执行LANG=zh_CN命令即可:
  [root@free root]$ LANG=zh_CN
六,看不到中文文件名
  如果加载的存储介质中含有中文文件名,需要再运行mount命令,再加上“-o iocharset=cp950”参数,这样才能看到此保存媒体内的中文文件名。例如加载光盘就可以执行以下命令:
  [root@free root]# mount –o iochatset=cp950/dev/cdrom/mnt/cdrom
七,如何调换光盘
  当光盘已经被加载成为一个目录时,按下光驱上面的退出按钮,将无法退出光盘,必须先将光盘卸载后,才能退出光盘。
  若当前所在之处就是光盘加载目录(如/mnt/cdrom),或有其他用户正在此目录下,将无法成功的卸载它,当然也不能退出光盘:
  [root@free root]# umount/mnt/cdrom
  umount:/mnt/cdrom: device is busy ← 此光盘正在被使用中
  先将工作目录切换到别处,或要求其他用户离开此目录,才可卸载目录并退出光盘。而更换关盘之后,记得要将光盘再次加载才能使用。
八,允许一般用户加载光盘或软盘
  Linux 操作系统默认只允许root用户才能运行mount命令,若是一般用户执行上述命令,则会出现以下的错误信息:
  [root@free root]# mount/dev/cdrom/mut/cdrom
  mount:only root can do that ← 只有root用户才能执行此命令
  因此若要允许一般用户也能加载光盘或软盘,请修改/ect/fstab/设置文件:
  /dev/cdrom/mut/cdrom udf,iso9660 noauto,owner,kudzu,ro,user ← 若要让一般用户也加载光盘,请在此处加上“,user”项目。
参考技术A 区别大的去了
shell是linux必有的,理论上不需要,但实际上必有。
DOS是一种操作系统,出生在win之前,现在win上的那个命令行窗口叫做CMD。只是一个软件,运行的规则,脚本是批处理,但语法不完整。逻辑有缺陷,对win来说,这个大部分情况下不会用到,少数情况下会用,属于那种不能丢,但不丢也不会让你很痛苦的那种。但shell的脚本十分完整,逻辑也严谨。
powershell是微软开发的一种在服务器端,通过命令行管理系统的集成工具。目标是shell,但现实是差的远了,很少很少很少有人用本回答被提问者和网友采纳
参考技术B 没有区别,叫法不同而已。
Linux下的命令行环境叫shell;Windows下的命令行环境叫DOS(还有一种Powershell)。
要说不同,就是内置的命令不一样。

vbs中wscript.shell对象run调用dos命令的路径问题

vbs代码
set wsh=createobject("wscript.shell")
wsh.run "cmd /c start /max 文件路径",0
其中的 文件路径 含有空格 所以必须要用双引号括起来 但是已经有双引号了 这个该怎么处理呢

参考技术A set wsh=createobject("wscript.shell")
wsh.run "cmd /c start /max “ & chr(34) & "文件路径" & Chr(34),0追问

不可以的 弹出的窗口不是文件窗口 而是bat 窗口 你建个.txt文件测试一下

追答

这个不是代码的问题,cmd /c start /max 后面的路径本来加双引号就会变成那样

以上是关于shell命令行和在DOS窗口中输入命令有啥区别吗的主要内容,如果未能解决你的问题,请参考以下文章

命令提示符和DOS和CMD有啥区别?

linux命令和shell命令有啥区别啊?

c语言中啥指令可以关闭dos窗口

vbs中wscript.shell对象run调用dos命令的路径问题

批处理bat在开始执行命令时可以不显示DOS窗口吗?

sudo -i和sudo -s有啥区别