Linux基本命令及系统介绍

知识点1 Linux系统构建

1 Linux系统构建方式

对于Linux依赖于主机实现,须有构建Linux系统主要的方式**包含三种**:

1. 直接在物理机中构建Linux系统

   优点:可以直接访问物理存储器,效率较高。

   缺点:

   ​		1) 在每一个物理机中只能运行一个Linux系统;

   ​		2) 对于初学者不友好,不熟悉操作系统,使用不方便。

2. 在虚拟主机中构建Linux系统

   **实质:**在现有物理机所运行的操作系统(Windows、MAC OS)中,通过虚拟化服务(软件)启动Linux操作。

   优点:

   ​		1) 在一台物理机中运行多个Linux系统;

   ​		2) 多个Linux系统之间由于共享物理机的存储器,便于实现数据的交互。

   缺点:

   ​		1) 通过虚拟化服务实现,不能直接访问物理存储器,效率较低;

   ​		2) 不是所有的物理机都能够支持虚拟化服务。

3. **云端**构建Linux系统

   在云端搭建Linux系统,分配账号信号登录访问。

   通过相关云租赁系统。

   付费、远程访问。

2 搭建Linux开发环境

目前以虚拟化服务方式搭建,参考笔记:

知识点2 Linux系统介绍

1 Linux系统和Windows系统的区别

	1. Linux系统是一个免费开源系统,而Windows系统是收费不开源系统。
	
	2. Linux系统主要用于嵌入式设备;
	
	3. Linux系统的文件的管理是以根文件系统进行管理,而Windows系统是分区进行管理
	
	在Linux系统中,一切皆文件。为了能够方便所有文件的管理,使用文件系统进行管理。所有文件的起始路径为根路径(/)称为根目录,在根目录下按照目录中文件的作用分类管理。

在这里插入图片描述
在Windows系统,由多个分区管理,每一个分区由文件系统管理。

2 用户和Linux系统的交互

  1. 使用图形界面方式交互;

    可以和Windows一样,用户直接用过图形界面方式进行交互。主要针对普通使用者使用。
    
  2. 使用终端交互

    a)   终端的运行:
    
    ​        i.     通过搜索 "terminal" 鼠标点击启动; 也可将其固定到任务栏中,直接点击启动。
    
    ​       ii.     快捷键启动:Ctrl + Alt + t
    
    启动之后,终端的默认工作路径为用户家目录:/home/qf
    
    ​       iii.     在已启动终端中 --> 鼠标右键 --> "Open Terminal"
    
    启动后,终端的工作路径和原启动终端的当前工作路径保持一致。
    
    b)   终端关闭
    
    ​        i.     鼠标点击关闭按钮关闭
    
    ​       ii.     直接在终端中运行“exit”命令退出。
    

知识点3 shell命令

​ 在Linux系统中,为了方便用户和系统之间的交互,定义了很多的shell命令实现交互。

1 shell命令的三要素

​		命令包含:命令名称、命令的参数和命令的选项三要素。

​		命令名称:是一个可执行程序;

​		命令参数:在命令执行的时候,传递给命令的参数,一般表示命令的作用对象。

​		命令参数在命令之后,是由字符串表示,并且不以-开始。

​		命令选项:在命令包含多个功能项,由命令的选项选择某一个或者某一部分子功能。

命令选项在命令之后,由-开始的字符标识。

2 常用的shell命令

2.1 用户帮助命令

