【Ubuntu】终端常用[工具]及其[命令](不断更新)


本帖用于记录博主在使用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++的版本也就跟着更换了。

这样,我们就把工具gccgcc-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.查找(文件中的内容)

参考:Linux如何搜索查找文件里面内容

  • 递归查找(-r选项): grep -r “关键字” 路径(路径下的所有文件、及路径下文件夹中的所有文件等……都将被查找)

如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
grep -H -r "关键字" 路径 | cut -d: -f1

二、vim插件

1. 插件管理工具Vundle

Vundle为Vim安装插件,由两种方式:

1.1 自动下载、安装插件

直接在~/.vimrccall 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 光标向右切换
    • 上下同理,为 jk
  • 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/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值