LINUX - 技术教程文章

每天进步一点点——Linux中的文件描写叙述符与打开文件之间的关系【图】

转载请说明出处:http://blog.csdn.net/cywosp/article/details/389652391. 概述 在Linux系统中一切皆能够看成是文件,文件又可分为:普通文件、文件夹文件、链接文件和设备文件。文件描写叙述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引。其是一个非负整数(一般是小整数),用于指代被打开的文件。全部运行I/O操作的系统调用都通过文件描写叙述符。程序刚刚启动的时候。0是标准输入,1是标准输出,2是...

linux文件与目录管理【代码】

一、一切皆文件 linux下“一切皆文件”,不仅数据被组织成文件形式,连各种设备资源也被抽象成了文件形式,而文件只有读、写、执行等几种方式,这样便统一了用户对各种资源的访问方式,简化了操作。二、文件类型 普通文件(-,f)、目录文件(d)、符号链接文件(l)、设备文件( 字符设备c,块设备b)、命名管道(p)、套接字文件(s) 查看文件类型:file /path/to/somefile...,可同时查看多个文件的类型,中间用空...

linux下nginx实现虚拟主机(3种方法:基于域名、基于端口、基于ip地址)【图】

在3.17日的时候已经写过一篇关于apahce的基于域名、端口、ip地址3种方式的虚拟主机实现。原理是一样的,现在记录nginx的虚拟主机这三种方式的实现。 系统版本为rhel5.6,nginx版本为1.1.6。 1.基于域名: 基于域名的方式,要先有dns服务器,这里为了方便,可以在/etc/hosts文件里面配置,把它当成dns就行了,可以参考3.17日那篇博客关于dns的配置或者其他博文也有。这里关于nginx的安装也略去。[root@nginx ~]# cat /etc/...

Linux逻辑卷的创建【图】

什么是LVM?LVM(逻辑卷管理器):是Linux环境下对磁盘分区进行管理的一种机制。主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘)来使用。可以让磁盘分区容量划分变得很灵活。基本的逻辑卷管理概念PV(Physical Volume)-物理卷物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。VG(Volume Group)-卷...

Linux 设置系统时间和日期 API

嵌入式Linux 设置时间和日期 API ,是busybox中提取的源码;Linux设置时间和日期步骤是:1. 设置系统时间和日期;2. 将系统的时间和日期,同步到硬件中;#include <stdio.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <time.h> #include <linux/rtc.h> #include <linux/capability.h> int SetSysDateAndTime(const char *time_str); void SetHWClockFromSysClock(int ut...

Linux命令大全 欢迎补充 评论添加~【代码】

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的...

Linux下PostgreSQL 的安装与配置【代码】【图】

一、简介PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。二、系统环境系统平台:CentOS release 6.3 (Final)PostgreSQL 版本:PostgreSQL 9.2.4防火墙已关闭/iptables: Firewall is not running.SELINUX=disab...

putty ssh login linux

(1) in linux$ ssh-keygen -t dsa$ cd .ssh$ cat id_dsa.pub > authorized_keys$ chmod 600 authorized_keys(2) download id_dsa to the windows(3) open puttygen.exe, load privateKey file id_dsa(4) save privateKey as your-private-key.ppk(5) open putty.exe, create a new session, on option SSH->Auth, set privatekey file(6) on option SSH->Tunnels, add Source prot, and select Dynmic, then click Add button. ...

linux基础知识第一节

用户接口: 是一种独特的应用程序,能够为用户提供启动其它应用程序的的机制cli:命令提示符,用户输入要执行的命令即可,shell: 外壳sh ,csh ,ksh , bash, zsh , tcshgui:通过点击操作来启动应用程序 gnome, mainframe 大型机多用户操作系统 多终端 终端:设备,显示器,鼠标,键盘虚拟终端表示:/dev/tty#ctrl-alt-f(1-6)物理终端(控制终端)console串行终端伪终端/dev/pts#设备文件:此前未启动x windowsta...

How to start a pdf reader from a Linux command line?

Before you do this, you should be in a GOME or KDE environment, then type the following commands to check whether you‘ve stalled the app:$ type evincethen just view the PDF file by typing this:$ evince filename.pdfBut you‘d better add a "&" at the end of the command line.$ evince filename.pdf & 原文:http://www.cnblogs.com/LinTeX9527/p/3947748.html

Linux运维笔记(一)网络基础知识【图】

网络基础知识一、基本概念1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet)。2.以太网络(Ethernet):网络硬件设定与开发标准接口(IS88023)。 注意:网络的传输信息就是 0 与 1 ,因此,数据传输的单位为每秒多少 bit,亦即是 M bits/second, Mbps 的意思。除以8。 二、计算机网络组件 1.节点(node):具有网络地址(IP)的设备之称...

