起名Linux系统目录结构介绍

回来目录

参照博客:
http://www.cnblogs.com/chensiqiqi/p/6243549.html  感谢原博主为自家念Linux指明方向!!

对此大数据量提交,包括插入,更新和去,我尽未建议就此EF自带的主意,因为其见面追加及数据库的交互次数,一般地,EF的一个上下文在提交时见面打开一个多少连接,然后将改变交换的SQL语句一长达一长达之发到数据库端,然后去付出,试想,如果您的数据量达到万级别(更不用说百万,千万数码了),那对数据库的下压力是雅可怜的,所以,我将EF批量操作语句进行了改版,并起名叫吧BulkInsert,BulkUpdate和BulkDelete,事实上,在自己事先的本被连从未涉及到批次提交的概念,直到遇见了实在的问题,当你以BulkInsert时,如果数量达4万前,那在SQL的讲时,也是格外有压力之,有多状况下会晚点,当然这同您的数据库服务器有关,但为性及安全,我要么控制将Bulk操作成分批交付,即将4W进行解释,分用1W数据量提交一破,这样,对数据库的下压力就是不怎么有。看看自己的改版吧。

 

     public void BulkInsert(IEnumerable<TEntity> item)
        {
            DataPageProcess(item, (currentItems) =>
            {
                ((IObjectContextAdapter)_Db).ObjectContext.CommandTimeout = 0;//永不超时
                _Db.Database.ExecuteSqlCommand(DoSQL(currentItems, SQLType.Insert));
            });
        }

        public void BulkDelete(IEnumerable<TEntity> item)
        {
            DataPageProcess(item, (currentItems) =>
            {
                ((IObjectContextAdapter)_Db).ObjectContext.CommandTimeout = 0;//永不超时
                _Db.Database.ExecuteSqlCommand(DoSQL(currentItems, SQLType.Delete));
            });
        }
     public void BulkUpdate(IEnumerable<TEntity> item)
        {
            DataPageProcess(item, (currentItems) =>
            {
                ((IObjectContextAdapter)_Db).ObjectContext.CommandTimeout = 0;//永不超时
                _Db.Database.ExecuteSqlCommand(DoSQL(currentItems, SQLType.Update));
            });
        }

        /// <summary>
        /// 分页进行数据提交的逻辑
        /// </summary>
        /// <param name="item">原列表</param>
        /// <param name="method">处理方法</param>
        /// <param name="currentItem">要进行处理的新列表</param>
        private void DataPageProcess(IEnumerable<TEntity> item, Action<IEnumerable<TEntity>> method)
        {
            if (item != null && item.Count() > 0)
            {
                DataTotalCount = item.Count();
                this.DataTotalPages = item.Count() / DataPageSize;
                if (DataTotalCount % DataPageSize > 0)
                    DataTotalPages += 1;
                for (int pageIndex = 1; pageIndex <= DataTotalPages; pageIndex++)
                {
                    var currentItems = item.Skip((pageIndex - 1) * DataPageSize).Take(DataPageSize).ToList();
                    method(currentItems);
                }
            }
        }

linux目录:一切从“根”开始,“/”是持有目录的起点(定点)

 

linux每个目录可以挂载在不同的配备(磁盘)上。

咱俩可见到,改版后底方法,没有一直把集合item传递让方法ExecuteSqlCommand去履行,而去调用了一个术,这个方式然后传入一个托,然此委托的

 

输入参数是一个分页的多少集合,这时你的ExecuteSqlCommand方法接入的集合参数将是一个分叉了页后的微集合,呵呵。

当逻辑上享有目录(包括目录下的子目录)都在最高级别的目“/”下,根(“/”)目录是linux系统中有目录的起始点(丁点),根下的目及目录的子目录是一个生出层次的树状结构,很像发倒挂在的同等颗大树,这同Windows系统按照硬盘分区(C:D:E:)分割的目录结构是见仁见智之(windows系统可以知晓也多棵树,每个分区就是如出一辙粒独立的略树)。
linux系统中之这些不同的目录为是杀特别之,不同之目可以分布在不同的硬盘分区以及不同之硬盘设备及,这是windows的系统难以形成的,windows系统的不同分区都是单身在的。

