IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux(Ubuntu)由浅入深 -> 正文阅读

[系统运维]Linux(Ubuntu)由浅入深

写在前面


首先,大家要知道我们为什么要学习Linux。通常对于一个项目而言,在开发期间,使用Windows居多,因为windows方便且适配度更高;而项目的上线必须是在Linux系统或Unix系统或其子系统。而对于用户来讲,个人通常使用Windows系统,方便用户操作;而企业用户则两者都会选择使用。Ubuntu可以说是Linux的发行版,接下来我们一起来学习Ubuntu的使用。加粗样式

一、什么是Linux,他的特点是什么


Linux,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。

Linux的特点:
1. 安全
2. 稳定性
3. 高效

二、系统(Linux操作系统,由三个重要的部分组成。内核、shell、文件系统)


1.内核Kernel

  • 管理硬件
  • 管理内存(内存分配)
  • 交互空间:从硬盘启动一部分空间,操作系统频繁进行换入换出达到内存够使用的效果。
  • 管理进程:
    程序,静态的
    线程,争对功能的,功能之间是独立的并且不受影响,使用的就是线程机制
    进程,启动程序成为进程,对应也是多进程每一个进程里边有多线程
  • 管理系统硬件和系统程序(驱动)
  • 管理守护进程——>运行在后台,特点:在主系统启动时启动,关闭时关闭
  • 管理文件系统

2.终端shell

shell是用户和内核之间的接口,充当解释翻译的功能,输入用户发送命令的界面,对应的就是终端。

  • 扮演解释者和翻译者

  • 将机器语言转换为人能识别的高级语言

     超级用户:#root
     普通用户:$root
     给管理员设置密码
       sudo passwd root(账户名)    
     切换账户
        普通切超级:su(sudo +命令可让普通用户使用超级用户的命令)
        超级切普通:exit
     查看当前shell版本号
        echo $SHELL 或者 ps
    

3.文件系统

为特定目的分组在一起的目录,子目录和文件的层次结构

  • 路径
  • 路径名:唯一区分文件
  • 相对路径:相对于当前路径,以点. 或者点点… 开头
  • 绝对路径:相对于根路径,以斜杆/ 开头

三、常用命令

1.clear命令——清屏


2.pwd 命令——显示当前工作目录


在这里插入图片描述

3.cd 命令——切换目录

	cd(进入具体目录)目录名
	       cd  ../目录名( . 当前目录  .. 返回上一级目录(父目录))
	       cd  /按照层级找到指定目录名(/根目录)
	       cd  回到家目录

4.touch命令——创建文件或者更新文件信息

	1.创建一个文件
	      touch b.txt
	2.创建多个文件(多个文件之间用空格分开,可以设置创建文件的位置)
	      touch c.txt /etc/test
	3.使用touch创建的必定是文件
	 	  touch game

5.mkdir命令——创建目录

	1.创建一个目录
		mkdir gam
	2.创建多个目录(多个目录之间用空格分开,可以设置创建目录的位置)
	    a.mkdir gam1 game1/gam2 (父目录不存在无法创建成功)
	    b.mkdir -p game1/game2 (-p 属性,可以创建多级目录,同时创建父目录和子目录)
    3.使用mkdir创建的必定是目录
    	mkdir d.txt

6.chmod命令——更改权限(文件和目录)

  • 文件和目录的三种权限

     r 读权限;	w 写权限;	x 执行权限
    
  • 在添加或者删除某个权限时

     u 拥有者;	g 同组人;	o 其他人;	a 所有人
    
  • 权限的十进制表示

     r = 4;	w = 2;	x = 1
    
  • chmod的具体应用

     1.其他人添加b.txt文件的读写权限
     	chmod o=rw b.txt
     2.拥有者删除b.txt的执行权限,同组人添加b.txt文件的读权限
     	chmod u-x,g+r b.txt
     3.拥有者,同组者,其他人拥有gam目录的读写,执行权限
     	chmod 777 gam
    

7.cp命令——复制文件和目录

  • -i 用来提示是否覆盖,如果没有相同文件或目录则不提示,有则提示 (空目录除外)
  • -r 指明复制的是目录