1. man

   功能:输出接口帮助信息

   格式: man page interface

   page:表示需要查询的interface所在的页;

      ```
    1  Executable programs or shell commands
   
   ​    2  System calls (functions provided by the kernel)
   
   ​    3  Library calls (functions within program libraries)
   
   ​    4  Special files (usually found in /dev)
   
   ​    5  File formats and conventions eg /etc/passwd
   
   ​    6  Games
   
   ​    7  Miscellaneous (including macro packages and conventions), e.g.
   
   ​      man(7), groff(7)
   
   ​    8  System administration commands (usually only for root)
   
   ​    9  Kernel routines [Non standard]
      ```

   中文为:

     ```
     1  可执行程序或 shell 命令
   
   ​    2  系统调用(内核提供的函数)
   
   ​    3  库调用(程序库中的函数)
   
   ​    4  特殊文件(通常位于 /dev)
   
   ​    5  文件格式和规范,如 /etc/passwd
   
   ​    6  游戏
   
   ​    7  杂项(包括宏包和规范), 如 man(7),groff(7), man-pages(7)
   
   ​    8  系统管理命令(通常只针对 root 用户)
   
   ​    9  内核例程 [非标准
   
   
     ```

   ​	可以设置值,表示在指定页中查询interface;可以忽略,表示从第1页开始向后顺序查询;

   ​	interface:表示需要查询的接口(在不同页中,表示不同类型的接口)

2. info

	功能:输出接口文档信息
	
	格式: info 接口

### 2.2 文件和目录管理命令

#### 2.2.1 目录管理命令

