LInux知识点记录

一、linux kill命令详解
        进程管理
二、使用过程的命令
       GNU工具链-GCC/GDB/MakeFile
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

https://tomasonl.lanzous.com/icq55yh       ------linux指导书下载地址

一、linux kill命令详解

1.命令格式:kill[参数][进程号]

2.命令功能:发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

3.命令参数:

-l 

信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a当处理当前进程时,不限制命令名和进程号的对应关系
-p指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u  指定用户 

关键点:

1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。

2、kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时,必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程,就会得到一个错误信息。

3、当kill成功地发送了信号后,shell会在按下Enter键使shell的命令提示符再次出现时屏幕上显示出进程的终止信息。

4、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。

 

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

HUP    1    终端断线                                            INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)                           TERM   15    终止
KILL    9    强制终止                                            CONT   18    继续(与STOP相反, fg/bg命令)
STOP    19    暂停(同 Ctrl + Z)

先用ps查找进程,然后用kill杀掉

命令:kill 3268

[root@localhost test6]# ps -ef|grep vim 

root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log

root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

[root@localhost test6]# kill 3268 

[root@localhost test6]# kill 3268               -bash: kill: (3268) - 没有那个进程

杀死指定用户所有进程

命令:kill -9 $(ps -ef | grep peidalinux)

kill -u peidalinux

输出:

[root@localhost ~]# kill -9 $(ps -ef | grep peidalinux) 

[root@localhost ~]# kill -u peidalinux

init是Linux系统操作中不可缺少的程序之一。由内核启动的用户级进程,始终是第一个进程pid=1。 不可以kill!

进程管理

Linux中一切皆文件
(文件:读写执行(查看,创建,删除,移动,复制,编辑),权限(用户、用户组)。系统:(磁盘,进程))
对于我们开发人员来说,其实Linux更多偏向于使用即可!

ps 查看当前系统中正在执行的各种进程的信息!
ps aux :
-a 显示当前终端运行的所有的进程信息(当前的进程一个)
-u 以用户的信息显示进程
-x 显示后台运行进程的参数!
对于我们来说,这里目前只需要记住一个命令即可 ps aux|grep 进程名字! 过滤进程信息!
ps -ef:可以查看到父进程的信息
# ps -aux 查看所有的进程
ps -aux|grep mysql
# | 在Linux这个叫做管道符  A|B
# grep 查找文件中符合条件的字符串!
ps -ef|grep mysql # 看父进程我们一般可以通过目录树结构来查看!
# 进程树!
pstree -pu
-p 显示父id
-u 显示用户组
结束进程:杀掉进程,等价于window结束任务!
kill -9 进程的id

二、使用过程的命令

1 解除占用 sudo rm /var/cache/apt/archives/lock&& sudo rm /var/lib/dpkg/lock

2 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

ps、lrzsz是一款在linux里可代替ftp上传和下载的程序。也很香

语法

拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup

使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src

使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data

从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@192.168.78.192::www /databack

从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@192.168.78.192::www

列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.78.192/www

选项

-v, --verbose 详细模式输出。

-q, --quiet 精简输出模式。

-c, --checksum 打开校验开关,强制对文件传输进行校验。

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。

-r, --recursive 对子目录以递归模式处理。

-R, --relative 使用相对路径信息。

-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。

--backup-dir 将备份文件(如~filename)存放在在目录下。

-suffix=SUFFIX 定义备份文件前缀。

-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。

-l, --links 保留软链结。

-L, --copy-links 想对待常规文件一样处理软链结。

--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。

--safe-links 忽略指向SRC路径目录树以外的链结。

-H, --hard-links 保留硬链结。

 

SSH方式

首先在服务端启动ssh服务: service sshd start 启动 sshd: [确定] 使用rsync进行同步

http://man.linuxde.net/rsync这是使用教程的网址

3.vim使用(https://blog.csdn.net/leon1741/article/details/54314053

正常模式:可以使用快捷键命令,或按:输入命令行。

· 插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。

· 可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可 视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。

· 替换模式:正常模式下,按R进入。

4.屏幕分辨率怎么都跳不回来

The System is running in low graphics mode

Your Screen, graphics card,and input device settings could not be detected correctly. You will need to configure this yourself

解决方法:

01. cd /etc/X11

02. sudo cp xorg.conf.failsafe xorg.conf

reboot重启就好了

 

linux下的ubuntu快速配置开发

1,语言汉语应用到系统

2,删除不用的软件

3,apt-get update&&apt-get upgrade

4,http://www.odoov.com/index.php?title=%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85Odoo

克隆Odoo12源码

git clone https://www.github.com/odoo/odoo --branch master --depth 1 --single-branch ./Odoo12

部署java项目

nohup java -jar XXX.jar > log.log 2>&1 &

-2020.05.05--

通常服务器采用LAMP或者LNMP :Apache、Nginx!!linux+Mysql+PHP。。。

-2020.05.08--

GNU工具链-GCC/GDB/MakeFile:

  1. GNU Compiler Collection(GCC):这里GCC纯指编译器,包括链接等其它操作----编译
  2. GNU Debugger(GDB):著名的gcc下调试工具---------调试
  3. GNU Make(Makefile):编译和构建工程的自动化工具,即Makefile------工程

GCC

yum install gcc
yum install g++
yum install gdb
默认情况下一般是安装好的。

gcc --version
gdb --version
可分别查看gcc和gdb的版本信息,

gcc --help  (man gcc)
gdb --help
g++ --help
或下面的命令获得关于gcc以及gdb的帮助信息。在使用gcc时偶尔会忘掉一两个参数,这几个命令就非常有用。

GCC的使用

(1)预处理pre-processing(2)编译compiling(3)汇编assembling(4)链接linking

gcc main.c

gcc基础语法gcc [option][filename]
option:
-o 确定编译出来的可执行文件的名称
-c 只编译不连接成可执行文件,由.c->.o
-g 生产调试工具(gdb)所必要的符号信息
-O 对程序进行优化编译和链接
-O2 优化比O好
-Idirname
-Ldirname
-lname
-static静态链接库文件 静态.a,动态.so
-Wall 生成所有警告信息
-w 不生成任何警告信息
-DYES 定义MACRO宏,等效于在程序中#define MACRO
 

GDB

GDB方面嘛,知道如何实现其他平台上IDE提供的功能同样也算做合格,比如设置断点,单步调试,step in,step over,监视变量,分析coredump文件回溯stack。如果能条件触发断点、attach到不同的进程啥的应该就算加分了吧。

GDB命令
启动GDB (1)gdb 文件名(2)gdb ->file 文件名
list 查看程序
break 函数名/行号 /文件名:行号/行号 if 条件
info break 查看所有的断点
delete 断点编号 删除
print 变量名 查看指定的变量
watch 变量名 对指定的变量进行监控
quit 退出


MakeFile

1.makefile规则:如何生成一个或者多个目标文件
targets(目标):prerequisites(依赖)
command(命令)
编写makefile文件所有的文件必须要以[TAB]键开始
2.make默认在当前目录下寻找makefile或者Makefile文件或 make -f 文件名
3.伪目标
.PHONY:clean
clean:
rm -f hello main.o fun1.o fun2.o
4.变量
obj=main.o fun1.o fun2.o
hello:(obj)gcc(obj)gcc(obj) -o hello
自动化变量
:代表所有的依赖文件:代表所有的依赖文件@:代表目标
$<:代表第一个依赖文件
5.注释 #
取消回显 @

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Thompson

相互学习,欢迎指正。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值