《命令行基础知识》PPT课件.ppt_第1页
《命令行基础知识》PPT课件.ppt_第2页
《命令行基础知识》PPT课件.ppt_第3页
《命令行基础知识》PPT课件.ppt_第4页
《命令行基础知识》PPT课件.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

命令行基础知识,与Linux系统本身相比,其桌面环境提供的功能还是相当有限的,只能略尽部分辅助之力 桌面环境提供的任何工具实际上都是基于最基本的系统命令实现的,不管桌面环境怎样丰富和发展,都离不开命令行的支持 Linux系统的强大功能完全表现在命令行中,Shell是用户和linux 内核之间的接口程序,用户在命令提示符下输入的每个命令都由shell先解释然后传给linux内核执行 Shell是一个命令语言解释器,拥有自己内建的shell命令集(pwd) 其它命令是存在于文件系统中某个目录下的单独程序(cp,rm) “内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,主要内容,介绍Shell的命令行结构 标准输入与输出 输入输出重定向 管道 命令历史与命令别名,命令行结构, 以空格或制表符隔开 命令选项通常以减号“-”开始 linux还提供“-”为起始标志的命令选项(GNU选项) 以“-”为起始标志的命令选项大多是单字符命令选项的同义词,具有相同的意义 命令选项和参数可以省略,采用默认值 man ,显示系统当前日期和时间,列出系统的名字,以简单的输出形式列出指定目录下的文件,以长列表的输出形式列出指定目录下的文件,man uname,命令选项,命令选项主要用于限定命令的具体功能,同时也决定了命令的最终运行结果 每个命令通常提供大量的选项,因而具有丰富的功能,man ls,选项可以单独给出,也可以组合使用,选项本身也可带有参数,这样的选项及其参数必须单独列出,sort -k 5 -n -o sorted tobesorted “-k 5”:5是-k的参数,表示以第5个字段为关键字进行排序 “-n”选项表示按数字的大小排序 “-o sorted”:sorted是-o的参数,表示存储最终排序结果的输出文件 “tobesorted”是命令参数 GNU命令形式 sort -key=5 -n -o sorted tobesorted,组合命令,一次输入多个命令,命令之间用分号隔开 使用圆括号把若干命令合并在一起,使之构成一个组合命令,cd /etc/network ; ls l,(cd /etc/network ; ls l),组合命令,第一种形式:只是在一个逻辑行上并列输入多个命令,其效果同一次输入一个命令没有区别 第二种形式:把多个命令看做一个组合命令,所有命令的输出数据将会合并为一个输出流,两个并列命令的输出结果,使用管道把两个并列的命令与计算输入数据行数的wc命令连接起来,wc命令仅仅计数了who命令的输出结果1行,两个命令各自的输出数据已合并到一起,wc命令计数的最终结果是2行,命令换行,如果命令较长,超出一个物理行的宽度 可以使用反斜线“”把命令写到多个物理行上 继续输入,由系统自动延伸到后续行上,后台进程,在linux系统中,Shell通常以前台形式解释执行用户输入的命令。 在Shell的命令提示符#或$下,系统将会等待用户输入命令,直至用户按下Enter键,然后由Shell解释命令行,创建一个新的进程,执行用户提交的命令,最后给出命令的执行结果。#:超级用户,$:普通用户 在Shell解释执行命令期间,用户需要等待命令执行完成,中间不能做任何事情。,后台进程,Shell提供后台进程机制,以后台进程方式执行命令的同时,Shell将会立即输出命令提示符,等待用户输入新命令,从而并发地运行多个命令 命令后面增加一个“&”符号即为以后台方式运行命令,find /home -name core print &,在/home这个目录下查找名字为core的文件,并打印文件路径,给出作业号和进程ID 1:1是以后台作业方式运行的find进程的作业号 2771:是find进程的PID 为了跟踪和控制后台作业 使用作业控制命令fg把后台作业转为前台作业 使用进程控制命令kill利用进程ID杀死进程 如果后台进程有输出数据,其输出信息将会随时出现在用户的终端屏幕上,可能会造成屏幕输出的混乱,标准输入、输出与错误输出,任何命令,包括Shell本身,通常总是读取来自终端键盘输入的数据,这个数据输入源称为标准输入(stdin) 命令的运行结果通常总是输出到用户终端的屏幕上,这个输出目的地称作标准输出(stdout) 在命令执行期间,如果出现问题,相应的错误信息也将输出到用户终端的屏幕上,这个输出目的通常称作标准错误输出(stderr),标准输入、输出与错误输出,程序加工处理,Shell,Linux系统,标准输出,标准错误输出,标准输入,一旦注册到系统中,系统总是为用户打开三个默认的文件:标准输入(键盘)、标准输出(终端屏幕)和标准错误输出(终端屏幕),终端屏幕,终端键盘,I/O重定向,为了仔细分析命令的处理结果,有时需要把命令的标准输出保存到某个文件中,这就需要用到Shell的输出重定向机制 输出重定向符号 “” “”,I/O重定向,将ls -l 命令的输出数据重定向并写到指定的文件fname中 若文件fname不存在,Shell会创建一个新文件,然后写入数据 若文件已存在,文件中原有内容将会被清除,代之以ls -l 命令的输出数据 为了保留文件中原有数据,而把命令的输出数据追加到文件的后面,可以使用”,ls -l fname,ls -l fname,I/O重定向,任何命令(包括Shell本身)的标准输入也可以重定向,使命令直接读取某个文件而不是键盘输入 输入重定向符号 “”,wc -l fname,wc命令的功能是读取标准输入中的输入数据,分别计数输入数据中的字符数,字数和行数,使用重定向符号“”,使之直接计数指定文件中的内容,管道,在linux系统中,管道是一种先进先出的单向数据通路 利用管道符号“|”,可以把一个命令的标准输出连接到另一个命令的标准输入,ls /usr | wc -w,利用管道把ls和wc两个命令连接到一起, 用于获知指定目录(usr)下的文件数量。 -w选项表示以字为单位进行计数,ls /usr fname; wc -w fname,等价,管道优点,当使用管道方式连接两个命令时,Shell将会把两个进程连接起来,利用管道的单向通信特征,把一个进程的标准输出传递到另一个进程的标准输入 Shell将会协调两个进程的同步,使两个进程能够并发地运行 可以省略存储中间处理结果的临时文件 是一种特殊的I/O重定向,管道常见用法,为滤通程序提供原始数据,ps -ef | grep cron,从ps命令输出的众多进程中找到某个特定的进程(cron) ps命令 查看在计算机系统中,有哪些程序正在执行及其执行情况 可以找出所有的PID和名称 可以列出所有程序占用内存的情况 grep命令 最大的功能在于在一堆文件中查找一个特定的字串,管道常见用法,利用管道把进程的输出数据传递给sort命令,使之按照一定的排序原则进行排序,最终输出排序后的结果,who | sort,who命令 主要用于查看当前在线上的用户情况:登录用户名;使用终端设备;登录到系统的时间。 sort命令 对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。,管道常见用法,把多个命令组合到一起,把命令的标准输出依次传递到下一个命令的标准输入,最终得到经过多个命令依次处理的结果,ps -ef | grep cron | grep v grep | gawk print $2,获取cron的进程ID ps -ef : 获得进程列表 grep cron : 提取与cron有关的进程信息 grep v grep : 删除可能存在的“grep cron”进程 gawk print $2 : 截取位于第2个字段的进程ID,管道常见用法,复制和备份一个完整的目录,cd sourcedir find . -print | cpio pduv newdir,把当前目录下的所有目录和文件按照原有的目录层次结构复制到一个新的目录位置,管道常见用法,三通道的实用程序tee 主要功能是通过标准输入接收并显示数据,同时把数据存储到指定的文件中,who | tee userlist,显示并保存当前所有注册用户的列表文件,who,tee,标准输出,userlist,管道,管道,元字符与文件名生成,在linux系统中,很多命令均使用文件作为命令参数 Shell提供一种文件名生成机制,使用户能够利用元字符(或通配符)实行模式匹配,最终生成一个具有同一属性的文件列表,ls -l *.c,列出当前目录中的所有C程序文件,与文件名生成有关的元字符,使用元字符匹配文件名,ls -l a-z*,列出任何以小写字母为起始字符的文件名,ls -l menu?,列出文件名前四个字符为menu,第五个字符为任何字符的所有文件,ls -l au*,列出以s或u为首字符的所有文件,ls -l a* u*,等价,ls -l A-Z* ls -l !a-z* ls -l a-z*,等价,列出以大写字母为首字符(或其他非小写字母)的所有文件,转义与引用,在Shell中,为了处理具有特殊意义的元字符,如”,”*”,”?”,”|”和”&”等,使之作为普通字符显示,可以使用转义符号”、单引号或双引号引用元字符,而被引用的元字符失去其特殊意义 对于某些普通字符,如果前面加上转义符号“”,则具有特殊的意义,这些字符称作转义字符,Shell支持的部分转义字符,可用于echo等命令中,以便控制输出数据的显示格式,echo命令用于在显示器上输出字串,通常用来输出一些提示信息,转义与引用,$ echo “Hello” Hello $ echo “”Hello”, he said.” “Hello”, he said. $ echo “$var” $var $ echo “” ,转义与引用,“”可以转义单个字符 单、双引号之间的所有字符(包括元字符-非全部)均按普通文字本身解释,$ rm test file 删除名为test file的文件 $ echo *.c $var “testing” *.c $var “testing” $ ls -l Cc* $ ls -l Cc*,转义与引用,$ echo “The current working directory of *$LOGNAME*” The current working directory of *$LOGNAME* $ echo The current working directory of *$LOGNAME* The current working directory of *ubuntu*,命令历史,Shell的命令历史机制和编辑功能使用户能够重复利用先前输入的命令 命令历史机制主要由Shell提供的一些内部命令和环境变量来实现 fc命令:列出(-l选项),编辑(-e选项)或重新执行命令历史文件中记录的命令 history命令:列出命令历史缓冲区或文件中记录的命令 HISTFILE变量:指定命令历史文件,默认为$HOME/.bash_history HISTSIZE变量:指定命令历史文件的大小,默认值500,命令历史,fc命令 允许用户显示、不加编辑或稍加编辑地重新执行命令历史缓冲区或文件中保存的命令,$ fc -l 5 10 列出命令历史缓冲区或文件中序号为510的命令,命令历史,$ fc -l -3 列出最近输入的3条命令,$ fc -l fc 列出最近输入的以fc为起始字符串的命令,$ fc -l echo 列出最近输入的以echo为起始字符串的命令,命令历史,$ fc -e vim 10 20 利用vim编辑并执行序号为1020之间的命令,$ fc -s 重复执行最近一次的命令 $ fc -s 115 重复执行先前的第115号命令 $ ls -l /home/inc1 列出/home/inc1 目录中的文件 $ fc -s inc1=src 使用“inc1=src”修正先前的ls命令,然后再执行替换后的ls命令,命令历史,history命令 是fc的一个特例,只是利用fc命令定义的一个命令别名 Alias history=fc -l,$ history 列出命令缓冲区或文件记录的命令 $ history 10 列出最近执行的10条命令 $ history -c 清除命令历史缓冲区中的命令,命令历史,重复执行先前的命令 感叹号“!”表示引用命令历史缓冲区或文件中的命令 “!”表示不加修改地重复执行最近刚执行的命令 “!string”命令表示重复执行最近运行的,以给定的string为起始字符串的命令 “!?string?”命令表示重复执行最近运行的,其中包含给定字符串string的命令 “!n”表示重复执行命令历史缓冲区或文件中的第n号命令 “!-n”表示重复执行最近执行的倒数第n条命令,命令历史,命令行补充 当输入的命令名、文件名或变量名不完整时,可以使用制表符键“Tab”实现命令的补充,由Bash提供名字的剩余部分 节省用户的输入时间 可以利用这个机制查询和检索记不清的命令,命令历史,命令名补充 如果找不到以给定文字为起始字符串的命令,发出鸣叫声 如果恰好发现一个匹配,自动补齐剩下部分 如发现多个匹配,再按下Tab键,会显示一系列其前缀与用户输入部分匹配的命令,命令历史,文件名补充 当用户输入一个文件名的起始部分,按下Tab键,Bash会提供文件名的剩余部

温馨提示

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

评论

0/150

提交评论