shell命令概述
Shell作用:命令解释器
介于操作系统内核与用户之间,负责解释命令行
获得命令帮助
内部命令help
命令的“--help” 选项
使用man命令阅读手册页
代码语言:javascript复制命令行编辑的几个辅助操作
Tab键:自动补齐
反斜杠“”:强制换行
快捷键 Ctrl U:清空至行首
快捷键 Ctrl K:清空至行尾
快捷键 Ctrl L:清屏
Linux命令行的格式
Linux命令的通用命令格式:命令字 [选项] [参数] 选项及参数的含义 选项:用于调节命令的具体功能 以 “-”引导短格式选项(单个字符),例如“-l” 以“--”引导长格式选项(多个字符),例如“--color” 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al” 参数:命令操作的对象,如文件、目录名等
代码语言:javascript复制[root@localhost ~]# ls -l /home
总计 8
drwx------ 2 benet benet 4096 09-08 08:50 benet
文件和目录管理
目录操作命令:pwd、cd、ls、mkdir
代码语言:javascript复制pwd命令
用途:查看工作目录(Print Working Directory)
cd命令
用途:切换工作目录(Change Directory)
格式:cd [目录位置]
ls命令
用途:列表(List)显示目录内容
格式:ls [选项]... [目录或文件名]
常用命令选项
-l :以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-ld:显示目录本身的具体信息
--color:以颜色区分不同类型文件
mkdir命令
用途:创建新的目录(Make Directory)
格式:mkdir [-p] [/路径/]目录名
文件操作命令:touch、cp、rm、mv、find
代码语言:javascript复制touch命令
用途:新建空文件,或更新文件时间标记
格式:touch 文件名…
cp命令
用途:复制(Copy)文件或目录
格式:cp [选项]... 源文件或目录… 目标文件或目录
rm命令
用途:删除(Remove)文件或目录
格式:rm [选项]... 文件或目录
rmdir命令
用途:删除(directory)目录
mv命令
用途:移动(Move)文件或目录
—— 若如果目标位置与源位置相同,则相当于改名
格式:mv [选项]... 源文件或目录… 目标文件或目录
find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件]
常用查找条件
-name:按文件名称查找
-user:按文件属主查找
-type:按文件类型查找
根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)
文件内容操作命令:cat、less、grep
代码语言:javascript复制cat命令
用途:显示出文件的全部内容
格式:cat 目标文件
less命令
用途:全屏方式分页显示文件内容
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
grep命令
用途:在文件中查找并显示包含指定字符串的行
格式:grep [选项]... 查找条件 目标文件
常用命令选项
-i:查找时忽略大小写
-v:反转查找,输出与查找条件不相符的行
查找条件设置
要查找的字符串以双引号括起来
“^……”表示以……开头,“……$”表示以……结尾
“^$”表示空行
归档及压缩命令:tar
代码语言:javascript复制tar命令
用途:制作归档文件、释放归档文件
格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
常用命令
打包:
tar -czvf [存放路径]归档文件名.tar.gz 源文件或目录
或 tar -cjvf [存放路径]归档文件名.tar.bz2 源文件或目录
解包:
tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]
或 tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]
Bash的命令历史
代码语言:javascript复制命令历史
保存用户曾经执行过的命令操作
查看历史命令
使用↑、↓按键逐条翻看,允许编辑并重复执行
执行:history
清除历史命令:执行:history -c
调用历史命令:!n:执行历史记录中的第n条命令
Bash的命令别名
代码语言:javascript复制命令别名
为使用频率较高的复杂命令行设置简短的调用名称
查看命令别名
格式:alias [别名]
设置命令别名
执行:alias 别名='实际执行的命令'
取消已设置的命令别名
格式:unalias 别名
unalias -a
重定向
将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上
代码语言:javascript复制输出重定向实例
将命令输出重定向到文件
将标准输出重定向到文件
$ ls /etc/ > etcdir
将标准输出重定向追加到文件
$ ls /etc/sysconfig/ >> etcdir
将错误输出重定向到文件
$ nocmd 2> errfile
将标准输出和错误输出重定向到文件
$ ls afile bfile &> errfile
vim文本编辑器
文本编辑器的作用: 维护Linux系统中的各种配置文件 编写shell脚本
vim编辑器的工作模式
三种工作模式:命令模式、输入模式、末行模式
代码语言:javascript复制1)命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息
3)末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符
命令模式中的基本操作
光标移动
代码语言:javascript复制光标方向移动
行内快读跳转
ctrl F:向下翻动一页
ctrl B:想上翻动一页
行间快速跳转
1G或gg:跳转到文件的首页
G:跳转到文件的末尾行
行号显示:
set nu:在编辑器中显示行号
:set nonu:取消编辑器中的行号显示
复制粘贴删除
文件内容查找
撤销编辑及保存退出
u | 按一次取消最近的一次操作多次重复,恢复已进行的多步操作 |
---|---|
U | 用于取消对当前行所做的所有编辑 |
ZZ | 保存当前的文件内容并退出vi编辑器 |
末行模式中的基本操作
保存文件及退出vi编辑器
功能 | 命令 |
---|---|
保存文件 | :w |
:w /root/newfile | |
退出vi | :q |
:q! | |
保存文件退出vi | :wq |
打开新文件或读入其他文件内容
命令 | 功能 |
---|---|
:e ~/install.log | 打开新的文件进行编辑 |
:r /etc/filesystems | 在当前文件中读入其他文件内容 |
文件内容替换
命令 | 功能 |
---|---|
:s /old/new | 将当前行中查找到的第一个字符"old"串替换为"new" |
:s /old/new/g | 将当前行中查找到的所有字符串"old"替换为"new" |
:## s/old/new/g | 在行号"##"范围内替换所有的字符串"old"为"new" |
:% s/old/new/g | 在整个文件范围内替换所有的字符串:"old"为"new" |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |