Shell资料

• Shell and Vim
• 正则表达式
• Perforce (版本管理系统)
Shell (其实就是命令行模式,这里我暂时不讲Cshell or bash脚本怎么写,先说基本的)
ls
ls就是列出 位置的所有文件和文件夹。常见的使用形式:
• ls -rtl 按照更新时间、倒序显示文件or文件夹的详细信息。列文件时候,往往最关心最近产生、更改的文件名。
rm
删除文件或文件夹。
• rm -rf 强制删除 位置的所有文件和子文件夹内容。慎用,不过一般重要文件都是在版本控制系统下,如果误删除其实问题不大,还好啦。
find -name " .log"
位置和所有子文件夹,查找符合
.log条件的所有文件。这里的*,并不是正则表达式,通配符而已。
sed -i ‘regexp’ file_name.log
sed是功能比较强的文本处理工具,最常用的还是在命令行进行指定文件(file_name.log)替换操作。替换指令由正则表达式 regexp 决定(正则表达式会在后面简单举例讲解,regexp这里只是一个代称,并不是真正的指令)
sed -i ‘s/rams/model/rams/synth/’ compile.vc
o 上述举例,是将compile.vc中的所有 rams/model 替换成 rams/synth
grep “text_to_search” * -r
grep这个命令的使用频率几乎不亚于ls. 具体是说什么场景呢,你想在一个指定的path下(可以搜索所有子文件夹)所有类型文件是否包含一个特定text(可以是正则表达式),命中就返回结果。
举例场景:运行某个脚本,产生一个err msg, “key not found”. 这个blah是啥东西,不清楚,找找都在哪里出现过,可能有线索。好!grep命令可以用了:
grep “blah” *.tcl -r
其中-r是搜索所有子文件夹的开关,如果大范围搜索可用,小范围(当前文件夹)就不用。
注意:grep支持正则表达式,就是说text_to_search可以换成正则表达式。
管道操作
管道操作是Linux系统中比较好用的一个组合命令方式。以下举例说明:
run_sim.sh | tee run.log
o 其中:
o run_sim.sh 是第一个命令,可以理解为要执行一个名叫run_sim.sh的脚本
o | 称为 管道符 配合后面的tee run.log ,就是让run_sim.sh 这个脚本执行产生的所有文本输出,都存储到run.log的文件里。tee 命令就是从指定的输入流里面读文本,并存储到指定文件。
ls * | more
o 这个操作也常见,如果当前路径文件特多,用管道操作传递给more命令,达到输出满屏则停止,等待用户键盘响应再继续的功能。
o | more可以配合很多能产生文本输出的命令/脚本
vim (gvim)
vim是几乎最常用的文本编辑器(基于命令行显示),gvim则是对应的GUI图形界面版本(我倾向用gvim,但是有的时候terminal所在的server卡,用vim启动会更快一些)。
打开一个文件
vim
保存和退出
• :wq (就是直接在vim中输入这3个字符)-> 保存并退出(碰到修改只读文件时,需要用 :wq!)
• :w 只保存
• :q! 强制退出,并忽略已有的修改
跳转操作
• gg 回到文本第一行第一列 (也就是在vim/gvim中,直接连敲两次g,中间间隔多少时间无所谓,只需要是连续的)
• shift+g (shift键) 回到文本最后一行最后一列
• :10 表示跳到第10行
搜索
• /text_to_search (先输入一个/ 符号,后面跟上你要搜索的内容,支持正则表达式)
o 举例: /ucli 搜索ucli这个text,并跳到第一个结果
• ?text_to_search (一样的搜索,只不过,前面是正向搜索,?是反向搜索)
• n (按n键)跳到下一个搜索命中位置
• shift+n 跳到前一个搜索命中位置
打开当前行内容所指示的文件
• gf 意思是,如果当前光标所处位置的内容,是一个文件or文件夹的path。那么,你可以在此时敲gf两个字母,跳过去。
o 使用背景:比如verilog文件中会include一些header file。直接跳进去看看,唰,方便。
• 怎么回来?ctrl+o 其实这个是跳到上一个光标到过的位置,针对gf的跳转操作,有时候需要多按几次ctrl+o 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值