马哥2016全新Linux+Python高端运维班-Linux grep命令及基本正则表示【代码】

本周作业内容:1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 第一种方式: [root@liu /]#chmod -R go=--- /home/tuser1 [root@liu tuser1]# ls -l /home/tuser1/ 总用量 4 -rw-------. 1 root root 47 8月 25 00:01 issue 第二种方式: [root@liu /]# rm -rf /home/tuser1/ [root@liu /]# cp -r /etc/skel/ /...

关于使用SecureCRT 实现 WIN7 与 Linux 双向通信的问题及文件上传下载【代码】【图】

Linux 版本:Cent 6.5 X86 VMware workstation 10.0win7 Ultimate x86 ,Linux 均可以正常链接网络【采用桥接方式】遇到问题: win7 可以 ping 通linux及网关,linux不能ping通网关及win7,但能链接网络。前提: 需要手动配置linux的IP为静态,WIN7的可以随意,但是一般在一个网段(不然配置较复杂了),保证可以正常通信访问。解决: 通过手动改ip及相关配置的方法之后,仍然未能ping通,改链接方式为NAT,及Host-only也...

linux下oracle如何启动数据库

首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令:第一步:打开Oracle监听$ lsnrctl start第二步:进入sqlplus$ sqlplus /nologSQL>第三步:使用sysdab角色登录sqlplusSQL> conn /as sysdba第四步:启动数据库SQL> startup经过上面的四个步骤,oracle数据库就可以启动了。原文:http://www.cnblogs.com/bingyangzhang/p/4206987.html

linux安装MySQL报错perl【代码】

报错景象:  error: Failed dependencies: perl(DBI) is needed by MySQL-server-4.0.26-0.i386  error: Failed dependencies: perl(DBI) is needed by MySQL-client-4.0.26-0.i386 解决办法:1、安装perlDBI,运行:yum install perl-DBI2、安装perl的依赖,运行:yum install -y perl-Module-Install.noarch 注意:不要强制--force安装,安装完了也不能用! 原文:https://www.cnblogs.com/yorge/p/13266976.htm...

初学linux浅谈【图】

大家好,这是本人第一次发博文,主要想谈谈最近学习使用linux的感想和大家一起学习交流。 其实在本科阶段我使用过一个学期的linux,那时候主要是用于oracle数据库的建库和查询等。刚开始我是拒绝的,因为oracle 11g本可以在windows环境下安装,众所周知linux的指令操作对于一个长时间使用windows的用户来说是十分困难的。不光操作困难,就连装虚拟机和linux我就研究了半天。所以一直以来我都觉得linux使用很不方便。 但是经过...

linux文件所属用户和组

使用chown命令可以修改文件或目录所属的用户: 命令:chown 用户 目录或文件名 例如:chown -R qq /home/qq (把home目录下的qq目录的拥有者改为qq用户) 使用chgrp命令可以修改文件或目录所属的组: 命令:chgrp 组 目录或文件名 例如:chgrp -R qq /home/qq (把home目录下的qq目录的所属组改为qq组)原文:http://www.cnblogs.com/bwteacher/p/4771012.html

Linux--grep命令

一、作用: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。二、用法: grep [选项]... PATTERN [FILE]... 在每个FILE 或是标准输入中查找 PATTERN。默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。 例如: grep -i ‘hello world‘ menu.h main.c三、主要参数: -G, PATTERN 是一个基本正则表达式(缩写为 BRE) -P, PATTERN 是一个 Perl 正则...

linux curl命令的重要用法:发送GET/POST请求,获取网页内容【代码】

curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。#使用curl发送GET请求:curl protocol://ip:port/url?args curl https://proxy.mimvp.com/login?user=admin&passwd=12345678 #使用curl发送POST请求: (推荐) curl -d "key1=value1&key2=value2&key3=value3" protocol://ip:port/path #示例1:curl -d ‘pos...

树莓派linux系统连接windows7系统中的共享文件夹的正确姿势【代码】【图】

一、要想使用树莓派linux成功访问win7的共享文件夹而不报错,最重要的事情是要正确设置win7中共享文件的设置。1、需要共享文件点击右键→属性 2、共享选项卡→网络和共享中心 3、点开公用下拉菜单 4、关系密码→保存修改 5、再回到文件夹,点击右键“属性”-“共享”-“高级共享”。 6、 7 8、再回到文件夹,点击右键“属性”-“安全”选项卡。注意:仔细查看组或用户名中是否有“Everyone” 9、如果组或用户名中没有“Everyone”,...

