大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个执行程序间共享,节省了空间,提高了效率,具备很高的灵活性,得到越来越多程序员和用户的青睐.那么,在LINUX系统中有无这样的函数库呢? 答案是肯定的,LINUX的动态链接库不仅有,而且为数不少.在/lib目录下,就有许多以.so作后缀的文件,这…
大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个执行程序间共享,节省了空间,提高了效率,具备很高的灵活性,得到越来越多程序员和用户的青睐.那么,在LINUX系统中有无这样的函数库呢? 答案是肯定的,LINUX的动态链接库不仅有,而且为数不少.在/lib目录下,就有许多以.so作后缀的文件,这…
Vagrant简介 作为程序员,可能需要同时开发多个项目,使用多种编程语言,需要使用各种操作系统,如果将很多东西放在同一个电脑上,肯定会被各种配置环境搞晕.一个比较好的办法就是每个项目都有一个干净的开发环境,虚拟机的一个主要用处就在于此,虚拟机可以给每一个项目配置一个虚拟机,从而让各个开发环境互相独立,干干净净.现在的项目不大可能由一个人单独完成,协同开发时候需要保障大家的开发环境都一样,为了避免每个开发人员一个个的单独配置参数,安装软件,我们想要的是环境只配置一遍,然后大家可以共享,Vagra…
LINUX系统中动态链接库的创建与使用 http://www.cnblogs.com/ardar/articles/357321.html 正常C源文件编写,编译时-shared即可得到SO, gcc -shared add.c -o add.so 使用如下: #include<stdio.h> #include<dlfcn.h> int main() { int result=0; int (*add_fun)(int a, int b); //result = add(2,3)…
Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf  动态库的后缀为*.so  静态库的后缀为 libxxx.a   ldconfig   目录名 转载自:http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻.在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情. 在Linux操作系统中,普遍使用ELF格…
转自:http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻.在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情. 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式.ELF(Executable and Linking Format,可执行连接格式)是UNIX系统实验室(USL)作为应用程序二进制…
摘自http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻.在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情. 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式.ELF(Executable and Linking Format,可执行连接格式)是UNIX系统实验室(USL)作为应用程序二进制接…
[问题]  在编译VMware下的Linux系统对从Windows中共享过来的文件,进行编译的时候,遇到:  ln: creating symbolic link XXXXXX : Operation not supported   [环境] VmWare的Linux + Windows XP + vmhgfs文件共享(通过Vmware tools共享的windows文件夹) [分析原因]  出现这类问题,主要是由于在编译的时候,要用ln去建立一些软链接,  而这些文件是从Windows中,通过…
导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说起,下面就以实例讲解Linux系统中硬链接与软链接的创建,来实际看看Linux中两种链接方式的不同. 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现…
原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前,首先认识一下 SNMP 吧. 简单网络管理协议(Simple Network Management Protocol)是一种应用层协议,是TCP/IP协议族的一部分.它使网络设备之间能够方便地交换管理信息.能够让网络管理员管理网络的性能,发现和解决网络问题及进行网络的扩充. 目前SNMP已成为网络管…
1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr 用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用).这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录. /usr/x11r6 存放x w…
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 https://code.visualstudio.com/docs?dv=linux64 我是64位的: wget https://az764295.vo.msecnd.net/stable/7ba55c5860b152d999dda59393ca3ebeb1b5c85f/code-stable-…
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源自 Flickr  僵尸进程如何产生的? 如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了.那么我们说一个进程终止之后,还保留哪些信息?为什么终止之后还需要保留这些信息呢? 一个进程终止的方法很多,进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID…
在Linux系统下安装jdk 1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.先登录WinSCP(网上一搜就可以下载了) 3.先创建一个目录,用于存放jdk(可以直接在WinSCP中创建,也可以用命令创建),用命令创建目录,为了方便找,就在跟目录下创建吧 输入:cd / 回车 mkdir 目录名字     例如:mkdir…
一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用户(User)查询篇><Linux 用户管理工具介绍><Linux 系统中的超级权限的控制> 二.为什么需要大批量添加用户: 我们什么时候才需要大批量添加用户呢?有时我们需要让几十个或更多的用户在主机上完成相同或相似的任务,比如我们想同时添加一堆的ftp 用户,这些ftp用户归属…
在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外.root用户的特权性还表现在root可以超越任何用户和用户组来对文件或目录进行读取.修改或删除(在系统正常的许可范围内):对可执行程序的执行.终止:对硬件设备的添加.创建和移除等:也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需要…
背景介绍 在linux系统中,我们熟知有rwx三种权限,对应所有者,同组用户,其他用户三种用户的权限,一共9个位来指定一个文件的权限情况,通过chmod xxx 来更改权限属性,其中xxx是已八进制表示的三个数,正好对应9个权限位,比如,777代表所有用户可读写执行,755表示所有用户可读执行,但是只有所有用户才能写,等等. 一般而言,这三种权限已经能够满足需求,但是针对一些特殊情况,还需要有三种特殊权限来完善文件权限的管理. 1      SUID权限 SUID,全称为set UID,在高位起…
常用指令 ls        显示文件或目录     -l          列出文件详细信息l(list)     -a         列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir         创建目录     -p         创建目录,若无父目录,则创建p(parent)cd             切换目录touch        创建空文件echo          创建带有内容的文件.cat            查看文件内容cp            …
Windows常用的分区格式有三种,分别是FAT16.FAT32.NTFS格式. 在Linux操作系统里有Ext2.Ext3.Linux swap和VFAT四种格式. FAT16: 作为一种文件名称,FAT(File Allocation Table,文件分配表)自1981年问世以来,已经成为一个计算机术语.由于时代的原因,包括Windows.MacOS以及多种Unix版本在内的大多数操作系统均对FAT提供支持. 这是MS-DOS和最早期的Windows 95操作系统中使用的磁盘分区格式.它采用…
我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux下的文件权限,可以使用ll命令或者是带-l(长列表选项)的ls命令. 文件列表信息分为:文件类型.权限.链接数.所属用户.所属用户组.文件大小.最后修改时间.文件名. linux一共有7种文件类型,分别如下:   -:普通文件           d:目录文件           l: 软链接(类似…
如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中“一切皆文件”概念虽然说是没有错,是对的.但是个人认为去学习这些“高大上”的东西不是一时半会的事儿,它需要一定的时间和经验去沉淀才能掌握.那么如何最快速了解Linux并使用呢?我依然觉得学命令.背命令,掌握命令是比较笨但却是比较快的方式. 我开始学习Linux的时候,问了前辈:我入门Linux需要掌握哪些命令呢?前辈说:你掌握60个不重复的命令…
转载地址:https://blog.csdn.net/shenwansangz/article/details/51981459 linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态. Linux进程状态:R (TASK_RUNNING),可执行状态. 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出…
linux创建账户并自动生成主目录和主目录下的文件 在Linux系统中增加和删除用户 Linux添加用户(user)到用户组(group) usermod -a -G groupA user linux 查看某个用户属于哪个组 id 用户名 yingc@yingc:/var/www$ id yingc uid=1000(yingc) gid=1000(yingc) 组=1000(yingc),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(pl…
1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成后,桌面上可以看到软件的快捷方式.我们先不急打开,因为在使用Xshell及Xftp对linux进行访问的之前,还需要在linux中进行一些设置. 2.现在我们可以打开虚拟机,然后开启linux系统.我们需要先在linux中安装ssh服务,因为我们在Xshell连接的时候采用的是ssh协议,打开终端,…
今天开始学习dotnet core的开发,距离Visual Stuio 2017正式版的发布,也就是VS20周岁的生日还有三天,在我的电脑上安装的是VS2017 Enterprise RC版, 在VS2017RC版本中dotnet core的版本是1.1版本,很快随着VS正式版的发布,2.0也随之上线了,dotnet core 1.1版本和之前的1.0版本呢,很大的区别就在于,project.json文件的变化,在1.1版本上,是把project.json合并到了.csproj和MSBuild文…
Linux系统是以文件的形式来进行管理的.Linux文件类型常见的有:普通文件.目录.字符设备文件.块设备文件.符号链接文件等,如果想了解这方面知识的弟兄,就进来了解了解. Linux系统不同于window系统,两者文件类型也有很大的差异.Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件). Li…
普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间:读写改变时间:源数据发生改变时间 4. ls -s 在每个文件的后面打印出文件的大小. size(大小,以K为单位)5. ls -t 按时间进行文件的排序 Time(时间)6. ls -A 列出除了"."和".."以外的文件.7. ls -R 将目录下所有的子目录的文件…
本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面. 首先,接受许可协议,如下图: 然后,根据Linux系统的位数选择要下载的压缩包.怎么知道Linux系统的位数呢?可以执行下面的命令: getconf LONG_BIT 如果显示32,则是23位的Linux系统,如果显示64,则是64位的Linux系统.这里是64位的,所以下载Linux x64,如下图: 假如你没有登录过Oracle的账号,会跳转到Oracle账号登…
本文以在CentOS 7.6中安装Tomcat8.5为例进行安装,其他系统和版本都是大同小异的. 安装JDK 安装Tomcat之前,需要先安装JDK,可以参看之前的文章详解在Linux系统中安装JDK 欢迎关注微信公众号:万猫学社,每周一分享Java技术干货. 下载 进入Tomcat官方网站的下载页面(https://tomcat.apache.org/download-80.cgi),点击下载gz压缩包,如下图: 欢迎关注微信公众号:万猫学社,每周一分享Java技术干货. 安装 把下载好的压缩…
概述 大多数的朋友都是主要用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中很多都是键盘+命令操作电脑的,Linux命令行使用很有趣,但有时候也很危险,尤其是在你不确定你自己正在做什么时候.今天分享这篇主要的目的是想让你意识到在你运行某些命令时应该三思而后行. 1. rm -rf 命令 rm -rf命令是删除文件夹及其内容最快的方式之一.仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏. 下列是一些rm 命令的选项. rm -r 命令递归的删除文件夹,甚至是空的文件…