鸟哥基础第十章、第十一章

第十章

vi编辑器非常重要,分为3种模式

一般模式:可以查询、增删、替换字符等
编辑模式:增删、替换字符
命令模式:主要是参数设置、内容保存等命令
vi的操作记录多记录在~/.viminfo文件中

如果觉得太复杂,可以使用nano文本编辑器,很好用。
当然vi只针对命令行环境的时候。如果是图形环境,编辑的软件多了。

第十一章

bash shell 是通向系统管理的基础。是重点中的重点。
本章主要讲变量和shell环境设置,字符操作的相关命令放在第十二章一起讲

摘录
系统的shell分很多种,最重要的2种:/bin/bash  和 /sbin/nologin    

linux支持的shell文件:/etc/shells
ubuntu好像用/bin/false来代替/sbin/nologin的用途的

变量

变量书写规则:

变量赋值用=号,=号两边不能用空格:m=123
累加变量的内容:                                “$PATH”:/HOME
取消变量用 unset:                              unset m

export用于不同程序之间传递变量值,就是设置为环境变量

“”表示保持变量的内容
‘’表示把内容变为字符
··表示先执行··里面的命令再执行··外面的命令

大写变量为系统默认变量,小写变量为自定义变量。系统默认变量一般是${}表示
有些字符比较特殊,需要转义:前面加上\

变量的相关操作

查看环境变量

env 、set、export

设置环境变量

export 变量
declare -x 自定义环境变量

定义变量类型

declare -a 数组
declare -i  整数
declare -x 自定义环境变量
declare -r 变量设置为只读

变量赋值:

普通变量赋值:

m=123

数组变量赋值

m[1]=1
m[2]=2
m[3]=3

还有键盘赋值

 read -p “please keyin your name:” -t 30 name    

name就是变量名,read就是获取键盘输入,然后把内容给name

查看变量

echo $变量名      echo $PATH

取消变量

unset m

shell环境的相关设置文件

用户登陆时,bash shell会依次执行:

/etc/profile—>.bash_profile—>.bash_profile—->.bash_login—->.profile,最后执行.bashrc

/etc/profile

设置PATH、mail路径、history记录条目等

/etc/bashrc

每个用户初始设置是这个文件进行设置的,然后才是用户各自的.bashrc

/etc/profiled/*

设置bash的规范

~/.bashrc
前面的设置多可以在这个文件里面设置,而且生效
默认:

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 在后面加就好了
如:umask 022
特别说明一点:我用的fedora4里面有些命令大不了,这些命令都是/sbin里面的
查PATH发现/sbin不包含在PATH里面,添加一下即可
export PATH=$PATH:/sbin

-————————————————————————————————-

语言环境设置:
/etc/sysconfig/i18n

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

/etc/man.config

设置man文档路径 
如:MANPATH /usr/man

.inputrc

用来定义按键的功能,是readline()函数库的配置文件

登录消息提示
/etc/issue:登录前显示的内容

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 /etc/motd:登录后显示的内容

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 

-————————————————————————————————-

其他

type:查看命令的类型:内部、外部命令
ulimit:给程序或用户配额
alias:设置别名
unalias:取消别名
history:查看历史命令

history  3    列出最近3条命令
history  -w  把当前历史命令写入~/.bash_history中
!5               执行history中的第几条命令
!!                执行上一条命令

数据流重导向

>      覆盖
>>    累加到后面
<      文件输入
<<     结束的输入字符
2>     错误输出,覆盖
2>>   错误输出,累加
例子:

cat > catfile < somefile   

把somefile导入进来
用cat读取somefile文件
然后导出到catfile文件
< 比 > 优先处理

cat > catfile << eof

输eof的时候结束导出

;、&&、||、|

;表示一个程序一个程序执行
&&:表示前面的命令没有错误后再接下去执行
||:表示前面的命令错误后执行后面的程序

|:表示对前面的处理结果再处理。