父目录的权限对子目录有没有影响?[Linux]【代码】

问题源头:  登录到服务器(实验室分的一个服务器账号)上,想在当前目录下创建一个文件,但提示“文件系统只读”,无法创建文件。通过ls -l查看当前用户在当前目录的权限,发现具有rwx权限。所以在想会不会是因为我在父目录中没有w权限导致我无法在当前目录创建文件。但发现在父目录中我也是rwx权限...(最后,我感觉这个问题可能是服务器管理员对硬盘加了写保护)   于是我做了以下的实验,想验证“父目录的权限对子目录的权限有...

Linux 服务器作为Nginx web服务器常见优化参数【代码】

内核参数调整cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put...

linux加固目标和对象

一. linux加固目标和对象项目加固的目标: 解决今年信通公司在风险评估工作中发现的linux服务器存在的安全问题,并结合南方电网安全基线标准修订版部署相关要求,将linux服务器的安全状况提升到一个较高的安全防护水平,尽可能降低由linux服务器带来的安全风险对电网信息业务正常运行的安全威胁。 项目加固的对象:本次信息安全加固对象主要包括贵州电网信通公司信息系统内的linux系统。具体设备见附录《linux系统主机》 二. ...

java操作linux工具类【代码】

package com.example.oss.config;import java.io.BufferedReader; import java.io.InputStreamReader;publicclass ExcuteLinux {publicstatic String exeCmd(String commandStr) {String result = null;try {String[] cmd = new String[]{"/bin/sh", "-c",commandStr};Process ps = Runtime.getRuntime().exec(cmd);BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));StringBuffer sb = new St...

Linux内核RCU(Read Copy Update)锁简析

在很早以前,大概是2009年的时候,写过一篇关于Linux RCU锁的文章《RCU锁在linux内核的演变》,现在我承认,那个时候我虽然懂了RCU锁,但是我没有能力用一种非常简单的描述把Linux的实现给展示出来,有道是你能给别人用你自己的方式非常简洁地描述清楚,你才是真正的精通它,否则,无异于背诵。换个说法,如果你在被面试,在短时间内靠嘴说给面试官,且他还要能听明白,就说明自己真的懂了,这种时候,是不会给你机会分析源代码的,...

linux内核源码结构【图】

一、概述  Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立。 二、源码结构表目录名描述arch体系结构相关的代码,对于每个架构的CPU,arch目录下有一个对应的子目录,比如arch/arm、arch/i386block块设备的通用函数crypto常用的加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法drivers所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设...

linux下安装nginx【代码】【图】

linux版本:CentOS7 64位【yum 安装最新版nginx:https://www.cnblogs.com/xxoome/p/7256214.html】在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。Linux下检查是否安装过某软件包:http://www.cnblogs.com/xxoome/p/5866553.html安装命令:yum -y install gcc pcre-devel zlib-devel openssl openssl-develnginx下载地址:https://nginx.org/download/下载“nginx-1.9.9.tar.gz”,移动到/usr/...

Linux系统学习 十一、DHCP服务器—相关文件、配置文件、服务器配置【图】

2、DHCP服务器相关文件安装SHCP服务器yum install dhcp 对应的端口端口号:ipv4 udp67、udp68(不推荐改端口)ipv6 udp546、udp547(暂时还没生效)2、相关文件服务名:dhcpd (d:daeman守护进程)主配置文件:/etc/dhcp/dhcpd.conf模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample刚安装完里面是空的 可以将模板文件复制过来覆盖掉原先的配置文件 这里默认是不覆盖的,所以要打y此时打开配置文件就...

Linux-DHCP原理与配置【代码】【图】

一、DHCP服务1、DHCP (Dynamic HostConfiguration Protocol,动态主机配置协议)2、由Internet] C作任务小组设计开发3、专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议4、使用DHCP的好处减少管理员的工作量避免输入错误的可能避免IP地址冲突当更改IP地址段时,不需要重新配置每个用户的IP地址提高了IP地址的利用率方便客户端的配置5、DHCP的分配方式自动分配:分配到一个IP地址后永久使用手动分配:由DHCP服务器管理员专门]指...

Linux上下行网速测试【图】

此程序是基于Python开发的脚本程序,利用了speedtest.net的服务来测量出上下行的宽带。Speedtest-cli能根据机房离测速服务器的物理距离来列出测速服务器,或者针对某一服务器进行测速,同时还能为你生成一个URL以便你分享你的测速结果。要在Linux上安装最新版本的speedtest-cli,你必须安装2.4-3.4或者更高版本的Python。 在Linux上安装speedtest-cli有两种方法可以安装speedtest-cli。第一种方法需要用到python-pip包管理器,第二...