shell简介
shell是Linux的一个特殊程序,是内核与用户的接口,它是命令语言、命令解释程序及程序设计语言的统称。Shell是一个命令语言解释器,它拥有自己内建的Shell命令集,Shell也能被系统中其他应用程序所调用。
当用户成功登录Linux系统后,即开始了与Shell的对话交互过程,此时,不论何时键入一个命令,都被Shell解释执行。有一些命令,比如改变工作目录命令cd,是包含在Shell内部的,只要处在Shell命令行下就可以执行。还有一些命令,例如复制命令cp和移动命令mv,是独立的应用程序,必须存在于文件系统中某个目录下才能执行。对用户而言,不必关心一个命令是建立在Sheli内部还是一个单独的程序。
Linux命令的通用命令格式
- 命令字 [选项] [参数]
- 选项:用于调节命令的具体功能
以“-”引导短格式选项(单个字符),例如“-l"
以“–”引导长格式选项(多个字符),例如“–color"
多个短格式选项可以写在一起,只用一个“-”引导,例如“-al" - 参数:命令操作的对象,如文件、目录名等
命令行编辑的几个辅助操作
- Tab键:自动补齐
- 反斜杠 “\”:强制换行
- 快捷键 Ctrl+U:清空至行首
- 快捷键 Ctrl+K:清空至行尾
- 快捷键 Ctrl+L:清屏
- 快捷键 Ctrl+C:取消本次命令编辑
- Home:跳到行首
- End:跳到行尾
内部命令help
- 查看Bash内部命令的帮助信息
命令的“-help”选项
- 适用于大多数外部命令
使用man命令阅读手册页
- man -k [关键字]
- 使用上、下方向键滚动文本
- 使用Page Up和Page Down键翻页
- 按Q或q键退出阅读环境、按"/”键后查找内容
pwd命令
- 用途:查看工作目录
cd命令
- 用途:切换工作目录
- 格式:cd [目录位置] 例如:cd khg
mkdir命令
- 用途:创建新的目录
- 格式:mkdir [-p] [/路径/]目录名
ls命令
- 用途:列表(List)显示目录内容
- 格式:ls[选项].…[目录或文件名]
- 常用命令选项
-1:以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-d:显示目录本身的属性
-h:大小以以k为单位显示
–color:以颜**分不同类型文件
touch命令
- 用途:新建空文件,或更新文件时间标记
- 格式:touch 文件名
cp命令
- 用途:复制(Copy)文件或目录
- 格式:cp [选项]… 源文件或目录… 目标文件或目录
- 常用命令选项
-r:递归复制整个目录树
rm命令
- 用途:删除(Remove)文件或目录
- 格式:rm [选项]… 文件或目录
- 常用命令选项
-r:递归删除整个目录树
-f:强制删除,不进行提示
rmdir命令
- 用途:删除(directory)目录
mv命令
- 用途:移动(Move)文件或目录,若如果目标位置与源位置相同,则相当于改名
- 格式:mv [选项]… 源文件或目录… 目标文件或目录
find命令
- 用途:用于查找文件或目录
- 格式:find [查找范围] [查找条件]
- 常用查找条件
-name:按文件名称查找
-user:按文件属主查找
-type:按文件类型查找
f查找文件
d查找目录
l链接
p管道
-size:按大小查找
cat命令
- 用途:显示出文件的全部内容
- 格式:cat目标文件
less命令
- 用途:全屏方式分页显示文件内容
- 交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
grep命令
- 用途:在文件中查找并显示包含指定字符串的行
- 格式:grep [选项] 查找条件 目标文件
- 常用命令选项
-i:查找时忽略大小写
-V:反转查找,输出与查找条件不相符的行 - 查找条件设置
要查找的字符串以双引号括起来
“^……”表示……开头,“……KaTeX parse error: Expected group after '^' at position 13: ”表示以……结尾 “^̲”表示空行
tar命令
- 用途:制作归档文件、释放归档文件
- 格式:tar [选项] 归档文件名 源文件或目录
tar [选项] 归档文件名 [-C 目标目录]
程序编辑器vim
个人理解文本编辑器的作用主要是编写文件内容
如下举例编辑文件khgtest操作:
- vim khgtest 说明编辑文件
- :set nu 说明显示行号
- i 进入插入模式,可以按上下左右调整光标位置,用键盘输入内容
- 按Esc键推退出插入模式
- :wq 保存文件退出vi
Shell脚本
- 用途:完成特定的、较复杂的系统管理任务
- 格式:集中保存多条Linux命令,普通文本文件
- 执行方式:按照预设的顺序依次解释执行