1. pwd

   输出当前工作目录的绝对路径

   格式:pwd

   ​	绝对路径:所谓的绝对路径,指的是以根目录(/)为起始目录的路径称为绝对路径。

   ​	相对路径:所谓的相对路径,指的是从某一个路径为起始路径。

   ​			**~/ :**用户家目录(/home/qf)

   ​			**./**:当前目录,在特点场合下./可以省略

   ​			**../** :上一级目录

2. mkdir

   创建空目录

   格式:mkdir [OPTION] DIRECTORY 

   ​		OPTION 命令选项,选择当前的功能项

   ​			无选项:表示省略选项

   ​					在创建的时候,目录不能存在,父目录要存在才可以创建成功(mkdir a)

   ​			有选项:

   ​					-p在父目录不存在的时候,用于递归创建。

   ​					mkdir -p a/b/c/d

   ​					-v输出创建的过程;

3. rmdir

   删除空目录

   格式    	rmdir [OPTION]... DIRECTORY...

   ​			入如果目录为空才能删除,否则目录不为空不能删除。

   ​			OPTION 命令选项,表示当前命令执行功能项

   ​				无选项:表示选项省略,只能删除空目录

   ​				有选项:

   ​					-p递归删除目录(有删除当前目录,递归删除当前目录的子目录);

   ​					-v输出删除过程。

4. cd

   改变当前工作目录

   格式 		cd 目录		目录可以使用相对路径和绝对路径。

   快捷键的使用:Tab 键

   ​		在命令行中使用Tab键:

   ​			1) 如果当前起始符,存在多个内容,其提示作用,将所有显示。

   ​			2) 如果当前起始符,只有一个内容,将内容补齐。

#### 2.2.2 文件管理命令

1. touch

   修改时间戳:将文件的访问和修改时间改变为当前时间。

   ​		如果文件已存在的时候修改时间戳;文件不存在的时候创建文件

   ​			格式:touch [OPTION]... FILE...

   ​			OPTION:

   ​				-a 修改access time(访问时间)

   ​				-m修改modification time(修改时间)

   ​				-c文件不存在的时候,也不会创建文件

2. rm 

   删除文件或者目录

   格式rm [OPTION]... [FILE]...

   1) 删除文件

   ​			rm 文件名    					其中文件名:可以使用绝对路径和相对路径

   ​			rm 1.txt							以相对路径删除当前目录中的1.txt

   ​			rm /home/qf/a/1.txt		  以绝对路径删除文件

   2) 删除目录

   ​		使用选项(-r、-d)删除

   ​		rm -r 目录路径				其中目录路径:可以使用相对路径和绝对路径

   ​		rm -r a							将a目录删除

   ​		rm -d a							只有a目录为空目录的时候才能够删除

   ​		rm -r /home/qf/a			  以绝对路径删除目录

3. ls

   查看文件或者目录信息

   格式ls [OPTION]... [FILE]...

   1) 查看文件

   ​		参数FILE 为文件名其中文件名:可以使用绝对路径和相对路径

   ​		ls [OPTION] 文件名

   ​						选项:

   ​								省略选项:指输出文件名称

   ​								-l输出文件详细属性参数

···

     分为三组,从左到右依次表示的是用户访问权限(rw-)、组用户访问权限(rw-)、其它用户访问权限(r--)
   
   ​    每一组由3个符号组成,依次表示
   
   ​      读权限:  r(1) = 可读;-(0) = 不可读
   
   ​      写权限:  w(1) = 可写;-(0) = 不可写
   
   ​      执行权限: x(1) = 可执行;-(0) = 不可执行
   
     110110100  在创建文件的时候,可以使用八进制数据设置文件的访问权限,0664
   
   1: 表示文件数
   
   qf qf  第1个qf是文件用户名;第二个qf是文件组名
   
   0  表示文件大小(字节数)
   
   12月 17 10:09 表示文件的最后修改时间
   
   1.txt  表示文件名称      
   ```

   

   2) 查看目录

   ​		ls 目录路径		其中目录的路径可以是绝对路径和相对路径

   ​				输出目录中可显示的文件名和目录名

   ​				如果目录名称省略,则表示访问当前目录中的内容

   ​		ls -l 目录路径

   ​				输出目录中可显示的文件名和目录名的详细信息

   ```
   total 16
   
   -rw-rw-r-- 1 qf qf 11761 12月 17 10:32 1.txt
   
   drwxrwxr-x 2 qf qf 4096 12月 17 10:09 b
   
   ls -a目录路径
   
   输出目录中所有的文件名称和目录名
   
   ls -al 目录路径
   
   输出目录中所有的文件名称和目录名的详细信息
   
   ls -A 目录路径
   
   输出目录中除了.和..的其它所有文件名和目录名。
   ```

   

4. cp

   拷贝文件或者目录

   格式cp [OPTION] SOURCE DEST

   a)   文件的拷贝

   ​        i.     单个文件拷贝

   ​				cp 源文件名 目标文件名				# 将源文件中数据拷贝到目标文件中;如果目标文件不存在则创建文件,如果存在则修改数据内容

   ​				cp 1.txt 2.txt						# 源文件拷贝1.txt 拷贝到目标文件 2.txt中

   ​       ii.     多个文件拷贝

   ​				将多个文件拷贝到一个目录中,此时文件名称不改变

   ​				cp 源文件1 源文件2 目录名

   ​				cp 	1.txt 2.txt b				# 将源文件1.txt和源文件2.txt拷贝到目录b中,目标文件名称依然为1.txt和2.txt,此时文件路径发生改变。

   ​	b)   目录的拷贝

   ​			对于目录文件的拷贝需要使用选项 -r 或者 -R

   ​			cp -r 源目录 目标目录

   ​						1) 如果目标目录不存在,则创建目标目录,并将源目录中的文件依次拷贝到目标目录中;

   ​						2) 如果目标目录已存在,则源目录中的数据直接拷贝到目标目录中。

5. mv

   移动或者修改文件名称

   格式mv [OPTION] SOURCE DEST

   a)   单个文件的移动

   mv 源文件名称 目标文件名称

   1) 源文件和目标文件在同一个目录中,文件名成不一致的时候,就相当于是对文件重命名。

   2) 源文件名和目标文件名不在同一个目录

		   目标文件名称可以目录,将源文件移动目录中(此时文件的路径改变,名称不变)。
		
		   目标文件名称可以文件名称(此时文件的路径发生改变,名称可以改变也可以不改变)。
	
	   b)   多个文件的移动
	
	   mv 源文件1 源文件2 ... 目标目录
	
	   mv 1.txt 2.txt a# 将源文件1.txt和2.txt移动到目标目录a中(注意:在移动文件之前目录a需要存在)。
	
	   c)   目录的移动
	
	   mv 源目录路径 目标目录路径
	
	   目标目录路径不存在,将源目录移动过程重命名路径;
	
	   目标目录路径已存在,将源目录中移动到目标目录中。

6. cat

   连接文件,并将文件内容在标准输出上显示

   a)   将文件数据在标准输出显示

   cat 文件名称

   b)   使用cat重定义数据流

   cat >> 文件名称

   将标准输入流重定向到文件,在输入的数据自动在写入到文件中。

7. tail

   输出文件末尾数据

   tail 文件名称# 默认输出文件末尾10行的数据;

   tail -n 行数 文件名    # 输出文件末尾指定行数的数据;

8. head

   输出文件起始数据

   head 文件名称# 默认输出文件的起始10行数据

   head -n 行数 文件名称# 输出文件起始指定行数的数据

9. ln

   创建链接文件

   所谓的链接的文件,指的是使用链接符号和存储器中的文件进行链接,使用链接符号访问所链接的文件。

   链接文件分为软链接和硬链接:

   a)   软链接:

   链接符号文件和源文件,在存储器中文件数据是独立存储空间,数据内容是相同。随着文件数据的修改,另外文件的数据会跟着修改。如果源文件删除,则符号链接文件断开链接。此时为普通文件

   ln sourcefile symbolfile

   b)   硬链接:

   链接符号文件和源文件,是同一个存储空间,符号链接文件所谓的文件数据,就是源文件存储空间的数据。

   在源文件删除的时候,符号链接不会断开。

   通过符号链接写文件,保存的时候,数据依然写入到源文件中。

   ln -s sourcefile symbolfilesourcefile(源文件)symbol(符号)file(文件夹)

### 2.3 文件的打包和压缩

#### 2.3.1 文件的压缩和解压缩的工具

1. gzip和gunzip

   在Linux系统中,压缩工具其中之一为 gzip,将文件压缩为后缀为.gz的文件;所对应的解压缩工具为gunzip。

   gzip 文件名称

   gunzip 压缩文件名称

2. bzip2 和 bunzip2

   在Linux系统中,压缩工具其中之一为 bzip2,将文件压缩为后缀为.bz2的文件;所对应的解压缩工具为bunzip2。

   bzip2 文件名称

   bunzip2 压缩文件名称

#### 2.3.2 tar 工具实现包管理

知识点4 软件包的管理

1 网络配置

1.1 常用的网络命令

1. ifconfig

   配置网络接口

   1) 输出网络配置信息

   ifconfig# 输出所有网卡配置信息

   ifconfig 网卡名称 # 输出指定网卡配置信息

   2) 开启和关闭网卡,需要使用管理权限操作

   sudo ifconfig 网卡名称 up/down# 开启或者关闭指定网卡

   3) 设置网卡参数

   sudo ifconfig 网卡名称 IP地址信息

2. ping 

   发送ICMP报文,检测网络是否可以通信。
 
	
   ### 1.2 设置虚拟机网络配置

   建议:在启动虚拟化服务软件的时候,使用管理员权限启动

在这里插入图片描述

   1. 将Ubuntu系统的网络适配器设置为桥接模式
3. 网络的配置

   a)   将网卡设置为使能模式

在这里插入图片描述

   b)   编辑连接项

   点击“Edit Connections...” 

   c)   添加并创建网络配置

   “Add” --> 在弹出的对话框中选择“Create...” 

   d)   设置网络分配的参数信息

   ​        i.     自动分配

在这里插入图片描述

   ​       ii.     手动分配

在这里插入图片描述

## 2 软件包的管理

​	在Linux系统中,软件包的管理主要有两种方式:

### 2.1 dpkg管理

类似于Windows系统中的离线包管理,不需要依赖于网络。使用dpkg 对离线包进行安装和卸载

dpkg -i 软件包的名称 # 安装软件包

dpkg -r 软件包名称

缺点:dpkg不能自动检测软件包的依赖关系,需要有使用者检测(比较麻烦)。

### 2.2 apt-get平台管理

类似Windows系统中应用软件管理工具,依赖于网络。在软件安装和卸载的过程中,自动检测依赖关系并安装和卸载。

1. 更新软件源(可选)。默认是Ubuntu官网软件源,可以更新为国内软件源

   软件源的文件路径:/etc/apt/sources.list

   可以通百度找的国内源进行替换。

2. 更新软件源索引文件

   sudo apt-get update

   根据软件源配置更新软件源的索引。方便下载的时候直接找的最有源下载,从而提高效率。

3. 下载并安装软件

   sudo apt-get 软件名称

   在整个下载的过程中,具体包含:

   1) 读取索引文件;

   2)读取依赖关系;

   3) 下载

   4) 解压安装并配置。

4. 卸载软件

   sudo apt-get remove 软件名称

   在卸载的过程中通用会检测依赖关系并完成卸载。

知识点5 程序的编辑、编译和执行

1 Ubuntu系统中的编辑器

在Ubuntu系统中常用的编辑器有gidget和vi。

而其中的gidet类型于Windows系统中的文本编辑器。重点分析vi编辑器

1.1 vim编辑器的安装和配置

vim实质是vi的升级版本

  1. vim的安装命令

    sudo apt-get install vim

  2. vim的配置

    其中vim的配置文件:/etc/vim/vimrc

    在文件末尾添加一行,内容:set number # 显示行号。

    sudo vi /etc/vim/vimrc

1.2 vim的工作模式

vim的工作模式包含三种模式:

1. 命令行模式(默认模式)

   通过快捷命令实现文本操作;

   常用的命令:

   按行进行操作

   yy复制1行

   numyy复制num行其中num表示行数

   p粘贴

   dd剪切1行

   numdd剪切num行其中num表示行数

   按照字符进行操作

   x删除光标所在字符

   r + 字符将光标所在字符替换为新的字符

   按照列进行操作

   连续多行插入相同的数据

   Ctrl+v    上下键选择行 Shift+i  输入插入的内容 Esc

   删除光标所在列

   Ctrl+v  上下键 delete

   自动对齐

   Ctrl+v  上下键 =

2. 插入模式:

   实现文本内容编辑和插入;

   1. 底行模式

   通过底行命令vim的操作;

   ### 1.3 vim实现程序的编写

   1. 启动vim并打开需要编辑的文件hello.c

   vi hello.c

   默认进入到vi的命令行模式;

3. 将vi从命令行模式切换为插入模式

   按键切换:

   i:从光标所在位置处开始插入;

   I:从光标所在行起始位置开始插入;

   a:从光标所在位置的下一个位置处开始插入;

   A:从光标所在行末尾位置开始插入;

   o:从光标所在行的下一行新增行开始插入

   O:从光标所在行的上一行新增行开始插入

   s:删除光标所在符号并开始插入

   S:删除光标所在行的内容,行不变,开始插入。

   1. 进入到插入后实现程序的编辑,在编辑完成后使用“Esc”键回到命令行模式

   2. 在命令模式中使用斜杠(/)或者冒号(:)进入底行模式

   :w写入(将编辑器中的数据写入到默认打开的文件中)

   :w 文件名称将编辑器中的数据写入到指定文件中(另存为)

   :q退出vi编辑器

   :wq写入并退出(将编辑器中数据写入到默认打开的文件中并退出编辑器)

   :r 文件名读取指定文件中的内容到编辑器中

2 程序的编译和执行

1. 程序的编译

   在Ubuntu系统中使用gcc编译器实现程序的编译,将C语言程序翻译为计算机所能识别的可执行程序。

   gcc 需要编译的一个或者多个.c文件进行编译,编译成功生成可执行程序a.out

   1. 程序运行

   可以使用相对路径和绝对路径方式运行

   ./a.out# 表示执行当前目录中的可执行程序a.out;并且此时的 ./ 不能省略
  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值