精华内容
下载资源
问答
  • isExecutable:文件是否可以执行 ...getPosixFilePermissions:获取POSIX文件权限,windows系统调用此方法会报错 setPosixFilePermissions:设置POSIX文件权限 getOwner:获取文件所属人 setOwner:设置文件所属人 c.

    参考文章

    • isExecutable:文件是否可以执行
    • isSameFile:是否同一个文件或目录
    • isReadable:是否可读
    • isDirectory:是否为目录
    • isHidden:是否隐藏
    • isWritable:是否可写
    • isRegularFile:是否为普通文件
    • getPosixFilePermissions:获取POSIX文件权限,windows系统调用此方法会报错
    • setPosixFilePermissions:设置POSIX文件权限
    • getOwner:获取文件所属人
    • setOwner:设置文件所属人
    • createFile:创建文件
    • newInputStream:打开新的输入流
    • newOutputStream:打开新的输出流
    • createDirectory:创建目录,当父目录不存在会报错
    • createDirectories:创建目录,当父目录不存在会自动创建
    • createTempFile:创建临时文件
    • newBufferedReader:打开或创建一个带缓存的字符输入流
    • probeContentType:探测文件的内容类型
    • list:目录中的文件、文件夹列表
    • find:查找文件
    • size:文件字节数
    • copy:文件复制
    • lines:读出文件中的所有行
    • move:移动文件位置
    • exists:文件是否存在
    • walk:遍历所有目录和文件
    • write:向一个文件写入字节
    • delete:删除文件
    • getFileStore:返回文件存储区
    • newByteChannel:打开或创建文件,返回一个字节通道来访问文件
    • readAllLines:从一个文件读取所有行字符串
    • setAttribute:设置文件属性的值
    • getAttribute:获取文件属性的值
    • newBufferedWriter:打开或创建一个带缓存的字符输出流
    • readAllBytes:从一个文件中读取所有字节
    • createTempDirectory:在特殊的目录中创建临时目录
    • deleteIfExists:如果文件存在删除文件
    • notExists:判断文件不存在
    • getLastModifiedTime:获取文件最后修改时间属性
    • setLastModifiedTime:更新文件最后修改时间属性
    • newDirectoryStream:打开目录,返回可迭代该目录下的目录流
    • walkFileTree:遍历文件树,可用来递归删除文件等操作

    详细介绍

    java NIO Files类(java.nio.file.Files) 提供了操作文件的相关方法。本篇文章将会覆盖大多数常用的方法。

    Java7中文件IO发生了很大的变化,专门引入了很多新的类:

    import java.nio.file.DirectoryStream;
    import java.nio.file.FileSystem;
    import java.nio.file.FileSystems;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.nio.file.attribute.FileAttribute;
    import java.nio.file.attribute.PosixFilePermission;
    import java.nio.file.attribute.PosixFilePermissions;

    …等等,来取代原来的基于java.io.File的文件IO操作方式.

    1. Path就是取代File的

    A Path represents a path that is hierarchical and composed of a sequence of directory and file name elements separated by a special separator or delimiter.

    Path用于来表示文件路径和文件。可以有多种方法来构造一个Path对象来表示一个文件路径,或者一个文件:

    1)首先是final类Paths的两个static方法,如何从一个路径字符串来构造Path对象:

    Path path = Paths.get("C:/", "Xmp");
    Path path2 = Paths.get("C:/Xmp");
    URI u = URI.create("file:///C:/Xmp/dd");        
    Path p = Paths.get(u);
    

    2)FileSystems构造:

    Path path3 = FileSystems.getDefault().getPath("C:/", "access.log");
    

    3)File和Path之间的转换,File和URI之间的转换:

    File file = new File("C:/my.ini");
    Path p1 = file.toPath();
    p1.toFile();
    file.toURI();
    

    4)创建一个文件:

    Path target2 = Paths.get("C:\\mystuff.txt");
    //      Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rw-rw-rw-");
    //      FileAttribute<Set<PosixFilePermission>> attrs = PosixFilePermissions.asFileAttribute(perms);
            try {
                if(!Files.exists(target2))
                    Files.createFile(target2);
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    windows下不支持PosixFilePermission来指定rwx权限。

    5)Files.newBufferedReader读取文件:

    try {
    //            Charset.forName("GBK")
                BufferedReader reader = Files.newBufferedReader(Paths.get("C:\\my.ini"), StandardCharsets.UTF_8);
                String str = null;
                while((str = reader.readLine()) != null){
                    System.out.println(str);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    可以看到使用 Files.newBufferedReader 远比原来的FileInputStream,然后BufferedReader包装,等操作简单的多了。

    这里如果指定的字符编码不对,可能会抛出异常 MalformedInputException ,或者读取到了乱码:

    java.nio.charset.MalformedInputException: Input length = 1
        at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
        at java.io.InputStreamReader.read(InputStreamReader.java:184)
        at java.io.BufferedReader.fill(BufferedReader.java:161)
        at java.io.BufferedReader.readLine(BufferedReader.java:324)
        at java.io.BufferedReader.readLine(BufferedReader.java:389)
        at com.coin.Test.main(Test.java:79)
    

    6)文件写操作:

    try {
                BufferedWriter writer = Files.newBufferedWriter(Paths.get("C:\\my2.ini"), StandardCharsets.UTF_8);
                writer.write("测试文件写操作");
                writer.flush();
                writer.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
    

    7)遍历一个文件夹:

    Path dir = Paths.get("D:\\webworkspace");
            try(DirectoryStream<Path> stream = Files.newDirectoryStream(dir)){
                for(Path e : stream){
                    System.out.println(e.getFileName());
                }
            }catch(IOException e){
                
            }
    
    try (Stream<Path> stream = Files.list(Paths.get("C:/"))){
                Iterator<Path> ite = stream.iterator();
                while(ite.hasNext()){
                    Path pp = ite.next();
                    System.out.println(pp.getFileName());
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    上面是遍历单个目录,它不会遍历整个目录。遍历整个目录需要使用:Files.walkFileTree

    8)遍历整个文件目录:

    public static void main(String[] args) throws IOException{
            Path startingDir = Paths.get("C:\\apache-tomcat-8.0.21");
            List<Path> result = new LinkedList<Path>();
            Files.walkFileTree(startingDir, new FindJavaVisitor(result));
            System.out.println("result.size()=" + result.size());        
        }
        
        private static class FindJavaVisitor extends SimpleFileVisitor<Path>{
            private List<Path> result;
            public FindJavaVisitor(List<Path> result){
                this.result = result;
            }
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs){
                if(file.toString().endsWith(".java")){
                    result.add(file.getFileName());
                }
                return FileVisitResult.CONTINUE;
            }
        }
    

    来一个实际例子:

    public static void main(String[] args) throws IOException {
            Path startingDir = Paths.get("F:\\upload\\images");    // F:\\upload\\images\\2\\20141206
            List<Path> result = new LinkedList<Path>();
            Files.walkFileTree(startingDir, new FindJavaVisitor(result));
            System.out.println("result.size()=" + result.size()); 
            
            System.out.println("done.");
        }
        
        private static class FindJavaVisitor extends SimpleFileVisitor<Path>{
            private List<Path> result;
            public FindJavaVisitor(List<Path> result){
                this.result = result;
            }
            
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs){
                String filePath = file.toFile().getAbsolutePath();       
                if(filePath.matches(".*_[1|2]{1}\\.(?i)(jpg|jpeg|gif|bmp|png)")){
                    try {
                        Files.deleteIfExists(file);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                  result.add(file.getFileName());
                } return FileVisitResult.CONTINUE;
            }
        }
    

    将目录下面所有符合条件的图片删除掉:filePath.matches(".*_[1|2]{1}\.(?i)(jpg|jpeg|gif|bmp|png)")

    public static void main(String[] args) throws IOException {
            Path startingDir = Paths.get("F:\\111111\\upload\\images");    // F:\111111\\upload\\images\\2\\20141206
            List<Path> result = new LinkedList<Path>();
            Files.walkFileTree(startingDir, new FindJavaVisitor(result));
            System.out.println("result.size()=" + result.size()); 
            
            System.out.println("done.");
        }
        
        private static class FindJavaVisitor extends SimpleFileVisitor<Path>{
            private List<Path> result;
            public FindJavaVisitor(List<Path> result){
                this.result = result;
            }
            
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs){
                String filePath = file.toFile().getAbsolutePath();
                int width = 224;
                int height = 300;
                StringUtils.substringBeforeLast(filePath, ".");
                String newPath = StringUtils.substringBeforeLast(filePath, ".") + "_1." 
                                                + StringUtils.substringAfterLast(filePath, ".");
                try {
                    ImageUtil.zoomImage(filePath, newPath, width, height);
                } catch (IOException e) {
                    e.printStackTrace();
                    return FileVisitResult.CONTINUE;
                }
                result.add(file.getFileName());
                return FileVisitResult.CONTINUE;
            }
        }
    

    为目录下的所有图片生成指定大小的缩略图。a.jpg 则生成 a_1.jpg

    2. 强大的java.nio.file.Files

    1)创建目录和文件:

    try {
                Files.createDirectories(Paths.get("C://TEST"));
                if(!Files.exists(Paths.get("C://TEST")))
                        Files.createFile(Paths.get("C://TEST/test.txt"));
    //            Files.createDirectories(Paths.get("C://TEST/test2.txt"));
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    注意创建目录和文件Files.createDirectories 和 Files.createFile不能混用,必须先有目录,才能在目录中创建文件。

    2)文件复制:

    从文件复制到文件:Files.copy(Path source, Path target, CopyOption options);

    从输入流复制到文件:Files.copy(InputStream in, Path target, CopyOption options);

    从文件复制到输出流:Files.copy(Path source, OutputStream out);

    try {
                Files.createDirectories(Paths.get("C://TEST"));
                if(!Files.exists(Paths.get("C://TEST")))
                        Files.createFile(Paths.get("C://TEST/test.txt"));
    //          Files.createDirectories(Paths.get("C://TEST/test2.txt"));
                Files.copy(Paths.get("C://my.ini"), System.out);
                Files.copy(Paths.get("C://my.ini"), Paths.get("C://my2.ini"), StandardCopyOption.REPLACE_EXISTING);
                Files.copy(System.in, Paths.get("C://my3.ini"), StandardCopyOption.REPLACE_EXISTING);
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    3)遍历一个目录和文件夹上面已经介绍了:Files.newDirectoryStream , Files.walkFileTree

    4)读取文件属性:

    Path zip = Paths.get(uri);
    System.out.println(Files.getLastModifiedTime(zip));
    System.out.println(Files.size(zip));
    System.out.println(Files.isSymbolicLink(zip));
    System.out.println(Files.isDirectory(zip));
    System.out.println(Files.readAttributes(zip, "*"));
    

    5)读取和设置文件权限:

    Path profile = Paths.get("/home/digdeep/.profile");
                PosixFileAttributes attrs = Files.readAttributes(profile, PosixFileAttributes.class);// 读取文件的权限
                Set<PosixFilePermission> posixPermissions = attrs.permissions();
                posixPermissions.clear();
                String owner = attrs.owner().getName();
                String perms = PosixFilePermissions.toString(posixPermissions);
                System.out.format("%s %s%n", owner, perms);
                
                posixPermissions.add(PosixFilePermission.OWNER_READ);
                posixPermissions.add(PosixFilePermission.GROUP_READ);
                posixPermissions.add(PosixFilePermission.OTHERS_READ);
                posixPermissions.add(PosixFilePermission.OWNER_WRITE);
                
                Files.setPosixFilePermissions(profile, posixPermissions);    // 设置文件的权限
    

    Files类简直强大的一塌糊涂,几乎所有文件和目录的相关属性,操作都有想要的api来支持。这里懒得再继续介绍了,详细参见 jdk8 的文档。

    一个实际例子:

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.nio.charset.StandardCharsets;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    
    public class StringTools {
        public static void main(String[] args) {
            try {
                BufferedReader reader = Files.newBufferedReader(Paths.get("C:\\Members.sql"), StandardCharsets.UTF_8);
                BufferedWriter writer = Files.newBufferedWriter(Paths.get("C:\\Members3.txt"), StandardCharsets.UTF_8);
    
                String str = null;
                while ((str = reader.readLine()) != null) {
                    if (str != null && str.indexOf(", CAST(0x") != -1 && str.indexOf("AS DateTime)") != -1) {
                        String newStr = str.substring(0, str.indexOf(", CAST(0x")) + ")";
                        writer.write(newStr);
                        writer.newLine();
                    }
                }
                writer.flush();
                writer.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    场景是,sql server导出数据时,会将 datatime 导成16进制的binary格式,形如:, CAST(0x0000A2A500FC2E4F AS DateTime))

    所以上面的程序是将最后一个 datatime 字段导出的 , CAST(0x0000A2A500FC2E4F AS DateTime) 删除掉,生成新的不含有datetime字段值的sql 脚本。用来导入到mysql中。

    做到半途,其实有更好的方法,使用sql yog可以很灵活的将sql server中的表以及数据导入到mysql中。使用sql server自带的导出数据的功能,反而不好处理。

    展开全文
  • 主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本服务,并为运行在该平台上软件开发提供了所需API。 Hadoop ...

    hadoop 的组件有哪些
    common、HDFS、MapReduce、YARN
    common(工具类):
    包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。
    Hadoop Distributed File System(HDFS)
    Hadoop实现了一个分布式的文件系统,HDFS为海量的数据提供了存储。HDFS是基于节点的形式进行构建的,里面有一个父节点NameNode,他在机器内部提供了服务,NameNode本身不干活,NameNode将数据分成块,只是把数据分发给子节点,交由子节点来进行存储,由于只存在一个父节点,所以这是HDFS的一个缺点,单点失败。以及n个子节点dataNode,dataNode在机器内部提供了数据块,存储在HDFS的数据被分成块,然后将这些块分到多个计算机(dataNode)中,这与传统的RAID架构大有不同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。
    NameNode:

    NameNode 是一个通常在 HDFS实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。

    DataNode:

    DataNode 也是一个通常在HDFS实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。

    MapReduce:

    基于YARN的大型数据集并行处理系统。是一种计算模型,用以进行大数据量的计算。Hadoop的MapReduce实现,和Common、HDFS一起,构成了Hadoop发展初期的三个组件。MapReduce将应用划分为Map和Reduce两个步骤,其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

    yarn

    1.ResourceManager主要作用:

    处理客户端请求
    	启动/监控ApplicationMaster
    	监控NodeManager
    	资源分配与调度
    

    2.NodeManager主要作用:

    单个节点上的资源管理和任务管理
    	接收并处理来自resourceManager的命令
    	接收并处理来自ApplicationMaster的命令
    	管理抽象容器container
    	定时向RM汇报本节点资源使用情况和各个container的运行状态
    

    3.ApplicationMaster主要作用:

    数据切分
    	为应用程序申请资源
    	任务监控与容错
    	负责协调来自ResourceManager的资源,
    	开通NodeManager监视容的执行和资源使用(CPU,内存等的资源分配)
    

    4.Container主要作用:

     对任务运行环境的抽象
       任务运行资源(节点,内存,cpu)
       任务启动命令
       任务运行环境
    

    5.JobHistoryServer主要作用

    这是yarn提供的一个查看已经完成的任务的历史日志记录的服务,
    我们可以启动jobHistoryServer来观察已经完成的任务的所有详细日志信息
    

    6.TimeLineServer主要作用:

    hadoop2.4.0以后出现的新特性,主要是为了监控所有运行在yarn平台上面的
    所有任务(例如MR,Storm,Spark,HBase等等)
    

    7.调度器
    1.FIFO Scheduler (队列调度器)
    2.capacity scheduler(容量调度器,apache版本默认使用的调度器)
    3.Fair Scheduler(公平调度器,CDH版本的hadoop默认使用的调度器)

    展开全文
  • 1 调试一般分为两种,可以...3 有哪些常用的调试工具呢? 3.1 strace (1)我们知道在进行创建文件或者复制文件这些操作的时候,应用程序需要和操作系统进行一些交互。但是我们的程序一般不能直接访问linux的内...

    1 调试一般分为两种,可以通过在程序中插入打印语句。有点能够显示程序的动态过程,比较容易的检查出源程序中的有关信息。缺点就是效率比较低了,而且需要输入大量无关的数据。

    2 借助相关的调试工具。

    3 有哪些常用的调试工具呢?

    3.1 strace

    (1)我们知道在进行创建文件或者复制文件这些操作的时候,应用程序需要和操作系统进行一些交互。但是我们的程序一般不能直接访问linux的内核。但是应用程序会跳转到system_call的内核位置,内核然后检查系统的调用号,然后这个号码告诉内核需要什么服务。这就是所谓的"系统调用"

    (2)认识starce

    然后.g++ -o debug debug.cpp 

    strace ./debug就会出现如下图内容(部分截图,小伙伴可以通过试试查看更详细的内容)

    等号左边为系统调用的函数名及其参数,右边为返回值。通过上面部分的分析我们可以知道会自动调用很多函数用于进程初始化工作比如装载被执行程序,载入libc函数库,设置内存映射等。

    (3) 统计系统调用

    通过加上-c的做统计分析。比如strace -c ./debug.另外-o将结果输出到文件。-T将每个系统调用所花费的时间打印出来。-t.-tt等可以记录每次系统调用发生的时间。

    3.2 gdb

    (1)认识gdb

    a:启动程序可以按照用户自定义的要求随心所欲的运行程序

    b:可以被调试的程序在指定的断点挺住

    c:当程序停住时候可以检查程序的运行状态

    d:动态的改变程序的执行环境

    (2)gdb常用方法

    a:程序如下

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int func(int n)
     5 {
     6     int result = 0;
     7     for(int i=1;i<=n;i++)
     8     {
     9         result+=i;
    10     }
    11     return result;
    12 }
    13 
    14 int main()
    15 {
    16     int arr[10];
    17     arr[0] = 0;
    18     arr[1] = 1;
    19     for(int i=2;i<10;i++)
    20     {
    21         arr[i]=arr[i-1]+arr[i-2];
    22         
    23     }
    24     cout<<"arr[9]"<<arr[9]<<endl;
    25     cout<<"func(9)"<<func(9)<<endl;
    26     return 0;
    27 }
    View Code

    b:gdb gdb进入gdb环境 l---->从第一行列出源码 按enter重复上一次命令,b 15----->表示在15行设置断点。info break----->查看断点。r----->运行程序.n----->表示next单步运行。p i--->打印变量。bt------>查看函数堆栈。q--->结束调试

    (2)gdb分析core文件

    a:core文件的存储路径。通常是在执行程序的时候会出现段错误。但是在当前的目录下面没有coredump文件。可以通过如下命令查看core文件的存在位置

    cat /proc/sys/kernel/core_pattern

    更改coredump文件的存储位置

    echo "/data/coredump/core">/proc/sys/kernel/core_pattern

    设置core文件的名字让我们清楚知道是哪一个程序的core错误

    echo "/data/coredump/core.%e.%p">/proc/sys/kernel/core_pattern这样的core会自导崩溃的程序吗和进程ID

    b:产生core的条件

    有的时候需要确认当前的绘画能够生成coredump文件的大小。大小为0则不会生成对应的coredump文件。

    通过ulimit -c可以查看coredump文件大小的最大值

    通过ulimit -c unlimited设置core文件不受限制。如果需要指定大小则ulimit -c size但是只是对当前的会话有作用

    (3)gdb定位coredump文件 非法访问内存

    #include <stdio.h>
    int main()
    {
        int b = 1;
        int *a;
        *a = b;
        return 0;
    }
    View Code

    查看coredump文件的ELF头部

    readelf -h core..... 发现文件格式为CORE说明是core-dump文件

    执行gdb test core*可以发现程序第5行*a=b 然后分别打印a和b的值 返现指向的地址为非法区域。也就是没有分配内存导致。

    3.3 top

     

    (1)相关参数说明

    第一行:系统当前时间 系统运行时间 当前用户登陆数和系统的负载。其中负载分别为1min 5min 15min

    第二行:total(进程总数) ruunig(正在运行的进程数) sleeping(睡眠的进程数) zombie(僵尸进程数)

    第三行:%us(用户空间占用cpu比例) %id(空闲cpu百分比,通过这个可以反应一个系统的cou闲忙成都) %wa(等待输入输出io) %hi(cpu处理硬件终端时间)

    第四行显示内存MEM数据:

    buffers和cache区别:buffers是块设备的读写缓冲区,cache是文件系统本身的页面缓存。目的都是为了加速磁盘的访问。

    3.4 ps

    (1)常用命令1

    ps -u 用户名  查看指定用户的信息

    (2)显示某个进程信息

    ps -ef| grep 进程名

    (3)列出目前所有正在内存当中的程序

    ps aux

    好叻 今天就到这里了,加油!!!!

     

    转载于:https://www.cnblogs.com/lanjianhappy/p/8916071.html

    展开全文
  • 然后详细介绍了数字图像处理一些常用技术,这些技术和方法在系统中大都很好实现了。 本系统实现了图像处理技术中比较实用若干功能,而且操作简单,容易上手。该系统支持索引图像、灰度图像、二值图像、RGB...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ;...
  • assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...
  • •常用的文件存取控制方法:存取控制矩阵、用户权限表、使用口令、使用密码 6、文件系统的数据结构和表示 UNIX或Linux操作系统中文件系统的主要特点 (1)操作系统文件的目录组织是一个树形结构,...
  • PHP168建站系统

    2010-06-01 15:51:35
    A、文章系统  1.支持无限级分类. 2.被误删除的内容,支持从回收站还原到之前的栏目....增强完善后台在线修改模板风格功能,对常用的模板都做了功能解释说明.方便大家修改对应的模板 等等.... 官方网站:www.php168.com
  • 您可以配置同站下站群,也可以配置出不同域下站群,由于eBSite在用户系统设计上已经考虑到这一点,所以eBSite用户系统是独立,数据库也是独立,无论您多少个站点,都可以使用同一个用户系统,意味着所有...
  • man用法

    2020-02-15 10:20:06
    man -f xxx 查看xxx有哪些手册页 man <1~9> xxx 查看xxx某一类手册页 1、可执行命令或可执行文件 2、系统调用或工具 3、常用函数或库函数 4、配置文件说明 5、配置文件或某文件格式 6、游戏 7、协议等 8、...

    man man命令查看man的详细用法。

    man -f xxx 查看xxx有哪些手册页

    man <1~9> xxx 查看xxx的某一类手册页
    1、可执行命令或可执行文件
    2、系统调用或工具
    3、常用函数或库函数
    4、配置文件说明
    5、配置文件或某文件格式
    6、游戏
    7、协议等
    8、系统管理指令
    9、kernel相关文件

    man -k xxx 通过关键字查询某个命令

    展开全文
  • 新增商品排序功能,由于商品是按添加日期进行排序,对于添加较早商品很难再调到前面显示,商品排序可以让任意商品自由排序,可以方便的调用很早以前添加商品置于首页或位于某些商品前面显示。 三四、...
  • 想知道访问您网站网民对您网站中哪些页面最兴趣吗? 这些功能我们都为您全面考虑并实现了! 后台可添加第三方网站统计代码,方便了解网站访问详情! 系统模块超强灵活性: 能给网站换个我想要界面吗...
  • 我们平常在写代码时,一般是在用户空间,通过系统调用函数来访问内核空间,这是最常用的一种用户态和内核态通信的方式。(关于 Linux 用户态和内核态可以参考 xx) 除此之外,还有以下四种方式: procfs(/proc) ...
  • ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。 mod_perl与Perl一样强大,只是更快一些。 二、PHP入门 PHP站点的在线教程已经很棒了。在那里还有一些其他教程的链接。...
  • SEO 搜索引擎优化机制,支持用户自定义界面语言(全球各种语言),支持可视化傻瓜式操作、拥有企业网站常用的模块功能(企业简介模块、新闻模块、产品模块、下载模块、图片模块、招聘模块、在线留言、反馈系统、在线...
  • Linux

    2018-10-26 12:20:10
    Linux系统常用的命令有哪些?是否会Shell,Python?  比如linux下我打开一个文件调用read函数,整个过程说的越 linux中的命令了解哪些https://blog.csdn.net/lwl2014100338/article/details/82817164 linux常见...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个是正确? *3.4 这样一个巧妙表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b值。 3.5 可否用显式括号来强制执行我所需要计算顺序并控制相关副...
  • 模块

    2017-02-21 16:05:09
    不同的操作系统,操作系统底层对文件系统的访问原理是不一样的。因为可能针对不同的系统考虑使用哪些系统文件模块,会很麻烦。了os模块,会帮我们选择正确的模块并调用之。os模块中关于文件/目录常用的函数使用...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    不同编译器给出不同i值,有的为3,有的为4,哪个是正确? 34  *3.4 这样一个巧妙表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b值。 34 3.5 可否用显式括号来强制执行我所需要计算顺序并...
  • 不同编译器给出不同i值,有的为3,有的为4,哪个是正确? 34  *3.4 这样一个巧妙表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b值。 34 3.5 可否用显式括号来强制执行我所需要计算顺序并...
  • 同时,我们可以通过这张C++世界地图,了解C++世界整个面貌:有哪些好玩的地方,有哪些有趣故事,有哪些有用知识,有哪些危险而需要注意地方。这张C++世界地图,将带领我们畅游整个C++世界。  还等什么,让...
  • ABAP面试大全

    2013-12-30 15:44:36
    2.3.5财务模块:财务模块开发中常用的有哪些,简单举例说明: 12 2.3.6 PM 常用的TABLE 12 2.3.6 inner join 与 left-outer join的区别? 13 3. 权限相关 14 3.1 什么是权限对象(Authorization Objects)?在 ...
  • 可以看到添加的文件为menu.qrc。 9.我们最好先在工程文件夹里新建一个文件夹,如images,然后将需要的图标 文件放到其中。 10.在Qt Creator 的menu.qrc 文件中,我们点击Add 下拉框,选择Add Prefix。 我们可以将...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    2.17 什么容易显示枚举值符号方法? . . . . . . . . . . . . . . . 11 3 表达式13 3.1 为什么这样代码: a[i] = i++; 不能工作? . . . . . . . . . . . . 13 3.2 使用我编译器,下面代码int i=7; printf...
  • THinKPHP函数库全解

    2016-01-29 11:42:13
    1 了解ThinkPHP框架中有哪些方法 2 让开发这不必再封装自己方法 废话少说,进入正题: 1 大字母函数: 共16个 A 跨域调用 (常用) B Behavior: 执行行为 C config 加载配置文件 (常用) D:模型实例化 (常用) E ...
  • 从Java基础、JavaWeb基础到常用的框架再到面试题都完整的教程,几乎涵盖了Java后端必备的知识点。该开源仓库的文章都是我个人原创,公众号发过的技术文章(干货)也会相关的目录整理,很多知识点我还在不停的...
  • 34、j2ee常用的设计模式?说明工厂模式。 Gof23种设计模式 工厂模式:Factory 网上答案: Java中的23种设计模式: Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式), ...
  • 在Linux的系统设置问题上,学会使用文本编辑器来编辑Linux参数配置文件是一项很重要的能力。Linux环境下的文本编辑器很多,重点掌握VIM却是很...2. 自行查找资料, 调研除了vim, 还有哪些常用的牛逼的编辑器, 并...

空空如也

空空如也

1 2 3 4 5 6
收藏数 102
精华内容 40
关键字:

常用的文件系统调用有哪些