对此同糟糕提交的数额,你得在类似中失定义,它好像于分页,所以,我日常被这个法子吗数据分页提交!

起名 1

    #region Fields
        /// <summary>
        /// 数据总数
        /// </summary>
        int DataTotalCount = 0;

        /// <summary>
        /// 数据总页数
        /// </summary>
        int DataTotalPages = 0;

        /// <summary>
        /// 数据页面大小(每次向数据库提交的记录数)
        /// </summary>
        int DataPageSize = 10000;
        #endregion

linux下面设备未挂载是看不到入口的,没有窗口没有派的拘留所,如果只要配备为访问就非得产生一个输入,这个进口即是挂载点,挂载点实质就是是目录

如您想赢得BlukInsert的完全方法,请关注我的EF架构系列

起名 2

回来目录

起名 3

linux系统中的装有目录内容仍种类组织。例如,Linux下之应用程序,它的可执行程序可能在/usr/bin,而其的数据文件和帮扶在/usr/share下,运行时加载的布局文件和劳动启动命令却在/etc/下。

情节小结

  1. linux系统的具有目录是一个发出层次之倒着的树状目录结构,“/”根是富有目录的极。
  2. 差的目数据可过不同之磁盘分区或不同的磁盘设备
  3. 有的目都是据一定的型有规律的集体及命名

 

Unix系统目录结构的历史典故

提示:学习目录结构的历史典故,目的是给大家能够清楚的摸底linux的目录结构。

1969年,Ken Thompson和Dennis
Ritchie于小型机PDP-7上发明了Unix。1971年,他们拿主机升级到了PDP-11.

随即,他们用同一栽叫做RK05的囤积盘,盘的容量约是1.5MB

是因为硬盘的容量非常有些,因此尚未多久,操作系统存储盘数据(根目录)变的尤为老了,导致同块盘都作不生数据了。于是,他们加上了亚盘RK05,并且作了确定,第一片盘专门为此来存放系统先后相关,第二块盘专门存放用户自己的顺序,因此,挂载的目录点取名为/usr。也就是说,根目录“/”挂载在第一片盘,“/usr”目录挂载在其次块盘。除此之外,两片盘里的其余的目结构是完全相同的,例如:第一片盘的目录(/bin,/sbin/lib/tmp…)都以/usr目录下更出现一次(/bin,/sbin,/lib)

tmp
思想:
 不要随便去东西,可以置身tmp目录下面。过1独月后更去。

时刻未丰富,第二片存储盘也充满了,他们不得不以加了第三盘RK05,挂载的目录取名为/home,并且做了确定,/usr用于存放用户的次序,/home用于存放用户之数据。
从此以后,这种目录结构起名和概念就是这么继续了下来。随着设备的前进,硬盘的容量为进一步老,那么,各个目录的义进一步赢得了强烈。

起名 4

Linux 目录结构

目录层次标准FHS

  • FHS全称(Filesystem Hierarchy
    Standard),中文意是目录层次标准,是linux的目规范标准。
  • 详见点击查阅
  • FHS定义了区区交汇标准
  • 第一层:“/”目录下之一一目录应该加大什么文件数量,例如:/etc目录下放置系统的配备文件,例如:/etc/exports,/etc/hosts,而/bin和/sbin放置程序与系统命令。
  • 第二层:是对/usr(unix
    software resource|Secondary hierarchy)和/var(Variable
    data)这有限个目录的子目录来定义。例如:/var/log下放置系统日志文件等
  • 提拔:/var分区单独分出来,硬盘足够深。我们都发监督,剩余20%报警。

linux系统的目录结构最上方是“/”,一切目录由根开始。
我们得以经过tree命令得到彻底(/)下之目结构。

起名 5

起名 6

起名 7

总:重要目录回顾

  • /dev 设备目录
  • /etc/
    系统布局与劳动配置文件,服务启动命令目录/etc/init.d
  • /proc 显示内核和过程信息的虚拟文件系统
  • /tmp 临时文件目录,
  • /home 普通用户家目录
  • /root 超级管理员家目录
  • /var
    变化的目,一般是日记文件(/var/log),cache目录。/var/log/messages,/var/log/secure
  • /usr 用户程序及数,帮助文件,二进制命令等目录(usr/local/)
  • /bin 普通用户命令的目
  • /sbin 和/usr/sbin/:超级用户命令的目录

