假设要查询的用户为 abc,提供2种方法
1)使用id命令
id -u abc
result = `echo $`
2)直接 grep /etc/passwd
result = `grep '^abc' /etc/passwd | wc -l`
分类: 教育/科学 >> 学习帮助
问题描述:
有什么用途 用简单明了的话说!
会的告诉我一下! 谢谢
解析:
*** 作系统与外部最主要的接口就叫做shell。shell是 *** 作系统最外面的一层。shell管理你与 *** 作系统之间的交互:等待你输入,向 *** 作系统解释你的输入,并且处理各种各样的 *** 作系统的输出结果。
shell提供了你与 *** 作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和 *** 作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
Shell基本上是一个命令解释器,类似于DOS下的mand。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
交互式shell和非交互式shell
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
shell的类型
在UNIX中主要有两大类shell
Bourne shell (包括 sh, ksh, and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
Bourne Shell
最初的UNIX shell是由Stephen R Bourne于20世纪70年代中期在新泽西的AT&T贝尔实验室编写的,这就是Bourne shell。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/profile文件。/etc/profile文件为所有的用户定制环境,$HOME/profile文件为本用户定制环境。最后,shell会等待读取你的输入。
C Shell
Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
Korn Shell
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言它符合POSIX——一个 *** 作系统的国际标准POSIX不是一个 *** 作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
Bourne Again Shell (bash)
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
POSIX Shell
POSIX shell 是Korn shell的一个变种 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 110 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh
各主要 *** 作系统下缺省的shell:
AIX 下是Korn Shell
Solaris和FreeBSD缺省的是Bourne shell
HP-UX缺省的是POSIX shell
Linux是Bourne Again shell
TIP
#!/usr/bin/sh的用途
shell script的第一行一般都是#!/usr/bin/sh或#!/usr/bin/ksh等,它的用途就是指出本脚本是用的哪种shell写的,执行时系统应该用哪种shell来解释执行它。
附:LINUX系统的shell原理
Linux系统的shell作为 *** 作系统的外壳,为用户提供使用 *** 作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。
shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。 shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。
有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。
shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。
shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。
当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。
一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。
当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。
我们来实习一下shell是如何工作的。
$ make work
make:No rule to make target ‘work’ Stop
$
注释:make是系统中一个命令的名字,后面跟着命令参数。在接收到这个命令后,shell便执行它。本例中,由于输入的命令参数不正确,系统返回信息后停止该命令的执行。
在例子中,shell会寻找名为make的程序,并以work为参数执行它。make是一个经常被用来编译大程序的程序,它以参数作为目标来进行编译。在“make work”中,make编译的目标是work。因为make找不到以work为名字的目标,它便给出错误信息表示运行失败,用户又回到系统提示符下。
另外,用户键入有关命令行后,如果shell找不到以其中的命令名为名字的程序,就会给出错误信息。例如,如果用户键入:
$ myprog
bash:myprog:mand not found
$
可以看到,用户得到了一个没有找到该命令的错误信息。用户敲错命令后,系统一般会给出这样的错误信息
linux是早期是个内核,后来添加了其他功能成了 *** 作系统。
内核就是 *** 作系统的核心,管理设备,cpu调度,内存管理等。
内核有些api可以被外面程序员调用。这些api叫做“系统调用”。
常用的系统调用被集合成一个个命令程序。如ls,cd,rm等。。
shell是linux系统的一个解释程序。用于方便执行一些命令程序。就是外壳程序,编写shell脚本,用来批量执行命令来管理系统。 相当于windows的cmd程序吧
我的一个简单理解。有误请指正。
文件系统 *** 作命令:
1。猫:可以显示文件的内容(更经常同用),或将多个文件合并成一个文件。
2 chgrp命令:用于改变文件或目录所属的用户组,参数命令更改文件的属组,文件名支持通配符空格分隔的列表,如果用户是不是车主该文件的,你不能改变所属组的文件。
3 CHMOD:对文件或目录,有两种方式命令更改访问权限:一种是用图解法,另一种是数字设定法。
4乔敦:用于指定用户或组特定所有者。用户可以设置一个用户名或用户ID,组可能是一个组名或组ID。具体的文件是文件权限空格分隔的列表是可以改变的,文件名支持通配符。
五明确:清除终端屏幕。
6的cmp:用来比较两个文件的大小。
7 CP:(复印件),你可以在同一个功能非常强大的文件或目录复制到另一个目录中,就如同DOS复制命令。当使用cp命令,你只需要指定源文件名或目标目录。
8剪:用来清除文件的部分内容。
9差异:找出两个文件之间的差异。
10杜:显示盘的剩余空间的大小。
11文件:用来显示文件的类型。
12发现:用于搜索目录中的文件并执行指定的 *** 作。
13头:看到文件的内容只有前几行,而不必浏览整个文件。
14号法律公告:您可以创建文档之间的链接,事实上,在参观了它的别名指定的文件。
15减:用法和比较类似,您可以查看文件的内容超过一屏,不同的是少,除了按下空格键可显示的文件,你可以使用箭头键滚动浏览该文件,浏览到结束,只要少提示“:”请按Q键即可。
16定位:可用于查找文件,而且比find命令的搜索速度更快。
17 LS(列表):用于显示当前目录中的文件和子目录列表。
18的mkdir(创建目录):创建子目录。
19多个:不止一个屏幕用于显示一个文件的内容,以避免文件的内容显示瞬间消失后,你可以使用更多的命令,这样的文件全屏显示时,暂停,继续显示下一次你按任意键屏幕内容。
20 rmkdir(删除目录):删除“空”的子目录或无用的目录文件。
21 MV(移动):文件和目录可以被移动到另一个位置,或者改变文件和目录的名称。
22微微:指定可编辑的文本。
23 PWD(打印工作目录):显示目录中的用户的当前位置。
24 RM:删除系统中过时或无用的文件,可以删除目录或目录本身的文件,链接文件,原文件保持不变。
25排序:文本文件自动分类。
26统计:为状态显示文件或文件系统。
27字符串:显示字符串的文件进行打印。
28尾:输出文件的结尾。
29摸:改变文件的时间戳。
30的umask:用来启动bash shell的。
31的uniq:删除重复的机密文件的文本行。
32六:启动vi文本编辑器。
33 WC:显示文本行字的组合文件中的字节,数。
34 whereis:查找在原程序中的特定目录,二进制程序或用户手册和其他文件。
35人:如果用户想了解某个命令的详细信息,那么你可以使用此命令。
36日:复制文件。
37,DF:查看文件系统的磁盘空间使用情况。
38 edquoat:设置用户和磁盘空间的限制,即Windows系统的配额组。
39 fdformat:格式化的软盘。
40 FDISK:在Linux下进行磁盘分区。
41的mkfs:建立一个Linux的文件系统。
42 mkswap命令:创建一个Linux swap分区。
43安装:安装文件系统。
44名额:限和显示用户可用的磁盘空间。
45 swapon命令,使用swapoff:启用或禁用设备交换页面和文档。
46使用quotaon,quotaoff:启用或禁用配额限制。
47的umount:取消文件系统设备。
系统管理命令
1手指:查询用户信息,也可以查看默认的用户环境。
2 FTP:用户界面标准的文件传输协议在网络上传输文件是最简单有效的方法。
3主机:DNS查询。
4主机:用于显示或设置系统的主机名。
5 ifconfig命令:用于配置网络接口。 (您可以启用或禁用使用向下或向上的参数网络接口)
6,邮件:发送和接收邮件。
7的netstat:显示网络连接,路由表和网络接口的信息,用户可以知道,网络连接正在运行。
8平:该命令用于在网络上连接到计算机,并检查其他计算机。
9远程登录:远程登录命令,该命令与telnet命令很相似,该系统允许用户启动远程交互式会话的用户。
10 RCP:RCP(远程文件复制)命令是一个远程文件拷贝命令,它被用来计算机之间复制文件,有两种格式,用于移动到复制文件的文件格式,另一种用到一个文件或目录复制到另一个文件目录。
11路:该命令用于显示或设置IP路由表。
12 tcpdump的:这个命令是用来测试网络流量。
13快讯:此命令可用于网络用户及时对话事宜,但信息必须被添加到每个系统的/ etc / hosts文件来识别对方当事人。
14的Telnet:该命令用于登录远程计算机通过网络,为本地计算机的 *** 作。
15,墙面:墙面(全部写入)命令可以用来将消息发送到本机的用户登陆。发送邮件时,您可以输入直接发送消息,也可以将文档作为邮件发送。
16的wget:此命令用于从互联网上下载的环境下Linux的文件,>
课题组xshell用户名root,密码是注册的密码。根据查询相关公开信息显示:
1、下载软件,进行用户注册一般系统默认用户名root,可进行更改。
2、点击xshell菜单栏的新建按钮,新建一个页面。
3、这时我们选择telnet的网络协议登录,点击登录。
4、输入用户名和密码,记录输入用户名与密码。
以上就是关于linux怎么查询某个用户是否存在全部的内容,包括:linux怎么查询某个用户是否存在、shell什么意思!、linux中的shell究竟是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)