• openEuler快速入门(二)-openEuler命令行基础操作


    系列文章目录

    第一章 openEuler快速入门(一)-openEuler操作系统介绍



    前言

    openEuler 是一个开源、免费的 Linux 发行版平台,以开放社区的形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系,目的是推动软硬件应用生态繁荣发展。
    此前华为推出的鸿蒙手机操作系统用户已经突破一亿,相信openEuler 欧拉操作系统今后也可以发展的越来越好。
    在使用操作系统前,了解相关的Linux命令行操作对于熟练掌握Linux是非常有必要的。


    在这里插入图片描述

    一、shell是什么

    Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口
    Shell 将用户输入的命令并且把它们送到内核去执行,然后返回执行结果
    Shell 是可编程的,它允许用户编写由 Shell 命令组成的程序

    在这里插入图片描述

    shell:命令解释器,根据输入的命令执行相应命令。
    察看当前系统下有哪些shell:

    cat /etc/shells
    
    • 1

    在这里插入图片描述
    察看当前系统正在使用的shell

    echo $SHELL
    
    • 1

    在这里插入图片描述

    二、Linux命令行操作技巧

    在操作Linux命令时,了解相关的Linux命令行操作对于熟练掌握Linux是非常有必要的,首先,tab键命令,在bash环境中,可以自动补全命令,可以通过过多按几次的方式帮助用户准确快速的输入命令,未输入命令的情况下,连续按两次tab键可以列出所有可用命令,已输入部分命令或文件名,按tab键自动补全。
    在这里插入图片描述

    三、基础命令

    3.1、Linux命令分类

    在这里插入图片描述

    为什么要使用Linux命令行
    命令行更高效:

    • Linux系统中使用键盘操作速度要比鼠标更快。 图形化界面不可重复,而命令行可以编写的脚本完成所有过程(例如:删除过期日志文件)。

    图形化界面开销大:

    • 运行图形化界面会占用很多的系统资源,运行命令行可以让系统资源释放给它更应该做的 事情。

    命令行有时候是唯一的选择:

    • 大部分服务器操作系统不会安装图形界面(GUI)。 联网设备的维护管理工具本来就没有图形化界面供我们使用。

    3.2、目录和文件

    ubuntu没有盘符这个概念,只有一个根目录/。

    3.2.1 相对路径和绝对路径

    绝对路径:

    • 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。

    相对路径:

    • 路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd
      …/man 这就是相对路径的写法。
      .和…
    • 每个目录下都有.和…
      . 表示当前目录
      … 表示上一级目录,即父目录
      根目录下的.和…都表示当前目录

    在这里插入图片描述

    3.2.2 处理目录的常用命令

    ls:

    ls(英文全拼:list files): 列出目录及文件名
    该命令类似于DOS下的dir命令。
    选项与参数:

    -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
    -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
    -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    用ls -l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:

    - 普通文件
    d 目录
    l 符号链接
    b 块设备文件
    c 字符设备文件
    s socket文件,网络套接字
    p 管道
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示
    对文件的读、写和执行权限。各权限如下所示:

    r 读
    w 写
    x 可执行。对于目录,表示进入权限。
    s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
    t 设置标志位(sticky bit)。如果是有sticky bit的目录,在该目录下任何用户只要有适当的权限即可创建文
    件,但文件只能被超级用户、目录拥有者或文件属主删除。如果是有sticky bit的可执行文件,在该文件执行后,
    指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
    - 没有相应位置的权限。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    cd:

    cd(英文全拼:change directory):切换目录

    cd ~
    cd dir1/dir2
    cd ..
    
    • 1
    • 2
    • 3
    pwd:

    pwd(英文全拼:print work directory):显示目前的目录
    在这里插入图片描述

    mkdir:

    mkdir(英文全拼:make directory):创建一个新的目录

    创建目录DIRECTORY,可以一次创建多个。OPTION如果是-p,表示可以连同父目录一起创建。
    在这里插入图片描述

    rmdir:

    rmdir(英文全拼:remove directory):删除一个空的目录
    删除空目录,可以一次删除多个。OPTION如果是-p,表示可以连同空的父目录一起删除。
    在这里插入图片描述
    rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录

    cp:

    cp(英文全拼:copy file): 复制文件或目录
    拷贝文件:

    cp file1 file2
    cp file1 dir/
    cp file1 ../
    
    • 1
    • 2
    • 3

    拷贝目录:

    cp dir1 dir2 -r
    cp dir1 ~/ -r
    
    • 1
    • 2
    rm:

    rm(英文全拼:remove): 删除文件或目录
    删除文件:

    rm file
    
    • 1

    删除目录:

    rm dir -rf
    
    • 1

    选项与参数:
    -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
    -i :互动模式,在删除前会询问使用者是否动作
    -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

    mv:

    mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

    重命名:

    mv file1 file2
    
    • 1

    移动文件:

    mv file1 ~/
    
    • 1
    cat

    cat命令用于读取文件的全部内容,或者将几个文件合并为一个文件

    head

    head用来显示文件的开头内容,默认head命令打印其相应文件的开头10行。

     head -5 file1
    
    • 1
    tail

    tail命令用于读取文件的尾部。

    tail -5 file1
    
    • 1
    more

    more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
    常用操作:

    • /字符串:向下搜索“字符串”的功能。
    • ?字符串:向上搜索“字符串”的功能。
    • Q 退出less 命令。
    • 空格键 滚动一页。
    • 回车键 滚动一行。
    less

    less命令读取内容,分屏显示,less与more类似,但使用less可以随意浏览文件,
    而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

    ln

    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立
    指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。如果
    给ln命令加上-s选项,则建立符号链接。举例如下,注意ls -l列出文件的硬链接数和字节
    数:
    硬链接:

    touch hello
    ln hello word_h
    
    • 1
    • 2

    软链接:

    ln -s hello word_s
    
    • 1

    在这里插入图片描述

    3.3、查找与检索

    find

    根据文件名查找
    在目录中搜索文件,path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。Expression 是
    find命令接受的表达式,find命令的所有操作都是针对表达式的。

    find . -name 'file*'
    find / -name 'vimrc'
    find ~ -name '*.c'
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    grep

    根据内容检索
    在指定文件中搜索特定的内容,并将含有这些内容的行输出到标准输出。若不指定文件
    名,则从标准输入读取。

    -c:只输出匹配行的计数。
    -I:不区分大小写(只适用于单字符)。
    -h:查询多文件时不显示文件名
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    -R: 连同子目录中所有文件一起查找。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    比如到系统头文件目录下查找所有包含printf的文件

    grep 'printf' /usr/include -R
    
    • 1

    在这里插入图片描述

    3.4、安装卸载软件

    apt-get

    更新源服务器列表

    sudo vi /etc/apt/sources.list
    
    • 1

    更新完服务器列表后需要更新下源

    sudo apt-get update 更新源
    sudo apt-get install package 安装包
    sudo apt-get remove package 删除包
    sudo apt-cache search package 搜索软件包
    sudo apt-cache show package 获取包的相关信息,如说明、大小、版本等
    sudo apt-get install package --reinstall 重新安装包
    sudo apt-get -f install 修复安装
    sudo apt-get remove package --purge 删除包,包括配置文件等
    sudo apt-get build-dep package 安装相关的编译环境
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    sudo apt-cache depends package 了解使用该包依赖那些包
    sudo apt-cache rdepends package 查看该包被哪些包依赖
    sudo apt-get source package 下载该包的源代码
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get check 检查是否有损坏的依赖
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    原码安装

     - 解压缩源代码包
     - cd dir
     - ./configure
    检测文件是否缺失,创建Makefile,检测编译环境
     - make
    编译源码,生成库和可执行程序
     - sudo make install
    把库和可执行程序,安装到系统路径下
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.5压缩包管理

    tar
    • tar [主选项+辅选项] 文件或者目录
    • tar可以为文件和目录创建档案。利用tar命令用户可以为某一特定文件创建档案(备份
      文件),也可以在档案中改变文件,或者向档案中加入新的文件。使用该命令时,主选项是 必须要有的,辅选项是辅助使用的,可以选用。

    主选项包括:

    c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
    r 把要存档的文件追加到档案文件的未尾。
    t 列出档案文件的内容,查看已经备份了哪些文件。
    u 更新文件。用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最
    后。
    x 从档案文件中释放文件。(常用)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    辅选项包括:

    f 使用档案文件或设备,这个选项通常是必选的。(常用)
    k 保存已经存在的文件。
    m 在还原文件时,把所有文件的修改时间设定为现在。
    M 创建多卷的档案文件,以便在几个磁盘中存放。
    v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。(常用)
    w 每一步都要求确认。
    z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压
    缩。(常用)
    j 用bzip2来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压
    缩。(常用)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
    打包:

    tar cvf dir.tar dir
    tar xvf dir.tar dir
    
    • 1
    • 2

    打gz压缩包:

    tar zcvf dir.tar.gz dir
    tar zxvf dir.tar.gz
    
    • 1
    • 2

    打bz2压缩包:

    tar jcvf dir.tar.bz2 dir
    tar jxvf dir.tar.bz2
    
    • 1
    • 2

    指定目录解压缩:

    tar zxvf dir.tar.gz -C ~/test
    
    • 1
    rar

    打包:把dir压缩成newdir.rar

    rar a -r newdir dir
    
    • 1

    解包:把newdir.rar解压缩到当前目录

    unrar x newdir.rar
    
    • 1
    zip

    打包:

    zip -r dir.zip dir
    
    • 1

    解包:

    unzip dir.zip
    
    • 1

    3.5进程管理

    who

    查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将
    显示以下三项内容:

    login name:登录用户名;
    terminal line:使用终端设备;
    login time:登录到系统的时间。
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ps

    ps命令用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。选项部分如下:

    -e 显示所有进程。
    -f 全格式。
    -h 不显示标题。
    -l 长格式。
    -w 宽输出。
    a 显示终端上的所有进程,包括其他用户的进程。
    r 只显示正在运行的进程。
    x 显示没有控制终端的进程。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    Head标头:

    USER 用户名
    UID 用户ID(User ID)
    PID 进程ID(Process ID)
    PPID 父进程的进程ID(Parent Process id)
    SID 会话ID(Session id)
    %CPU 进程的cpu占用率
    %MEM 进程的内存占用率
    VSZ 进程所使用的虚存的大小(Virtual Size)
    RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
    TTY 与进程关联的终端(tty)
    STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
    R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
    S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
    I 空闲 Idle
    Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调
    用后释放。
    D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中
    断发生。
    T 停止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
    P 等待交换页
    W 无驻留页 has no resident pages 没有足够的记忆体分页可分配。
    X 死掉的进程
    < 高优先级进程 高优先序的进程
    N 低优先 级进程 低优先序的进程
    L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
    s 进程的领导者(在它之下有子进程);
    l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
    + 位于后台的进程组
    START 进程启动时间和日期
    TIME 进程使用的总cpu时间
    COMMAND 正在执行的命令行命令
    NI 优先级(Nice)
    PRI 进程优先级编号(Priority)
    WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
    FLAGS 与进程相关的数字标识
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    jobs

    用来显示当前shell 下正在运行哪些作业(即后台作业)。
    在这里插入图片描述

    控制前台与后台进程

    opneEuler 中常用以下命令管理进程,包括前后台切换及启停:
    &:将 & 放在命令的最后,可以把这个命令放到后台执行
    Ctrl + z:当前台正在执行一个命令时,按键 Ctrl + z,将其放到后台并暂停
    Ctrl + c:中断当前正在执行的命令
    jobs:查看当前有多少正在后台运行的命令
    fg:将后台中的命令调至前台继续运行
    bg:将后台任务唤醒,并在后台运行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    fg
    fg [job…]
    
    • 1

    把指定的后台作业或挂起作业移到前台运行。

    bg
    bg [job…]
    
    • 1

    把被挂起的进程提到后台执行。

    kill

    向指定进程发送信号

    kill [ -signal | -s signal ] pid ...
    
    • 1
    env

    查看当前进程环境变量

    $env
    
    • 1
    • vim ∼/.bashrc
      配置当前用户环境变量
    • vim /etc/profile
      配置系统环境变量,配置时需要有root权限

    3.6网络管理

    ifconfig

    1.查看网卡信息

    ifconfig
    
    • 1

    在这里插入图片描述

    2.关闭网卡

    sudo ifconfig 网卡名down
    
    • 1

    3.开启网卡

    sudo ifconfig 网卡名 up
    
    • 1

    4.配置临时IP

    sudo ifconfig 网卡名 IP
    
    • 1
    ping
    ping [选项] 主机名/IP地址
    
    • 1

    查看网络上的主机是否在工作。

    命令中各选项的含义如下:

    -c 数目 在发送指定数目的包后停止。
    -d 设定SO_DEBUG的选项。
    -f 大量且快速地送网络封包给一台机器,看它的回应。
    -I 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
    -l 次数 在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
    -q 不显示任何传送封包的信息,只显示最后的结果。
    -r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
    -s 字节数 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    nslookup
    nslookup name
    
    • 1

    查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
    不带参数使用nslookup命令时,出现提示符“>”,在后面输入要查询的IP地址或域名并回车即可。如果要退出该命令,输入exit并回车即可。
    在这里插入图片描述


    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了openEuler命令行基础操作使用。

  • 相关阅读:
    Linux--生产消费模型
    【云原生】Sqoop on k8s 讲解与实战操作
    OpManager-系统性能监控工具
    flutter 系列之:flutter 中的幽灵offstage
    一文讲透 “中间层” 思想
    软件测试基础理论概述
    WINCC C脚本编程约定
    C#WPF StackPanel布局及Border边框应用实例
    开放域类型发现:Open Relation and Event Type Discovery with Type Abstraction
    YUM 升级 PHP7
  • 原文地址:https://blog.csdn.net/qq_34623621/article/details/127885150