zoukankan      html  css  js  c++  java
  • 原来今天是感恩节-Linux基础继续&MySQL和PHP

      hi

    原来今天是感恩节。虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面。愿大家安好!

    下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了。

    一、Linux基础(二)

    -----Linux常用命令(二)-----

    3、文件搜索命令

    3.1 文件搜索命令locate

    --优点:

    搜索速度快(在学习中,要把眼光放远、放大一点,设想数据量很大的情况或是规模很大的问题的情况)

    locate 文件名

    --工作原理:

    在后台数据库按文件名搜索

    所以,新创建的文件往往搜索不到(缺点)

    解决办法:等(1天);updatedb命令更新数据库

    --缺点:

    只能按照文件名搜索(功能弱)——理解就是,牺牲功能提升速度

    --搜索/更新配置:

    vi /etc/updatedb.conf

    得到

    PRUNE_BIND_MOUNTS = "yes"
    PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
    PRUNENAMES = ".git .hg .svn"
    PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"

    第一行就是说,是否执行下列的更新规则

    后面是不搜索这些文件夹/文件

    所以有时候有些目录中的内容搜索不到的——比如常用的/tmp

    3.2 命令搜索命令whereis和which

    3.2.1 whereis

    --基本

    [root@andy ~]# whereis ls
    ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

    能搜索到命令的目录以及其帮助文档的目录(所以命令所在位置where is ,同时要牢记,linux中一切皆文件)

    --选项

    -b 只查找可执行文件

    -m 只查找帮助文件

    [root@andy ~]# whereis -b mkdir
    mkdir: /bin/mkdir

    3.2.2 which

    --基本

    [root@andy ~]# which ls
    alias ls='ls --color=auto'
    /bin/ls

    还会查到别名(如果有的话)。

    这里ls会自动显示不同的颜色

    [root@andy ~]# which pwd
    /bin/pwd

    没有别名就还是这样,但没有帮助文档

    3.2.3 其他说明

    --找不到的命令

    [root@andy ~]# which cd
    /usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
    [root@andy ~]# where cd
    -bash: where: command not found

    有些类型是找不到的,原因是shell自带的(以后学)

    --path环境变量

    环境设定的基本路径,比如上述(/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

    它使我们可以不用绝对路径来输入命令——windows也是这样的

    还是那句话,都是文件

    path环境变量的定义:系统搜索命令的路径

    自己写的程序,要么命令都写绝对路径,要么放在这些path路径中

    3.3 find命令

    最强大的搜索命令——这里只学习基本的、常用的用法

    --基本

    find [搜索范围] [搜索条件] 文件名

    [root@andy ~]# find / -name install.log
    /root/install.log

    会发现速度很慢——范围太大

    而且真实情况会更加复杂,有可能速度更慢,压力更大

    ——尽量缩小范围!

    而且,如果打算进行模糊匹配,比如install.log.syslog。这个命令是查不到的,要进行通配符匹配,通配符是完全匹配

    --通配符

    * 匹配任意内容

    [root@andy ~]# find /root -name "install.log*"
    /root/install.log.syslog
    /root/install.log

    ? 匹配任意一个字符

    [] 匹配中括号中的任意一个字符

    [root@andy ~]# find /root -name "*[asdf]?"
    /root/anaconda-ks.cfg
    /root/.viminfo
    /root/japan
    /root/japan/anaconda-ks.cfg

    要注意,find是完全匹配,要小心

    --搜索条件

    -

    find /root -name  install.log  按照文件名搜索

    find /root -inname install.log   不区分大小写

    -

    find /root -user install.log  按照所有者搜索(不常用)

    find /root -nouser 搜索所有没有所有者的文件(常用)——这种文件很多是垃圾文件,但是有两种情况除外——内核创建的(sys中);外来文件(比如U盘)

    -

    find /var/log -mtime +10  查找10天前修改的文件——atime 文件访问时间,mtime 修改文件时间,ctime 改变文件属性;+10 10天前修改的文件,-10 10天内,10 10天当天(注意没有10天后,哈哈)——常用于日志的删除/筛选中的(默认按天)

    -

    find . -size 25k 在当前目录下搜索25k大小的文件——+25或-25也可以

    [root@andy ~]# find . -size 25k
    [root@andy ~]# ll
    总用量 48
    -rw-------. 2 root root 1273 11月 26 05:32 anaconda-ks.cfg
    -rw-r--r--. 1 root root 0 11月 26 06:05 cangls
    -rw-r--r--. 1 root root 26420 11月 25 03:55 install.log
    -rw-r--r--. 1 root root 7572 11月 25 03:52 install.log.syslog
    drwxr-xr-x. 3 root root 4096 11月 26 05:43 japan
    [root@andy ~]# find . -size +25k
    ./install.log
    [root@andy ~]# find . -size -25k
    .
    ./.tcshrc
    ./anaconda-ks.cfg
    ./cangls
    ./install.log.syslog
    ./.bash_profile
    ./.bash_logout
    ./.bash_history
    ./.bashrc
    ./.viminfo
    ./.cshrc
    ./japan
    ./japan/anaconda-ks.cfg
    ./japan/cangls
    [root@andy ~]# find . -size -25m
    find: 无效的 -size 类型“m”
    [root@andy ~]# find . -size -25M
    .
    ./.tcshrc
    ./anaconda-ks.cfg
    ./cangls
    ./install.log.syslog
    ./.bash_profile
    ./.bash_logout
    ./.bash_history
    ./install.log
    ./.bashrc
    ./.viminfo
    ./.cshrc
    ./japan
    ./japan/anaconda-ks.cfg
    ./japan/cangls
    [root@andy ~]#

    注意Mb是大写的M,kb是小写的k

    -

    find . -inum 213123 在当前目录按照i节点搜索213123的文件——常常搭配ls -i使用

    -复杂操作

    find /etc -size +20k -a -size -50k 这里的-a是与,-o是或

    [root@andy ~]# find /etc -size +20k -a -size -50k
    /etc/selinux/targeted/modules/active/modules/unprivuser.pp
    /etc/selinux/targeted/modules/active/modules/xguest.pp
    /etc/selinux/targeted/modules/active/modules/virt.pp
    /etc/selinux/targeted/modules/active/modules/postfix.pp
    /etc/selinux/targeted/modules/active/modules/unconfineduser.pp
    /etc/selinux/targeted/modules/active/modules/nagios.pp
    /etc/selinux/targeted/modules/active/modules/cups.pp
    /etc/selinux/targeted/modules/active/modules/rhcs.pp
    /etc/selinux/targeted/modules/active/modules/apache.pp
    /etc/selinux/targeted/modules/active/modules/staff.pp
    /etc/selinux/targeted/modules/active/modules/samba.pp
    /etc/mime.types
    /etc/sysconfig/network-scripts/network-functions-ipv6
    /etc/postfix/main.cf
    /etc/ld.so.cache
    /etc/libreport/events/report_RHTSupportAttach.xml
    /etc/libreport/events/report_RHTSupport.xml
    /etc/makedev.d/01linux-2.6.x
    /etc/sound/events/gnome-2.soundlist

    -

    find /etc -size +20k -a -size -50k -exec ls -lh {} ;

    [root@andy ~]# find /etc -size +20k -a -size -50k -exec ls -lh {} ;
    -rw-------. 1 root root 37K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/unprivuser.pp
    -rw-------. 1 root root 26K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/xguest.pp
    -rw-------. 1 root root 24K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/virt.pp
    -rw-------. 1 root root 31K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/postfix.pp
    -rw-------. 1 root root 29K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/unconfineduser.pp
    -rw-------. 1 root root 21K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/nagios.pp
    -rw-------. 1 root root 21K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/cups.pp
    -rw-------. 1 root root 26K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/rhcs.pp
    -rw-------. 1 root root 27K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/apache.pp
    -rw-------. 1 root root 42K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/staff.pp
    -rw-------. 1 root root 24K 11月 25 03:46 /etc/selinux/targeted/modules/active/modules/samba.pp
    -rw-r--r--. 1 root root 43K 9月 23 2011 /etc/mime.types
    -rw-r--r--. 1 root root 30K 7月 22 2014 /etc/sysconfig/network-scripts/network-functions-ipv6
    -rw-r--r--. 1 root root 27K 2月 20 2014 /etc/postfix/main.cf
    -rw-r--r--. 1 root root 40K 11月 25 03:52 /etc/ld.so.cache
    -rw-r--r--. 1 root root 23K 10月 16 2014 /etc/libreport/events/report_RHTSupportAttach.xml
    -rw-r--r--. 1 root root 22K 10月 16 2014 /etc/libreport/events/report_RHTSupport.xml
    -rw-r--r--. 1 root root 28K 11月 11 2010 /etc/makedev.d/01linux-2.6.x
    -rw-r--r--. 1 root root 27K 11月 12 2010 /etc/sound/events/gnome-2.soundlist

    这里是用-exec加入第二条命令,执行前面的结果,而且必须加{} /;

    ------总结

    就是find很强大,功能很多,灵活多变;同时带来了,使用复杂,速度不好定

    3.4 grep命令

    --基本

    搜索字符串:grep [选项] 字符串 文件名

    [root@andy ~]# grep "size" anaconda-ks.cfg
    #part /boot --fstype=ext4 --size=200
    #part swap --size=4000
    #part /home --fstype=ext4 --size=2000
    #part / --fstype=ext4 --grow --size=200

    注意,搜索到的不是符合字符串的文件,而是文件中相应的字符串——与find区分

    --选项

    -v 取反,即不包含字符串的

    -i 不区分大小写 

    --与find

    find:找文件+完全匹配+使用通配符匹配

    grep:找字符串+包含匹配+使用正则表达式匹配

    -------------------------------------------------------------------

    二、PHP与MySQL

    -----文章发布系统实践(一)-----

    理解php操作mysql的方法,熟悉掌握php的mysql函数

    1、需求分析

    1.1 后台管理系统

    管理-列表

    发布,修改,删除-程序

    1.2 前台展示系统

    文章列表,文章内容页

    1.3 数据库设计

    一个表即可,用于存放文章

    (我不想画表格,直接写数据库命令好了,但愿以后的我看得懂)

    CREATE TABLE article(

    id INT(11) PRIMARY KEY AUTO_INCREMENT,

    title CHAR(100) NOT NULL,

    author CHAR(50) NOT NULL,

    description VARCHAR(255) NOT NULL,

    content TEXT NOT NULL,

    dateline INT(11) NOT NULL DEFAULT 0

    );

    1.4 项目规划

    项目需要什么文件

    2、后台管理系统

    2.1 创建配置文件和初始化文件

    中午开会,没有睡午觉。。。早点回去看书睡觉了

  • 相关阅读:
    HDFS客户端的权限错误:Permission denied
    使用JAVA API获取hadoop集群的FileSystem
    Hessian 接口使用示例总结(转载)
    Linux NFS服务器的安装与配置
    ContextLoaderListener可以不写嘛?
    SpringMvc @ResponseBody字符串中文乱码原因及解决方案
    Spring @RequestAttribute
    Spring @Pathvariable
    Spring @Valid
    Spring @ModelAttribute
  • 原文地址:https://www.cnblogs.com/andy1202go/p/4998758.html
Copyright © 2011-2022 走看看