
linux、shell
文章平均质量分 76
linux、shell
Qt上位机开发
从事上位机软件商业应用开发6年,精通Qt编程,熟悉C++语言、C语言、TCP/UDP编程、多线程编程
展开
-
ubuntu--实战小经验
目录1、ubuntu中出现E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?2、Ubuntu18.04虚拟机窗口无法自适应的问题3、Ubuntu18.04下载地址4、ubuntu下永久设置vi编辑器的行号和tab缩进5、stray ‘\240’ in program的错误6、ubuntu安装mysql及开通图形界面访问mysql权限7、suse linu原创 2021-01-09 13:24:09 · 749 阅读 · 4 评论 -
shell脚本
脚本的概念:如被大家熟知的python脚本、JavaScript脚本和游戏领域经常使用的lua脚本以及今天要说的linux下的shell脚本,它们的共同点就是不需要编译而可以被直接解释并且执行的一种程序。脚本语言也因此被称为动态语言。在linux下,默认的脚本语言是bash shell脚本。shell译为贝壳,在此处为linux外壳的意思。shell脚本可以理解为一些linux指令的集合。...原创 2019-03-23 16:38:42 · 526 阅读 · 1 评论 -
shell--实战小经验
目录1、判断当前文件是否存在目录或者文件2、判断目录下文件的个数3、对日期进行排序4、替换文件内某个字符串5、给文件中数据加上引号6、shell导出mysql数据表指定行数记录1、判断当前文件是否存在目录或者文件获取指定目录下的所有文件名path=/home/data files=$(ls ${path}) for filename in $files do判断文件是不是目录,是就跳过if [ -d ${path}/$filename ]then原创 2021-01-09 13:10:32 · 369 阅读 · 0 评论 -
shell提取字符串中的数字保存到变量中
1.提取数字到变量temp=`echo "helloworld20180719" | tr -cd "[0-9]" `echo $temp输出 201807192.重定向到文件echo "helloworld20180719" | tr -cd "[0-9]">mid.txtcat mid.txt输出20180719>表示 重定向输出到文件,如果...原创 2018-07-19 15:21:58 · 35847 阅读 · 2 评论 -
shell脚本备份mysql数据表(分表备份)
有时候不仅需要备份指定的数据表,还需要备份数据库中的所有数据表,直接上代码。#!/bin/bashHOST=127.0.0.1 #ip地址USER=LGL #数据库用户名PASSWORD=123 #数据库密码DATABASE=backup #数据库名字BACKUP_PATH=/home/lgl/b...原创 2018-04-05 17:24:32 · 2297 阅读 · 2 评论 -
shell脚本导出mysql数据表(单表导出)
平常报表时中经常需要自动备份mysql数据库中的各种数据表,来简单的说一下如何在shell脚本下连接mysql数据库并备份mysql数据表。#!/bin/bashHOST=127.0.0.1 #ip (127.0.0.1表示本机地址)USER=LGL #数据库用户名PASSWORD=123 #数据库密码DATABASE=backup #数据库...原创 2018-04-05 16:34:12 · 5411 阅读 · 2 评论 -
mysqldump的总结(数据表导出)
一、导出1、导出整个数据库mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名mysqldump -u root -p123456 db > file.txt2、只导出数据mysqldump -u 用户名 -p密码 -t 数据库名 > 导出的文件名mysqldump -u root -p123456 -t db > file.txt...原创 2018-04-10 16:19:53 · 534 阅读 · 0 评论 -
linux常用操作指令
好记性不如烂笔头,记录一下当初使用linux操作系统常用的一些指令。1:cd (改变work路径) cd workSpace(进入workSpace目录下) cd /home/wkfile (进入home目录下的wkfile目录) cd .. (返回上一层目录) cd ../.. (返回上一层的上一层)2、pwd (显示当前工作路径)3...原创 2019-02-28 22:58:43 · 613 阅读 · 1 评论 -
linux下线程同步之互斥锁
互斥锁是多线程同步的一种方式,当多个线程访问同一个变量时,最简单的方法就是使用一个互斥锁(mutex)保护这个共享变量,防止出现资源抢占的问题。下面是未加互斥锁时:#include<stdio.h>#include<pthread.h>pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; //静态初始化锁...原创 2019-07-03 01:08:45 · 364 阅读 · 0 评论 -
linux下线程同步之条件变量
在线程中,互斥锁提供互斥机制,而条件变量则提供信号的机制。条件变量作为线程间通信的一种同步机制,通常与互斥锁配合使用,通过让一个线程进入睡眠,直到另一个线程通知它醒来才会继续处理事情。以下是生产者消费者代码实现:A线程生产产品到共享数组,B线程从中消费。#include <stdio.h>#include <pthread.h>#include &...原创 2019-07-04 00:57:35 · 367 阅读 · 0 评论 -
无名(匿名)管道实现
无名管道没有文件名,存在于内存中。当进程结束后,管道也随之结束。管道的读端是有阻塞的,会等到有数据写入才返回。如果写段关闭,读端会马上返回。它无法保证数据的原子性。一般用于无名管道一般用于两个进程之间通信。以下是无名管道代码的基本实现。主要是运用fork()函数诞生子进程,并注意数组元素pipefd[1]写段,pipefd[0]是读端。pipe必须在fork()之前创建,才能...原创 2019-04-27 16:48:10 · 614 阅读 · 0 评论 -
有名管道的实现
有名管道有文件名,存在于文件系统中。在同一个系统中,数据可以在任意的进程间通信。写入端代码:#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#define FIFO "/tmp/fifo" //tmp目录下的fifo文件int...原创 2019-04-27 20:18:53 · 641 阅读 · 0 评论 -
玩一下linux下的消息队列
消息队列的特性:1)消息队列是一个消息链表,用户可以在消息队列中添加消息、读消息2)调用的进程必须拥有足够的权限才能对消息队列进行读、写操作3)消息队列可以按照类型来发现或者接收消息4)消息队列是IPC对象的一种。消息队列中可以通过唯一的ID来标识 (IPC对象是活动在内核级别的一种,是进程间通信的工具)接收端代码:#include <sys/t...原创 2019-04-27 22:36:31 · 360 阅读 · 0 评论 -
linux之共享内存是什么
共享内存直接操作物理内存,不需要拷贝,它通过向内核申请一块内存,映射到进程自身的虚拟地址空间中可以直接读写这个进程的空间,提高效率。可以通过ipcs -m 命令查看共享内存的有关信息。写操作:#include <stdio.h>#include <sys/shm.h>#include <sys/ipc.h>#include <str...原创 2019-04-28 23:14:52 · 802 阅读 · 0 评论 -
linux下多线程的创建和结构体传参
下面总结一下linux下多线程的创建和传参,这里的传的参数是结构体的地址,然后在子线程中输出所传结构体对象的值。实现过程非常简单,其中pthread_create()创建子线程,pthread_join()是等待阻塞子线程结束,pthread_exit()是子线程退出函数,typedef struct _config{}config;表示给结构体取别名。#include <st...原创 2019-07-01 23:26:47 · 2276 阅读 · 1 评论 -
linux下udp编程实现接收和发送图片文件
今天采用udp协议实现接收和发送图片文件,图片格式是bmp。udp提供面向事务的简单不可靠信息传送服务,具有较好的实时性,它是一种无连接的传输层协议,工作效率比TCP高,先介绍一下udp编程的步骤。udp客户端:1 、创建socket套接字2 、配置ip port3 、sendto()发送信息4 、close()关闭套接字udp服务端:1、 创建socket套接字...原创 2018-12-05 14:41:23 · 4775 阅读 · 2 评论 -
linux下tcp编程
今天比较闲,玩一下linux下的TCP编程,下面是具体实现以及对TCP编程的具体总结。服务端实现:#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<stdlib.h>#include<fcn...原创 2019-06-03 16:27:58 · 3942 阅读 · 0 评论 -
linux下实现 多客户端访问服务器
趁着还没想睡觉,写一下io多路复用的select实现,支持多个客户端访问服务器,以下程序还有点瑕疵,等有时间再改,不说了,太困了,先睡觉。服务器实现:#include <unistd.h>#include <sys/types.h> #include <sys/socket.h> #include <netin...原创 2019-06-03 23:32:49 · 845 阅读 · 0 评论 -
实现linux的ls命令
需要引入DIR结构体和dirent结构体。主要实现函数为opendir()、readdir()使用opendir打开目录,它返回一个指向DIR的指针。readdir()用于读取目录,返回一个指向dirent的指针。代码:/*C语言实现linux ls命令*/#include <sys/stat.h> #include <fcntl.h> #i...原创 2018-12-05 14:58:06 · 1469 阅读 · 0 评论 -
实现linux的cp命令
主要运用open()打开文件,运用read()读出文件的内容到缓冲区,write()将缓冲区的内容写入新的文件,来模拟实现linux命令的cp功能。注意可以通过使用lseek()函数来获取文件的大小。/*C语言实现linux cp命令*/#include <sys/stat.h> //open()所需头文件#include <sys/types.h> ...原创 2018-12-05 16:52:41 · 1469 阅读 · 0 评论 -
使用ubuntu18遇到的一些坑
换了新电脑,很多软件都在重新安装,其余的都一路无阻,唯独装这个Ubuntu,花了挺长时间,感觉每次装遇到的坑都不一样,属实难顶。第一坑:vim使用异常,插入模式时左右移动会显示无名字母百度查询到:sudo apt-get remove vim-commonsudo apt-get install vim故remove之。然后install vim。以为完事了,真轻松。结果提示无法安装vim--,建议更新update。那就update吧。然后sudo apt-get update。结果提原创 2020-11-27 10:38:10 · 347 阅读 · 0 评论 -
使用SecureCRT连接Ubuntu
1、ubuntu内启动ssh服务sudo /etc/init.d/ssh start如果没有,需要先安装然后再启动sudo apt-get install openssh-server2、输入ifconfig查看ip地址3、打开SecureCRT 协议选择ssh2,主机名输入 ip地址,端口号选22,点击连接4、连接成功后的状态5、解决中文显示编码选择选项中的会话选项,找到外观,把字符编码设置为UTF-8即可...原创 2020-07-27 22:07:42 · 1641 阅读 · 0 评论