Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

3种Linux Shell自动交互的方法

3种Linux Shell自动交互的方法

一、背景shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell的自动交互功能,本文收集了较常用的三种自动交互方法,并进行了比较和总结。二、需求需求1:从一台Linux机器ftp登陆到另一台Linux机器,进...
Linux内核VLAN学习笔记

Linux内核VLAN学习笔记

一、前言前几天做协议划分vlan的时候看了一些Linux内核,了解不深,整理了下vlan相关部分的学习笔记,如果有理解上的错误,欢迎指正,以下代码来自于2.6.14-triny(PPC架构)。VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。IEEE于1999年颁布了用以标准化VLAN实现方案的802.1Q协议标准草案。二、概述...
Linux内核引导参数精选

Linux内核引导参数精选

==================概述==================内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关。内核源码树下的 Documentation/kernel-parameters.txt 文件列出了所有可用的引导参数,并指明了处理每个参数的具体文件。注意:对于模块而言,引导参数只能用于直接编译到核心里的模块,格式是使用"模块名.参数=值"模式指定,比如: usbcore.blinkenlights=1 。动态加载的...
新手指南 Linux编译内核操作流程

新手指南 Linux编译内核操作流程

提要: 编译内核主要是通过内核实现某些功能,比如iptables 需要内支持;所有的硬件的支持也是通过内核实现的;本文只是简单的给初学者讲一下编译内核的流程; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 正文 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 一、为什么要编译内核; 有时我们为了实现某些功能,比如对i...
Linux 多线程编程---- 信号量的使用

Linux 多线程编程---- 信号量的使用

信号是E.W.Dijkstra在二十世纪六十年代末设计的一种编程架构。Dijkstra的模型与铁路操作有关:假设某段铁路是单线的,因此一次只允许一列火车通过。信号将用于同步通过该轨道的火车。火车在进入单一轨道之前必须等待信号灯变为允许通行的状态。火车进入轨道后,会改变信号状态,防止其他火车进入该轨道。火车离开这段轨道时,必须再次更改信号的状态,以便允许其他火车进入轨道。在计算机版本中,信号以简单整数来表示。线程等待获得许可以便继续运行,然后发出信号,表示该...
Java Native Method初涉

Java Native Method初涉

今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解。一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的...
Java Web开发常遇到的东西

Java Web开发常遇到的东西

Java Web开发中,有许多共通的问题,是开发人员在开发过程中一定会遇到的,需要处理的问题:1. 乱码问题为何会出现乱码问题?既然有乱码问题,肯定是由于编码设置的不一致导致的。在Web开发 过程中,涉及以下一些编码设置,客户端参数的编码设置,Web服务器的编码设置,服务器端应用程序的编码设置,数据库的编码设置等。只要这四处的编码设置 有不相同的,就可能会出现乱码问题。开发人员在进行开发之前,不防先了解一下这四个编码在哪里设置,当前自己的项目设置是怎么样的...
在Windows中编译Linux/Unix环境代码?

在Windows中编译Linux/Unix环境代码?

转自:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html 很多经典算法往往是用C++在linux下实现的,对长期从事Windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫。今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享。第一步:下载安装新版Cygwin软件。该软件的官方网站:http://cygwin.com/ Cygwin软件的作用是让Windows拥有...
Linux Kernel 2.6进程调度的分析

Linux Kernel 2.6进程调度的分析

第一章Linux Kernel 2.4存在的不足 根据对2.4进程调度的分析,我们总结出看出2.4内核总的特点就是: 内核调度简单有效 内核不可抢占 但是经过对2.4内核的分析,我们也明显看到了它的缺点: 1.调度算法复杂度是O(n),与系统负荷关系较大。而且调度算法在设计上也有缺陷,比如: (1) 2.4进程调度只设置了一个进程就绪队列,这样有的进程用完了自己时间片以后还要呆在就绪进程队列里面。这样这个进程虽然在这一轮调度循环里面已经无法取得...
基于Linux的USB从设备驱动研究

基于Linux的USB从设备驱动研究

0 引言 USB是英文Universal Serial Bus的缩写,意为通用串行总线。USB是一种快速、双向、同步、低成本、动态可连接的串行接口。USB现在已经广泛应用到各种设备上,尤其是手持设备,几乎都采用了USB接口。现在,USB即可用来与其他设备连接后高速地传递数据,又可用来充电,使手持设备可以发挥U盘、MODEM、无线网卡等作用。 事实上,USB只是主机和外围设备之间的连接。如何来促使这种连接发挥作用,就需要驱动程序。驱动程序主要解决硬件“需...
Linux下的线程类封装

