扩展搭建本地yum源步骤
1,reposync 源同步到本地
2. createrepo 创建 repodata repodata 存储了各个rpm包的依赖关系
3. 搭建http的服务器/nginx服务将源发布
4. 配置客户端使用 vim /etc/yum.repos.d/base.repo
baserul=http:// ..../
enabled=1
gpgcheck=0
防火墙关闭方式
systemctl stop firewalld
systemctl disable firewalld
selinux
安全机制
将enforcing改成disable则是永久关闭
开启之前安装好的httpd,可以看到网页上就有对应的文件了
Shell:
1,命令历史
2,命令补全
3,命令别名
4,通配符
5,输入输出重定向
6,管道符
7,作业控制
8,Shell 变量
9,环境变量配置文件
- Linux 可以记录每个用户所使用的命令, 并记录到 ~/.bash_history 文件中
当用户以 bash 登入 Linux 主机后, 系统会主动地由 ~/.bash_history 读取命令历史
当用户注销时, 会将最近的 HISTFILESIZE 个记录写入 ~/.bash_history 文件中,1000条默认
当用户以 bash 登入 Linux 主机后, 系统会主动地由 ~/.bash_history 读取命令历史
/etc/profile 修改地址
重点:
1, 命令历史
Linux 可以记录每个用户所使用的命令, 并记录到 ~/.bash_history 文件中
当用户以 bash 登入 Linux 主机后, 系统会主动地由 ~/.bash_history 读取命令历史
当用户注销时, 会将最近的 HISTFILESIZE 个记录写入 ~/.bash_history 文件中
这里默认最大记录1000条,记录之前操作的命令
变量则为histor
history -c: 清除当前内存内的全部命令记忆
history -r: 将 history 文件中的命令记忆读出到当前内存中 #一般登录时会自动进行
history -w: 将目前的内存中的命令记忆写入 history 文件中 # 一般登出时会自动进行
配置文件在etc/profile,可以配置多少条
- 命令补全 TAB
常用的对目录或者目录下的文件输入第一个字符,TAB可以自动弹出,不再描述
3,命令别名 alias例如,将ls –l 命令用成111
删除alias用unalias
查看有哪些存在的alias等,cat .bashrc
4. 通配符与特殊符号
符号 | 意义 |
* | 代表0-无穷个 任意字符 |
? | 代表有且只有一个字符 |
[ ] | 代表有且仅有一个字符,且为[...]中所枚举的其中一个, 如 [13579] |
[-] | 同上,只不过是一个范围,如[ 0-9 ],[a-z]等 |
[^] | 有且仅有一个,且不是所枚举的任何字符,如:[^a-zA-Z] 代表该位不是字母 |
这里不做详细的解释,主要是^代表非
[^][^a-z] 则代表不以小写字母开头的
[A-Za-z0-9]如果需要匹配字母和数字,则可以这么写
- 特殊符号
符号 | 内容 |
# | 批注号 |
\ | 转义符号,将特殊字符或通配符还原成一般字符 |
| | 管道符 |
; | 命令衔接符,连续执行两条命令 |
~ | 当前用户家目录 |
$ | 取用变量符号 |
& | 工作控制,将指令变成后台工作 |
! | 逻辑非 |
>、>> | 数据流重定向,output |
<、<< | 数据流重定向,input |
' ' | 单引号,无法引用变量 |
" " | 双引号,可以引用变量 |
\转义符,举例说如果我们需要查找一个特定word
这种\则代表转义
& 让程序去后台执行,这个也是非常重要的
正常写命令这里没有写完的时候会卡住的
如果加了&则可以去后台运行
dd if=/dev/zero of=bigfile bs=1M count=1000 &
可以实际操作,不再举例
也可以用top或者或者top &
5. 输入输出重定向
流程图如下
标准输出,即命令成功执行时,将执行结果输出至文件 or 设备
例如将1覆盖到1.txt的目录下
再覆盖一次2,发现这里是覆盖,不是追加
用>>则代表追加
6. 管道符
管道的概念与数据流重定向不同,管道只是在输出至屏幕前多加一道工序,而配合管道的这些工序,往往是字符处理软件
ls /etc/ | more # 原本要直接输出至屏幕的信息, 用 more 进行了加工
ls /etc/ | grep "bash" # 原本直接输出至屏幕的信息, 用 grep "bash" 进行了加工, 筛选出了关键字
7. 作业控制
foreground: 前台, 平常执行命令的界面,通用命令fg
后台的工作有两种状态: 暂停(stop) 和 运行中( running)
例如
按下 ctrl+z, 将正在执行的top扔到后台且置为暂停 [1]- 已停止
例如:
查看后台命令用jobs
Job参数:
-l:同时列出任务的 PID
将后台工作拿回到前台来(fg)
将后台暂停的任务激活用bg
直接移除后台 则使用kill或者pkill
kill 发送信号给一个或多个进程(经常用来杀死一个进程)
一般命令是kill -9 pid
上面我们再看的时候则只有一个top进程
8. Shell 变量
之前我们接触过PATH,它是shell预设的一个变量
通常shell预设的变量都是大写的。变量就是使用一个较简单 的字符串来替代某些具有特殊意义的设定以及数据
1)预设的变量除了PATH外,可以使用env命令来查看系统常用的变量
2)用户自定义变量
3)变量名规则:字母、数字下划线、首位不能为数字
4)变量的累加,当变量中有其他的变量是可以将该变量使用双引号单独引起来。
例如
可以用w表示在那个TTY下
在当前终端下设置的变量在其他的shell下是没有的,因为还没有进行全局变量。在一个终端下执行bash就进入到了一个子shell,也就是打开了另一个shell
要想使该终端下的所有子shell都能识别某个变量,需要进行全局变量。并且是向下生效的。
注意-1:如果变量值中存在空格,需要用单引号或双引号将变量值括起来
注意-2:如果变量值中有引用其他变量,需要用双引号将变量值括起来
[root@choco-01 ~]# echo $LANG zh_CN.UTF-8
export
声明变量为环境变量,进入子 shell 后,变量仍让有效
常用的环境变量有(这里不再举例)
常用环境变量
PS1: 命令提示符的格式, 可玩性较高, 但工作中不常用, 可自行 manbash 查看 PS1 的设置方法
HOSTTYPE: 主机的位数, x86 还是 x86_64
9. 环境变量配置文件
login 与 non-login
ogin shell:取得 bash 时需要完整的登录流程。如由 tty1-tty6登录时,需要输入用户的账号和密码
/etc/profile :系统整体的设定,对所有用户皆生效
~/.bash_profile 或 ~/.bash_login 或 ~/.profile:用户的个人设定
但是各个文件中可能又会调用其他的文件,所以一般来说,login shell 读取的文件如下图所示:
non-login shell:取得 bash 接口的方法不需要重复登录的举动,如在 bash 环境下,再次执行bash命令进入子 shell 时,不需要输入账号和密码
- /etc/profile (login shell)
设定环境变量
PATH:根据 UID 决定PATH 变量是否要包含 sbin 目录
HOSTNAME:根据 hostname 指令,决定该变量值
~/.bash_profile (login shell)
根据之前流程图的描述,bash shell 读取完通用配置后,才开始进行用户个性化配置的读取。
其实用户个性化配置的文件不止 ~/.bash_profile 一个,还可能有 ~/.bahs_login 和 ~/.profile
Bash profile的内容如下
他的意思是/.bash_profile 调取了 ~/.bashrc 文件, 并将 ~/bin 目录加入到 PATH 变量中
~/.bashrc
查看cat。Bashrc
当通过 non-login shell 取得 bash 后, 仅会读取 ~/.bashrc 文件