【回顾补充】
        在(六)中,小编也是和大家一起学习了很多干货啊,其中就包含一个非常重要的知识点——gcc;在安装环节,小编向大家介绍了gcc和g++。那么,在这里呢,小编还有一些要补充的内容,也就是gcc和g++的区别,补充了解即可。

        让我们从一个例子开始,现在有两个文件分别为main.c和main.cpp(分别用C语言和C语言写的),如果要用gcc编译,我们应该怎样做?

        对于main.c来说很简单,就是(六)gcc -o main main.c;那么,对于main.cpp我们应该怎么做呢?

        这就要说到小编要补充的知识点了。gcc和g++的区别一是gcc默认只链接C库,并不会链接C++的库;g++会默认链接c++标准库。gcc和g++的区别二是gcc编译.c文件按照C语言的方式编译;gcc如果编译.cpp文件,则按照c++的方式编译;g++不管是c文件还是cpp文件,都是按照c++的方式进行编译;即g++不管文件后缀,直接按照c++的语法规则处理。

        现在我们来解决上面的问题——对于main.cpp我们应该怎么做呢?答案是需要指定库。

        也就是执行一下命令

gcc -o main mian.cpp -lstdc++   

-l是库    stdc++是c++标准库    即这句命令就是指定库编译main.cpp文件。

为什么小编要说补充了解呢,因为大家在正常使用时就是gcc编译c文件,g++编译c++文件;

一、 进程管理命令
1、进程的概念
进程就是运行中的程序。

程序则是存储在磁盘上的二进制可执行文件。 

进程    程序
区别    是一个动态的过程    是一个静态的文件
简而言之,程序=指令+数据;进程=运行中的程序,也就是说,程序是存储在磁盘上的二进制可执行文件,而进程是内存上的,是运行中的程序(过程);

操作系统是通过管理进程,让进程运行来完成用户的任务的。

        操作系统对于进程的描述:PCB(进程控制块,进程描述符),记录一个进程执行过程中的相关的属性数据;PID是操作系统对进程的标识,每一个进程的PID都是不同的(唯一性);为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。

        上面这短话来自于《操作系统精髓与设计原理》这本书的P43,P74;有感兴趣的朋友可以自己看一下这本书。

        总结一下这一大段话的重点内容就在于两个概念——PCB和PID。

PCB:进程控制块,记录的是进程的相关属性信息;数据结构

PID:是操作系统对进程的标识;唯一的;

PCB相当于结构体,里面有一个成员是PID

2、进程管理的命令

(1)ps 默认显示与当前终端有关的进程信息;

参数 :- e -f -L

-f:显示更多的进程属性信息;

-e:显示系统中所有的进程信息;

-L:显示进程中的线程的ID;

2)pstree  以树状图形显示进程之间的关系;
(3)kill  结束或者挂起一个进程;

kill PID:杀死进程

kill -9 PID:强制结束进程

kill -STOP PID:挂起一个进程(Ctrl+z也可以进行挂起操作)

(4)pkill   结束一组同名的进程,即结束一组CMD相同的进程;


(5)jobs   显示当前终端的任务,显示后台执行的或者挂起的任务;
显示的结果分别是:任务号 任务的状态 任务的名称;

jobs -l:显示详细内容;

(6)fg   bg
将后台运行的或者挂起的进程挪到前台执行:fg %任务号

将挂起的进程唤醒到后台去执行:bg %任务号

(7)top   查看系统使用情况以及进程信息
        同Windows的任务管理器

二、用户管理命令(了解) 
(1)系统存储用户信息的位置/etc/passwd     存储用户的基本信息

UID:用户ID           GID:组ID;

(2)系统存储组信息的位置/etc/group

(3)系统存储用户密码信息的位置/etc/shadow

(2)添加用户

使用命令添加新用户:useradd newname

桌面添加:右键,设置,系统,用户,解锁,添加用户(Ubuntu建议用图形化界面添加用户)

(3)修改密码

先转成管理员 sudo su,然后passwd 用户名,最后exit

(4)删除用户

userdel 用户名(默认仅仅删除用户,不删除家目录,不删除家目录中的文件,比“如/home/stu 不要删除)

注意,Ubuntu可以使用该命令删除用户,但是必须保证该用户没有登录,比如关机之后随便进入一个用户,然后转成管理员,那么就可以删除的用户.

userdel -r 用户名(删除家目录底下的所有文件)(一般不建议删除此文件)

三、文件压缩与解压命令
1、tar   打包或解包
打包:tar cvf xxxx.tar(打包好的名字) 需要打包的所有文件名

各参数的意义如下:

c:创建包文件

f:指定目标为文件而不是设备;

v:显示详细过程;

t:显示包中的内容而不释放;

x:释放包中的内容

z:GNU版本新加的,使得tar有压缩和解压的功能;

解包:tar xvf xxx.tar(需要解包的名字)

 2、gzip   压缩或解压
压缩:gzip 打包的名字                eg:gzip my.tar (后缀名为.tar.gz)
解压:gzip -d xxx.tar.gz

3、tar   一步解压(重点)
正常全流程:打包 -- 压缩 -- 解压 -- 解包

一步解压之后:打包 -- 压缩 --- 一步解压

GNU版本之后tar命令可解压两种格式:tgz和tar.gz

tar zxf xxx.tar.gz

tar zxf xxx.tgz
 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