day02 linux常用命令

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 举例
  1. 打开Linux内置的火狐浏览器

    另外一个是浏览器插件,不用管。

  2. 使用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 三元运算

day02 linux常用命令
4.2 if判断
4.2.1 单if
4.2.2 if…else…
4.2.3 if…elif…

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

上一篇 2022年10月23日
下一篇 2022年10月23日

相关推荐