day02 linux
第一章 Linux常用命令
第一节 进程相关命令
1. 查看进程状态
1.1 命令的使用
命令是用于查看进程状态的命令,它常和参数(对应单词entire,表示全部。具体指显示系统中全部的进程信息。),以及参数(对应单词full-formate,表示完整格式。) 一起使用
1.3 和其它命令配合一起查看进程
1.3.1 分屏查看进程信息
全部进程的信息太多了,一屏无法全部显示,所以我们希望可以分屏显示并由我们来控制翻页。为了达到这个目标,我们可以使用管道符 将ps -ef命令的输出数据传送给less命令。
1.3.2 精确查询一个具体进程信息
我们通过Xshell远程连接Linux系统,靠的是sshd这个服务。这个服务如果正在运行中,那么一定会有这个服务对应的进程。所以下面我们来查询一下sshd这个命令的进程。
再用一层管道,使用grep命令的-v参数把匹配grep的行排除,返回不匹配的结果,这就是我们最终想要的。
2. 杀死进程
2.1 命令的使用
表示杀死指定id的进程
2.2 举例
-
打开Linux内置的火狐浏览器
另外一个是浏览器插件,不用管。
-
使用kill命令结束火狐浏览器进程:
3. 实时查看系统运行情况和健康状态(了解)
3.1 命令和参数
命令名 | 更新时间间隔(秒) | 不显示任何闲置或者僵死进程 | 通过进程id监控单一进程 |
---|---|---|---|
top | -d 间隔秒数 | -i | -p 进程id |
如果指定了后缀,basename会帮我们把后缀部分也去掉
注意: 这里dd是文件
3. cut
根据指定符 拆分字符串并提取。默认根据 t 拆分。
- -f 参数:指定要提取的列
- -d 参数:指定拆分依据的字符
准备测试数据:
切割提取第二、第三列:
切割ifconfig 后打印的IP地址:
4. sort
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。
参数名 | 作用 |
---|---|
-n | 依照数值大小排序 |
-r | 相反顺序排序 |
-t | 设置排序时使用的分隔字符 |
-k | 指定需要排序的列 |
第二节 创建用户和用户组的基本命令
命令 | 作用 |
---|---|
groupadd 组名 | 创建用户组 |
id 用户名 | 返回用户信息,检查用户是否存在 |
useradd -g 组名 用户名 | 创建用户,同时指定所属用户组 |
passwd 用户名 | 给用户账 设置密码 |
第三节 文件权限
1. 文件权限信息说明
下面介绍rwx-分别是什么意思:
-
r:读(read)
-
读文件:查看文件内容
例如:cat、less、tail等命令
-
读目录:查看目录内容
例如:使用ll命令查看目录内容
-
-
w:写(write)
-
写文件:向文件中写入新内容
-
写目录:在目录里面增删内容
例如:在目录内新建文件、删除文件、新建目录、删除目录给目录重命名
-
-
x:执行(execute)
- 执行文件:把文件当作可执行文件来运行
- 执行目录:使用cd命令进入目录
-
-:无权限
由于每一位要么有权限要么没有权限,所以天然可以使用二进制来表示权限信息:
- 1:有
- 0:无
权限的符 表示 | 权限的二进制表示 | 权限的十进制表示 |
---|---|---|
rwx r-x r-x | 111 101 101 | 7 5 5 |
rw- r– r– | 110 100 100 | 6 4 4 |
2. 修改文件权限
2.1 命令介绍
命令名 | 作用 |
---|---|
chmod | 修改权限信息 |
chown | 修改文件或目录的所属用户 |
chgrp | 修改文件或目录的所属用户组 |
2.2 演示chmod命令
2.2.1 修改权限信息前
2.2.3 删除权限
删除执行权限
删除权限信息后
方法2: ,其中u表示拥有者,g表示同组用户,o表示其它用户
第四节 提升普通用户的权限(sudo)
在公司参与开发的过程中,通常我们不会拿到服务器系统的 root 权限,而是普通用户权限。但是普通用户很多操作无法执行。比如在 /opt 目录下新建目录:
但此时我们发现,每次使用都需要输入密码,很麻烦,所以我们可以在中进行配置
这样再使用sudo命令就不需要输入密码了
这里有两点需要注意:
- 在同一次登录中,即使不加NOPASSWD也只需要输入一次密码,所以NOPASSWD是否生效需要退出登录后再重新登录来测试。
- 使用sudo提权后创建的目录仍然是root root权限,如果有需要那就还要使用chown或chgrp来修改。
第三章 Linux系统的服务管理
第一节 服务的概念
操作系统中在后台持续运行的程序,本身并没有操作界面,需要通过端口 访问和操作。CentOS 6和CentOS 7的服务管理有很大区别,我们分别来看。
第二节 CentOS6的服务(了解)
1. service命令
启动服务:service 服务名 start
停止服务:service 服务名 stop
重启服务:service 服务名 restart
重新加载服务:service 服务名 reload
查看服务状态:service 服务名 status
2. chkconfig命令
查看服务列表:chkconfig [–list]
设置具体服务开机自动启动状态:chkconfig 服务名 on/off
3. 防火墙
防火墙默认会阻止绝大部分端口 的访问,在实际生产环境下,运维工程师需要为服务器设置详细的访问规则。在练习过程中,我们为了方便建议把防火墙直接关闭。由于防火墙服务默认开机自动启动,所以除了停止服务,还要设置为开机不自动启动。
服务名:iptables
停止防火墙:service iptables stop
设置开机不自动启动:chkconfig iptables off
第三节 CentOS7的服务
1. systemctl命令
启动服务:systemctl start 服务名(xxxx.service)
重启服务:systemctl restart 服务名(xxxx.service)
停止服务:systemctl stop 服务名(xxxx.service)
重新加载服务:systemctl reload 服务名(xxxx.service)
查看服务状态:systemctl status 服务名(xxxx.service)
2. systemctl命令代替chkconfig命令
查看服务状态:systemctl list-unit-files
设置或取消服务开机自动启动:
-
设置开机自动启动:systemctl enable 服务名
-
取消开机自动启动:systemctl disable 服务名
3. 防火墙的操作
- 开启防火墙
- 重启防火墙
- 关闭防火墙
- 设置开机启动
- 停止并关闭开机启动
- 查看防火墙状态 或者
- 查看防火墙开机时是否启动
4. 防火墙端口设置
-
开放端口
-
更新防火墙规则
-
查看
查看某个端口是否放行
查看所有放行的端口 -
取消端口开放
-
常用端口
- 8080 tomcat
- 80 http协议
- 443 https协议
- 22 ssh远程连接
- 3306 mysql
- 6379 redis
第四章 Linux下的Shell脚本开发
第一节 Shell编程概述
Shell是一个命令行解释器,它接收应用程序或用户的命令,然后调用操作系统内核。 它是一个功能强大的编程语言,易编写、易调试、灵活性强
其中最常用的是 /bin/sh 和 /bin/bash
1. bash 和 sh 的关系
1.3.2 $#
返回输入参数的个数
1.3.4 $/h6>
返回上一条命令的执行结果。
- 条件判断语句
- 返回 0 表示 true
- 返回 1 表示 false
- 普通语句
- 返回 0 表示成功
- 返回非 0 数表示失败
2. 运算符
Shell的运算表达式的语法如下: 或
4.1 三元运算

4.2 if判断
4.2.1 单if
4.2.2 if…else…
4.2.3 if…elif…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!