1。Linux基本原则2。bash特性2。1shell2。2bash特性2。2。1bash支持的引号2。2。2bash常用操作3。命令3。1命令格式3。2命令类型3。3基础命令3。4如何获取命令帮助1。Linux基本原则由目的单一的小程序组成,组合小程序完成复杂任务;一切皆文件;配置文件保存为纯文本格式。2。bash特性2。1shell shell(外壳),广义的shell可以理解为是用户的工作环境,在windows看来桌面就是一个shell,在linux看来终端就是shell 常见的shell有两种,一种是图形界面,即GUI,一种是命令行终端,即CLI。 常用的GUI:GraphicUserInterfaceWindowsXWindowGnomeKDEXface 常用的CLI:CommandLineInterfacebashshcshzshkshtcsh2。2bash特性 bash支持以下特性:支持命令历史、命令补全支持管道、重定向支持命令别名支持命令行编辑支持命令行展开支持文件名通配支持变量支持编程2。2。1bash支持的引号 反引号,键盘左上角Esc下面的键,用于命令替换双引号,弱引用,可以实现变量替换单引号,强引用,不完成变量替换2。2。2bash常用操作 光标跳转 Ctrla跳到命令行首 Ctrle跳到命令行尾 Ctrlu删除光标至命令行首的内容 Ctrlk删除光标至命令行尾的内容 Ctrl光标定位到离自己最近的一个单词前面 Ctrll清屏 命令历史 history查看命令历史 c清空命令历史 dOFFSET〔n〕删除指定位置的命令历史 w保存命令历史至历史文件。bashhistory中 命令历史的使用技巧 !n执行命令历史中的第n条命令 !n执行命令历史中倒数第n条命令 !!执行上一条命令 !string执行命令历史中最近一个以指定字符串开头的命令 !引用前一个命令的最后一个参数 esc,。按下esc松开后按。,引用前一个命令的最后一个参数 命令补全 搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件, 如果多于一个,两次tab,可以给出列表,否则将直接补全 路径补全 搜索我们给出的起始路径下的每个文件名,并试图补全 命令别名: aliasCMDALIASCOMMAND〔options〕〔arguments〕 在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围为当前的shell进程。 命令替换(把命令中某个子命令替换为其执行结果的过程) (COMMAND)推荐方式 或 COMMAND 命令行展开 展开为用户的家目录 USERNAME展开为指定用户的家目录 {}可承载一个以逗号分隔的列表,并将其展开为多个路径 tmp{a,b}tmpa,tmpb tmp{tom,jerry}hitmptomhi,tmpjerryhi 文件名通配globbing 匹配任意长度的任意字符 ?匹配任意单个字符 〔〕匹配指定范围内的任意单个字符 〔abc〕,〔am〕,〔09〕 〔〔:space:〕〕表示空白字符 〔〔:punct:〕〕表示标点符号 〔〔:lower:〕〕表示小写字母 〔〔:upper:〕〕表示大写字母 〔〔:alpha:〕〕表示大小写字母 〔〔:digit:〕〕表示数字 〔〔:alnum:〕〕表示数字和大小写字母 使用man7glob命令可以获得以上字符集合的帮助信息!!! 〔〕匹配指定范围之外的任意单个字符 环境变量 PATH命令搜索路径 HISTSIZE命令历史缓冲区大小 SHELL当前shellbash内置变量 RANDOM保存着032768之间的随机数3。命令3。1命令格式 命令〔选项〕〔参数〕 选项:(可以有0个或多个) 短选项: 多个选项可以组合:abab 长选项: 长选项通常不能组合 参数:命令的作用对象(可以有0个或多个)3。2命令类型 Linux命令分为两种类型:内部命令(shell内置)外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件 type显示指定命令属于哪种类型3。3基础命令 目录管理 ls列出目录内容 l长格式 文件类型 普通文件(f) d目录文件 b块设备文件(block) c字符设备文件(character) l符号链接文件(symboliclinkfile) p命令管道(pipe) s套接字文件(socket) 文件权限9位,每3位一组,每一组:rwx(读,写,执行) 文件硬链接的次数 文件的属主(owner) 文件的属组(group) 文件大小(size),单位是字节 时间戳(timestamp),最近一次被修改的时间 访问access 修改modify,文件内容发生改变 改变change,metadata(元数据) h做单位转换 a显示以。开头的隐藏文件 。表示当前目录 。。表示父目录 d显示目录自身属性 i显示文件的inode(indexnode) r逆序显示 R递归(recursive)显示 cd改变当前工作目录 pwd打印当前工作目录路径 mkdir创建目录 p创建目录时若父目录不存在则自动创建 v显示目录创建过程 rmdir删除目录,只能删除空目录 tree查看目录树 文件管理 touch无中生有、万象更新 stat显示文件或文件系统的状态 rm删除文件,删除命令默认会提示是否需要删除, 如果要使用命令本身可以在命令前加一个,如rm,这样删除就不会有提示了 r递归删除,删除目录时必须使用此选项 f强制删除,不询问 cp复制文件,一个文件到一个文件,多个文件到一个目录 a归档复制,常用于备份 r递归拷贝,拷贝目录时必须使用此选项 p拷贝时保留原权限 mv移动文件 install复制文件并且设置属性 mMODE oOWNER gGROUP 压缩、解压缩命令 压缩格式 gz,bz2,xz,zip,Z gzip压缩后的文件以。gz结尾 gzippathtosomefile压缩完成后会删除原文件 d解压缩,解压完成后会删除原文件 c将结果输出至标准输出 用19代替,指定压缩比,默认为6 gunzip解压 gunzippathtosomecompressfile。gz解压完成后会删除原文件 zcatpathtosomefile。gz不解压的情况下查看文本文件的内容 bzip2压缩后的文件以。bz2结尾 bzip2是一款比gzip有着更大压缩比的压缩工具,使用格式近似 bzip2pathtosomefile压缩完成后会删除原文件 d解压缩,解压完成后会删除原文件 用19代替,指定压缩比,默认为6 kkeep,压缩时保留原文件 bunzip2解压 bunzip2pathtosomecompressfile。bz2解压完成后会删除原文件 bzcatpathtosomefile。bz2不解压的情况下查看文本文件的内容 xz压缩后的文件以。xz结尾 比bzip2有着更大压缩比的压缩工具,使用格式近似 xzpathtosomefile压缩完成后会删除原文件 d解压缩,解压完成后会删除原文件 用19代替,指定压缩比,默认为6 kkeep,压缩时保留原文件 unxz解压 unxzpathtosomecompressfile。xz解压完成后会删除原文件 xzcatpathtosomefile。xz不解压的情况下查看文本文件的内容 zip既归档又压缩的工具。zip可以压缩目录, gz、bz2、xz都只能压缩文件,zip压缩后不会删除原文件 zipfilename。zipfile1file2。。。 zipfilename。zipDIR unzip unzipfilename。zip archive归档,归档本身并不意味着压缩 tar归档工具,只归档不压缩 c创建归档文件 ffile。tar操作的归档文件 x还原归档 v显示归档过程 p归档时保留权限信息。只有管理员才有权限用此选项 C将展开的归档文件保存至指定目录下 delete从归档文件中删除文件 xattrs在归档时保留文件的扩展属性信息 tfpathtofile。tar不展开归档,直接查看归档了哪些文件 zcf归档并调用gzip压缩 zxf调用gzip解压缩并展开归档 jcf归档并调用bzip2压缩 jxf调用bzip2解压缩并展开归档 Jcf归档并调用xz压缩 Jxf调用xz解压缩并展开归档 查看文本 cat拼接文件内容并输出至标准输出(屏幕) n显示行号 使用cat查看文件内容时会将文件的所有内容加载至内存, 所以应避免使用cat打开巨大文件 more全屏查看文本文件内容,只能从前往后,不能从后往前。 文件内容显示完后自动退出 less全屏查看文本文件内容,可从前往后亦可从后往前。推荐使用 head从头部开始打印文件内容,默认打印10行 n指定要打印的行数,可以是n15也可以是15 tail查看文本文件尾部内容 n指定要打印的行数,可以是n15也可以是15 文本处理 cut截取文本内容 d指定字段分隔符,默认是空格 f指定要显示的字段 f1,3显示1和3 f13显示1到3 sed基于行的过滤和转换文本的流编辑器 awk基于列的文本报告工具 文本排序 sort默认升序排序,不是按数值大小排序的 n根据数值大小进行排序 r逆序排序 t字段分隔符 k以哪个字段为关键字进行排序 u去重,排序后相同的行只显示一次 f排序时忽略字符大小写 uniq报告重复的行(连续且完全相同方为重复) c显示文件中行重复的次数 d只显示重复的行 u只显示未重复的行 文本统计 wc(wordcount) c显示字节数 l显示行数 w显示单词数 大小统计 du查看文件或目录占用的磁盘空间大小 h以人类友好的方式显示大小 s显示总的占用空间大小 df报告文件系统磁盘空间使用情况 h以人类友好的方式显示大小 i显示inode信息 主机名管理 hostname查看或临时修改主机名,重开终端有效,重启失效 hostnamectl查看或永久修改主机名,重开终端生效,重启依然有效 其它 time显示命令的执行时间,例如timelsetc clear清屏 whoami显示当前登录用户 w显示当前在线用户并显示其在运行的命令 who查看当前在线用户 which显示指定命令的绝对路径 date显示或设置日期与时间 不带参数的date用于显示当前系统日期与时间 s以字符串方式设置时间 格式化输出时间: Y年 m月 d日 H时 M分 S秒 ldd查看指定程序有哪些依赖库文件 程序组成? 二进制程序 库文件 配置文件 帮助文件3。4如何获取命令帮助 内部命令 helpCOMMAND外部命令 COMMANDhelp在线文档 infoCOMMAND命令手册manual manCOMMAND文档 usrsharedoc whatisCOMMAND用于查看COMMAND出现在man的哪一章节中。 man是分章节的,以下是每一章节的内容介绍: 1用户命令(bin,usrbin,usrlocalbin); 2系统调用; 3库调用; 4特殊文件(设备文件); 5文件格式(配置文件的语法); 6游戏; 7杂项(Miscellaneous); 8管理命令(sbin,usrsbin,usrlocalsbin) man手册注意事项: 〔〕可选 必选 。。。可以出现多次 多选一 {}分组 NAME命令名称及功能简要说明 SYNOPSIS用法说明,包括可用的选项 DESCRIPTION命令功能的详尽说明,可能包括每一个选项的意义 OPTIONS说明每一个选项的意义 FILES此命令相关的配置文件 BUGS报告bug EXAMPLES使用示例 SEEALSO另外参照 man翻屏 向后翻一屏SPACE 向前翻一屏b 向后翻一行enter 向前翻一行k 查找 KEYWORD向后 ?KEYWORD向前 n下一个 N前一个 q退出