Linux

一、Linux概述

1.1 什么是Linux?

  1. 一种是Linux编写的开源操作系统的内核
  2. 一种广义的操作系统

Linux一般用作服务器,它不需要客户端那样华丽的界面,所以它一般以命令行形式进行操作。

1.2 Linux的版本

  1. 内核版本:Linux内核分为三个部分主版本号、次版本号、末版本号,次版本号是奇数为开发版,偶数为稳定版。
  2. 发行版:Linux是开源的,国内厂商会基于Linux内核进行开发,如:redhat(商用)、fedora(免费)、centos(基于redhat编译的免费版)

一般我们使用的都是centos,使用ssh连接远程服务器

1.3 Linux常见目录

  • / 根目录
  • /root root用户的家目录
  • /home/username 普通用户的家目录
  • /etc 配置文件目录
  • /bin 命令目录
  • /sbin 管理命令目录
  • /user/bin /user/sbin 系统预装的其他命令

二、系统操作

2.1 帮助命令

  1. man 帮助命令

    man [命令名称]

  2. help 帮助命令

    help cd[命令] 内部命令使用 help 帮助

    ls –help 外部命令使用 help 帮助

shell(命令解释器)自带的为内部命令,不自带的为外部命令,type 命令 查看该命令为内部命令或外部命令

  1. info 帮助

    info [命令]

info比 help 更详细,作为 help 的补充,提示全为英文版

2.2 文件管理

2.2.1 文件查看

  1. 显示当前位置

    pwd

  2. 更改当前的操作目录

    cd

  3. 查看当前目录下的文件

    ls [选项,选项…] [文件名…]

    常用参数:

    • -l 长格式显示文件(显示更多的文件信息,如:时间、权限、作者等)
    • -a 显示隐藏文件
    • -r 逆序显示
    • -t 按照时间顺序显示
    • -R 递归显示
    • -h 文件大小以MB显示

2.2.2 目录管理

  1. 创建目录

    mkdir [参数] [目录名]

    常用参数:

    • -p 建立多级目录
  2. 删除空目录

    rmdir [目录名]

  3. 创建文件

    touch [文件名]

  4. 删除文件

    rm [参数] [文件名]

    常用参数

    • -r 删除目录(包括目录下所有文件)
    • -f 删除文件不进行提示
  5. 复制文件或目录

    cp 源文件 目的文件

    常用参数

    • -r 复制目录
    • -p 保留用户、权限、时间等文件属性
  6. 移动文件(重命名)

    mv [选项] 源文件 目标文件

    常用参数

    • -r 移动目录

2.2.3 文本查看

  1. 文本内容显示到终端

    cat [文件名]

  2. 查看文件开头

    head [参数] [文件名]

    常用参数

    • -n n行(默认10)
  3. 查看文件结尾

    tail [参数] [文件名]

    常用参数

    • -f 文件内容更新后,显示信息同步更新
    • -n n行(默认10)
  4. 统计文件内同信息

    wc [参数] [文件名]

    常用参数

    • -l 统计文件的行数

2.3 打包和压缩

  1. 打包

    tar [参数] [打包的文件名] [打包的文件夹]

    常用参数

    • c 打包
    • x 解包
    • f 指定操作类型为文件
    • v 显示详细信息
    • z gzip压缩
    • j bzip2压缩
  2. 解压

    tar -vxf 文件名

参数添加不同的压缩类型参数,解压不同类型的压缩文件,如 tar -vzxf filename 解压gzip压缩

2.4 文本编辑器

  1. 查看文档

    vim 文件名

  2. 输入a、 i、o 等进入编辑模式

  3. 剪切

    [n]dd 剪切当前行开始的n行

  4. 复制

    [n]yy 复制当前行开始的n行

    [n]p 粘贴n次所复制的

  5. 删除

    [n]x 删除当行,或者删除当前行开始的n行

  6. 关闭高亮

    :set nohl

  7. 查看行数

    :set [no]nu

设置永久生效则需要去配置文件(/etc/vimrc)中添加 set nu的配置

  1. 撤销命令

    :[n]u 撤销上[n]次的操作

  2. 查找命令

    /字符

n向下移动查找 shift n向上移动查找

  1. 替换

    :s/old/new 默认表示所在行范围进行替换

    :%s/old/new/g 整个文件范围替换使用