1.把源文件复制到目标目录
	cp a.txt b.txt
  如果b.txt不存在,则自动创建b.txt文件 
  如果b.txt 存在,则自动覆盖b.txt文件内容
  	cp -i a.txt b.txt
2.把源文件复制到目标目录(最后一个文件默认为目录)
	一个文件到一个目录
	   cp -i a.txt game1
	多个文件到一个目录
	   cp -i a.txt b.txt game1
3.把源目录复制到目标目录
    一个目录到一个目录
       cp -ri gam1 game1
    多个目录到一个目录
       cp -ri gam1 gam game1

8.mv命令——移动文件和目录(只有移动功能,没有覆盖旧文件的功能)

  • 目标文件或目录不存在时,mv命令的作用就是重命名
1.把源文件移动到目标文件
     mv a.txt h.txt (目标文件不存在时,命令的作用是重命名)
     mv h.txt z.txt (目标文件存在时,将源文件内容复制到目标文件,并将源文件删除)
     
2.把源文件移动到目标目录(目标文件不存在时,命令的作用是重命名)
     mv b.txt gam2
     mv c.txt e.txt gam2
3.把源目录移动到目标目录
     mv gam gam3 (目标文件不存在时,命令的作用是重命名)
     mv gam3 gam1

9.rm命令——删除文件和目录

  • -r 指明删除的是目录
1.删除一个文件
rm -i test
2.删除多个文件
rm -i test text
3.删除目录(空和非空都可以)
rm -ri gam1
4.rmdir 删除空目录

10.man命令——查看命令的使用手册

1.查看ls命令的使用手册
    man ls
命令功能
空格每次往下翻一个屏幕的内容
回车每次往下翻一行内容
b每次向上翻回一页
f每次向下翻一页
q退出当前手册界面
/stirng查找指定字符串,例如,/the 就是查找这个单词
n配合/string命令,可以快速调整跳到下一个指定字符串的位置
2.根据命令的部分关键词查找相关所有命令
      man -keyword tou

11.telnet命令——进行远程登录服务器

ifconfig, 查看ip地址
telnet远程登录服务器的要求: 
1. 本机有telnet客户端,可以使用telnet命令 
2. 服务器主机安装了telnet服务器端,并已经开启服务
3. 本机可以ping通服务器主机的ip地址

四、特殊字符

1. * 表示通配,可以代表0~n个字符:可以运用在改,移,查

    查:ls -l *.txt
    移:mv *.txt gam

2. ? 表示任意的一个字符

    ls a?.txt

3. ; 表示在一行语句中连续执行多个命令,命令之间使用分号进行分割

    date;cal;pwd  (date查询日期,cal查询日历, pwd查询当前位置)
    cal 7 2000 (cal 月 年 :可以查找某年某月的日历)

4. >和>> 输出重定向符号,将原本输出到命令行中的内容,重定向输入到另外一个地方。

a. 标准输出:屏幕,终端;
b. 输出重定向:将内容输出具体的某个文件
1.> 表示往文件中写入内容,是覆盖操作
  cat z.txt>ss.txt
2.>> 表示往文件中写入内容,是追加操作
  cat z.txt>>ss.txt

5. |管道符,可以把第一个命令的结果,交给第二个命令作为参数进行操作

  1.把当前日历通过打印机进行打印
     cal | lp
  2.查看/etc/passwd中的内容并筛选出briup相关的信息
     cat /etc/passwd | grep "briup"

五、 查看内容

1. ls命令——查找目录下的内容列表

	ls -a //显示隐藏文件和隐藏目录,也就是以点(.)开头的文件和目录
	ls -R  //递归显示目录中的内容
	ls -t //显示目录中的内容列表,并使用时间排序,默认是按着名字排序 
	ls -l//显示详细信息
	ls -a -l //这些参数可以多个一起使用 ls -al //参数可以分开也可以合在一起写
	ls -F //显示文件的类型,目录/ 可执行文件* 普通文件

