本文目录用户登录终端Shell介绍执行命令简单命令Tab键补全命令行历史bash快捷键使用gnometerminalwhatiscommandhelpmanandinfo本地帮助文档usrsharedoc官网在线文档其它网站和搜索 用户登录 root用户一个特殊的管理帐户也被称为超级用户root已接近完整的系统控制对系统损害几乎有无限的能力除非必要,不要登录为root 普通(非特权)用户权限有限造成损害的能力比较有限 终端terminal 设备终端 键盘鼠标显示器 物理终端(devconsole) 控制台console 虚拟终端(tty:teletypewriters,devtty为〔16〕) tty可有n个,CtrlAltF〔16〕 图形终端(devtty7)startx,xwindows CentOS6:CtrlAltF7 CentOS7:在哪个终端启动,即位于哪个虚拟终端 串行终端(devttyS) ttyS 伪终端(pty:pseudotty,devpts) pty,SSH远程连接 查看当前的终端设备: tty 交互式接口 交互式接口:启动终端后,在终端设备附加一个交互式应用程序 GUI:GraphicUserInterface Xprotocol,windowmanager,desktop Desktop: GNOME(C,图形库gtk), KDE(C,图形库qt) XFCE(轻量级桌面) CLI:CommandLineInterface shell程序:sh(bourn史蒂夫伯恩)cshtcshksh(korn)bash(bournagainshell)GPLzsh Shell介绍 什么是shellShell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行shell也被称为LINUX的命令解释器(commandinterpreter)shell是一种高级程序设计语言 bashshellGNUBourneAgainShell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容CentOS默认使用显示当前使用的shell echo{SHELL}显示当前系统使用的所有shell catetcshells 命令提示符 命令提示符:prompt〔rootlocalhost〕管理员普通用户 显示提示符格式 〔rootlocalhost〕echoPS1 修改提示符格式PS1〔e〔1;5;41;33m〕〔uhW〕〔e〔0m〕e33u当前用户h主机名简称H主机名w当前工作目录W当前工作目录基名24小时时间格式T12小时时间格式!命令历史数开机后命令历史数 执行命令 输入命令后回车 提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来 在shell中可执行的命令有两类 内部命令:由shell自带的,而且通过某命令形式提供help内部命令列表enablecmd启用内部命令enablencmd禁用内部命令enablen查看所有禁用的内部命令 外部命令:在文件系统路径下有对应的可执行程序文件 查看路径:whichaskipalias;whereis 区别指定的命令是内部或外部命令 typeCOMMAND 执行外部命令 Hash缓存表 系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率 hash常见用法hash显示hash缓存hashl显示hash缓存,可作为输入使用hashppathname将命令全路径path起别名为namehashtname打印缓存中name的路径hashdname清除name缓存hashr清除缓存 命令别名 显示当前shell进程所有可用的命令别名 alias 定义别名NAME,其相当于执行命令VALUE aliasNAMEVALUE 在命令行中定义的别名,仅对当前shell进程有效 如果想永久有效,要定义在配置文件中仅对当前用户:。bashrc对所有用户有效:etcbashrc 编辑配置给出的新配置不会立即生效 bash进程重新读取配置文件sourcepathtoconfigfile。pathtoconfigfile 撤消别名:unaliasunalias〔a〕name〔name。。。〕a取消所有别名 如果别名同原命令同名,如果要执行原命令,可使用ALIASNAMEALIASNAME‘ALIASNAME’commandALIASNAMEpathcommmand 命令格式 COMMAND〔OPTIONS。。。〕〔ARGUMENTS。。。〕 选项:用于启用或关闭命令的某个或某些功能短选项:c例如:l,h长选项:word例如:all,humanreadable 参数:命令的作用对象,比如文件名,用户名等 注意:多个选项以及多参数和命令之间使用空白字符分隔取消和结束命令执行:Ctrlc,Ctrld多个命令可以用;符号分开一个命令可以用分成多行 日期和时间Linux的两种时钟 系统时钟:由Linux内核通过CPU的工作频率进行的 硬件时钟:主板相关命令 date显示和设置系统时间 dates dated1509536033 hwclock,clock:显示硬件时钟 s,hctosys以硬件时钟为准,校正系统时钟 w,systohc以系统时钟为准,校正硬件时钟时区:etclocaltime显示日历:caly 简单命令 关机:halt,poweroff 重启:rebootf:强制,不调用shutdownp:切断电源 关机或重启:shutdownshutdown〔OPTION〕。。。〔TIME〕〔MESSAGE〕r:rebooth:haltc:cancelTIME:无指定,默认相当于1(CentOS7)now:立刻,相当于0m:相对时间表示法,几分钟之后;例如3hh:mm:绝对时间表示,指明具体时间 用户登录信息查看命令:whoami:显示当前登录有效用户who:系统当前所有的登录会话w:系统当前所有的登录会话及所做的操作 nano文本编辑 screen命令:创建新screen会话 screenS〔SESSION〕加入screen会话 screenx〔SESSION〕退出并关闭screen会话 exit剥离当前screen会话 Ctrla,d显示所有已经打开的screen会话 screenls恢复某screen会话 screenr〔SESSION〕 echo命令 功能:显示字符 语法:echo〔neE〕〔字符串〕 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号 选项:E(默认)不支持解释功能n不自动换行e启用字符的解释功能 显示变量echoVARNAME变量会替换,弱引用echoVARNAME‘变量不会替换,强引用 启用命令选项e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出a发出警告声b退格键c最后不加上换行符号换行且光标移至行首r回车,即光标移至行首,但不换行插入tab插入字符nnn插入nnn(八进制)所代表的ASCII字符echoe33〔43;31;5mmagedu33〔0mxHH插入HH(十六进制)所代表的ASCII数字(man7ascii) ASCII:AmericanStandardCodeforInformationInterchange 命令行扩展、被括起来的集合 命令行扩展:()或把一个命令的输出打印给另一个命令的参数echoThissystemsnameis(hostname)Thissystemsnameisserver1。example。comechoiamwhoamiiamroot 括号扩展:{}打印重复字符串的简化形式echofile{1,3,5}结果为:file1file3file5rmffile{1,3,5}echo{1。。10}echo{a。。z}echo{000。。20。。2}Tab键补全命令补全 内部命令: 外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令 用户给定的字符串只有一条惟一对应的命令,直接补全 否则,再次Tab会给出列表路径补全 把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名 如果惟一:则直接补全 否则:再次Tab给出列表 双击Tab键command2Tab所有子命令或文件补全string2Tab以string开头命令2Tab显示所有根目录下一级目录,包括隐藏目录。2Tab当前目录下子目录,包括隐藏目录2Tab当前目录下子目录,不包括隐藏目录2Tab所有用户列表2Tab所有变量2Tabetchosts记录(centos7不支持)2Tab相当于lsA(centos7不支持)命令行历史保存你输入的命令历史。可以用它来重复执行命令登录shell时,会读取命令历史文件中记录下的命令。bashhistory登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时追加至命令历史文件中重复前一个命令,有4种方法 重复前一个命令使用上方向键,并回车执行 按!!并回车执行 输入!1并回车执行 按Ctrlp并回车执行!:0执行前一条命令(去除参数)Ctrln显示当前历史中的下一条命令,但不执行Ctrlj执行当前命令!n执行history命令输出对应序号n的命令!n执行history历史中倒数第n个命令!string重复前一个以string开头的命令!?string重复前一个包含string的命令!string:p仅打印命令历史,而不执行!:p打印输出!(上一条命令的最后一个参数)的内容!:p打印输出!(上一条命令的所有参数)的内容string删除上一条命令中的第一个stringstring1string2将上一条命令中的第一个string1替换为string2!:gsstring1string2将上一条命令中所有的string1都替换为string2使用up(向上)和down(向下)键来上下浏览从前输入的命令ctrlr来在命令历史中搜索命令 (reverseisearch)’:Ctrlg:从历史搜索模式退出要重新调用前一个命令中最后一个参数 !表示 Esc,。(点击Esc键后松开,然后点击。键) Alt。(按住Alt键的同时点击。键) 调用历史参数command!利用上一个命令的第一个参数做cmd的参数command!利用上一个命令的最后一个参数做cmd的参数command!利用上一个命令的全部参数做cmd的参数command!:n利用上一个命令的第n个参数做cmd的参数command!n:调用第n条命令的第一个参数command!n:调用第n条命令的最后一个参数command!n:m调用第n条命令的第m个参数command!n:调用第n条命令的所有参数command!string:从命令历史中搜索以string开头的命令,并获取它的第一个参数command!string:从命令历史中搜索以string开头的命令,并获取它的最后一个参数command!string:n从命令历史中搜索以string开头的命令,并获取它的第n个参数command!string:从命令历史中搜索以string开头的命令,并获取它的所有参数 命令historyhistory〔c〕〔doffset〕〔n〕historyanrw〔filename〕historypsarg〔arg。。。〕 c:清空命令历史 doffset:删除历史中指定的第offset个命令 n:显示最近的n条历史 a:追加本次会话新执行的命令历史列表至历史文件 r:读历史文件附加到历史列表 w:保存历史列表到指定的历史文件 n:读历史文件中未读过的行到历史列表 p:展开历史参数成多行,但不存在历史列表中 s:展开历史参数成一行,附加在历史列表后 命令历史相关环境变量HISTSIZE:命令历史记录的条数HISTFILE:指定历史文件,默认为。bashhistoryHISTFILESIZE:命令历史文件记录历史的条数HISTTIMEFORMATFT显示时间HISTIGNOREstr1:str2:忽略str1命令,str2开头的历史控制命令历史的记录方式: 环境变量:HISTCONTROL ignoredups默认,忽略重复的命令,连续且相同为重复 ignorespace忽略所有以空白开头的命令 ignoreboth相当于ignoredups,ignorespace的组合 erasedups删除重复命令export变量名值存放在etcprofile或。bashprofilebash快捷键Ctrll清屏,相当于clear命令Ctrlo执行当前命令,并重新显示本命令Ctrls阻止屏幕输出,锁定Ctrlq允许屏幕输出Ctrlc终止命令Ctrlz挂起命令Ctrla光标移到命令行首,相当于HomeCtrle光标移到命令行尾,相当于EndCtrlf光标向右移动一个字符Ctrlb光标向左移动一个字符Altf光标向右移动一个单词尾Altb光标向左移动一个单词首Ctrlxx光标在命令行首和光标之间移动Ctrlu从光标处删除至命令行首Ctrlk从光标处删除至命令行尾Altr删除当前整行Ctrlw从光标处向左删除至单词首Altd从光标处向右删除至单词尾Ctrld删除光标处的一个字符Ctrlh删除光标前的一个字符Ctrly将删除的字符粘贴至光标后Altc从光标处开始向右更改为首字母大写的单词Altu从光标处开始,将右边一个单词更改为大写Altl从光标处开始,将右边一个单词更改为小写Ctrlt交换光标处和之前的字符位置Altt交换光标处和之前的单词位置AltN提示输入指定字符后,重复显示该字符N次注意:Alt组合快捷键经常和其它软件冲突使用gnometerminal 应用程序附件终端 支持多个标签shell的图形化终端模拟器CtrlShiftn创建新窗口CtrlShiftq关闭当前窗口CtrlShiftt创建一个标签页CtrlShiftw关闭一个标签页CtrlPaUpPgUn切换到下一个前一个标签页CtrlShiftc复制选中的文本CtrlShiftv把文本粘帖到当前光标处 获得帮助获取帮助的能力决定了技术的能力!多层次的帮助 whatis commandhelp manandinfo usrsharedoc RedHatdocumentation 其它网站和搜索whatis显示命令的简短描述使用数据库刚安装后不可立即使用makewhatismandb制作数据库使用示例: whatiscal或manfcalcommandhelp内部命令:helpCOMMAND或manbash外部命令: (1)COMMANDhelpCOMMANDh (2)使用手册(manual)manCOMMAND (3)信息页infoCOMMAND (4)程序自身的帮助文档READMEINSTALLChangeLog (5)程序官方文档官方站点:Documentation (6)发行版的官方文档 (7)Google help和h选项显示用法总结和参数列表使用的大多数,但并非所有的示例: datehelp Usage:date〔OPTION〕。。。〔FORMAT〕or:date〔uutcuniversal〕〔MMDDhhmm〔〔CC〕YY〕〔。ss〕〕 〔〕表示可选项 CAPS或表示变化的数据 。。。表示一个列表 xyz的意思是x或y或z abc的意思是abc {}表示分组manandinfo man命令提供命令帮助的文件手册页存放在usrshareman几乎每个命令都有man的页面man页面分组为不同的章节统称为Linux手册man命令的配置文件:etcman。configmandb。conf MANPATHPATHTOSOMEWHERE:指明man文件搜索位置manMPATHTOSOMEWHERECOMMAND:到指定位置下搜索COMMAND命令的手册页并显示中文man需安装包manpageszhCN man章节1:用户命令2:系统调用3:C库调用4:设备文件及特殊文件5:配置文件格式6:游戏7:杂项8:管理类的命令9:Linux内核API man帮助段落说明 帮助手册中的段落说明:NAME名称及简要说明SYNOPSIS用法格式说明 〔〕可选内容 必选内容 ab二选一 {}分组 。。。同一内容可出现多次DESCRIPTION详细说明OPTIONS选项说明EXAMPLES示例FILES相关文件AUTHOR作者COPYRIGHT版本信息REPORTINGBUGSbug信息SEEALSO其它帮助参考 man帮助查看man手册页 man〔章节〕keyword列出所有帮助 manakeyword搜索man手册 mankkeyword列出所有匹配的页面 使用whatis数据库相当于whatis manfkeyword打印man帮助文件的路径 manw〔章节〕keyword man命令 man命令的操作方法:使用less命令实现space,v,f,F:向文件尾翻屏b,b:向文件首部翻屏d,d:向文件尾部翻半屏u,u:向文件首部翻半屏RETURN,N,e,EorjorJ:向文件尾部翻一行yorYorPorkorK:向文件首部翻一行q:退出:跳转至第行1G:回到文件首部G:翻至文件尾部 man搜索 KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;n:下一个N:上一个 ?KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;n:跟搜索命令同方向,下一个N:跟搜索命令反方向,上一个 infoman常用于命令参考,GNU工具info适合通用文档参考没有参数,列出所有的页面info页面的结构就像一个网站每一页分为节点链接节点之前info〔命令〕 导航info页方向键,PgUp,PgDn导航Tab键移动到下一个链接d显示主题目录Home显示主题首部Enter进入选定链接npul进入下前上一层最后一个链接s文字文本搜索q退出info本地帮助文档usrsharedocSystemhelp(centos6)Applicationsdocumentationhelp(centos7) 提供的官方使用指南和发行注记usrsharedoc目录 多数安装了的软件包的子目录,包括了这些软件的相关原理说明 常见文档:READMEINSTALLCHANGES 不适合其它地方的文档的位置 配置文件范例 HTMLPDFPS格式的文档 授权书详情 第三方应用官方文档http:www。nginx。orghttp:tomcat。apache。orghttp:httpd。apache。orghttp:www。python。org 通过发行版官方的文档光盘或网站可以获得安装指南、部署指南、虚拟化指南等红帽知识库和官方在线文档http:kbase。redhat。comhttp:www。redhat。comdocshttp:access。redhat。com 红帽全球技术支持服务 rhn。redhat。com或者本地卫星服务器代理服务器基于网络管理的服务器RHN代理服务器为RHN流量提供缓存RHN卫星服务器提供自主的RHN RHN账户为及其注册和基于网络管理的RHN用户用于系统自动验证的系统ID sosreport收集所有系统上的日志信息的工具,并自动打成压缩包,方便技术支持人员和红帽全球支持提供分析问题依据 更多Linux基础和进阶学习资料领取见下图