着重子目录说明

非得使控制的linux目录路径知识

修改网卡配置文件

  • etc/sysconfig/network-scripts/ifcfg-eth0
  • 查看eth0(第二块eth1)
  • 经过setup===>”network configuration”修改网卡配置就是还变动是文件
  • 固定IP地址
  • 重启网卡/etc/init.d/network restart(影响有网卡)
  • ifdown eth0 && ifup eth0只针对eth0网卡

注意

  • 设置文件ifcfg-interface-name包含了初始化接口所欲之绝大多数详实的信息。其中interface-name将根据网卡的品类及排序而各异,一般名字呢eth0,eth1,ppp0等,其中eth表示因尽(eth0)类型网卡,0象征第一块网卡,1代表第二片网卡,而ppp0则代表第一只point-to-poirt
    protocol网络接口。在ifcfg文件中定义
    的各国型在接口类型。
    脚的值较为广泛:
  • DEVICE=name,其中,name是物理设备名
  • IPADDR=addr,其中addr是IP地址
  • NETMASK=mask,其中,mask是网掩码值
  • GATEWAY=addr,其中addr是网关地址
  • ONBOOT=answer,其中answer是yes(引导时激活设备)或no(引导时未激活设备)
  • USERCTL=answer,其中,answer是yes(非root用户能够决定该设备)或no
  • BOOTPROTO=proto,其中,proto取下列值之一:none,引导时莫采用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议

 起名 8

直达图设置实际上修改的是/etc/resolv.conf这个文件

[zcl@chengliang ~]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain zhang
nameserver 8.8.8.8
nameserver 202.106.0.20
[zcl@chengliang ~]$

小结

1、linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)

2、 style=”color: #ff0000;”>linux客户端DNS也得以在/etc/resolv.conf里装

3、网卡里之安DNS优先于/etc/resolv.conf,如果再次开网络网卡的dns会覆盖/etc/resolv.conf的装
4、/etc/hosts:设定用户IP与名(域名)的相应解析表,相当给当地LAN局域网内的DNS解析文件
5、/etc/sysconfig/network:可改主机名及网卡启动,网关等配置。永久更改主机名,需以修改以下简单件:
(1)vi /etc/sysconfig/network
(2)hostname 主机名

/etc/目录下之重要性目录及文件

  • /etc/issue(/etc/issue.net):记录用户登录前展示的体系版本等消息
  • /etc/motd:登录提醒(里面写的旁事物都见面于所有用户登录前展示出)
  • /etc/redhat-release:包括一行声明RedHat版本号和名的信息。
  • /etc/group:设定用户之组名与连锁信息
  • /etc/passwd:用户账号信息文件
  • /etc/shadow:用户密码信息文件
  • /etc/gshadow:组密码文件
  • /etc/sudoers:可以实施下sudo命令的部署文件(权限提升)
  • /etc/securetty:设定哪些中断可叫root登录
  • /etc/login.defs:所有用户登陆时之缺省配置
  • /etc/modprobe.conf:内核模块额外参数设定
  • /etc/rsyslog.conf:日志设置文件(仅限centos6.x)

每当开机时,linux会把/etc/rc.local里的内容尽同一全体

其余目录

  • /lib:系统会使及之函数库
  • /lib/modules:kernel的有关模块
  • /var/lib/rpm:rpm套件安装处
  • /usr/bin:这个目录是可执行程序的目录;当我们于网自带的软件包安装一个程序时,他的可执行文件大多会加大于斯目录。
  • lib64:库文件存放目录
  • /usr/sbin:这个目录为是可执行程序的目,但多存放涉及系统管理的指令;相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;
  • /usr/local:这个目录一般用来存放在用户从编译安装软件的存放目录;一般是透过源码包安装之软件,如果没特意指定安装目录的话,一般是设置于这个目录中。
  • /usr/local/bin:用户设置之小的应用程序,和局部在/usr/local目录下殊应用程序的标志连接
  • /usr/local/sbin:系统全局环境目录,可停有免欲加路径执行之本子
  • /usr/share:系统一同用底事物存放在地,比如/usr/share/doc和/usr/share/man帮助文件
  • /usr/src:内核源码存放目录,比如下面来根本源码目录,比如linux,linux-2.xxx.xx目录等。

