1. 布局方式
iOS有三种基本的界面布局的方法,分别是手写UI,xib和storyboard。手写UI是最早进行UI界面布局的方法,优点是灵活自由,缺点是需要写大段的代码进行布局。xib也是比较早出现的UI布局的方式,优点是不需要手写代码,但是每个界面对应一个xib,管理起来复杂。而storyboard则是在iOS5以后出现的,是苹果官方主推的一个代替xib的策略,不仅能将xib汇总统一管理,还可以描述各种场景之间的过渡,缺点是多人协作开发时容易产生冲突。
/g修饰符代表全局匹配, 查找所有匹配而非在找到第一个匹配后停止。
注意string.match和RegExp.exec的区别,前者的正则表达式不需要加上/g,而后者需要加上/g。
exec with a global regular expression is meant to be used in a loop, as it will still retrieve all matched subexpressions. So:
1 | var re = /[^\/]+/g; |
String.match does this for you and discards the captured groups.
vim中输入CTRL+V CTRL+M, 而不是上箭号+M。
https://blog.csdn.net/kkwant/article/details/81501241
echo $PATH | tr ‘:’ ‘\n’
1 | find . -type f | xargs -I{} md5sum {} # {} 是用来代替管道之前标准输出内容的。 |
加 -I 参数 需要事先指定替换字符
args:xargs的默认命令是echo,空格是默认定界符。 默认替换符号是{}
-I {}批定了替换字符串,表示文件内容,能循环按要求替换相应的参数 使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,
当-I与xargs结合使用,每一个参数命令都会被执行一次:
-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的
-d 自定义定界符
IFS(internal field separator)界定符,默认有三种:空格、制表符、换行符。Bash默认只要找到其中一种,就分隔字符,如果要指定使用如下方式:
,
: IFS=’,’,这个在处理csv文件中有帮助。Linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:
0——标准输入(stdin)
1——标准输出(stdout)
2——标准错误(stderr)
2>/dev/null
意思就是把错误输出到“黑洞”
/dev/null 2>&1
默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
2>&1 >/dev/null
意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕。
重定向的符号有两个:>或>>,两者的区别是:前者会先清空文件,然后再写入内容,后者会将重定向的内容追加到现有文件的尾部。
ctrl + z 挂起程序,可以用bg恢复放入后台,恢复完之后可以用fg把后台任务召回前台。jobs可以查看后台任务,前面的+号代表默认后台任务,-号代表下一个默认任务。
ctrl + c 中断程序,不能恢复了。
默认情况下,当你在终端会话shell中运行脚本时,交互式shell会挂起,直到脚本运行完。可以在命令名后加一个&符号来让脚本或命令以后台模式运行。当你在后台模式运行命令或脚本时,交互式shell会返回,允许你继续输入其他命令。任何通过这种方法运行的后台进程仍会绑定到该终端会话。如果退出了终端会话,后台进程也会退出。
可以用nohup命令阻止这种情况发生。该命令会拦截任何发给某个命令来停止其运行的信号 (比如当你退出终端会话时)。这样就可以让脚本继续在后台运行,即便是你已经退出了终端会话。 当你将进程置入后台时,仍然可以控制它的运行。jobs命令可以查看该shell会话启动的进程。
只要知道后台进程的作业号,就可以用kill命令向该进程发送Linux信号,或者用fg命令将该进程带回到该shell会话的前台。你可以用Ctrl+Z组合键挂起正在运行的前台进程,然后用bg命令将 其置入后台模式。