shell工具使用配置备忘
一、bash之vi mode。两种方式:set -o vi(只让bash自己进入vi模式)或 set editing-mode vi(让所有使用readline库函数的程序在读取命令行时都进入vi模式)。然后:在vi mode下,要替换ESCAPE(从插入状态变回普通状态,也就是移动状态),并不是读.vim,而是要修改.inputrc:
set keymap vi-insert
"\C-f": vi-movement-mode
二、写一个sh脚本,想把命令行参数原封不动传给要调用的另一脚本,就用$@表示参数,最好用引号括起来:"$@"
三、bash里给git命令添加自动补全。.profile里添加:
source /opt/local/etc/bash_completion
source /opt/local/share/git-core/git-prompt.sh
会发现完全没感觉,因为bash版本太旧拉!mac自带的是3.2,以上脚本要在4.0以上才有用。用macport安装的新bash放在/opt/local/bin/bash里,最好是修改login shell指向它。但是mac又已经不用/etc/passwd方件,直接用chsh去修改居然又提示不是标准shell不让改,真是抓狂啊,最后在设置面板用户和组里,按住ctrl右键点用户名,弹出菜单里点高级选项,里面终于可以设置了。
四、tmux使用。
创建会话:tmux [-S 共享用的socket路径] new-session -s 会话名
查看会话:tmux [-S 共享用的socket路径] ls
加入会话:tmux [-S 共享用的socket路径] attach [-dr] -t 会话名 // -d用来把其它人踢出会话,-r设定自己只能看不能改
大S指定共享socket,小s指定该socket下的会话,连到同一会话的tmux client会得到完全相同的屏幕输入输出。都不指定的话就使用默认值了。另附配置表:./.tmux
set -g prefix C-a #设置PREFIX为Ctrl-a
bind r source-file ~/.tmux.conf \; display "Reloaded!" #将r键设置为加载配置文件,并显示"reloaded!"信息bind h select-pane -L #像vim里一样切换面板
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind - split-window #横竖分割面板,-和|,比较形象
bind | split-window -h
bind-key -r Up resize-pane -U #调整面板大小,上下左右,好记
bind-key -r Down resize-pane -D
bind-key -r Left resize-pane -L
bind-key -r Right resize-pane -Runbind C-b #解除Ctrl-b与PREFIX的对应关系
unbind Space
unbind C-o #这两个快捷键都是自作聪明改面板布局的,会把我们辛苦调好的布局弄乱,取消之
setw -g mode-keys vi #copy-mode将快捷键设置为vi模式#以下从网上拷的
set -g default-terminal "screen-256color"
set -g status-utf8 on
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
set -g message-fg white
set -g message-bg black
set -g message-attr bright
set -g status-fg white
set -g status-bg black
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr brightset -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
set -g status-right "#[fg=cyan]%d %b %R"
set -g status-interval 60
set -g status-justify centresetw -g monitor-activity on #开启window事件提示
set -g visual-activity on
set-window-option -g mode-keys vi
setw -g mode-mouse on
五、将用户添加到其它组:
usermod -aG git(组) wellbye(用户)。
一般都是为了共享文件,比如普通用户想直接以local方式访问git用户下的仓库,就把该用户也添到git组里去好了。另外,为了加sudo权限,也可以加到sudo组里而避免改sudoers文件。
六、运行一个“真正”的后台程序,使之能在退出登录后仍继续运行
nohup “真正的程序命令行” &
七、修改bash命令提示符以显示当前路径
export PS1="[\w]"
更多变量可以在man bash手册里查到
shell工具使用配置备忘的更多相关文章
- Manjaro启动项目及服务配置备忘
Manjaro启动项目及服务配置备忘 =============== 系统服务GUI管理搜索 systemdgenie 并安装,类似Windows的服务管理. ================ 系统启 ...
- 生产服务器环境最小化安装后 Centos 6.5优化配置备忘
生产服务器环境最小化安装后 Centos 6.5优化配置备忘 作者:Memory 发布于:2014-8-13 15:00 Wednesday 服务器 本文 centos 6.5 优化 的项有18处: ...
- 生产服务器环境最小化安装后Centos 6.5优化配置备忘
生产服务器环境最小化安装后 Centos 6.5优化配置备忘 本文 centos 6.5 优化 的项有18处,列表如下: 1.centos6.5最小化安装后启动网卡 2.ifconfig查询IP进行S ...
- jenkins持续集成配置备忘
配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...
- Nginx基本配置备忘
原文:http://www.open-open.com/lib/view/open1482477873078.html Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件 ...
- atom 配置备忘
插件 vim-mode-plus vim-mode-plus-ex-mode plateformio-ide-terminal 'cmd窗口 docblockr 帮助你快速的生成注释 linte ...
- Nginx学习总结(5)——Nginx基本配置备忘
Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件的构成有所概念,一般来说,Nginx配置文件会由如下几个部分构成: # 全局块 ... # events块 events ...
- mac中apache+mysql+php+phpMyAdmin配置备忘
Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配 ...
- Web Config配置备忘
数据压缩 <httpCompression>节点用于配置静态压缩和动态压缩,<urlCompression>则用于开关 http压缩 <urlCompression do ...
随机推荐
- shiro1
基于角色的访问控制 RBAC(role based access control),基于角色的访问控制. 比如: 系统角色包括 :部门经理.总经理.(角色针对用户来划分) 系统代码中实现: //如果该 ...
- Spark Structured Streaming框架(2)之数据输入源详解
Spark Structured Streaming目前的2.1.0版本只支持输入源:File.kafka和socket. 1. Socket Socket方式是最简单的数据输入源,如Quick ex ...
- Spring Cloud之Feign客户端调用工具
feign介绍 Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用. Spring Cloud 支持 RestTemplate Fetin Feign客户端实际开发 ...
- LINQ 学习路程 -- 查询操作 Average Count Max Sum
IList<, , }; var avg = intList.Average(); Console.WriteLine("Average: {0}", avg); IList ...
- GVM管理Go版本
1.为什么要安装GVM 1.1什么是GVM GVM是一个golang虚拟环境配置工具,其允许一台机器上安装多个golang版本,gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具.使 ...
- SpringMVC 文件上传及下载
首先需要导入jar包 创建一个jsp页面 package cn.happy.Controller; import java.io.File; import javax.servlet.http.Htt ...
- js 禁止用户使用Ctrl+鼠标滚轮缩放网页
为什么会有人会使用ctrl+鼠标滚轮缩放网页?坚决禁止! <html> <head> <title>测试</title> <script lang ...
- Geoserver端口冲突解决方案
转载:https://blog.csdn.net/wiinder/article/details/53260642 今天在安装Geoserver的时候遇到了端口冲突的问题,即默认的8080端口与Tom ...
- Python习题-列出目录下所有文件删除文件夹
需求描述: 1.当前目录下有很多文件夹.文件,统计/usr/local/这个目录下,如果是文件夹,就给删除 /usr/local/ f1 w1 f2 w2 w3 w4 ...
- java--xml文件读取(SAX)
SAX解析原理: 使用Handler去逐个分析遇到的每一个节点 SAX方式解析步奏: 创建xml解析需要的handler(parser.parse(file,handler)) package com ...