
Linux
文章平均质量分 56
liyuxia_1991
这个作者很懒,什么都没留下…
展开
-
Linux系统下不同机器之间拷贝文件的方法
一、将本地文件拷贝到远程机器:scp /home/administrator/news.txtroot@192.168.6.129:/etc/squid其中:/home/administrator/ 本地文件的绝对路径news.txt 要复制到服务器上的本地文件root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)192.168.6.129...转载 2020-09-29 16:49:03 · 3163 阅读 · 1 评论 -
Samba共享文件系统配置
Samba共享文件系统配置使用putty或secure CRT实现Windows与Linux之间的文件传输很不方便,使用samba这个软件,可以把Linux下的文件夹映射到window下直接访问。具体操作步骤如下:一、linux系统安装Samba服务端Sudo install samba samba-client cifs-utilsSudo apt-get install sambaSudo apt-get install smbfs二、创建共享文件夹Mkdir /home/t原创 2020-09-29 16:44:10 · 723 阅读 · 1 评论 -
Qt获取设备环境变量
1. 运行设备上有T_ROOT这个环境变量,获取环境变量方法如下:QString path = QProcessEnvironment::systemEnvironment().value("T_ROOT"); //获取名为T_ROOT的环境变量path.replace(QRegExp("\\\\"),"/"); //将‘\’替换成‘/’qDebug() <<...原创 2019-11-26 15:49:54 · 4026 阅读 · 0 评论 -
Qt中执行多条shell语句
在Qt中执行一个shell指令常用QProcess类来完成,常见的用法示例如下: QProcess process; process.start("find /opt/ -name ts_calibrate"); //str是需要执行的命令 flag = process.waitForFinis...原创 2019-11-26 15:38:58 · 3111 阅读 · 0 评论 -
Linux下常见压缩包的解压方法
1. gz压缩格式这是linux下最常见的压缩格式,例如:jdk-7u75-linux-x64.tar.gz解压示例:tar zxf jdk-7u75-linux-x64.tar.gz2. bz2压缩格式例如:android-ndk64-r10b-linux-x86_64.tar.bz2解压示例: tar xf android-ndk64-r10转载 2017-10-13 17:22:39 · 701 阅读 · 0 评论 -
Linux shell sed命令在文件行首行尾添加字符
昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file在每行的头添加字符,比如"HEAD",命令如下:sed 's/^/HEAD&/g' test.file在每行的行尾添加字符,比如“TAIL”,命令如下:sed 's/转载 2017-10-13 17:46:59 · 36387 阅读 · 1 评论 -
Linux 下expect 环境安装及简单测试
expect是交互性很强的脚本语言,可以帮助运维人员实现批量管理成千上百台服务器操作,是一款很实用的批量部署工具!expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装下载:expect-5.43.0.tar和tcl8.4.11-src.tar下载地址:https://pan.baidu.com/s/1kVyeLt9 提取密码:af9p将ex转载 2017-10-13 17:54:21 · 2257 阅读 · 0 评论 -
Busybox上定时执行任务的实现方法
在busybox平台上实现定时执行任务功能,根据不同情况总结两种使用方法。一、利用crond完成crond是一个服务,一个守护进程。crond 是linux用来定期执行程序的命令,crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。按照网上查找的资料执行时经常会碰...原创 2018-03-13 16:05:31 · 2792 阅读 · 0 评论 -
Linux 内存管理及手动释放linux cache内存
总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑。而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下。最后,还附上我对这方法的意见,欢迎各位一同讨论。当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的...转载 2018-03-13 16:41:09 · 8670 阅读 · 0 评论 -
Linux-内存管理机制、内存监控、buffer/cache异同
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存(buffer/cache),利用内存读写的高速特性来提高Linux系统的数据访问性能。在这方面,区别于Windows的内存管理。本文从Linux的内存管理机制入手,简...转载 2018-08-12 08:49:27 · 506 阅读 · 0 评论 -
正确计算linux系统内存使用率
图中的例子很典型,就是:多数的linux系统在free命令后会发现free(剩余)的内存很少,而自己又没有开过多的程序或服务。对于上述的情况,正确的解释是:linux的内存管理机制与windows的有所不同。具体的机制我们无需知道,我们需要知道的是,linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化。内核会把剩余的内存申请为cached,而cached不属于free范畴。当...转载 2018-08-12 09:03:14 · 12396 阅读 · 0 评论 -
Linux 下设置IP、网关、DNS
Linux下命令行设置IP、网关和DNSip 和子网掩码 执行这个命令:ifconfig eth0 192.168.1.123 netmask 255.255.255.0网关的设定执行这个命令: route add default gw 192.168.1.3 把这两个命令写到/etc/rc.local 或者/etc/rc.d/rc.local 里面都可以的,这样就可以永久保存/e转载 2017-10-13 17:20:17 · 823 阅读 · 0 评论 -
Linux 下文件完全复制(属性不变)
在linux中怎样用命令完全拷贝一个目录下的所有文件(包括隐藏文件以及文件夹)到另外一个目录下,并且使得被复制的所有文件的属性等完全保持不变? 注意,连原来的文件夹中所有的文件的属性、链接等都不能更改。也就是说,要建立原来文件夹的一份一模一样的拷贝!&n在linux中怎样用命令完全拷贝一个目录下的所有文件(包括隐藏文件以及文件夹)到另外一个目录下,并且使得被复制的所有文件的属性等完全保持不转载 2017-10-13 17:15:47 · 42838 阅读 · 0 评论 -
Qt 文件另存为功能
最近在导出设备运行日志时,为避免每次导出的日志文件名相同,需要把最新日志文件加上当前时间保存。实现方式非常简单: QString fileName = "/dev/shm/XXX.log"; QFile file(fileName); QFileInfo fileInfo(fileName); QString dstPath原创 2017-10-19 13:24:47 · 3745 阅读 · 0 评论 -
Linux 上使用svnprintf 函数时函数返回值
本人最近在Qt上开发程序时,应用程序在运行过程中crash,指针最后停在 svnprintf函数返回值指向的数组内容,debug 跟踪发现 vsnprintf 函数返回值远大于限制的字符长度 和 分配的buffer 长度。如下图:查阅百度百科:snprintf(),为函数原型int snprintf(char *str, size_t size, const char *forma原创 2017-10-19 13:53:13 · 716 阅读 · 3 评论 -
QT 程序中对Linux设备内存的监控
最新在QT上开发应用程序的过程,需要对应用程序运行过程中Linux设备的内存使用率等进行显示,在Linux设备内存占用较高时给用户提示! 由于本人对Linux系统任务管理器的原理,不能直接从任务管理器中得到Linux 设备CPU的占用率,于是就采用间接办法来获取CPU信息。 Linux系统信息一般都能在/proc/目录下查看cpuinfo,meminfo文件来获取,通过原创 2017-10-19 19:01:26 · 1646 阅读 · 0 评论 -
Linux 下利用corn添加定时任务
最近在开发某个应用程序时需要多次测试,但是每次编译源代码的时间较长,导致开发效率很低。所以考虑在服务器上Linux系统中添加一个定时任务,每天自动执行某个脚本实现自动编译。实现方法如下:在LINUX终端中先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 ./linux_run_all.sh 内容到文件里面 ,然后保存退出。在终端中输入 crontab -l原创 2017-10-13 16:47:15 · 6861 阅读 · 0 评论 -
linux 下利用grep查找字符串
Linux查找文件内容或字符串的常用命令,非常实用。 1.从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in2.从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名3.查找时不区分大小写:原创 2017-10-19 19:39:31 · 7272 阅读 · 0 评论 -
段错误调试工具-core dump
一、前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来. gdb: 有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他转载 2017-10-21 11:42:20 · 879 阅读 · 0 评论 -
core dump 分析程序异常
最近在Linux上开发Qt 应用程序时,出现应用程序不定时发生异常终止,检查代码内容没有查出问题,后来采用core dump 这种方式能准确定位到问题。在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“core memory”。(线圈的单词应该是coil,呵呵)如今,半导体工业澎勃发展,已经没有人用线圈当内存了,不过转载 2017-10-21 10:27:31 · 1319 阅读 · 1 评论 -
没有core dump文件如何定位问题
最近在 Linux Qt上做开发,发现程序异常crash,用core dump文件也没有记录下来有用的信息,如下图:定位程序异常crash 的过程百般痛苦,虽然最后是用 把core dump文件大小的限制取消,完整记录程序崩溃的堆栈信息结合gdb 定位到问题,但发现网友分享的 不用core -dump 定位bug的方法,故记录下来,以备他日试用。有时写c/c++程序原创 2017-10-21 11:47:49 · 2966 阅读 · 0 评论 -
Linux下使用du命令查看文件或目录占用磁盘空间大小
du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。du命令用来查看目录或文件所占用磁盘空间的大小。常用选项组合为:du -sh 一、du的功能:`du` reports the amount of disk space used by the spe转载 2017-10-12 20:18:03 · 1119 阅读 · 0 评论 -
Linux shell判断文件或目录是否存在
#!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi #这里的-d 参数判断$myPath是否存在 if转载 2017-10-13 17:05:17 · 15034 阅读 · 0 评论 -
删除vim打开文件末尾的^M
最近在Windows下写了一个shell脚本,拿到Linux下执行的时候一直提示找不到文件。但是文件明明就存在,在Linux用vi/vim 打开脚本,文件内容不为空,仔细检查脚本内容也没有出错,只是每行 末尾 多出来一个^M 符号。去掉这个^M 符号后就可以正常运行了。发现这个问题之后,在网络上搜索去除^M 以及找到^M出现的原因; 经过百度,发现:1. 在windows下的文原创 2017-10-18 10:27:35 · 2439 阅读 · 1 评论