Metacharacters元字符
1,元字符定义:
指对当前shell具有特殊含义的字符
2, 常用元字符
1. : 代表0-n个任意字符 例如:ls j 显示所有以j开头的文件或目录名字
2.?:代表任意一个字符 例如:ls j? 以j开头 后面有一位的文件或目录
3.; : 多个命令的分隔符 例如:cd;ls 先切换再显示列表;
date;cal;pwd 查看当前日期、查看当前日历和显示当前工作路径的绝对路径名
4.[] : 从[]指定的集合或者范围中选择一个字符
例如:[a-c]:aAbBc
[abc]:abc
ls[a-c]*:查找以包含aAbBc字母开头的文件或目录
5.> : 重定向命令的输出到文件而不是屏幕(覆盖源文件)
例如:cal 10 2004 > a.txt 将2004年10月份的日历输出到a.txt文件中
6. >> : 将命令的输出追加到一个已经存在的文件
例如:cal 10 2004 >> a.txt 将2004年10月份的日历追加到a.txt文件中
7.| : 将前一个命令的输出作为下一个命令的输入
例如:ls -l /etc | more 使用more命令查看/etc目录下的内容**
3,Text Viewer文本查看器
**1.cat
语法:cat filename(s)
作用:(1)将文本文件的内容一次性显示在屏幕上
(2)常用来将两个或者更多的文件整合成一个文件
例如cat a.txt: 将a.txt文件中的内容显示到屏幕上
cat a.txt b.txt > large.txt 将a.txt以及b.txt中的内容输出到large.txt
清空文件:
/dev/null 这个文件是linux中的黑洞,无论向这个文件中输入什么文件还是空
比如:cal > /dev/null 依旧是空
2.more
语法:more filenames
作用:一次一屏幕的显示文本文件内容
指令:
space bar : 一次滚动一屏幕
return : 一次向下一行。
b : 一次回退一屏幕
f : 一次向前一屏幕
h/? : 显示帮助信息文档
q : 退出,回到shell终端
/String : 向前查找字符串
n : 查找下一个字符串**
Full-screen Text Editor满屏文本编辑器
vi编辑器的三种模式:
1.底行模式
2.命令行模式
3.输入模式
三者之间的相互转换如图
模式转换:
(1)命令行模式-----》输入模式:
插入:
a: 在光标所在位置之后插入
A: 在光标所在行的行尾插入
i: 在光标所在位置插入
I: 在光标所在行的行首插入
o: 在光标所在行的下一行插入
O: 在光标所在行之上插入
(2)输入模式------》命令行模式
Esc
(3) 命令行模式-----》底行模式
ESC+:or / or ?
使用
打开vi:
vi : 打开一个新的文件,退出或者保存时命名
vi filename : 打开或者创建一个新的文件
- 保存文件:
底行模式下:
:w newFile : 存成新文件
:w : 存盘
2 退出vi:
底行模式下:
:wq : 保存退出
:q! : 强行退出不存盘
3 删除文本:
x: 删除一个字符
s: 删除当前字符,并进入输入模式
dw: 删除当前词
ndw: 删除n个词
dd: 删除当前行
ndd: 删除之后的n行
:5,10d: 删除5-10行之间的内容
4 修改文本:
r : 替换一个字符,
cw :替换一个单词, 进入输入模式
cc :替换一行, 进入输入模式
C :替换从光标至行尾。 进入输入模式
5 复制和粘贴文本:
yw : 拷贝词
yy : 拷贝行
p : 当前行下粘贴
:1,2co3: 拷贝行1,行2在行3之后
:4,5m6: 移动行4,行5在行6之后。
-
6 高级功能:
-
: 改变大小写
J : 把当前行和下一行连起来
u : 废除刚才的编辑操作
:set nu : 显示行标
:21 光标停在指定行
21G 光标停在指定行
/str 从当前行往下查找
?str 从当前行往上查找
n 继续查找
:r file 在光标所在位置插入另一个文件
:1,$s/old/new/g 替换文本(%s/old/new/g)
Setup Initialization Files.配置文件
1.1定义
系统配置文件用来记录一些系统运行时需要的相关配置信息,环境变量信息等。
1.2种类
1.系统级别:/etc/profile
一般存放在/etc目录下
例如:
(1)/etc/enviroment 是系统的环境变量。
(2)/etc/profile: 是所有用户的环境变量。当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置。
(3)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
2.用户级别:~/.bashrc
一般存在用户家目录之下
例如:
(1)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(2)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(3) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系。
(4)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
1.3内容
1.设置默认的创建权限
2.设置环境变量
3.设置默认终端提示符
4.设置默认命令行命令的路径
5.设置客户自定义命令
1.4相关指令
1.设置环境变量
(1)在Shell中定义临时变量:
varName=value
(2) 定义用户级别的环境变量
在用户级别的配置文件中:常用的~/.bashrc
export varName=value
让文件执行:source ~/.bashrc或者. ~/.bashrc
(3)定义系统级别的环境变量
在系统级别的配置文件中:常用的/etc/profile
export varName=value
2.读取变量的值:
echo $varName
3.path变量:
path环境变量用来指明操作系统下常用命令的搜索路径
4.which
语法: which commandName
作用:在系统环境变量中查找指定命令的路径名
which是根据使用者所配置的 PATH 变量内的目录去搜寻可运行文档的!所以,不同的 PATH 配置内容所找到的命令可能不一样!
5.whereis
语法:whereis commandName
作用:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是通过遍历硬盘来查找,效率自然会很高。但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
6.history
显示命令行历史记录
history 10 显示最近的10条记录
!n 执行第n条历史命令
!! 执行刚刚执行过的历史命令
7.alias
语法:alias 别名=命令
作用:用来给一个长的命令,起一个简单的别名
例如:
给history起个别名h
alias h=history
查看所有的别名
alias
取消绑定
unalias h
8.用户终端提示符
变量设置:PS1=‘value’
value中可以包含:
\d :代表日期,格式为weekday month date,例如:“Mon Aug 1”
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
# :下达的第几个命令
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
9.umask
跟系统创建的目录和文件的默认权限相关。
这个值决定了当前用户所创建文件和目录的默认权限
目录权限: 777 - umask
文件权限: 777 - umask - 所有人的执行权限
补充:
取别名 alias 别名=值
alias 查看系统上取的别名
unalias 取消别名
新建文件和新建文件夹的时候默认权限是多少
drwxr-xr-x:755
-rwxr–r--
755+022=777
作业:
明天开始学习java了,看到的小伙伴可以和我一起从基础学起