
linux学习
文章平均质量分 77
luyafei_89430
这个作者很懒,什么都没留下…
展开
-
如何在linux安装软件
由于本人是Linux菜鸟,刚进入Linux世界还不久,现在想在Linux下进行程序的开发,但是我在自己的机器上装了一个虚拟机VMware,然后再虚拟机上装了CentOS。如果你在终端输入vi,那么是可以使用的,但是没有高亮的特性。通过上网查找知道,其实CentOS 中的VI默认只装了vim-minimal-7.x,这个默认的Vi是没有高亮等特性的,所以严格意义上讲,CentOS默认只安装了vi,而原创 2012-11-06 15:53:01 · 681 阅读 · 0 评论 -
Linux Shell常用技巧(一)
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty。其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做。如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代转载 2013-09-10 00:20:27 · 759 阅读 · 0 评论 -
Linux Shell常用技巧(三)
八. 流编辑器sed: sed一次处理一行文件并把输出送往屏幕。sed把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space)。一旦sed完成对模式空间中的行的处理,模式空间中的行就被送往屏幕。行被处理完成之后,就被移出模式空间,程序接着读入下一行,处理,显示,移出......文件输入的最后一行被处理完以后sed结束。通过存储每一行在临时缓冲区,然后在缓冲区中操作转载 2013-09-10 00:22:05 · 594 阅读 · 0 评论 -
Linux Shell常用技巧(四)
九. awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行“选择”动作。如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上。如果一个动作没有模板,所有被动作指定的行都被处理。 1. awk的基本格式: /> awk 'pattern' filename /> awk '{a转载 2013-09-10 00:23:58 · 631 阅读 · 1 评论 -
Linux Shell常用技巧(五)
十一. awk编程: 1. 变量: 在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义。变量的类型可以是数字、字符串。根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文。下面为变量的赋值负号列表:符号含义等价形式=a = 5a = 5+=a = a + 5a +=转载 2013-09-10 00:25:00 · 618 阅读 · 0 评论 -
Linux Shell常用技巧(六)
十二. 行的排序命令sort: 1. sort命令行选项:选项描述-t字段之间的分隔符-f基于字符排序时忽略大小写-k定义排序的域字段,或者是基于域字段的部分数据进行排序-m将已排序的输入文件,合并为一个排序后的输出数据流-n以整数类型比较字段-o outfile将输转载 2013-09-10 00:24:47 · 650 阅读 · 0 评论 -
Linux Shell常用技巧(七)
十六. 文件查找命令find: 下面给出find命令的主要应用示例: /> ls -l #列出当前目录下所包含的测试文件 -rw-r--r--. 1 root root 48217 Nov 12 00:57 install.log -rw-r--r--. 1 root root 37 Nov 12 00:56 testfile.dat转载 2013-09-10 00:26:42 · 621 阅读 · 0 评论 -
Linux Shell常用技巧(八)
十八. 和系统运行状况相关的Shell命令: 1. Linux的实时监测命令(watch): watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行。该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒执行一次"command",-d表示高亮发生变化的位置。下面列举几个在watch中常用的实时监视命令: /> wa转载 2013-09-10 00:27:38 · 675 阅读 · 0 评论 -
Linux Shell常用技巧(十一)
二十二. 交互式使用Bash Shell: 1. 用set命令设置bash的选项: 下面为set主要选项的列表及其表述:选项名开关缩写描述allexport-a打开此开关,所有变量都自动输出给子Shell。noclobber-C防止重定向时文件被覆盖。noglob-d在路径和文件名中,关闭转载 2013-09-10 00:30:58 · 659 阅读 · 0 评论 -
Linux Shell常用技巧(十二)
二十三. Bash Shell编程: 1. 读取用户变量: read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。下面的列表给出了read命令的常用方式:命令格式描述read answer从标准输入读取转载 2013-09-10 00:31:54 · 828 阅读 · 0 评论 -
shell判断文件是否存在
1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "$myPath"]; then 9. m转载 2013-09-10 00:04:21 · 697 阅读 · 0 评论 -
Linux 之 shell 比较运算符
运算符描述示例文件比较运算符-e filename如果 filename 存在,则为真[ -e /var/log/syslog ]-d filename如果 filename 为目录,则为真[ -d /tmp/mydir ]-f filename如果 filename 为常规文件转载 2013-09-10 00:08:45 · 612 阅读 · 0 评论 -
Linux Shell常用技巧(二)
七. grep家族: 1. grep退出状态: 0: 表示成功; 1: 表示在所提供的文件无法找到匹配的pattern; 2: 表示参数中提供的文件不存在。 见如下示例: /> grep 'root' /etc/passwd root:x:0:0:root:/root:/bin/bash operator:转载 2013-09-10 00:21:17 · 611 阅读 · 0 评论 -
Linux Shell常用技巧(九)
十九. 和系统运行进程相关的Shell命令: 1. 进程监控命令(ps): 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。转载 2013-09-10 00:27:37 · 676 阅读 · 0 评论 -
Linux Shell常用技巧(十)
二十. 通过管道组合Shell命令获取系统运行数据: 1. 输出当前系统中占用内存最多的5条命令: #1) 通过ps命令列出当前主机正在运行的所有进程。 #2) 按照第五个字段基于数值的形式进行正常排序(由小到大)。 #3) 仅显示最后5条输出。 /> ps aux | sort -k 5n | tail -5 stephen 1转载 2013-09-10 00:31:04 · 649 阅读 · 0 评论 -
Linux Shell高级技巧(五)
二十五、通过FTP下载指定的文件: 相比于手工调用FTP命令下载文件,该脚本提供了更为方便的操作方式。 /> cat > test25.sh #!/bin/sh #1. 测试脚本参数数量的有效性。 if [ $# -ne 2 ]; then echo "Usage: $0 ftp://... us转载 2013-09-10 00:18:46 · 711 阅读 · 0 评论 -
Linux Shell高级技巧(四)
十九、将文件的输出格式化为指定的宽度: 在这个技巧中,不仅包含了如何获取和文件相关的详细信息,如行数,字符等,而且还可以让文件按照指定的宽度输出。这种应用在输出帮助信息、License相关信息时还是比较有用的。 /> cat > test19.sh #!/bin/sh #1. 这里我们将缺省宽度设置为75,如果超过该宽度,将考虑折行显示,转载 2013-09-10 00:17:49 · 699 阅读 · 0 评论 -
Linux下g++和gcc之间的区别
gcc和g++都是GNU的一个编译器;这两者的区别:1.从源文件上看,对于文件后缀(扩展名)为.c的test.c文件,gcc会把它看成是C程序,而g++则会把它看成是C++程序;而对于文件后缀(扩展名)为.cpp的test.cpp文件,gcc和g++都会把它看成是C++程序;注意:虽然C++是C的超集,但是两者在语法要求上还是有区别的,C++的语法要求更严谨一些;2.从编译器角度看,在转载 2012-11-06 16:22:07 · 741 阅读 · 0 评论 -
linux下mv命令使用方法
linux下mv命令使用方法Category: linux, Author: admin, Popularity: 100% 1.作用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。2.格式mv [options] 源文件或目录 目标文件或目录3.[options]主要参数-i:转载 2013-07-04 09:33:28 · 839 阅读 · 0 评论 -
详细解析Linux scp命令的应用
Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程、从远程复制到本地是两种使用方式。这里有具体举例:==================Linux scp 命令==================scp 可以在 2个 linux 主机间复制文件;命令基本格式:scp [可选参数] file_source file_targ转载 2013-08-19 20:15:29 · 517 阅读 · 0 评论 -
linux tar命令参数及用法详解--linux打包备份命令
tar命令tar - tar 档案文件管理程序的 GNU 版本。下面将逐个介绍其含义tar [-cxtzjvfpPN] 文件与目录 ....常用参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同转载 2013-08-19 20:04:19 · 1197 阅读 · 0 评论 -
详细分析Linux df命令的使用方法
Linux df命令是学习Linux管理的一个应用的一个简单的命令,但是简单的命令有时会给我们以巨大的帮助,这里详细介绍一下Linux df命令的使用。df命令详细用法a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量 x:显示不是某一个档案系统的所有分割区磁盘使用量转载 2013-08-19 20:28:12 · 839 阅读 · 0 评论 -
四大命令助你玩转Linux进程管理
Linux是一个多用户、多任务的操作系统。在这样的系统中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位。为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实施对进程和资源的动态管理。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。在现实生活当中,许多网络黑客都是通过种植“转载 2013-08-11 20:07:06 · 1087 阅读 · 0 评论 -
每天一个linux命令(41):ps命令
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行转载 2013-08-11 21:32:53 · 820 阅读 · 0 评论 -
进程、轻量级进程(LWP)、线程
进程、轻量级进程(LWP)、线程进程:程序执行体,有生命期,用来分配资源的实体 线程:分配CPU的实体。 用户空间实现,一个线程阻塞,所有都阻塞。 内核实现,不会所用相关线程都阻塞。用LWP实现,用线程组表示这些线程逻辑上所属的进程。进程描述符进程描述符(简称pd, process descriptors),结构体是:task_struct转载 2013-08-12 20:05:00 · 1098 阅读 · 0 评论 -
Linux中查看进程的多线程
在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢?本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:在我的系统中,用qemu-system-x86_64命令启动了一个SMP的Guest,所以有几个qemu的线程,以此为例来说明。1. pstree 命令,查看进程和线程的树形结构关系。[Copy to clipboar转载 2013-08-12 19:55:43 · 576 阅读 · 0 评论 -
Linux多线程编程
前言线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题:是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2) 在主线称中起动线程1,打印“this is thread1”,并将g_F转载 2013-08-12 20:21:10 · 564 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。我们假转载 2013-08-12 20:24:33 · 644 阅读 · 0 评论 -
Linux Shell中的引号
Shell中引号分为三种:单引号、双引号和倒引号。(1)双引号由双引号括起来的字符,除$、倒引号(`Esc键下面的那个键)和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。 “$"表示变量替换,即用其后指定的变量的值来代替$和变量;倒引号表示命令替换;仅当 “\"后面字符是下述字符之一时, “\"才是转义字符,这些字符是: "$" "`" " " "转载 2013-09-10 00:10:01 · 704 阅读 · 0 评论 -
Linux Shell高级技巧(一)
该系列将重点介绍Linux Shell中的高级使用技巧,其主要面向有一定经验的Shell开发者、Linux系统管理员,以及Linux的爱好者。博客中的示例主要来源于网络和一些经典书籍,在经过本人的收集和整理之后,以系列博客的形式呈现给诸位。如果大家有更多更好的Shell脚本经典示例,且愿意在这里与我们一同分享的话,可以以邮件、博客回复等形式与我联系,我将会尽量保证该系列的持续更新。一、将输转载 2013-09-10 00:14:56 · 686 阅读 · 0 评论 -
Linux Shell高级技巧(二)
七、非直接引用变量: 在Shell中提供了三种为标准(直接)变量赋值的方式: 1. 直接赋值。 2. 存储一个命令的输出。 3. 存储某类型计算的结果。 然而这三种方式都是给已知变量名的变量赋值,如name=Stephen。但是在有些情况下,变量名本身就是动态的,需要依照运行的结果来构造变量名,之后才是为该变量赋值。这种变量转载 2013-09-10 00:15:58 · 670 阅读 · 0 评论 -
linux下c++的计时函数
方法一:#includeclock_t start = clock();需要计时的代码段clock_t end = clock();运行时间t = end - start; (单位ms)本方法有一定缺陷,在32bit机器上,运行时间较长达到(超过1小时),有可能出现计时错误。clock()文档说明如下:Note that the time can wrap ar转载 2013-09-03 19:31:28 · 9765 阅读 · 1 评论