2. cat命令——显示文件的内容

 1.显示文件中的所有内容
   cat z.txt ss.txt
 2.把a.txt和b.txt的内容合并到c.txt中
   cat a.txt b.txt>c.txt
 3.把文件内容置空 
   cat /dev/null>ss.txt
 4.:空操作 :>z.txt 

3. more命令

more和cat一样,也是查看内容的命令,但是more命令可以一点点的显示内容,而不是一次全显示出来
使用more命令查看/etc/passwd文件内容
more /etc/passwd

在这里插入图片描述

命令功能
空格每次往下翻一个屏幕的内容
回车每次往下翻一行内容
b每次向上翻回一页
f每次向下翻一页
q退出当前手册界面
v进入vi模式(只读)
	在vi模式下,输入:q 则退出vi模块回到more的查看模式 
	在vi模式下,使用/stirng,查找指定字符串,例如,/the 就是查找这个单词
	在vi模式下,n,配合/string命令,可以快速调整跳到下一个指定字符串的位置

六、vi 编辑器

  • vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。

  • vi编辑器有三种模式,命令模式,命令行模式,编辑模式

      1.命令模式,可以使用简单的命令进行文本内容的操作
      2.命令行模式,可以使用复杂点的命令进行文本内容操作
      3.编辑模式,可以直接编辑文本内容
    

1.直接使用vi打开文件,进入命令模式

echo "hello" > a 
vi a

在这里插入图片描述

这时候,不能直接编辑文件,但是可以简单的命令操作文件内容,
例如yy命令复制当前行,p命令 把复制内容粘贴到下一行。

2.在命令模式下,按冒号(shift+:)进入到命令行模式
在这里插入图片描述

命令行模式执行完命令自动返回到命令模式

3.在命令模式下,按命令i或者a或者o都可以进入到编辑模式
在这里插入图片描述4.编辑完成后,先按Esc进入到命令模式,再按(shift+:)进入到命令行模式,再输入wq,然后回车,表示 保存内容并退出

在这里插入图片描述5.命令模式

命令作用
x删除一个字符
dw删除一个单词
3dw删除3个单词
dd删除一行,光所在行
2dd删除2行,光标所在行和下一行
r替换一个字符,在某个字符上按r,然后再按另一个新字符,这样新字符就会替换原来的老 字符
cw先删除这个单词,再进入到编辑模式
cc先删除当前行,再进入到编辑模式
C大写C(shift+c),删除光标所在位置到当前行的末尾,然后进入编辑模式
yy复制当前行
yw复制一个单词
p粘贴复制的内容
~shift+~,把字符进行大小写转换
Jshift+j,把当前行和下一行进行连接
u撤销之前的操作
Gshift+g,将光标定位到文件末尾
nG将光标定位到文件第n行,这里n代表的是行号
/hello查找和hello的位置,然后使用n可以定位到下一个匹配的地方,从上往下查找
?test查找和test的位置,然后使用n可以定位到下一个匹配的地方,从下往上查找
空格将把光标移动到下一个字的字尾
w将光标移至下一个字的字首
b将光标移至上一个字的字首
h将光标左移
l将光标右移
j将光标下移
k将光标上移
如果是 wq! 则表示保存并强制退出

6.命令行模式

命令作用
:2,4d删除第2行到第4行
:2,4co5拷贝第2行到第4行之间的内容到第5行后面
:1,2m7移动第1行到第2行之间的内容到第7行后面
:w保存
:w newfile保存为另一个新文件,相当于另存为功能
:q退出
:q!强制退出
:wq!保存并强制退出
:set nu显示行号,set nonu 是取消行号
:5将光标直接定位到第五行
:r b.txt将b.txt文件内容插入到当前文件中
:1,$s/hello/test/g将文件中从1行开始,所有的hello替换成test

七、环境变量


  • 在操作系统中,可以设置一些环境变量(名字=值),将来在执行命令的时候,可以从指的环境变 量中获取到对应的值,也可以将来在我们写的程序中,通过环境变量的名字获取到这些值。

1.设置临时的环境变量的值


name=tom

在这里插入图片描述

2.使$符号,获取环境变量的值


echo &name

在这里插入图片描述

注意,这种临时这只环境变量的方式,一旦关闭命令创建,这个环境变量就失效了

