您的位置:首页 > 运维架构 > Shell

坐拥IT高薪职位必备底层知识系列――linux shell 编程与命令行基础知识汇总

2013-11-09 19:40 555 查看
Linux shell编程,系统常用命令,各种服务进程安装视频知识点

@ Linux shell编程部分 @
shell定义:
操作系统提供给用户的用以访问,管理,控制操作系统的接口。在windows中称为CMD,在Linux中称为shell。这种用户接口(shell,又称外壳)会解释用户输入的指令,并搜索该指令对应存储在磁盘中的二进制可执行程序文件,然后传递给操作系统内核执行。注意:shell本身就是一种程序。
Linux系统常见的shell有:Bourne Again SHell(Bash),C SHell(Csh),Korn SHell(
Ksh)。添加或创建一个新用户时可以指定shell的种类,若不指定,默认为bash。

etc/passwd 文件内容详解
用户名:显示为x的密文口令:用户ID:用户组ID:用户账户的描述信息,该字段默认为空:该用户登录系统时的目录:该用户登录系统时所用shell的存储路径
举例
yanyb:x:500:500::/home/yanyb:/bin/bash
执行命令 useradd bob -s /bin/csh 回车,再执行命令 exit 回车,查看etc/passwd 文件内容,新增了
bob:x:501:501::/home/bob:/bin/csh

useradd 命令详解
useradd [用户名] [参数选项]
可选的参数有 -d [指定该用户登录系统时的工作目录,若不指定,默认为/home/[用户名]]
-u [指定该用户的用户ID(uid)]
-g [指定该用户的组ID(gid)]
-s [指定该用户登录系统所用shell的存储路径,若不指定,默认为/bin/bash]

Linux用户进入shell的流程:
1 在Linux文本模式的登录提示符下,或者图形用户界面(GUI)的登录对话框中,输入正确的用户名
和口令,以执行登录(login)操作。
2 系统将输入的用户名和口令匹配和验证,若这一步正确则进入系统。
3 系统根据该用户的shell类型,执行一些初始化工作。对于Bash而言,系统将执行.profile文件
4 系统给出shell的命令提示符。
提示符的形式可以自定义。默认情况下,普通用户的提示符为$,超级(root)用户的提示符为# 。

etc/inittab 文件中
id:3:initdefault: 将以文本模式登录,并给出shell,支持多用户。
id:5:initdefault: 将以GUI模式登录,进入基于X窗口系统第11版(X11)的GUI界面,且只能使用嵌入GUI的shell。
id:1:initdefault: 将以文本模式登录,并给出shell,仅支持单一用户。
id:2:initdefault: 将以文本模式登录,并给出shell,支持多用户,但没有NFS(网络文件系统)功能。

shell在接收(解释)用户输入的命令后,根据环境变量PATH所指定的路径(该路径作为PATH的值)搜索相应命令的二进制可执行程序文件。如果找到就传递给内核执行,如果程序文件不存在则返回错误提示信息。
系统默认已将常用,重要的搜索路径设置到了PATH中。
执行命令 echo $PATH 可以查看当前的搜索路径(目录)都有哪些。
其中, $[环境变量名] 引用该变量的值。
命令的输出包含多个目录,目录之间用:分隔。例如以下输出:
/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin

环境变量 HOME 中保存的是用户的主目录信息,即某个用户登录进系统时的当前工作目录(路径)。
例如,登录系统时的命令提示符为如下形式:
[yamyb@localhost ~]$
其中,yamyb表示当前登录的用户名;localhost表示主机名;~表示当前工作目录为该用户的主目录,其具体的目录信息可以通过 echo $HOME 命令查看。在使用 useradd命令创建新用户时,默认的主目录为/home/用户名。如果将当前工作目录从该用户的主目录切换至其他目录,则~部分会变成相应的目录名称。
在上个例子中,输入 cd /usr/local/ 回车后,登录提示符变为如下形式:
[yamyb@localhost local]$
表明当前工作目录已从用户主目录切换至/usr/local/。必须指出:取决于不同的Linux发布版,不同的shell类型,其显示会稍有差异。在本例中,只显示了当前工作目录的最底层目录。
相反,有些系统会给出完整的当前工作目录“树”信息,包括所有父目录和子目录。
要从任意的当前工作目录回到用户主目录,有两种办法:
√不带任何参数运行cd命令;
√输入 cd $HOME 回车;
要查看当前工作目录的完整“树”信息,只需不带任何参数运行pwd命令即可。

本文出自 “自由,平等,共享,互助” 博客,请务必保留此出处http://shayi1983.blog.51cto.com/4681835/1322599
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