openEuler快速入门-openEuler命令行基础操作

服务器 0

系列文章目录

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


文章目录

  • 系列文章目录
  • 前言
  • 一、shell是什么
  • 二、Linux命令行操作技巧
  • 三、基础命令
    • 3.1、Linux命令分类
    • 3.2、目录和文件
      • 3.2.1 相对路径和绝对路径
      • 3.2.2 处理目录的常用命令
        • ls:
        • cd:
        • pwd:
        • mkdir:
        • rmdir:
        • cp:
        • rm:
        • mv:
        • cat
        • head
        • tail
        • more
        • less
        • ln
    • 3.3、查找与检索
        • find
        • grep
    • 3.4、安装卸载软件
        • apt-get
    • 3.5压缩包管理
        • tar
        • rar
        • zip
    • 3.5进程管理
        • who
        • ps
        • jobs
        • fg
        • bg
        • kill
        • env
    • 3.6网络管理
        • ifconfig
        • ping
        • nslookup
  • 总结


前言

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


在这里插入图片描述

一、shell是什么

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

在这里插入图片描述

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

cat /etc/shells

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

echo $SHELL

在这里插入图片描述

二、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 :长数据串列出,包含文件的属性与权限等等数据;(常用)

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

- 普通文件d 目录l 符号链接b 块设备文件c 字符设备文件s socket文件,网络套接字p 管道

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

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

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

cd ~cd dir1/dir2cd ..
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 file2cp file1 dir/cp file1 ../

拷贝目录:

cp dir1 dir2 -rcp dir1 ~/ -r
rm:

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

rm file

删除目录:

rm dir -rf

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

mv:

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

重命名:

mv file1 file2

移动文件:

mv file1 ~/
cat

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

head

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

 head -5 file1
tail

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

tail -5 file1
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 helloln hello word_h

软链接:

ln -s hello word_s

在这里插入图片描述

3.3、查找与检索

find

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

find . -name 'file*'find / -name 'vimrc'find ~ -name '*.c'

在这里插入图片描述

grep

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

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

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

grep 'printf' /usr/include -R

在这里插入图片描述

3.4、安装卸载软件

apt-get

更新源服务器列表

sudo vi /etc/apt/sources.list

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

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 检查是否有损坏的依赖

原码安装

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

3.5压缩包管理

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

主选项包括:

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

辅选项包括:

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

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

tar cvf dir.tar dirtar xvf dir.tar dir

打gz压缩包:

tar zcvf dir.tar.gz dirtar zxvf dir.tar.gz

打bz2压缩包:

tar jcvf dir.tar.bz2 dirtar jxvf dir.tar.bz2

指定目录解压缩:

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

打包:把dir压缩成newdir.rar

rar a -r newdir dir

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

unrar x newdir.rar
zip

打包:

zip -r dir.zip dir

解包:

unzip dir.zip

3.5进程管理

who

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

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

在这里插入图片描述

ps

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

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

在这里插入图片描述
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 空闲 IdleZ 僵死 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 与进程相关的数字标识
jobs

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

控制前台与后台进程

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

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

bg
bg [job…]

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

kill

向指定进程发送信号

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

查看当前进程环境变量

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

3.6网络管理

ifconfig

1.查看网卡信息

ifconfig

在这里插入图片描述

2.关闭网卡

sudo ifconfig 网卡名down

3.开启网卡

sudo ifconfig 网卡名 up

4.配置临时IP

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

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

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

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

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


总结

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

也许您对下面的内容还感兴趣: