发布到yvtu.WP 01/29/2015

Posted from Diigo. The rest of my favorite links are here.

发布到yvtu.WP 08/26/2014

    • Note that when running with the -j command it will look like dj is running through all the entities before that point but in reality it is marking those entities as done and it does not actually perform those actions.
    • To build the tree and csimulator you can use: 

       dj -v -e 'stdgen::csimulator(:<config>).flow_csim_build'
    • To build a specific directory: 

       

       dj -v -e '<component>(<variant>)::<entity_name>.build'
    • How do I build a configuration with dj?

       

       

       dj -v -e ‘config(:config_name).build’
    • Please specify what you want to dump in the dumpctrl.f file. The levels of hierarchy that you get are defined in bia/ifrit (because bia/ifrit generates the gpu_dumpctrl.vh file). Inside this file you will see that there are normally two defined dumping options. Normally it will be <block_name>_only and <block_name>_all.
    • DJ_GCF_OPTS is an environment variable that controls the switches that are passed to bsub when dj is running in LSF mode.
    • To check for these, put the following within the problematic do…end for the component in question: 
      if !variant     puts caller end
    • How do I get DV debug output when it is invoked from DJ?

       I’m debugging m4 macros in my dv file and I need the intermediate outputs, and the m4 stderr output (e.g. from errprint()) — neither seem to be kept around in normal runs. SLN: Pass: 

        “run_test ‘suite test -endp –dvdebug 1′” 

       to get the temporary files. The temporary files can be found in the current working directory.

    • How do I quickly re-build and re-run the GC emulator?

       There is an action in $STEM/album.dj for emu_rebuild and run_emu.  

       From $STEM, run this: 

      > dj –e here.emu_rebuild

       

       From $STEM, run this to re-run the GC emulator for textri:  

      > dj –e here.run_emu

Posted from Diigo. The rest of my favorite links are here.

发布到yvtu.WP 07/08/2014

    • Step 1: 安装Notepad++(当然,你也可以和我一样使用绿色版本).然后打开浏览器访问Textmate Theme Directory~

       

      Step 2: 找一个适合自己的theme,下载.tmTheme文件到本地.

       

      Step 3: 用Notepad++打开这个.tmTheme文件并全选复制.

       

      Step 4: 打开浏览器访问theme converter page,将.tmTheme中的内容全部复制到表单中,并点击下载按钮下载.

    • 进行以上操作后Notepad++的默认字体会消失,因此请打开菜单 – 设置 – 语言格式设置进行选定即可.
    • 已经内置了theme更替的功能,囧. 里面还内置了Monokai这款我很欣赏的theme,欢天喜地啊~~~

Posted from Diigo. The rest of my favorite links are here.

发布到yvtu.WP 05/08/2014

    • 在弦论之中,情况发生了根本变化。过去认为是组成客观世界的砖块的基本粒子,现在都是宇宙弦上的各种“音符”。多种多样的物质世界,真的成了“一切有为法,如梦幻泡影,如露亦如电,应作如是观。(《金刚经》)”物理学到此已进入了“自性本空”的境界! 
       
        有人会想,天啊!物质都不是客观实在了,那么,世界上还有什么东西是实在的吗? 
       
        回答是,有的。事物之间的关系,就是实在的。
    • 哲学家们在论述“关系实在”时,使用的哲学词汇,对你可能生涩难懂,我们还是用例子来解说。 
       
        我们看见一束红光,这是一个事件,是一个“果”。这个果,是由多种因缘聚合而产生的。 
       
        首先,是光的波长值,借用哲学家们熟悉的语言,这是“第一类性质”,这类性质还有如物体的广延性等,是物体自身内在所固有,它既不依赖于观察者,也不依赖它物,也就是说,它是无对而自行确立的。我们把这些第一性质,又称为“因”。
    • 其次,我们还需要具备一些其它条作,如眼睛正好睁开,没有色盲,往正确方向看,以及眼与光源之间无障碍物,等等。我们把这些条件称为”关系参量”,又称为”缘”。 
       
        这些因缘聚合,产生了红光这个果。“红色”这类颜色性质是“第二类性质”,其存在,至少部分地依赖于观察者。 
       
        “关系实在论”就是说,关系参量是不可消除的,没有它们,就不会有“看见红光”这个果,因而是实在的。
    • 如经文所说:“青赤种种色。珂乳及石蜜。淡味众华果。日月与光明。非异非不异。海水起波浪。七识亦如是。心俱和合生。” 
       
        这句偈语说:须知世间种种色相,乃至如地下的矿物,林中的植物,与天上的日月光华等等,追溯根源,也都是由如来藏识一体的变相。这些物体和藏识,在本质上并非相异,可是当它们形成为万物之后,却不能说与心识的作用是无异的了。
    • (按:青赤等种种物色,是指眼根色尘的对象。珂佩是指耳根声尘的对象。乳及石蜜,是指鼻根香尘的对象。淡味众华果,是指舌根味尘的对象。日月与光明,是指身根触尘的对象。)
    •  读到这里,你可能感到:“科学家千辛万苦爬到山顶时,佛学大师已经在此等候多时了!”

Posted from Diigo. The rest of my favorite links are here.

发布到yvtu.WP 04/22/2014

      • 标准输入  (stdin) :代码为 0 ,使用 < 或 << ;
      •  

      • 标准输出  (stdout):代码为 1 ,使用 > 或 >> ;
      •  

      • 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;
      • 我们在刚刚才谈到 stdout 代码是 1 而 stderr 代码是 2 ,  所以这个 2> 是很容易理解的,而如果仅存在 > 时,则代表默认的代码 1 啰!也就是说:

          

         
      • 1> :以覆盖的方法将『正确的数据』输出到指定的文件或装置上;
      •  

      • 1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;
      •  

      • 2> :以覆盖的方法将『错误的数据』输出到指定的文件或装置上;
      •  

      • 2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;
    • bash 的环境配置文件
    • non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后,  再以 X 的图形化接口启动终端机,此时那个终端接口并没有需要再次的输入账号与密码,那个 bash 的环境就称为  non-login shell了。(2)你在原本的 bash 环境下再次下达 bash 这个命令,同样的也没有输入账号密码,  那第二个 bash (子程序) 也是 non-login shell 。
    • ~/.bash_logout

       

      这个文件则记录了『当我注销 bash 后,系统再帮我做完什么动作后才离开』的意思。  你可以去读取一下这个文件的内容,默认的情况下,注销时, bash 只是帮我们清掉屏幕的信息而已。  不过,你也可以将一些备份或者是其他你认为重要的工作写在这个文件中 (例如清空缓存盘),  那么当你离开 Linux 的时候,就可以解决一些烦人的事情啰!

    • 除了通配符之外,bash 环境中的特殊符号有哪些呢?底下我们先汇整一下:

        

      符号 内容
    • 若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量
    • 取消变量的方法为使用 unset
    • 根据上面的案例你可以试试看!就可以了解变量的配置啰!这个是很重要的呦!请勤加练习!  其中,较为重要的一些特殊符号的使用啰!例如单引号、双引号、跳脱字符、钱字号、反单引号等等,底下的例题想一想吧!
    • 双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号
    • env 是 environment (环境) 的简写啊,上面的例子当中,是列出来所有的环境变量。当然,如果使用 export 也会是一样的内容~  只不过, export 还有其他额外的功能就是了
    • PS1='[\u@\h \W]\$ ‘ <== PS1 就厉害了。这个是命令提示字符,也就是我们常见的  [root@www ~]# 或 [dmtsai ~]$ 的配置值啦!可以更动的! PS2=’> ‘ <== 如果你使用跳脱符号 (\) 第二行以后的提示字符也
      • 你可以用 man bash (注3)去查询一下 PS1 的相关说明,以理解底下的一些符号意义。

         

         
      • \d :可显示出『星期 月 日』的日期格式,如:”Mon Feb 2″
      •  

      • \H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』
      •  

      • \h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略
  • [root@www ~]# 12name=VBird -bash: 12name=VBird: command not found <==发生错误了!bash回报有问题 [root@www ~]# echo $? 127 <==因为有问题,回传错误代码(非为0) # 错误代码回传值依据软件而有不同,我们可以利用这个代码来搜寻错误的原因喔! [root@www ~]# echo $? 0 # 咦!怎么又变成正确了?这是因为 “?” 只与『上一个运行命令』有关,
  • 子程序仅会继承父程序的环境变量,  子程序不会继承父程序的自定义变量啦!
  • 换个角度来想,也就是说,如果我能将自定义变量变成环境变量的话,那不就可以让该变量值继续存在于子程序了?  呵呵!没错!此时,那个 export 命令就很有用啦!如你想要让该变量内容继续的在子程序中使用,那么就请运行:

      

    [root@www ~]# export 变量名称
  • read [-pt] variable 选项与参数: -p :后面可以接提示字符! -t :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦!
  • declare [-aixr] variable 选项与参数: -a :将后面名为 variable 的变量定义成为数组 (array) 类型 -i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型 -x :用法与 export 一样,就是将后面的 variable 变成环境变量; -r :将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset
    • 由于在默认的情况底下, bash 对于变量有几个基本的定义:

       

       
    • 变量类型默认为『字符串』,所以若不指定变量类型,则 1+2 为一个『字符串』而不是『计算式』。  所以上述第一个运行的结果才会出现那个情况的;
    •  

    • bash 环境中的数值运算,默认最多仅能到达整数形态,所以 1/3 结果是 0;
  • 让 sum 变成非环境变量的自定义变量吧! [root@www ~]# declare +x sum <== 将 – 变成 + 可以进行『取消』动作 [root@www ~]# declare -p sum <== -p 可以单独列出变量的类型 declare -ir sum=”450″ <== 看吧!只剩下 i, r 的类型,不具有 x 啰!
  • 在 bash 里头,数组的配置方式是:

      

    var[index]=content

      

    意思是说,我有一个数组名为 var ,而这个数组的内容为 var[1]=小明, var[2]=大明

  • 所以我们的 bash   是可以『限制用户的某些系统资源』的,包括可以开启的文件数量,  可以使用的 CPU 时间,可以使用的内存总量等等。如何配置?用 ulimit 吧!

      

    [root@www ~]# ulimit [-SHacdfltu] [配额] 选项与参数: -H  :hard limit ,严格的配置,必定不能超过这个配置的数值;
  • -S :soft limit ,警告的配置,可以超过这个配置值,但是若超过则有警告信息。  在配置上,通常 soft 会比 hard 小,举例来说,soft 可配置为 80 而 hard   配置为 100,那么你可以使用到 90 (因为没有超过 100),但介于 80~100 之间时,  系统会有警告信息通知你! -a :后面不接任何选项与参数,可列出所有的限制额度;
  • -c :当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),  这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量。 -f :此 shell 可以创建的最大文件容量(一般可能配置为 2GB)单位为 Kbytes -d :程序可使用的最大断裂内存(segment)容量; -l :可用于锁定 (lock) 的内存量 -t :可使用的最大 CPU 时间 (单位为秒) -u :单一用户可以使用的最大程序(process)数量。
  • 用 ulimit -f 就可以来配置了!例如上面的范例二,要注意单位喔!单位是 Kbytes。  若改天你一直无法创建一个大容量的文件,记得瞧一瞧 ulimit 的信息喔!
  • 想要复原 ulimit 的配置最简单的方法就是注销再登陆,否则就是得要重新以 ulimit 配置才行!  不过,要注意的是,一般身份使用者如果以 ulimit 配置了 -f 的文件大小,  那么他『只能继续减小文件容量,不能添加文件容量喔!』另外,若想要管控使用者的 ulimit 限值,  可以参考第十四章的 pam 的介绍。
  • 上面这个范例很有趣的!他的重点可以用底下这张表格来说明:
    • # 与 ## 就分别代表:

        

       
    • # :符合取代文字的『最短的』那一个;
    •  

    • ##:符合取代文字的『最长的』那一个
    • 有些朋友在练习 linux 的时候喜欢同时开好几个 bash 接口,这些 bash 的身份都是 root 。  这样会有 ~/.bash_history 的写入问题吗?想一想,因为这些 bash 在同时以 root 的身份登陆,  因此所有的 bash 都有自己的 1000 笔记录在内存中。因为等到注销时才会升级记录文件,所以啰,  最后注销的那个 bash 才会是最后写入的数据。唔!如此一来其他 bash 的命令操作就不会被记录下来了  (其实有被记录,只是被后来的最后一个 bash 所覆盖升级了) 。
    • 由于多重登陆有这样的问题,所以很多朋友都习惯单一 bash 登陆,再用工作控制 (job control, 第四篇会介绍) 来切换不同工作!  这样才能够将所有曾经下达过的命令记录下来,也才方便未来系统管理员进行命令的 debug 啊!
  • Posted from Diigo. The rest of my favorite links are here.