系列文章目录
第一章 openEuler快速入门(一)-openEuler操作系统介绍
文章目录
前言
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/dir2
cd ..
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 ../
拷贝目录:
cp dir1 dir2 -r
cp 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 hello
ln 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 dir
tar xvf dir.tar dir
打gz压缩包:
tar zcvf dir.tar.gz dir
tar zxvf dir.tar.gz
打bz2压缩包:
tar jcvf dir.tar.bz2 dir
tar 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 空闲 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 与进程相关的数字标识
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命令行基础操作使用。
转自:
https://blog.csdn.net/qq_34623621/article/details/127885150