第三章 shell基本命令_第1页
第三章 shell基本命令_第2页
第三章 shell基本命令_第3页
第三章 shell基本命令_第4页
第三章 shell基本命令_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章shell基本命令基本命令学习目标学习目标 学会使用常用的命令学会使用常用的命令 学会学会shell的功能和简单脚本的功能和简单脚本Linux用户环境用户环境 内核内核(Kernel) Shell 终端模拟器终端模拟器(Terminal Emulator) X Window系统系统 窗口管理器窗口管理器(Window Manager) 桌面环境桌面环境(Desktop Environment) 本地登录本地登录Red Hat Linux release 9.0 (Shrike)Kernel 2.4.21-8 on an i686login:root(用户名)(用户名)passwor

2、d:_(密码)(密码)提示符与提示符与home目录目录rootlocalhost root# 当前用户名当前用户名主机名当前目录主机名当前目录 提示符因用户而异提示符因用户而异 home目录是用户登入系统后即所在的默目录是用户登入系统后即所在的默认目录。认目录。创建用户创建用户useradd 用户名用户名passwd 用户名用户名example: rootlocalhost root# useradd student rootlocalhost root# passwd student Changing password for user student New password: (无回显)

3、(无回显) Retype new password: (无回显)(无回显) passwd: all authentication tokens updated successfully rootlocalhost root#运行指令运行指令 指令名指令名 选项选项 参数参数 例子:例子: ls -l /etc/X11 帮助和在线帮助帮助和在线帮助 指令指令 -help 例:例:mknod -help man 指令指令 例:例:man mknod info 指令指令 例例:info mknod基础指令(一)基础指令(一) man 的使用技巧的使用技巧 man -k keyword man -f

4、keyword man -a keyword man n keyword基础指令(二基础指令(二) ls 查看文件查看文件 cp 拷贝文件拷贝文件 mv移动或重命名文件移动或重命名文件 rm删除文件删除文件 touch 创建空文件或更新文件时间创建空文件或更新文件时间基础指令(三基础指令(三) cd 改变当前路径改变当前路径 pwd察看当前完整路径察看当前完整路径 mkdir创立新目录创立新目录 rmdir删除空目录删除空目录基础指令(四基础指令(四) cat察看文件内容察看文件内容 more 逐屏察看文件内容逐屏察看文件内容 less逐行察看文件内容逐行察看文件内容 date显示当前时间显示

5、当前时间 cal显示月历显示月历基础指令(基础指令(五)五) df 显示磁盘用量显示磁盘用量 du 计算目录下文件占用磁盘的大小计算目录下文件占用磁盘的大小基础指令(六基础指令(六) head 显示文件开头部分内容显示文件开头部分内容 tail 显示文件结尾部分内容显示文件结尾部分内容设设 备备 文文 件件 设备在设备在Linux中以特殊文件的形式存在中以特殊文件的形式存在 块(块(block)设备文件)设备文件 字符(字符(character)设备文件)设备文件 设备文件所在位置设备文件所在位置 查看设备类型查看设备类型虚拟控制台及用户身份切换虚拟控制台及用户身份切换 在系统中有在系统中有1

6、2个虚拟控制台,前个虚拟控制台,前6个可供个可供用作本地登录用作本地登录 用户可以用用户可以用Alt+Fn(n=112)来切换。来切换。 用用su可以用来切换用户身份可以用来切换用户身份 su - username离开系统离开系统 重启重启 reboot shutdown -r now init 6 关机关机 halt shutdown -h now poweroff init 0Shell简介简介 Shell:命令行解释器,是用户与系统沟:命令行解释器,是用户与系统沟通时的媒介。通时的媒介。 在在Unix系统中有各种系统中有各种Shell,Linux采用采用bash为其默认为其默认shell

7、 系统可以使用的系统可以使用的shell记录在记录在/etc/shells中中输入、输出、重定向输入、输出、重定向 输入:过滤器的数据来源输入:过滤器的数据来源 标准输入标准输入stdin(0):默认是键盘):默认是键盘 输出:过滤器的数据去向输出:过滤器的数据去向 标准输出标准输出stdout (1):默认是终端屏幕:默认是终端屏幕 错误输出错误输出 :报错讯息与标准输出走不同的:报错讯息与标准输出走不同的I/O通道通道 标准错误输出标准错误输出stderr(2):默认是终端屏幕:默认是终端屏幕 重定向:标准输入、输出与错误输出,都可以用特定重定向:标准输入、输出与错误输出,都可以用特定符号

8、改变数据来源或去向符号改变数据来源或去向输入重定向输入重定向 使用使用“”来重定向输入源来重定向输入源 大多数工具都会以其后的文件名为输入大多数工具都会以其后的文件名为输入源源 有一些过滤器一定需要添加有一些过滤器一定需要添加 以明确输以明确输入源入源从当前文档输入从当前文档输入 使用使用 改变数据输出目标改变数据输出目标 范例:范例:ls l listfile 将当前目录下的文件以长模式显示,将当前目录下的文件以长模式显示,然后写入然后写入listfile文件文件 文件已有内容会被消除文件已有内容会被消除覆盖与追加覆盖与追加 使用使用进行输出重定向,文件的原内容会进行输出重定向,文件的原内容

9、会被覆盖被覆盖ls l listfile 使用使用,可以将输出追加入文件,可以将输出追加入文件ls l listfile错误输出重定向错误输出重定向 系统错误与标准输出使用的系统错误与标准输出使用的I/O管道不同管道不同 默认情况下,系统报错会显示到终端屏默认情况下,系统报错会显示到终端屏幕上幕上 使用使用2将报错讯息重定向入一个文件将报错讯息重定向入一个文件find / -type s 2 /dev/null 使用使用2将报错讯息追加入一个文件将报错讯息追加入一个文件find / -name passwd 2 results双重输出重定向双重输出重定向 使用使用和和2可以将一次操作的正确、错

10、误可以将一次操作的正确、错误输入,被单独地送到不同的地方:输入,被单独地送到不同的地方:find / -perm -2 2 error results 使用使用&将所有输入都送向同一个地方:将所有输入都送向同一个地方:find / -perm +6000 file管道管道 使用使用 | 将前一个过滤器的输出直接送入后将前一个过滤器的输出直接送入后一个过滤器的输入一个过滤器的输入ls l | grep pass 允许多重管道允许多重管道 注意管道前过滤器的输出与管道后过滤注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配器的输入数据类型匹配重定向、管道的常用范例重定向、管道的常用范例

11、 ls l | more 分屏显示当前目录下的文件分屏显示当前目录下的文件 cat fileb 拷贝拷贝filea到到fileb cat file.* file 将数个小文件合并成一个文件将数个小文件合并成一个文件alias 在在shell下键入下键入alias可以查询当前可以查询当前alias列列表。表。 用户可以用户可以alias来为一条命令取一个简单来为一条命令取一个简单的别名的别名 用户也可以用户也可以用用unalias来取消一条别名记来取消一条别名记录。录。 alias记录在记录在shell中总是先行。中总是先行。bash bash:Bourne Again Shell的缩写。的缩写

12、。 GNU计划的一个组件。计划的一个组件。 与与Unix上的上的Bourne Shell完全兼容。完全兼容。 支持命令行输入、操作历史查询、快捷支持命令行输入、操作历史查询、快捷键、使用变量等功能。键、使用变量等功能。预定义环境变量预定义环境变量 在在bash中有很多预定义环境变量中有很多预定义环境变量 系统通过预定义环境变量来定义系统通过预定义环境变量来定义shell的环境的环境 用户可以用户可以用用set或或env查询当前的环境变量查询当前的环境变量 常用的预定义变量:常用的预定义变量: HOME:当前用户的主目录:当前用户的主目录 PATH:当前用户的可执行文件搜索路径:当前用户的可执行

13、文件搜索路径 LANG:程序应该使用的默认语言:程序应该使用的默认语言 PS1:行提示符:行提示符history 在在bash中输入中输入history指令可以查询用户指令可以查询用户的过往操作。的过往操作。 内存中记录的过往指令数根据环境变量内存中记录的过往指令数根据环境变量中中HISTSIZE而定。而定。 history表存储在内存中,在用户表存储在内存中,在用户logout时时会记录入用户主目录下的会记录入用户主目录下的.bash_history文文件中。在下次件中。在下次login时载入。时载入。 .bash_history中的指令数根据环境变量中中的指令数根据环境变量中的的HISTF

14、ILESIZE而定。而定。调用过往指令调用过往指令 使用使用 ! 来调用过往指令:来调用过往指令: !:重复执行上一条指令:重复执行上一条指令 !a:重复执行上一条以:重复执行上一条以a为首的指令为首的指令 !number:重复执行上一条在:重复执行上一条在history表表中记录号码为中记录号码为number的指令的指令 !-number:重复执行前第:重复执行前第number条指条指令令 可以用可以用来在来在history表中查询某条表中查询某条过往指令过往指令命令行表达式命令行表达式 命令行输出命令行输出“ ” 将一串字符当成一个字符串来对待,如果字将一串字符当成一个字符串来对待,如果字

15、符串中包含特殊含义的字符,则转义。符串中包含特殊含义的字符,则转义。 命令行输出命令行输出 将一串字符当成一个字符串来对待,如果字将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义。符串中包含特殊含义的字符,不转义。 执行引用执行引用符符 引用命令的执行结果引用命令的执行结果命令行表达式(二)命令行表达式(二) 数学运算数学运算$ 在中括号内的表达式会被数学计算在中括号内的表达式会被数学计算 逸脱符逸脱符 用于取消命令行中字符的特殊含义用于取消命令行中字符的特殊含义 用于表示一行未结束用于表示一行未结束命令行表达式(三)命令行表达式(三) 命令行结束符命令行结束符; 用于在

16、一行内分隔两个独立命令,表用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键示一行已结束,作用相当于回车键pwd ; ls l 子子shell激活激活() 在小括号内的命令行表示激活一个子在小括号内的命令行表示激活一个子shell后在子后在子shell中运行中运行逻辑运算符逻辑运算符 shell命令行支持在同一行的两条命令中命令行支持在同一行的两条命令中插入插入&(逻辑与)与(逻辑与)与 |(逻辑或)(逻辑或) &:当前一条指令执行成功时再执行:当前一条指令执行成功时再执行后一条指令后一条指令 |:当前一条指令执行失败时再执行:当前一条指令执行失败时再执行后一条指令

17、后一条指令登录登录shell 默认情况下,在默认情况下,在shell下改变变量下改变变量、umask、alias,只在此次登录中有效。,只在此次登录中有效。一旦一旦logout后再后再login,则设定恢复初始,则设定恢复初始值。值。 一个通过登录而得到的一个通过登录而得到的shell,一般是用,一般是用户的初始户的初始shell。 在登录在登录shell下激活的下激活的shell采用登录采用登录shell的环境设定的环境设定 登录登录shell从配置文件中读取其环境设定从配置文件中读取其环境设定定制登录定制登录shell bash 在用户登录时从四个文件中读取环在用户登录时从四个文件中读取环

18、境设定:境设定: 全局设置文件:全局设置文件: /etc/profile /etc/bashrc 用户设置文件:用户设置文件: /.bashrc /.bash_profile其他其他shell设定文件设定文件 /.bash_logout:在用户:在用户logout的时候自的时候自动执行。动执行。 /.bash_history:用户:用户login时自动读取其时自动读取其内容并加载到内存内容并加载到内存history记录中,记录中,logout时将内存时将内存history记录写入。记录写入。 /etc/profile.d/*.sh:在:在/etc/profile中被执中被执行,其中的环境设定,

19、也会被全局引用行,其中的环境设定,也会被全局引用常用快捷键常用快捷键 Ctrl + d:输入已结束。在:输入已结束。在shell下相当于下相当于一个一个exit Ctrl + c:键盘中断请求。:键盘中断请求。 Ctrl +s & Ctrl + q:暂停:暂停/恢复屏幕输出恢复屏幕输出 Ctrl + l:清屏,相当于:清屏,相当于clear。 Tab:自动补完命令行与文件名:自动补完命令行与文件名 Tab键双击可以列出所有可能匹配的选键双击可以列出所有可能匹配的选择择Shell 脚本脚本 Shell Scripts是一个包含是一个包含shell指令的文本指令的文本文件。文件。 Shel

20、l脚本支持变量与简单的语法来完成脚本支持变量与简单的语法来完成批量工作。批量工作。 Shell脚本支持交互的方式,在执行时从脚本支持交互的方式,在执行时从标准输入读取数据。标准输入读取数据。 有大量的系统工作都是通过有大量的系统工作都是通过Shell脚本的脚本的方式来完成,例如系统开机,服务控制。方式来完成,例如系统开机,服务控制。编辑编辑shell脚本脚本 我们可以使用各种编辑工具来编辑我们可以使用各种编辑工具来编辑shell script。 在脚本中,在脚本中,#开头表示该行被注释。开头表示该行被注释。 脚本中可以采用脚本中可以采用shell下能使用的所用命下能使用的所用命令、变量、正则表

21、达式令、变量、正则表达式变量赋值与继承变量赋值与继承 在在shell与与shell脚本中,我们允许自己定脚本中,我们允许自己定义变量并为他们赋值。义变量并为他们赋值。 语法:变量名语法:变量名=值值 默认情况下,变量值不会被继承默认情况下,变量值不会被继承入子入子shell 用用export将变量变成环境变量将变量变成环境变量 export 变量名变量名 用用unset取消变量定义。取消变量定义。脚本的数据读取与写出脚本的数据读取与写出 使用使用read将数据读入将数据读入read username 从标准输入读取数据来为从标准输入读取数据来为username这这个变量赋值个变量赋值 使用使用echo完成简单地输出完成简单地输出echo “

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论