本帖用于记录博主在使用Ubuntu过程中,遇到的【不太熟悉】的终端命令,对太常见的命令如
apt-get install
等则不再记录。
一、Shell相关
1. apt相关
1.1 add-apt-repository
用户常用命令sudo add-apt-repository xxx
来为Linux添加源,然后执行sudo apt-get update
更新源,接着就能下载我们想要的软件了。如我们在更新vim时:
sudo add-apt-repository ppa:jonathonf/vim
sudo apt-get update
sudo apt-get install vim
2. update-alternatives
update-alternatives
工具用于替换软件的版本,如gcc的版本、g++的版本等。
2.1 update-alternatives --install gen link alt pri [–slave sgen slink salt] …
此命令用于在update-alternatives中添加不同的工具及不同的版本。
例:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
其中,/usr/bin/gcc
是我们创建的软链接的路径,gcc
是此软链接的别名,也就是我们在shell中可直接用的命令名,/usr/bin/gcc-7
是软链接指向的路径,700
是此版本的优先级;
--slave
后边跟的是**从软件,以上面的命令为例,我们在更换gcc版本时,g++的版本也就跟着更换了。
这样,我们就把工具gcc
的gcc-7
版本添加到update-alternatives中了,以后可以直接用update-alternatives来更换gcc
的版本。
2.2 update-alternatives --list 工具名
例:
update-alternatives --list gcc
用于展示出gcc所有可用的版本。
2.3 update-alternatives --config 工具名
例:
update-alternatives --config gcc
用于更换gcc版本。
3. sudo ln -sf 源文件 软链接
在sudo ln -sf 源文件 软链接
命令中,-s
表示创建软链接,如果不加-s
则表示创建硬链接;-f
表示如果原来有同名的文件则删除掉。
此方法也可以用来修改gcc版本(与**本文[二]**中的update-alternatives
功能类似)。如在/usr/bin
目录下,执行如下命令:
cd /usr/bin
sudo ln -sf gcc-4.7 gcc
则把gcc链接到了gcc-4.7版本上。
4. tmux
tmux工具用于对Shell分栏,常用的快捷键如下:
- Ctrl + b % :划分左右两个窗格
- Ctrl + b " :划分上下两个窗格
- Ctrl + q :选择某栏
- Ctrl + b ↑/↓/←/→ : 选择某栏
上下翻页:
-
进入tmux翻屏模式
先按 ctrl +b,松开,然后再按 [ -
实现上下翻页
进入翻屏模式后,PgUp PgDn 实现上下翻页 -
退出翻屏模式
q
5.查找(文件中的内容)
- 递归查找(-r选项): grep -r “关键字” 路径(路径下的所有文件、及路径下文件夹中的所有文件等……都将被查找)
如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
grep -H -r "关键字" 路径 | cut -d: -f1
二、vim插件
1. 插件管理工具Vundle
用Vundle为Vim安装插件,由两种方式:
1.1 自动下载、安装插件
直接在~/.vimrc
中call vundle#begin()
与call vundle#end()
两行中间写入``Plugin 插件名,然后打开vim,在命令模式下输入
:BundleInstall`,即可完成自动下载和安装。
1.2手动下载、自动安装插件
我们到插件的GitHub页面手动下载插件,并将下载好的文件夹放到~/.vim/bundle
路径下,如~/.bim/bundle/nerdtree
;
但这并没有完成,我们只是下载好了,却没有安装。安装过程仍然是要打开Vim,在命令模式下输入:BundleInstall
,即可完成自动安装。
2. vim插件
2.1 NERDTree 目录树
:NERDTree
:打开NERDTree窗口- 窗口切换:
- Ctrl + w + w 光标自动在左右侧窗口切换
- Ctrl + w + h 光标向左切换
- Ctrl + w + l 光标向右切换
- 上下同理,为 j 和 k。
- Tab切换:
- gt:前一个tab
- gT:后一个tab
:tabp
:前一个tab:tabn
:后一个tab:tabs
:显示出所有tab- xgt:跳转到第x个tab
- 目录页常用:
- o :展开/合并目录
- t :在新Tab中打开选中文件/书签,并跳到新Tab
- T :在新Tab中打开选中文件/书签,但不跳到新Tab
- p :跳到父节点
- P:跳到根节点
- q:关闭NERDTree窗口
2.2 ctags 定义跳转
切记要在~/.vimrc
中注明tags的相关配置,即如果在当前目录下找不到tags文件,就到它的父目录下查找:
"在终端下执行 vim ~/.vimrc,打开后添加如下两行:"
set tags=tags;
set autochdir
- ctags -R *:递归生成本目录及所有子目录下程序文件的tags
- Ctrl + ]:进入定义
- Ctrl + t:返回到上个位置
三、SSH
2. 远程连接
ssh 远程端用户名@远程端IP
3. 远程文件传输
scp /path/filename username@servername:/path/