Linux下的线程类封装

前些天弄了一个Windows下的线程类封装,用起来比较方便,现在移植到了Linux下,因为还不会事件机制,所以就用互斥来进行线程的管理,初级应用应该够了。代码如下,大家可以参考一下,如果对你有用,那是最好,如果不完善,还望多提意见。互斥量头文件:blmutex.hview plaincopy to clipboardprint?#ifndef __BL_MUTEX_HEAD_FILE__ #define __BL_MUTEX_HEAD_FILE__ #in...
Linux DIRECT IO遭遇EINVAL的解法

Linux DIRECT IO遭遇EINVAL的解法

背景:Linux 2.6内核下使用Direct IO,如果调用write函数接口,则需传递一个512字节对齐的缓冲区指针以保证DMA调用的正确性。如果指针未对齐,则抛出错误码EIVAL。错误方法1:申明:struct S { char data[ 4096 ]; } __attribute__ ((aligned ( 512 )));在函数中使用:struct S buf_mem;因为局部变量 buf_mem是装载在栈上的,编译器不会因为aligned就改...
Linux 动态连接加载器 ld-linux用法

Linux 动态连接加载器 ld-linux用法

ld-linux有两种用法,间接调用和直接调用。间接调用时,连接器会把ld-linux的执行路径嵌入到可执行文件中,如elf文件时,ld-linux被放在.interp段中。 直接调用时,在命令行下输入/lib/ld-linux-so.* [选项] [可执行程序] [程序参数]ld-linux按照如下顺序搜索可执行程序需要的共享库: 1. (只针对elf文件) 可执行程序中如果有DT_RPATH或DT_RUNPATH段,则使用这两个段中指定的搜索目录。 2...
Java资源获取分析

Java资源获取分析

在开发java程序的过程中,我们经常要做的一件事就是获取资源。那么什么是资源呢?说白了,在计算机里那就是一堆数据。只是这堆数据对我们的java程序有多种表现形式,一般来说有File,URL,InputStream等等。而单就文件这一项就有很多种:配置文件,java类文件,jps文件,图片、css、js文件等等。面对这林林总总的资源,我们在设计一个读取资源的接口时,就需要针对不同形式的资源提供方法,这样就导致我们的接口还是与实际的资源形式绑定在一起,未能完...
Java线程的超时控制学习

Java线程的超时控制学习

下面这段代码在搜索java线程的超时控制时很容易被找到,并且结果的数量也不少。但是这段代码能够得到想要的结果么? 开始的时候我一看这么多,也没多想,直接下载用了,但是程序里的bug依旧,以为程序里还有其它的问题,折腾了小半天,发现原来超时控制没有起作用,仔细核实了一下以下的代码,发现这段代码根本得到不到想要的结果。 /** * 本线程设置了一个超时时间 * 该线程开始运行后,经过指定超时时间, * 该线程会抛出一个未检查异常通知调用该线程的程序...
Java可变参数使用

Java可变参数使用

Java 1.5增加了新特性:可变参数。适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。 Java代码 public class uuid { private static int ...
用Linux C对数字进行排序

用Linux C对数字进行排序

转自:hi.baidu.com/zdon这里以Linux相爱对三个数字排序为例,程序运行的最终目的就是要让a>b>c这个条件成立,程序中定义了一个临时变量t,用来交换变量的值,若a<b,则交换ab的值,然后再将a与c进行比较,若a<c,则交换ac的值,最后再对bc进行比较。先打开终端,用vi编辑器新建一个C文件,如:paixu.c,输入:vi paixu.c按“i”键进入插入模式,然后输入如下代码:#include <stdi...
Java与C 和C# 有哪些区别?

Java与C 和C# 有哪些区别?

Java与c#都是由c演变的,那么Java与c 和c# 有哪些区别呢?一、首先,给你个形象的例子让你明白: 如果说Java好比是奔4,C语言就是386电脑了。 两者都是编译语言,但是后者是计算机发展中的一个基础语言,而Java则是新兴的功能更加强大的编写语言。二、其次,再给你详细一些的说明两者的区别:1. Java没有预处理指令。(如C中的#define , #include , #ifdef等)。C中的常量定义在Java中用static final来取代...
<< 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 >>