精华内容
下载资源
问答
  • Linux下的用户一般都了解的一个命令应给非man莫属吧,但怎样才能更好的发挥的它的最大效用,另一个很实用的命令whereis不得不提:whereis:用来查询文件的二进制代码、源文件、man手册的位置等、看一下在Linux下它的...

    Linux下的用户一般都了解的一个命令应给非man莫属吧,但怎样才能更好的发挥的它的最大效用,另一个很实用的命令whereis不得不提:

    whereis:用来查询文件的二进制代码、源文件、man手册的位置等、

    看一下在Linux下它的联机文档吧:

    Code:
    1. wzb55@ubuntu:~/c$ man whereis  
    2.   
    3. WHEREIS(1)                                                          WHEREIS(1)  
    4.   
    5.   
    6.   
    7. NAME  // 命令的名字-功能简介
    8.        whereis  -  locate the binary, source, and manual page files for a com-  
    9.        mand //为一个命令(包括C语言中系统函数)定位其二进制文件,源文件 、man手册文件的位置。
    10.   
    11. SYNOPSIS  //用法大纲
    12.        whereis [ -bmsu ] [ -BMS directory...  -f ] filename ...  
    13.   
    14. DESCRIPTION  
    15.        whereis locates source/binary and manuals sections for specified files.  
    16.        The  supplied  names  are first stripped of leading pathname components  
    17.        and any (single) trailing extension of the form .ext, for example,  .c.  
    18.        Prefixes  of  s.   resulting  from  use of source code control are also  
    19.        dealt with.  whereis then attempts to locate the desired program  in  a  
    20.        list of standard Linux places.  
    21.   
    22. OPTIONS  
    23.        -b     Search only for binaries. //只搜索二进制文件的位置 
    24.   
    25.        -m     Search only for manual sections.  //只搜索man手册文件的位置
    26.   
    27.        -s     Search only for sources.     //只搜索源文件的位置
    28.   
    29.        -u     Search  for unusual entries.  A file is said to be unusual if it  
    30.               does  not  have  one  entry  of  each  requested   type.    Thus  
    31.               `whereis  -m  -u  *'  asks for those files in the current direc-  
    32.               tory which have no documentation.  //对模式取反
    33.   
    34.        -B     Change or otherwise limit the places where whereis searches  for  
    35.               binaries.  //改变或者限制 whereis 搜索目标命令二进制文件的目录(位置)
    36.   
    37.        -M     Change  or otherwise limit the places where whereis searches for  
    38.               manual sections.  //改变或者限制whereis 搜索目标命令man手册文件的目录(位置)
    39.   
    40.        -S     Change or otherwise limit the places where whereis searches  for  
    41.               sources.  //改变或者限制whereis 搜索目标命令源文件的目录(位置)
    42.   
    43.        -f     Terminate  the last directory list and signals the start of file  
    44.               names, and must be used when any of the -B, -M,  or  -S  options  
    45.               are used.  
    46.   
    47. EXAMPLE  
    48.        Find  all  files  in /usr/bin which are not documented in /usr/man/man1  
    49.        with source in /usr/src:  
    50.   
    51.               example% cd /usr/bin  
    52.               example% whereis -u -M /usr/man/man1 -S /usr/src -f *  
    53.   
    54. FILES  
    55.        /{bin,sbin,etc}  
    56.   
    57.        /usr/{lib,bin,old,new,local,games,include,etc,src,man,sbin,  
    58.                            X386,TeX,g++-include}  
    59.   
    60.        /usr/local/{X386,TeX,X11,include,lib,man,etc,bin,games,emacs}  
    61.   
    62. SEE ALSO  
    63.        chdir(2V)  
    64.   
    65. BUGS  
    66.        Since whereis uses chdir(2V) to run faster, pathnames  given  with  the  
    67.        -M, -S, or -B must be full; that is, they must begin with a `/'.  
    68.   
    69.        whereis has a hard-coded path, so may not always find what you're look-  
    70.        ing for.  
    71.   
    72. AVAILABILITY  
    73.        The whereis command is part of the util-linux-ng package and is  avail-  
    74.        able from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.  
    75.   
    76.   
    77.   
    78.                                   8 May 1994                        WHEREIS(1)  

    1.在编写Shell脚本时,往往会用到命令的二进制文件的绝对路径:这时执行如下命令可以轻松搞定!

                   whereis -b 命令名

    例如:要找ls、pwd的命令的绝对路径

    Code:
    1. wzb55@ubuntu:~/c$ whereis -b ls pwd  
    2. ls: /bin/ls  
    3. pwd: /bin/pwd /usr/include/pwd.h 

    2.在C编程时,用到系统函数时,希望更精确地查看该函数的帮助,尤其是在命令和系统函数重名时更有用。

    如果系统函数和命令不重名时,man 函数名  --可以查到该函数的具体用法。

    如果系统函数和命令重名时, man 函数名 --查到的往往是命令的帮助手册,那么怎么找到该函数的手册呢??

    whereis 可以帮我们轻松搞定:

    例如: 查找gettimeofday()函数的参数说明和用法时,显然没有命令与该函数重名,那么直接: man gettimeofday

    就可以获得 gettimeofday函数的man手册。

    然而对于printf函数,如果直接 man printf 得到却是 printf Shell命令对应的man手册;那么怎么才可以获得

    C语言中的printf函数的man手册呢? 用whereis -m printf  你会发现printf的man手册文件不至一个。

    Code:
    1. wzb55@ubuntu:~/c$ whereis -m printf  
    2. printf: /usr/share/man/man1/printf.1.gz /usr/share/man/man3/printf.3.gz  
    3. //获得了manual文件那个是C语言中printf函数的呢?一般地较大的是。下面逐个验证

    4. wzb55@ubuntu:~/c$ man 1 printf  //user command 发现是Shell命令的printf
    5. wzb55@ubuntu:~/c$ man 3 printf  //Linux programer's Manual
    6. wzb55@ubuntu:~/c$

    whereis 是不是对C编程很有用呀。

     

    二、下面说一下 which命令吧!

    Code:
    1. wzb55@ubuntu:~/c$ man which  
    2. WHICH(1)                                                              WHICH(1)  
    3.   
    4.   
    5.   
    6. NAME  //命令名--功能简介
    7.        which - locate a command  //定位一个命令  
    8.   
    9. SYNOPSIS  //用法大纲
    10.        which [-a] filename ...  
    11.   
    12. DESCRIPTION  //功能的详细描述
    13.        which returns the pathnames of the files which would be executed in the  
    14.        current environment, had its arguments been  given  as  commands  in  a  
    15.        strictly  POSIX-conformant  shell.   It does this by searching the PATH  
    16.        for executable files matching the names of the arguments. 
    17.            //which 返回符合POSIX标准的命令的可执行路径 
    18.   
    19. OPTIONS  //命令的选项说明
    20.        -a     print all matching pathnames of each argument  
    21.                //为每一个参数命令打印其所有的匹配路径
    22.   
    23. EXIT STATUS  //返回状态 在Linux下可以用 echo $?  查看一个执行完的程序的返回状态
    24.        0      if all specified commands are found and executable  
    25.                //所有指定命令都找到了可执行的路径
    26.   
    27.        1      if one or more specified commands is  nonexistent  or  not  exe-  
    28.               cutable  
    29.               //有一个或多于一个参数命令,是不存在或不可执行的,即找不到其路径
    30.   
    31.        2      if an invalid option is specified   // 指定了一个非法选项
    32.   
    33.   
    34.   
    35. Debian                            12 Jul 2004                         WHICH(1)  

    可见which 与whereis -b 功能有相似之处:同样在编写Shell脚本时可以快速查找命令的绝对路径;

    看下面which应用的举例:

    Code:
    1. wzb55@ubuntu:~/c$  
    2. wzb55@ubuntu:~/c$ which time  
    3. /usr/bin/time  
    4. wzb55@ubuntu:~/c$ which -a time  
    5. /usr/bin/time  
    6. /usr/bin/X11/time  
    7. wzb55@ubuntu:~/c$ echo $?  
    8. 0  
    9. wzb55@ubuntu:~/c$ which ls  
    10. /bin/ls  
    11. wzb55@ubuntu:~/c$ which -a ls  
    12. /bin/ls  
    13. wzb55@ubuntu:~/c$ echo $?  
    14. 0  
    15. wzb55@ubuntu:~/c$ which printff  
    16. wzb55@ubuntu:~/c$ echo $?  
    17. 1  
    18. wzb55@ubuntu:~/c$ which -ap ls  
    19. Illegal option -p  
    20. Usage: /usr/bin/which [-a] args  
    21. wzb55@ubuntu:~/c$ echo $?  
    22. 2  
    23. wzb55@ubuntu:~/c$  

     

     

    至此,学习了which ,whereis ,man 的一部分小功能,在Linux下进行C编程时,对于那些复杂的函数的参数,用法的记忆,就不怕啦,每次想看时,就man一下,瞅一眼,慢慢的就熟喽!

     

    展开全文
  • SQL中where与having的区别

    千次阅读 2021-06-02 16:42:20
    SQL中where与having的区别 目录 SQL中where与having的区别 创建表 插入数据 进行聚合操作 # WHERE是在聚合之前进行数据行的过滤而HAVING实在聚合之后进行新数据的过滤; 即在SQL语法中WHERE语法的执行早于...

    SQL中where与having的区别

    目录

    SQL中where与having的区别

    创建表

    插入数据

    进行聚合操作


    # WHERE是在聚合之前进行数据行的过滤而HAVING实在聚合之后进行新数据的过滤;

    即在SQL语法中WHERE语法的执行早于GROUP BY,而GOUP BY 早于HAVING的执行;

    # WHERE filters rows before grouping (i.e. GROUP BY) while HAVING filters rows after grouping.

    创建表

    包含字段:名称、年龄、种族、使用的装备

    -- Create table called adventurers
    CREATE TABLE adventurers (
        -- string variable
        name varchar(255),
        -- integer variable
        age int,
        -- string variable
        race varchar(255),
        -- string variable
        weapon varchar(255)
    )

    插入数据

    在表中插入四条数据

    -- Insert into the table adventurers
    INSERT INTO adventurers (name, age, race, weapon)
    VALUES ('Fjoak Doom-Wife', 28, 'Human', 'Axe'),
           ('Alooneric Cortte', 29, 'Human', 'Bow'),
           ('Piperel Ramsay', 35, 'Elf', 'Axe'),
           ('Casimir Yardley', 14, 'Elf', 'Bow')

    进行聚合操作

    使用where筛选年龄大约15岁的角色

    -- Retrieve the race and average age from the table
    SELECT race, AVG(age) FROM adventurers
    -- Grouped by race
    GROUP BY race
    -- That are older than 15
    WHERE age > 15

    使用having,在聚合后的结果中选取年龄大约20的结果;

    -- Retrieve the race and average age from the table
    SELECT race, age, AVG(age) FROM adventurers
    -- Grouped by race
    GROUP BY race age
    -- That are older than 20
    HAVING age > 20

     

    参考:Group Rows With Conditions

    参考:SQL

    参考:SQL中where与having的区别

    展开全文
  • Which statements are true regarding the WHERE and HAVING clauses in a SELECT statement? (Choose all that apply.) A. The HAVING clause can be used with aggregate functions in subqueries. B. Th
    一、原题
    Which statements are true regarding the WHERE and HAVING clauses in a SELECT statement?(Choose all that apply.)
    A. The HAVING clause can be used with aggregate functions in subqueries.
    B. The WHERE clause can be used to exclude rows after dividing them into groups.
    C. The WHERE clause can be used to exclude rows before dividing them into groups.
    D. The aggregate functions and columns used in the HAVING clause must be specified in the SELECT list of the query.
    E. The WHERE and HAVING clauses can be used in the same statement only if they are applied to different columns in the table.

    答案:AC

    二、题目翻译
    关于WHERE和HAVING子句哪句话是正确的(选择所有正确的选项)
    A.HAVING子句能在子查询中使用聚合函数。
    B.WHERE子句能被用于在划分组之后排除行。
    C.WHERE子句能被用于在划分组之前排除行。
    D.用在HAVING子句中的聚合函数和列必须被指定到SELECT语句的列表中。
    E.只要应用不同的列,WHERE和HAVING子句就能用在相同的语句中。

    三、题目解析
    WHERE是在分组之前筛选数据,HAVING是在分组之后筛选数据。
    WHERE子句中不能使用聚合函数,HAVING子句中可以使用聚合函数。

    展开全文
  • 使用MySQL执行update的时候报错:Error ... You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQ
        使用MySQL执行update的时候报错:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.
    
        在delete或者update的时候,都可能会出现这种警告/报错,这主要是因为版本较新的MySQL是在safe-updates模式下进行sql操作的,这个模式会导致在非主键条件下无法执行update或者delete
        修改方式:单独执行一条SQL
    
        set sql_safe_updates=0; /*取消安全模式*/
        这样就可以直接执行没有带key值的SQL语句
    
        那么,在sql_safe_updates=1的条件如何执行SQL呢?我采取的是在where条件下加上id>0这一句,即:
    
    delete from _table where content='I'm fool' and id>0
    展开全文
  • 今日用MySQL Workbench进行数据库的管理更新时,执行一个更新的语句...You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 进过一番搜索之后发现原来是MySQL
  • 2、一旦加上where,则显示的结果等同于inner join; 先写结论: 过滤条件放在: where后面:是先连接然生成临时查询结果,然后再筛选 on后面:先根据条件过滤筛选,再连 生成临时查询结果 table1 left joi...
  • 在调试mysql的存储过程是,添加一条delete语句时报如下... You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in P
  • Error: 1175 SQLSTATE: HY000 (ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE) ...Message: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.   Solutio
  • POSTGRESQL / mysql 索引区别(where)

    千次阅读 2016-03-17 11:48:28
    For example, given an index on (a, b, c) and a query condition WHERE a = 5 AND b >= 42 AND c , the index would have to be scanned from the first entry with a = 5 and b = 42 up through the last entry ...
  • sql数据库多表查询之 where和INNER JOIN

    千次阅读 2019-03-27 16:11:59
    在多表查询中,一些SQL开发人员更喜欢使用WHERE来做join,比如: SELECT a.ID, b.Name, b.Date FROM Customers a, Sales b...在笛卡尔连接中,在上面的例子中,如果有1000顾客1000条销售记录,这个查询会先产生100...
  • numpy高级教程之np.where和np.piecewise

    万次阅读 多人点赞 2018-09-25 16:07:35
    np.piecewise也前面讲过的where、select、choose一样,属于高级应用,而且实现的功能也有类似的,即根据相关的条件,进行筛选,然后对漫步不同条件的元素进行相关的操作,这个操作可以来源与函数、lambda表达式等...
  • SQL join where 等多条件连用

    千次阅读 2017-03-23 22:13:00
    本文转 For simplicity, assume all relevant fields are NOT NULL. You can do: ... table1.this, table2.that, table2.somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.p
  • 数据库多表查询之 where和INNER JOIN

    万次阅读 多人点赞 2018-07-05 10:40:47
    在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时...
  • MySQL查询优化之一-WHERE语句优化

    千次阅读 2018-01-18 13:51:34
    MySQL查询优化之一-WHERE语句优化 ...QQ技术交流群:12951803 环境: MySQL版本:5.5.15 ... 这些示例使用SELECT语句,但是相同的优化适用于DELETEUPDATE语句中的WHERE语句。 查询速度比较快的一些示例:
  • mysql where和having的区别

    千次阅读 2019-04-27 17:54:42
    check the manual that corresponds to your MySQL server version for the right syntax to use near 'where x = 3' at line 1 mysql> select name , count(name) as x from tbxxx group by name having x = 3;...
  • MySQL的查询执行计划中,Extra列经常会出现“Using where; Using index”。 MySQL官方手册解释: Using indexThe column information is retrieved from the table using only information in the index tree ...
  • numpy中的where()函数

    千次阅读 2017-11-10 19:17:42
    test_data=np.where(df_test>120,1,0) where算是三目运算符,where(条件,真,假) Return elements, either from x or y, depending on condition. If only condition is given, return condition....
  • 在高性能mysql第三版中的6.7.9节中有这样一段话:因为order by引入了文件排序,而where条件是在文件排序操作之前取值的,所以这条查询会返回表中的全部记录,解决这个问题的办法是让变量的赋值取值发生在执行查询...
  • 1、np.where(condition, x, y) condition:条件 x:满足条件时函数的输出 y:不满足条件时的输出 >>> import numpy as np >>> x = np.arange(6).reshape(2, 3) >>> x array([[0, 1, 2], ...
  • Collection Collections 有什么区别

    万次阅读 2019-04-30 23:30:39
    Collection Collections 有什么区别? Collection是JDK中集合层次结构中的最根本的接口。定义了集合类的基本方法。源码中的解释: * The root interface in the <i>collection hierarchy</i>. A...
  • layui的table的where缓存问题

    千次阅读 2019-09-19 17:47:14
    版本:layui-v2.4.3 原因在于这里: that.config = $.extend(true, {... that.config.where = that.config.firstWhere; 将初始化table时的条件,从新备份一份,为了再次重载table,依旧可以执行初始化的限制条件 ...
  • sql_safe_updates参数可以限制不带where条件的update/delete语句执行失败,这个参数设置后,可以防止业务bug/漏洞导致把整个表都更新或者删除(线上发生过的案例),也可以防止DBA在线误操作更新/删除整张表。...
  • SQL Where 子句

    千次阅读 2007-03-30 11:05:00
    The WHERE clause is used to specify a selection criterion.WHERE子句可以规定选择的依据(符合要求才会选中)WHERE 子句To conditionally select data from a table, a WHERE clause can be added to the SELECT ...
  • Keras: Mergemerge区别、Sequencial()Model()区别

    万次阅读 多人点赞 2018-12-05 10:29:55
    本篇博客主要整合一些本人在阅读时感觉很有用的连接,非原创。 一、Mergemerge简介 Keras中提供了Mergemerge两个不同的功能(新的...关于这两者的区别,请详见链接:“Merge” versus “merge”, what is...
  • Using where:表示优化器需要通过索引回表查询数据; Using index:表示直接访问索引就足够获取到所需要的数据,不需要通过索引回表; Using index condition:在5.6版本后加入的新特性(Index Condition Push...
  • MySQL DELETE FROM WHERE出现的问题

    千次阅读 2019-03-23 19:34:42
    输入DELETE FROM employees WHERE officeCode = 4;时出现的问题 ... You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. Cannot use range acces...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 598,728
精华内容 239,491
热门标签
关键字:

where和that的区别