
Linux
文章平均质量分 68
seven-soft
十几年工作经验,软件破解、软件反编译、网络抓包;精通c、c++、java语言,熟悉eclipse、Microsoft Visual Studio、XCODE 开发环境,精通wince和Android开发。精通嵌入式CPU软件开发。
展开
-
Linux软件安装管理(视频)
软件安装是操作系统的常见操作。如何在Linux中使用命令安装软件?本教程将向您展示如何在Linux安装、卸载、升级等。课程包括RPM命令管理、yum在线管理、源包管理和脚本安装包。Linux(centos)-软件安装管理简介Linux(centos)-软件包管理-源码包Linux(centos)-软件包管理-RPM包和脚本安装包Linux(centos)-rpm包命名规则Linux转载 2017-07-30 14:49:42 · 983 阅读 · 0 评论 -
shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。如同 echo 命令,printf 命令也可以输出简单的字符串:$printf "Hello, Shell\n"Hello, Shell$printf 不原创 2016-06-06 08:52:19 · 469 阅读 · 0 评论 -
Shell echo命令
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式:echo arg您可以使用echo实现更复杂的输出格式控制。显示转义字符echo "\"It is a test\""结果将是:"It is a test"双引号也可以省略。显示变量name="OK"echo "$name It is原创 2016-06-06 08:51:44 · 258 阅读 · 0 评论 -
Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name原创 2016-06-06 08:51:08 · 802 阅读 · 0 评论 -
Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。原创 2016-06-06 08:50:30 · 279 阅读 · 0 评论 -
Shell注释
以“#”开头的行就是注释,会被解释器忽略。sh里没有多行注释,只能每一行加一个#号。只能像这样:#--------------------------------------------# 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写:# https://github.com/webfrogs/xcode_shell/blob/master/ipa-原创 2016-06-06 08:49:47 · 266 阅读 · 0 评论 -
Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total v原创 2016-06-06 08:49:08 · 236 阅读 · 0 评论 -
Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 1原创 2016-06-06 08:48:10 · 464 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表原创 2016-06-06 08:47:34 · 311 阅读 · 0 评论 -
Shell if else语句
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。1) if ... else 语句if ... else 语句的语法:if [ expression ]then Statem原创 2016-06-06 08:53:05 · 285 阅读 · 0 评论 -
Shell case esac语句
case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in模式1) command1 command2 command3 ;;模式2) command1 command2原创 2016-06-06 08:53:50 · 476 阅读 · 0 评论 -
Shell for循环
与其他编程语言类似,Shell支持for循环。for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。原创 2016-06-06 08:54:24 · 281 阅读 · 0 评论 -
Linux(centos)的入门课程I(视频)
以CentOS操作系统为例,为您带来一个Linux配置文件,系统安装,以及常用的命令。让你在轻松的气氛中感受Linux的美丽。Linux(centos)-shell概述Linux(centos)命令格式Linux(centos)历史命令Linux(centos)管道符Linux(centos)链接命令Linux(c转载 2017-07-10 07:46:39 · 737 阅读 · 0 评论 -
Shell文件包含
像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。Shell 中包含脚本可以使用:. filename或source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:原创 2016-06-07 06:32:39 · 247 阅读 · 0 评论 -
Shell输入输出重定向:Shell Here Document,/dev/null文件
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file这样,输出到显示器的内容就可以被重定向到文件。原创 2016-06-07 06:31:48 · 418 阅读 · 0 评论 -
Shell函数参数
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...带参数的函数示例:#!/bin/bashfunWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second原创 2016-06-07 06:31:15 · 264 阅读 · 0 评论 -
Shell函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:function_name () { list of commands [ return value ]}如果你愿意,也可以在函数名前加上关键字 function:fu原创 2016-06-07 06:30:28 · 308 阅读 · 0 评论 -
Shell break和continue命令
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。break命令break命令允许跳出所有循环(终止执行后面的所有循环)。下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。#!/bin/bashwhile原创 2016-06-06 08:56:19 · 321 阅读 · 0 评论 -
Shell until循环
until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。until 循环格式为:until commanddo Statement(s) to be executed until command is truedone原创 2016-06-06 08:55:42 · 266 阅读 · 0 评论 -
Shell while循环
while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:while commanddo Statement(s) to be executed if command is truedone命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true原创 2016-06-06 08:55:05 · 570 阅读 · 0 评论 -
Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量。定义变量定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help原创 2016-06-06 08:46:51 · 444 阅读 · 0 评论 -
第一个Shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。输入一些代码:#!/bin/bashecho "Hello World !"“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。原创 2016-06-06 08:46:14 · 241 阅读 · 0 评论 -
Linux网络通信工具
现在是一个互联网的时代,你不可避免的要和其他用户进行远程交流,连接到远程主机。ping 命令ping 命令会向网络上的主机发送应答请求,根据响应信息可以判断远程主机是否可用。ping 命令的语法:$ping hostname or ip-address如果网络畅通,很快就可以看到响应信息。例如,检测是否可以连接到谷歌的主机:$ping google.com原创 2016-06-05 08:00:12 · 595 阅读 · 0 评论 -
Linux进程管理
当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰。这个特殊的环境就称为进程。每个 Linux 命令都与系统中的程序对应,输入命令,Linux 就会创建一个新的进程。例如使用 ls 命令遍历目录中的文件时,就创建了一个进程。简而言之,进程就是程序的实例。系统通过一个五位数字跟踪程序的运行状态,原创 2016-06-05 07:59:33 · 236 阅读 · 0 评论 -
Linux管道和过滤器
有时候,我们可以把两个命令连起来使用,一个命令的输出作为另一个命令的输入,这就叫做管道。为了建立管道,需要在两个命令之间使用竖线(|)连接。管道是Linux进程之间一种重要的通信机制;除了管道,还有共享内存、消息队列、信号、套接字(socket) 等进程通信机制。管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第原创 2016-06-05 07:58:56 · 321 阅读 · 0 评论 -
Linux打印文件和发送邮件
通过前面的介绍,相信你对 Linux 的命令和特性有了一个基本的认识,本节将介绍如果打印文件以及发送邮件。文件打印如果你希望打印文本文件,最好预先处理一下,包括调整边距、设置行高、设置标题等,这样打印出来的文件更加美观,易于阅读。当然,不处理也可以打印,但是可能会比较丑陋。大部分的Linux自带了 nroff 和 troff 两个强大的文本格式化工具,不过比较老旧,使用的人很少原创 2016-06-05 07:58:07 · 1139 阅读 · 0 评论 -
Linux环境变量
在Linux中,环境变量是一个很重要的概念。环境变量可以由系统、用户、Shell以及其他程序来设定。变量就是一个可以被赋值的字符串,赋值范围包括数字、文本、文件名、设备以及其他类型的数据。下面的例子,我们将为变量 TEST 赋值,然后使用 echo 命令输出:$TEST="Linux Programming"$echo $TESTLinux Programming注意:原创 2016-06-05 07:57:29 · 282 阅读 · 0 评论 -
Linux文件权限和访问模式
为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限:所有者权限:文件所有者能够进行的操作组权限:文件所属用户组能够进行的操作外部权限(其他权限):其他用户可以进行的操作。查看文件权限使用 ls -l 命令可以查看与文件权限相关的信息:$ls -l /home/amrood-rwxr-xr-- 1 amrood users原创 2016-06-05 07:56:50 · 439 阅读 · 0 评论 -
Linux目录
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息。所有的文件,包括普通文件、设备文件和目录文件,都会被保存到目录中。主目录登录后,你所在的位置就是你的主目录(或登录目录),接下来你主要是在这个目录下进行操作,如创建文件、删除文件等。使用下面的命令可以随时进入主目录:$cd ~$这里 ~ 就表示主目录。如果你希望进入其他用户的主目录,可以使用下面的命令:$c原创 2016-06-05 07:56:10 · 208 阅读 · 0 评论 -
Linux文件管理
Linux中的所有数据都被保存在文件中,所有的文件被分配到不同的目录。目录是一种类似于树的结构,称为文件系统。当你使用Linux时,大部分时间都会和文件打交道,通过本节可以了解基本的文件操作,如创建文件、删除文件、复制文件、重命名文件以及为文件创建链接等。在Linux中,有三种基本的文件类型:1) 普通文件普通文件是以字节为单位的数据流,包括文本文件、源码文件、可执行文原创 2016-06-05 07:55:28 · 215 阅读 · 0 评论 -
10分钟掌握Linux vi编辑器常见命令的使用,最简单的vi编辑器教程
Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能。vi 是十年磨一剑的产品,虽然命令繁多,并且大多数功能都是依靠键盘输入来完成,但是一旦你熟悉后,会发现 vi 的功能和效率是其他图形界面编辑器无法比拟的。Vim 是 Vi improve原创 2016-06-05 08:01:14 · 4149 阅读 · 0 评论 -
Linux文件系统
文件系统就是分区或磁盘上的所有文件的逻辑集合。文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。不同Linux发行版本之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录结构基本上都是一样的。文件系统有多种类型,如:ext2 : 早期linux中常用原创 2016-06-05 08:01:53 · 322 阅读 · 0 评论 -
Linux文件存储结构,包括目录项、inode、数据块
大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。数据块:包含文件的具体内容。先说inode理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节(相当于0.5原创 2016-06-05 08:02:32 · 1642 阅读 · 0 评论 -
什么时候使用Shell
因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化。因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。因此,之所以要使用Shell脚本是基于:简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。开发容易:可以在短时间内完成一个功能强大又妤用的脚本。原创 2016-06-06 08:45:36 · 405 阅读 · 0 评论 -
Shell脚本语言与编译型语言的差异
大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。编译型语言很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。运行程序时,直接读取目标代码(object code)。由于编译后的目标原创 2016-06-06 08:44:57 · 328 阅读 · 0 评论 -
几种常见的Shell
上面提到过,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。bashbash是Linux标准默认的shell,本教程也基于bash讲解。bash由Brian Fox和Chet Ramey原创 2016-06-06 08:44:13 · 333 阅读 · 0 评论 -
Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大原创 2016-06-06 08:43:21 · 320 阅读 · 0 评论 -
Linux信号机制与信号处理
信号(signal)是Linux进程间通信的一种机制,全称为软中断信号,也被称为软中断。信号本质上是在软件层次上对硬件中断机制的一种模拟。与其他进程间通信方式(例如管道、共享内存等)相比,信号所能传递的信息比较粗糙,只是一个整数。但正是由于传递的信息量少,信号也便于管理和使用,可以用于系统管理相关的任务,例如通知进程终结、中止或者恢复等。每种信号用一个整型常量宏表示,以SIG开头,原创 2016-06-05 08:05:11 · 344 阅读 · 0 评论 -
Linux系统日志及日志分析
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。 Linux系统内核和许多程序会产生各种错误信息、警告信原创 2016-06-05 08:04:37 · 1100 阅读 · 0 评论 -
Linux系统性能分析
这篇教程的目的是向大家介绍一些免费的系统性能分析工具(命令),使用这些工具可以监控系统资源使用情况,便于发现性能瓶颈。系统的整体性能取决于各种资源的平衡,类似木桶理论,某种资源的耗尽会严重阻碍系统的性能。Linux中需要监控的资源主要有 CPU、主存(内存)、硬盘空间、I/O时间、网络时间、应用程序等。影响系统性能的主要因素有:因素说明原创 2016-06-05 08:04:00 · 252 阅读 · 0 评论