3.设置用户级别的环境变量:把环境变量配置到用户家目录中的.bashrc中


vi .bashrc

在这里插入图片描述

4.保存退出后,使用 source 命令,让修改过的配置文件生效:


在这里插入图片描述

5.当前默认使用的bash,在这个窗口中切换到sh中,然后再查看sh中是否能使用刚刚配置的环境变量:


在这里插入图片描述
打开命令窗口默认使用的bash是父shell,又打开的sh是子shell,这时候
父shell中配置的环境变量没 有传递给子shell中,如果想让它进行传递,
需要使用export命令将配置好的环境导出。

6.先退回到bash中,使用vi打开.bashrc进行修改:


vi .bashrc

在这里插入图片描述

7.保存退出,再进行上面的测试过程:


在这里插入图片描述
可以看出,导出的环境变量已经在子shell中生效了
在这个实验操作中,一定要理解 source 命令和 export 起到的作用

8.如果想设置全局的环境变量,就是所以用户都可以访问到,那么就需要在 /etc/profile 中进行配置环境 变量,但是需要使用root权限才能修改,或者使用sudo命令。修改方式和上面一样。


建议一般在~/.bashrc中进行配置即可。
shell临时变量用户级别系统级别
bash命令窗口中直接设置,例如name=tom在~/.bashrc中配置在/ect/profile中配置
  • 当在命令窗口中执行命令的时候,例如执行ls命令,其实是运行了一个执行文件/bin/ls文件:

      ls -l /bin/ls
    

在这里插入图片描述

  • 问题:执行ls命令的时候,系统是怎么找到这个ls文件所在位置的?

  • 这里系统就是通过PATH这个环境变量来查找的,使用echo可以看到,PATH环境变量中配置的是一个个的 路径,多个路径之间使用冒号(:)分割
    在这里插入图片描述

      注意,必须是英文输入法下的冒号(:),windows系统中path
      变量的路径分割使用的是英文输入法 下的分号(;)
    

  • which 命令,可以查看某个命令所在的路径:
    在这里插入图片描述

      Windows系统中类似的命令 where,例如 where java
    
  • 临时把PATH的值设置为空之后,ls以及其他命令都是无法使用的,除非我们把当前路径切换到/bin目录 中,因为默认会在当前目录下查找是否有要执行的命令文件:
    在这里插入图片描述

      注意,cd切换目录是系统内置的默认命令,不受PATH变量配置的影响。
    

  • 这里只是把PATH临时设置为空了,只要关闭这个命令窗口,再打开一个新的窗口,PATH就恢复过来了

八、归档压缩


  • 归档,把若干个文件或目录简单的合并在一起,它并不对文件进行压缩,就是将多个文件前后连接 在一起,形成一个大文件。另外还会额外的添加一些信息,所以归档后的总文件的大小,反而往往比之前文件之和还要大一些。

  • 压缩,是一种通过特定的算法来减小计算机文件大小的机制,Linux中的文件压缩命令有多种,其 中最常用的命令就是gzip。


1.把指定文件和目录进行归档


tar -cvf work.tar a b c test1 test2

在这里插入图片描述

2.解除归档文件到指定目录


tar -xvf work.tar -C dir1

在这里插入图片描述

3.tar命令常用的选项及其作用


选项作用
-c建立新的压缩文件
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-x从压缩的文件中提取文件
-t显示压缩文件的内容
-z支持gzip解压文件
-j支持bzip2解压文件
-v显示操作过程
-k保留源有文件不覆盖
-C切换到指定目录
-f指定压缩文件

4.将归档好的文件进行压缩


gzip work.tar

在这里插入图片描述

5.在tar进行归档之后直接进行压缩


rm work.tar.gz 
tar -zcvf work.tar.gz a b c test1 test2

在这里插入图片描述

6.对gz文件进行解压,解压到当前目录


gunzip work.tar.gz

在这里插入图片描述

7.对tar.gz文件进行解压并解除归档


tar -zxvf work.tar.gz -C dir2

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:36:38  更:2021-08-03 11:38:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 22:55:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码