%代表整个文件范围,g 表示全局(多次替换)

  1. 临时命令

    :! 命令

! ipconfig ,表示临时查看命令

  1. 文件保存退出

    :w filename 保存到指定文件名中,不接文件名表示保存到原始文件当中

    :q 退出

    :q! 强制退出

    :wq! 强制写入退出

  2. 可视模式

    v 字符可视模式,以字符为单位选择

    V 行可视模式,以行为单位选择

    ctrl+v 块可视模式,光标选中多行后按大写I,[按d进行删除]然后输入内容,再按两次ESC,即可批量操作

2.5 用户和用户组管理

  1. 添加用户

    useradd username

id username 可以查看用户相关信息

  1. 删除用户

    userdel [参数] username

    常用参数

    • -r 删除用户的家目录
  2. 修改用户密码

    passwd username

  3. 修改用户属性

    usermode -g groupname username 将用户加入到该组

  4. 切换用户

    su - username

-代表切换到该用户所在的目录,visudo 设置需要使用 sudo 的用户组以及相关命令,sudo 命令以其他用户身份执行命令

  1. 添加组

    groupadd groupname

  2. 删除组

    groupdel groupname

2.6 文件与目录权限

20230708224023

  1. 文件类型:- 普通文件、d 目录 、b 特殊文件、c 字符特殊文件、l 符号连接、f 命名管道、s 套接字文件

  2. 文件权限:分为属主、组、其他用户权限,权限表示 r 4 读、w 2 写、x 1 执行

  3. 目录权限:x 进入目录、rx 显示目录内的文件名、wx 修改目录内的文件名

  4. 修改权限

    chmod 权限 filename

    chown user:group filename 修改所属主、属组

三、系统管理

3.1 网络管理

  1. 查看网卡信息

    ifconfig

inet代表 ip 地址

  1. 查看网关

    route -n

-n不解析域名

  1. 测试网络连通性

    ping ipaddress

3.2 软件管理包

3.2.1 rpm软件包管理器

  1. 查看已安装的rpm软件包

    rpm -qa | grep more

    rpm -q 包名

  2. 安装rpm软件包

    rpm -i 包名

  3. 卸载安装的rpm软件包

    rpm -e 包名

3.2.2 yum包管理工具

  1. 安装软件包

    yum install 包名

  2. 卸载软件包

    yum remove 包名

  3. 更新软件包

    yum update 包名 (不指定则更新所有软件包)

rpm需要自己解决依赖关系,软件包的来源不可靠,而yum是一个基于rpm的软件包管理器,会自动解决依赖性问题,使用yum包管理工具时需要修改yum镜像

3.2.3 源代码编译软件包

  1. 下载源代码软件包

    wget 软件包地址

  2. 解压软件包

    tar zxf 软件包

  3. 安装源代码软件包

    ./configure –prefix=/user/local 指定安装位置

    make 编译

    make install 安装

3.3 进程管理

  1. ps查看进程

    ps [参数]

    常见参数

    • -e 显示所有进程
    • -f 显示完整格式
  2. top查看进程

    top [参数]

    常见参数

    • -p进程号 指定进程

pstree以树状图的方式展现进程之间的派生关系

  1. 结束进程

    kill -9 PID

3.4 内存与磁盘管理

  1. 查看内存使用率和内存大小

    free [参数]

top 也可以查看

  1. 磁盘使用率和分区

    fdisk [参数]

四、Shell

shell是一个命令解释器,接受命令解释给内核再将结果返回到终端上,centos7终端的Shell是bash

4.1 Shell脚本

脚本执行

  1. bash xx.sh 执行脚本
  2. ./xx.sh 执行脚本
  3. source ./xx.sh
  4. . xx.sh

1、2会产生新的子进程运行脚本,3、4不会产生子进程运行脚本会对当前环境产生影响

管道与管道符

管道符为 |,将前一个命令执行的结果传递给后一个命令

五、文本操作与服务管理

  1. 查找

    locate

  2. 文本替换

    sed 参数 filename

sed -i ‘s/book/books/g’ file 匹配file文件中每一行的所有book替换为books

  1. 远程连接

    ssh [-p 端口] username@远程ip


Linux
https://pursuemilk.github.io/2023/07/09/Linux/
作者
PursueMilk
发布于
2023年7月9日
许可协议