Linux命令篇之pwd
pwd 命令用来查看”当前工作目录“的完整路径,当不太确定当前位置时,可以使用pwd来判定当前目录在文件系统内的确切位置
命令格式1pwd [选项]
参数1-P 显示出实际路径,而非使用连接(link)路径
实例
目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
123456[root@localhost soft]# cd /etc/init.d [root@localhost init.d]# pwd/etc/init.d[root@localhost init.d]# pwd -P/etc/rc.d/init.d[root@localhost init.d]#
/bin/pwd
命令/bin/pwd [选项] (-L 目录连接链接时,输出连接路径| -P 输出物理路径)
输出
12345678[root@localhost init.d]# /bin/pwd /etc/rc.d/init.d[root@localhost init.d]# /bin/pwd --help[root@localhost init ...
Linux命令篇之cd
切换当前目录至dirName
命令格式1cd [目录名]
范例
进入系统根目录
1cd /
返回上一层
1cd .. 或者 cd .. //
使用 cd 命令进入当前用户主目录
1cd 或者 cd ~
返回进入此目录之前所在的目录
1cd -
把上个命令的参数作为cd参数使用
1cd !$
Linux命令篇之ls
ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等,具体用法是:
1ls [选项] [目录名]
常用选项123456789101112131415161718192021222324252627282930313233343536373839404142434445-a #–all 列出目录下的所有文件,包括以 . 开头的隐含文件-A #同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。-c #配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序-C #每栏由上至下列出项目–color[=WHEN] #控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto' ...
设计模式的设计原则
从今天开始,计划把设计模式整理一下,主要是学习 秦小波的《设计模式之禅》中的内容,加上自己的一点想法。
单一职责原则(Single Responsibility Principle 简称SRP)定义应该有且仅有一个原因引起类的变更(There should never be more than one reason for a class to change)
优点
类的复杂性降低,实现什么职责都有清晰明确的定义;
可读性提高,复杂性降低,那当然可读性提高了;
可维护性提高,可读性提高,那当然更容易维护了;
变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助,单一职责适用于接口、类,同时也适用于方法
缺点
关于职责的定义比较模糊,没有量化的标准
最佳实践对于单一职责原则,建议接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
里氏替换原则(Liskov Substitution Principle 简称LSP)定义
第一种定义,也是最正宗的定义:If for ...
DDL与DML
DML (data manipulation language)数据操纵语言就是我们最经常用到的 SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。比如:
1234SELECT 列名称 FROM 表名称UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)DELETE FROM 表名称 WHERE 列名称 = 值
DDL(data definition language)数据库定义语言:在创建表的时候用到的一些sql,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上。比如:
1CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....)ALTER TABLE table_nameALTER COLUMN column_name datatypeDROP TABLE 表名称DROP DATABA ...
Linux命令篇之crontab
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务
简介Linux下的任务调度分为两类,系统任务调度和用户任务调度
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。/etc/crontab文件包括下面几行:
12345678910[root@localhost ~]# cat /etc/crontab SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=""HOME=/# run-parts51 * * * * root run-parts /etc/cron.hourly24 7 * * * root run-parts /etc/cron.daily22 4 * * 0 root ...
Linux命令篇之grep
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep正则表达式元字符集1234567891011121314151617181920212223242526272829^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。$ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。. 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。* 匹配零个或多个先前字符 如:' *grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-F和H-Z的一个字母开头,紧跟rep的 ...
MAC硬盘文件变灰不可操作的解决方法
MAC硬盘文件变灰不可操作一般是文件属性问题,在终端中可以看到文件多了个@属性。需要用xattr删掉@属性。
1xattr -l XXX.txt
可以看到类似com.apple.FinderInfo的属性,然后执行以下删除命令
1xattr -d com.apple.FinderInfo XXX.txt
就ok了
MAC破解程序出现“程序已损坏”解决方式
mac破解软件安装后就会出现,“程序已损坏,请移到废纸篓的提示”解决方法:
1sudo spctl --master-disable
Linux命令篇之find
find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件
用法12345678find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]-path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录-expression: expression可以分为——“-options [-print -exec -ok ...]”-options: 指定find命令的常用选项,下节详细介绍-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命 ...