• Linux 基础知识


    B 站学习笔记:https://www.bilibili.com/video/BV1ti4y1t7BF?p=1

    常用命令

    [] 表示可选项

    序号 命令 对应英文 作用
    01 ls list 查看当前文件夹下的内容
    02 pwd print work directory 查看当前所在文件夹
    03 cd [目录名] change directory 切换文件夹
    04 touch [文件名] touch 如果文件不存在,则新建
    05 mkdir [目录名] make directory 创建目录
    06 rm [文件名] remove 删除指定的文件名
    07 clear clear 清屏

    查阅命令帮助信息

    • command -- help
    • man command

    Linux 下文件和目录的特点

    • Linux 文件或者目录 名称最长可以有 256 个字符
    • . 开头的文件为隐藏文件,需要用 -a 参数才能显示
    • . 代表当前目录
    • .. 代表上一级目录

    通配符

    通配符 含义
    * 代表任意个数字符
    代表任意一个字符,至少一个
    [] 表示可以匹配字符组中的任意一个
    [abc] 匹配 a、b、c 中的任意一个
    [a-f] 匹配从 a 到 f 范围内的任意一个字符

    查看和修改操作

    • ls 常用选项
    参数 含义
    -a 显示指定目录下所有子目录与文件,包括隐藏文件
    -l 以列表形式显示文件的详细信息
    -h 配合 -l 以人性化的方式显示文件大小
    • cd 命令
    命令 含义
    cd 切换到当前用户的主目录(/home/用户目录)
    cd ~ 切换到当前用户的主目录(/home/用户目录)
    cd . 保持当前目录不变
    cd .. 切换到上级目录
    cd - 在最近两次工作目录之间来回切换

    相对路径和绝对路径

    • 相对路径:在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的位置
    • 绝对路径:在输入路径时,最前面是 / 或者 ~,表示从 根目录/home 目录 开始的具体目录位置

    创建和删除操作

    • touch

      创建文件或修改文件时间

      • 如果文件不存在,可以创建一个空白文件
      • 如果文件已经存在,可以修改文件的末次修改时间
    • mkdir

      创建一个新的目录

      选项 含义
      -p 可以递归创建目录

      新建目录的名称 不能与当前目录中 已有的目录或文件 同名

    • rm

      删除文件或目录

      使用 rm 命令要小心,删除后不能恢复

      选项 含义
      -f 强制删除,忽略不存在的文件,无需提示
      -r 递归地删除目录下的内容,删除文件夹 必须加此参数

    拷贝和移动文件

    序号 命令 对应英文 作用
    01 tree [目录名] tree 以树状图列出文件目录结构
    02 cp 源文件 目标文件 copy 复制文件或目录
    03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名
    • tree

      选项 含义
      -d 只显示目录
    • cp

      选项 含义
      -f 已经存在的目标文件直接覆盖,不会提示
      -i 覆盖文件提示
      -r 若给出的源文件是目录文件,则cp;若将递归复制该目录下所有子目录和文件,目标文件必须为一个目录名
    • mv

      选项 含义
      -i 覆盖文件前提示

    查看文件内容

    序号 命令 对应英文 作用
    01 cat 文件名 concatenate 查看文件内容、创建文件、文件合并、追加文件内容等功能
    02 more 文件名 more 分屏显示文件内容(当文件过大时)
    03 grep 搜索文本 文件名 grep 搜索文本文件内容
    • cat

      选项 含义
      -b 对非空输出行编号
      -n 对输出的所有行编号
    • more

      操作键 功能
      空格键 显示手册页的下一屏
      Enter键 一次滚动手册页的一行
      b 回滚一屏
      f 前滚一屏
      q 退出
      /word 搜索 word 字符串
    • grep

    选项 含义
    -n 显示匹配行及行号
    -v 显示不包含匹配文本的所有行(相当于求反)
    -i 忽略大小写

    常用的两种模式查找

    参数 含义
    ^a 行首,搜寻以 a 开头的行
    ke$ 行尾,搜寻以 ke 结束的行

    其它

    • echo 文字内容

      在终端中显示参数指定的文字,通常会和 重定向 联合使用

    • 重定向 > 和 >>

      Linux 允许将命令执行结果 重定向 到一个文件

      将本应显示在终端上的内容 输出/追加 到指定文件中

      其中,> 表示输出,会覆盖文件原有的内容

      ​ >> 表示追加,会将内容追加到已有文件的末尾

    • 管道

      Linux 允许将 一个命令的输出 通过管道作为 另一个命令的输入

      | 的左右分为两端,左端塞东西(写),右端取东西(读)

      常用的管道命令有:

      • more:分屏显示内容
      • grep:搜索指定文本文件内容

    远程管理命令

    • 关机和重启

      序号 命令 对应英文 作用
      01 shutdown 选项 时间 shutdown 关机/重启
      选项 含义
      -r 重新启动

      不指定选项和参数,默认表示在1分钟后关闭电脑

      远程维护服务器时,最好不要关闭系统,而应该重新启动系统

    • 查看或配置网卡信息

      序号 命令 对应英文 作用
      01 ifconfig configure a network interface 查看/配置计算机当前的网卡配置信息
      02 ping ip地址 ping 检测到目标ip地址的连接是否正常
    • 远程登录和复制文件

      序号 命令 对应英文 作用
      01 ssh 用户名@ip secure shell 远程登录
      02 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

      通过 SSH 客户端,可以连接到运行了 SSH 服务器 的远程机器上

      SSH 客户端是一种使用 Secure Shell(SSH)协议连接到远程计算机的软件程序

      好处:

      • 数据传输是加密的,可以防止信息泄露
      • 数据传输是压缩的,可以防止传输速度

      端口号

      • IP 地址:通过 IP 地址找到网络上的计算机
      • 通过 端口号 可以找到 计算机上运行的应用程序(如果是默认端口号,在连接的时候,可以省略)

      常见服务端口号列表:

      序号 服务 端口号
      01 SSH 服务器 22
      02 Web 服务器 80
      03 HTTPS 443
      04 FTP 服务器 21
    • SSH 客户端的简单使用

      ssh [-p port] user@remote
      
      • user 是在远程机器上的用户名,如果不指定的话默认为当前用户
      • remote 是远程机器的地址,可以是 IP/域名
      • port 是 SSH Server 监听的端口,如果不指定,默认为 22

      使用 exit 退出当前用户的登录

    • scp

      Linux 下用来进行 远程拷贝文件 的命令

      它的地址格式与 ssh 基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的

      # 把本地当前目录下的 test.py 文件 复制到 远程/home/Desktop/test.py
      scp -P port test.py user@remote:/home/Desktop/test.py
      
      # 把远程 /home/Desktop/test.py 文件复制到 本地当前目录下 test.py
      scp -P port user@remote:/home/Desktop/test.py test.py
      
      # 加上 -r 选项可以传送文件夹
      scp -r demo user@remote:/home/Desktop
      scp -r user@remote:/home/Desktop demo
      
      选项 含义
      -r 若给出的源文件是目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
      -P 若远程 SSH 服务器的端口不是 22,需要用 -P 选项指定端口

      这个命令在 MAC 和 Linux 可以直接使用, windows 上可以下载 FileZilla 进行远程拷贝

    • SSH 高级

      有关 SSH 配置信息都保存在用户 home 目录下的 .ssh 目录下

      • 免密码登录

        1. 配置公钥

          执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可

        2. 上传公钥到服务器

          执行 ssh-copy-id -p port user@remote, 可以让服务器记住我们的公钥

        本地 使用 私钥 对数据进行 加密/解密

        服务器 使用 公钥 对数据进行 加密/解密

      • 配置别名

        每次输入 ssh -p port user@remote, 会很不方便且不好记忆

        可以在 ~/.ssh/config 里面追加一下内容:

        Host fer
        	HostName ip地址
        	User alivinfer
        	port 22
        

        保存之后,即可以使用 ssh fer 实现远程登录了,scp 同样可以使用

    用户权限相关命令

    • 用户 和 权限 的基本概念

      • 用户管理包括 用户组(对相同用户的权限放在一个组里) 管理

      • 每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限

      • 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录 的不同权限

      • 对 文件/目录 的权限包括:

        序号 权限 英文 缩写 数字代号
        01 read r 4
        02 write w 2
        03 执行 excute x 1

      ls -l 扩展

      使用 ls -l 可以产看文件夹下的详细信息,从左到右依次是:

      • 权限:第一个字符如果是 d 表示目录
      • 硬连接数,就是有多少种方式,可以访问到当前目录/文件
      • 拥有者,home 下 文件/目录 的拥有者通常都是当前用户
      • ,在 Linxu 中,很多时候,会出现组名和用户名相同的情况
      • 文件大小
      • 时间
      • 名称

      用户管理 终端命令

      超级用户

      • Linxu 系统中的 root 账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限
      • 在大多数版本的 Linux 中,都不推荐 直接使用 root 账号登录系统
      • 在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为 “标准用户”

      sudo

      • su 是 substitute user 的缩写,表示 使用另一个用户的身份
      • sudo 命令用来以其他身份来执行明磊,预设的身份为 root
      • 用户使用 sudo 时,必须先输入密码,之后又 5 分钟的有效权限,超过期限则必须重新输入密码

      创建用户 / 设置密码 / 删除用户

      创建用户 / 删除用户 / 修改其他用户密码 的终端命令 都需要通过 sudo 执行

      序号 命令 作用 说明
      01 uesradd -m -g 组 新建用户名 添加新用户 -m 自动创建用户 /home 目录 ; -g 指定用户所在的组 ,否则会建立一个同名的组
      02 passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd 可以修改自己的账号密码
      03 userdel -r 用户名 删除用户 -r 选项会自动删除用户 /home 目录
      04 cat /etc/passwd | grep 用户名 确认用户信息 新建用户后。用户信息会保存在 /etc/passwd 文件中

      创建用户时,如果忘记添加 -m 选项指定新用户的 /home 目录,最简单的办法就是删除用户,重新创建

      创建用户时,默认会创建一个和用户名同名的组名

      用户讯息保存在 /etc/passwd 文件中

      查看用户信息

      序号 命令 作用
      01 id[用户名] 查看用户 UID 和 GID
      02 who 查看当前所有登录的用户列表
      03 whoami 查看当前登录用户的账户名

      passwd 文件

      /etc/passwd 文件存放的是用户的信息,由 6 个分号组成的7个信息,分别是

      1. 用户名
      2. 密码(x,表示加密的密码)
      3. UID(用户标识)
      4. GID(组标识)
      5. 用户全名或本地账号
      6. /home 目录
      7. 登录使用的 Shell,就是登录之后,使用的终端命令,ubuntu 默认的是 dash

      which(重要)命令

      可以查看执行命令所在位置,如

      which ls
      /bin/ls   # 输出
      
      which useradd
      /usr/sbin/useradd   # 输出
      

      cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用 which 无法找到

      bin 和 sbin

      • 在 Linux 中,绝大多数可执行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin
      • /bin (binary)是二进制执行文件目录,主要用于具体应用
      • /sbin (system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
      • /usr/bin (user commands for applications)后期安装的一些软件
      • /usr/sbin(super user commands for applications)超级用户的一些管理程序

      切换用户

      序号 命令 作用 说明
      01 su -用户名 切换用户,并且切换目录 - 可以切换到用户 /home 目录,否则保持位置不变
      02 exit 退出当前登录账号

      su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全

    • 组管理 终端命令

      创建组/删除组 的终端命令都需要通过 sudo 执行

      序号 命令 作用
      01 groupadd 组名 添加组
      02 groupdel 组名 删除组
      03 cat /etc/group 确认组信息
      04 chgrp -R 组名 文件/目录名 修改文件/目录的所属组

      组信息保存在 /etc/group 文件中

      /etc 目录专门用来保存 系统配置信息 的目录

    • 修改文件权限 终端命令

      序号 命令 作用
      01 chown 修改拥有者
      02 chgrp 修改组
      03 chmod 修改权限

      chmod 简单使用(重要)

      • chmod 可以修改 用户/组 对文件/目录 的权限

        其命令格式为:

        # 修改文件|目录的拥有者
        chown 用户名 文件名|目录名
        
        # 递归修改文件|目录的组
        chgrp -R 组名 文件名|目录名
        
        # 直接修改 文件|目录的 读|写|执行 权限,但不能精确到 拥有者|组|其他
        chmod +/-rwx 文件名|目录名
        如 chmod -x test  # 去掉 test 文件可执行权限(在没有可执行权限后,可读可写权限也会同时失去)
        
        # chmod 另一种更加具体的方式
        # 递归修改文件权限
        chmod -R 755 文件名|目录名
        

    系统信息相关命令

    1. 时间和日期

      序号 命令 作用
      01 date 查看系统时间
      02 cal calendar 查看日历,加 -y 产看一年的日历
    2. 磁盘信息

      序号 命令 作用
      01 df -h disk free 显示磁盘空间(主要看 / (根目录))
      02 du -h disk usage 显示目录下的文件大小

      -h 以人性化的方式显示文件大小

    3. 进程信息

      通俗地说就是 当前正在执行的一个程序

      序号 命令 作用
      01 ps aux process status 产看进程的详细状况
      02 top 动态显示运行中的进程并且排序
      03 kill [-9] 进程代号 终止指定代号的进程,-9 表示强行终止

      ps 默认只会显示当前用户通过终端启动的应用程序

      选项 含义
      a 显示终端上的所有进程,包含其他用户的进程
      u 显示进程的详细状态
      x 显示没有控制终端的进程

      使用 kill 命令时,最好只终止由当前用户开启的进程,而不要终止 root 身份开启的进程,以免导致系统崩溃

      要退出 top 可以直接输入 q

    其它常用命令

    1. 查找文件

      find 命令

      其功能非常强大,通常用来在 特定的目录下 搜索符合条件的文件

      序号 命令 作用
      01 find [路径] -name ".py" 查找指定路径下扩展名是 .py 的文件,包括子目录
      • 如果省略路径,表示在当前目录下
      • 之前的通配符,可以与 find 命令配合使用
    2. 软链接 (在 Linux 中,文件名和文件的数据是分开存储的)

      序号 命令 作用
      01 ln -s 被链接的源文件 链接文件(快捷方式的名称) 建立文件的软链接,类似于 windows 下的快捷方式
      • 没有 -s 选项建立的是一个 硬链接文件
      • 源文件要使用绝对路径,不能使用相对路径,这样方便移动链接文件后,仍能正常使用

      硬链接

      相当于另外构建了一个文件,以同样的方式去访问文件数据

    3. 打包和压缩

      在不同的操作系统中,常用的打包压缩方式是不同的

      • Windows 常用 rar
      • Mac 常用 zip
      • Linux 常用 tar.gz

      打包 / 解包

      tar 是Linux 中最常用的 备份 工具,此命令可以 把一系列文件 打包到 一个大文件中,也可以把 打包的文件恢复到一系列文件

      命令格式:

      # 打包文件
      tar -cvf 打包文件.tar 被打包的文件 / 路径...
      
      #解包文件
      tar -xvf 打包文件.tar
      
      选项 含义
      c 生成档案文件,创建打包文件
      x 解开档案文件
      v 列出归档解档的详细过程,显示进度
      f 指定档案文件名称,f 后面一定是 .tar 文件

      f 选项必须放在最后,其他选项可以任意

    4. 压缩 / 解压缩

      1)tar 与 gzip 命令结合可以实现文件 打包和压缩

      用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz(最为常见的压缩文件格式)

      在 tar 命令中有一个选项 -z 可以调用 gzip ,从而方便实现压缩和解压缩功能

      命令格式:

      # 压缩文件
      tar -zcvf 打包文件.tar.gz 被压缩的文件 / 路径...
      
      # 解压缩文件
      tar -zxvf 打包文件.tar.gz
      
      # 解压到指定路径(指定的路径必须存在)
      tar -zxvf 打包文件.tar.gz -C 目标路径
      

      2)bzip2

      其扩展名一般用 xxx.tar.bz2

      方式同 gzip 相同,只需将 tar 命令的 -z 选项改为 -j 以及将扩展名进行更改,即可调用

    5. 软件安装

      通过 apt 安装 / 卸载 软件

      apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具

      可以在终端中方便的 安装/卸载/更新软件包

      # 安装软件
      sudo apt install 软件包
      
      # 卸载软件
      sudo apt remove 软件名
      
      # 更新已安装的包
      sudo apt upgrade
      
  • 相关阅读:
    切换路由时中止未返回数据的请求
    elementui 走马灯图片自适应
    覆盖elementui样式
    vue+elementui搭建后台管理界面(5递归生成侧栏路由)
    vue+elementui搭建后台管理界面(4使用font-awesome)
    vue+elementui搭建后台管理界面(3侧边栏菜单)
    vue+elementui搭建后台管理界面(2首页)
    vue+elementui搭建后台管理界面(1登录)
    C排序算法
    各种语言中获取时间戳的方法
  • 原文地址:https://www.cnblogs.com/alivinfer/p/13150667.html
Copyright © 2020-2023  润新知