1,rpm -ivh(存在rpm包,又束手无策使用yum的下)
2,yum install
(习惯:线达对外的服务器很少装apache,nginx,mysql,功能性软件会用yum)
3,源码(./configure,make,make install),定制。大中小企业重要服务。
门户:源码—定制RPM包—制作yum仓库—-yum安装

  • /usr/bin:使用者可尽之binary file目录
  • /usr/local/bin:使用者可实施的binary file目录
  • /usr/lib:系统会动及之函数库
  • /usr/local/lib:系统会下到的函数库

 

/var目录下之路径知识

  • /var:日志文件
  • /var/log:各种系统日志存放地
  • /var/log/messages:系统信息默认日志文件,死主要。按周自动轮循
  • /var/log/secure:记录登入系统存取信息的文件,按周自动轮循,例如:pop3,ssh,telnet,ftp都见面记录在斯。系统安全的日志文件。
  • /var/spool:定时任务默认路径,按用户名命名的文书(/var/spool/cron/root)
  • var/spool/clientmqueue:sendmail
    临时邮件文件目录,有不少原因会导致这目录碎文件过多,比如crontab定时任务指令不加>/dev/null等。工作屡遭有时候会为该目录文件太多,导致/var所在的分区inode数量为消耗尽,无法形容副文件的情事(centos6.x不会见装sendmail,所以未会见出之题材)

 

/proc下之重点路径知识

top:看cpu等

  • /proc:虚拟目录,是内存的映照,内核和过程的虚拟文件系统目录
  • /proc/version:内核版本
  • /proc/sys/kernel:系统基本功能
  • /proc/sys/net/ipv4:修改proc的配置时即生效。
  • (/etc/sysctl.conf内核参数里部署才是永恒生效。两独途径的改动效果是相同的。net.ipv4.tcp_tw_reuse=1实际上即便是修改/proc/sys/net/ipv4/tcp_tw_reuse的内容)
  • /proc/cpuinfo:关于电脑的消息,如类型,厂家,型号及性能相当
  • /proc/meminfo:系统内存信息,free -m
  • /proc/devices:当前运作内核所配置的具备设施清单
  • /proc/dma:当前正用的DMA通道
  • /proc/filesystems:当前运行内核所配置的文件系统
  • /proc/initerrupts:方使的暂停,和曾来微只中断。
  • /proc/ioports:当前正值采取的I/O端口。
  • /proc/loadavg:系统负荷平均值信息(系统的无暇景象,比较标准,但是不够细致系统性能指标),uptime的结果。(负载值不要过CPU的核数。看负载top,uptime,w)

起名 9

  • /proc/mounts:设备的挂载信息,df -h类似

 

必须控制的门径和文件

  • /etc/sysconfig/network-scripts/ifcfg-eth0(第一片网卡配置文件)
  • /etc/resolv.conf(DNS的配备文件,网卡配置文件优先resolv.conf)
  • /etc/hosts(ip与域名(主机名)解析表)
  • /etc/sysconfig/network(主机)
  • /etc/fstab(开机自动挂载列表)
  • /etc/rc.local(开机自启动文件,自启动命令,脚本)
  • /etc/inittab (Linux开机运行级别配备文件)
  • /etc/init.d(服务启动命令脚本目录)
  • /etc/profile(全局环境变量)
  • /etc/bashrc(别名)
  • /usr/local(编译安装软件默认安装目录)
  • /var/log/message(系统日志)
  • /var/log/secure(系统安全日志)
  • /var/spool/cron/root(定时任务,root目录)
  • /proc/cpuinfo(系统cpu信息)
  • /proc/meminfo(系统内存信息)
  • /proc/loadavg(系统cpu负载程度)
  • /proc/mounts(系统挂载信息)

座谈:cpu什么状况下终于负载很忙碌?

当cpu平均负载率大于CPU的核数的时光,我们就可以说,服务器cpu的载荷已经颇忙碌了。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图