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 创建配置文件和初始化文件

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

原来今天是感恩节-Linux基础继续&MySQL和PHP的更多相关文章

  1. Linux基础命令---mysql

    mysql mysql是一个简单的sql shell,它可以用来管理mysql数据库. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.   1.语法      m ...

  2. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  3. 第90节:Java中的Linux基础

    第90节:Java中的Linux基础 linux是装载虚拟机上面的: JDK依赖包: yum install glibc.i686 MYSQL依赖包: yum -y install libaio.so ...

  4. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

  5. 《信息安全系统设计基础》第一次实验报告--Linux 基础入门

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:何伟钦  学号:20135223 成绩:            指导教师:娄嘉鹏 ...

  6. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  7. Linux 基础入门 第一周9.14~9.20

    第一节 Linux系统简介 Linux——操作系统 1.使多个用户从不同的终端同时操作主机(分时操作系统): 2.MINIX是一个功能有限的类似于UNIX的操作系统(UNIX 实现了 TCP/IP 协 ...

  8. Linux 基础入门----推荐课程

    Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https: ...

  9. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

随机推荐

  1. [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案

    [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案 问题情景 在Android里,可以使用WebView来呈现本地或是远程的网页内容.但是在显示本地网页时,如 ...

  2. Bootstrap源码分析之nav、collapse

    导航分析(nav): 源码文件:_navs.scss:导航模块Mixins/_nav-divider.scss:分隔线Mixins/_nav-vertical-align.scss:垂直对齐 1.只是 ...

  3. js中如何获取纯正的undefined?

    1.为什么要获取undefined? 因为undefined在javascript中不是保留字,可以被用户当做变量来赋值,这样如果我们后期需要用到undefined来检测一个变量的话,那么检测的值就不 ...

  4. BPM配置故事之案例8-根据表单数据调整审批线路

    Boss突然来到:小明啊,咱们的物资申请金额现在既然可以确定了,以后金额在1万以下的申请单,就不用我审批了.直接通过就行了. 小明:好的 然后小明把流程线路改成了这样. 线路条件1 线路条件2

  5. 国内最全最详细的hadoop2.2.0集群的HA高可靠的最简单配置

    简介 hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了 ...

  6. App Today Extension开发注意事项

    从iOS 8起,就有了App Extension.Extension的种类至今也扩充到了19种,应用也很广泛,值得重点关注起来. Extension几乎可以看做一个内嵌的独立App,拥有独立的Bund ...

  7. Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.解决办法

    Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...

  8. iOS iOS9.0 的CoreLocation定位

    一.简介 iOS9.0如果当前处于前台授权状态,默认是不可以后台获取用户位置. 如果在前台授权下,让其能获取到后台定位,该怎么办 可以设置以下属性为YES,就可以继续获取后台位置,但是会出现蓝条 使用 ...

  9. iOS--归档和解档(Archiver)、(UnArchiver)

    一.已有类型的归档和解档 首先来看一个简单的例子: //第一方式:归档对象 //对象-->文件 NSArray *array = [NSArray arrayWithObjects:@" ...

  10. GIT在iOS开发中的使用

    前言 在iOS开发中,很多公司对项目的版本控制管理都使用了git,当然也有部分公司使用的是svn.当年我最初接触的是svn,觉得使用起来挺方便的,但是每次切分支都需要下载一份新的代码起来,这实在太麻烦 ...