Ubuntu 使用笔记

2023-11-06

更新时间:2020/3/24

一、安装

如果您还没有安装的话,您可以看看我的这篇博客,也许会少走一点弯路;安装好之后,如果想系统的学习以下Ubuntu,您可以看一下这篇博客

二、快捷键

Linux下主要有两种风格的键绑定,一种是VI风格,另一种是Emacs风格(readline控件).
下面是Emacs 风格的按键绑定

//一些按键的简洁表示
\A  代表Alt,
\S  代表Shift
\M  Meta键在PC中通常为ALT键
\BackSpace   BackSpace按键

打开终端:Ctrl+Alt+T
复制:Ctrl+C
粘贴:鼠标中键


移动命令:
\C-a 移动到行首 Aheah               
\C-e 移动到行末 End                  
\C-f 向前移动一个字符 Forward
\C-b 向后移动一个字符 Backward               
\M-f 向前移动一个单词               
\M-b 向后移动一个单词
\C-l 清空屏幕 cLear                      
\C-p 上翻,前一条命令 Previous    //这两个命令也可以理解为移动命令   
\C-n 下翻,后一条命令 Next     
          
编辑命令:
\C-d 删除光标后的一个字符 
\M-d 删除光标后的一个单词 Delete
\BackSpace 删除光标前的一个字符
\M-BackSpace 删除光标前的一个单词
\C-k 删除光标至行末的部分 Kill                  
\C-u 删除光标至行首的部分 Unix-line-discard
\C-w 删除光标前的一个单词 Word              
\C-y 粘贴(最后删除的对象) Yank            
\C-\S-- 撤消

搜索历史纪录:
\C-r 连续使用 ``C-r`` 可以查找下一个                \M-p           \M-n

补全:
\Tab 使用频率最高的功能!               
\C-o 遍历补全 (未定义)
\M-? M-= 列出所有可能选项,相当于按两次Tab键(M-? 实际按键为\A+\S+/)
\M-# 注释掉当前命令,用于将当前命令暂存于历史纪录列表(\A+\S+3)
\M-! 补全命令,通常用来补全子命令,例如 ``sudo`` 的子命令(\A+\S+1)
\M-~ 补全用户名(\A+\S+`)              
\M-@ 补全主机名(\A+\S+2)
\M-$ 补全变量(\A+\S+4)                 
\M-_ 补全历史纪录中的纪录(\A+\S+-)
\M-* 将所有可能选项放到命令行中(\A+\S+8)

通配符
使用 ? 代表任意单个字符。例如 ???lo ,表示 lo 前有三个字符,它可以匹配 Hello
使用 * 代表随意几个任意字符。例如 *.iso ,代表所有iso格式的文件。
说明:您可以将遍历补全和通配符结合使用,以提高效率。

自定义键绑定
通过修改 /etc/inputrc 文件,可以更改键绑定。建议您使用默认的键绑定,以避免不必要的烦恼。

快捷键 功能
Ctrl + Alt + T 打开终端
Tab 命令或文件名自动补全
Ctrl + Shift + C 复制
Ctrl + Shift + V 粘贴
Ctrl + Shift + T 在同一个窗口新建终端标签页
Ctrl + Shift + W 关闭标签页
Ctrl + Shift + N 新建终端窗口
Ctrl + Shift + Q 关闭终端窗口
Ctrl + Shift + PageUp 标签页左移
Ctrl + Shift + PageDown 标签页右移
Ctrl + D 关闭标签页
Ctrl + L 清除屏幕
Ctrl + C 终止当前任务
Ctrl + P 显示上一条历史命令
Ctrl + N 显示下一条历史命令
Ctrl + R 反向搜索历史命令,恢复被撤销内容
u 撤销上一步操作,命令模式下
Ctrl + J/M 回车(同enter键功能)
Ctrl + A 光标移动到行首
Ctrl + E 光标移动到行尾
Ctrl + B 关闭想后移动一个位置(backward)
Ctrl + Z 把当前任务放到后台运行
Ctrl + PageUp 前一个终端标签页
Ctrl + PageDown 下一个终端标签页
F1 打开帮助指南
F11 全屏切换
Alt + F 打开“文件”菜单(file)
Alt + E 打开“编辑”菜单(edit)
Alt + V 打开“查看“菜单(view)
Alt + S 打开“搜索”菜单(search)
Alt + T 打开“终端”菜单(terminal)
Alt + H 打开“帮助”菜单(help)
Ctrl + → 光标移动到上一个单词的词首
Ctrl + ← 光标移动到下一个单词的词尾
Ctrl + 鼠标 选择矩形文本
Ctrl + T 将光标位置的字符和前一个字符进行位置交换
Ctrl + U 剪切从行的开头到光标前一个位置的所有字符
Ctrl + K 剪切从光标位置到行末的所有字符
Ctrl + Y 粘贴Ctrl + U/Ctrl + K剪切的内容
Ctrl + H/* 删除光标位置的前一个字符(backspace键功能)
Ctrl + D 删除光标位置的一个字符(delete键功能)
Ctrl + W 删除光标位置的前一个单词(Alt + Backspace组合键功能)
Ctrl + &(7) 恢复Ctrl + H/D/W删除的内容
Ctrl + Win + ↑ 最大化当前窗口
Ctrl + Win + ↓ 还原/最小化当前窗口
Ctrl + Win + D 最小化所有窗口
Win + W 展示所有窗口
Win + T 打开回收站
2次连续Tab/4次连续Esc/2次连续Ctrl + I 将显示所有命令和工具名称
ggVG vim编辑器全选,命令模式下
d 删除选中内容,命令模式下
y 复制选中内容到0号寄存器,命令模式下
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用

三、常用命令

3.1 软件安装

#1.使用 dpkg 命令来管理deb软件包:
sudo dpkg -i | --install xxx.deb  #安装deb软件包
			dpkg -r | --remove xxx.deb   #删除软件包
			dpkg -r -P | --purge xxx.deb   #连同配置文件一起删除
			dpkg -I | -info xxx.deb   #查看软件包信息
			dpkg -L xxx.deb   #查看包内文件
			dpkg -l    #查看系统中已安装软件包信息
			dpkg-reconfigure xxx     #重新配置软件包
			dpkg -i aaa.deb bbb.deb ccc.deb     #同时安装多个软件包(当所需软件包依赖其它软件包时用到)

#2.使用 apt 命令来管理软件包:
#APT系统主要包括 apt-get 和 apt-cache 等命令。通常是复合命令,包含若干个子命令。
sudo apt-get install xxx   #安装xxx
						-d 仅下载           -f 强制安装
			apt-get remove xxx   #卸载xxx
			apt-get update    #更新软件信息数据库
			apt-get upgrade    #进行系统升级
			apt-cache search     #搜索软件包
#说明:建议您经常使用 sudo apt-get update 命令来更新您的软件信息数据库

#3.使用 rpm命令来管理软件包:
sudo rpm –ivh rp-ppppoe-3.1-5.i386.rpm # 安装一个软件
			rpm –ivh a.i386.rpm b.i386.rpm *.rpm # 安装多个软件
			rpm –ivh http://website.name/path/pkgname.rpm # 通过网络直接安装软件
			

useful
1、sudo apt-get install python-dev / gcc
提示错误:
The following packages have unmet dependencies:
python-dev : Depends: libpython-dev (= 2.7.11-1) but it is not going to be installed
Depends: python2.7-dev (>= 2.7.11-1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
之类的,

解决方法:

#安装aptitude
sudo apt-get install aptitude
#用这个东西安装 所需软件
sudo aptitude install gcc    ##python-dev
#这后边好像并不是一次安装就搞定的,得跟着它的提示来。

aptitude与apt-get的区别和联系
aptitudeapt-get都是Debian及其衍生系统中的包管理工具。aptitude在处理包依赖问题上更好。

3.2 程序编写

#1.编写 c 程序
(1 进入编程文件所在目录
cd /home/ghl/文档/Linux\ 编程/
(2 打开文件进行编辑(创建文件可用 touch a.c)
vim a.c  //vim 的使用可以参考下面的博客
(3 编译程序
gcc a.c
(4 运行程序
./a.out

#2.编写 fortran 程序
(1 进入编程文件所在目录
cd /home/ghl/文档/1\ 编程/2\ Fortran/1\ Draft/
(2 打开文件进行编辑(创建文件可用 touch a.f90)
vim a.f90 //vim 的使用可以参考下面的博客
(3 编译程序
gfortran a.f90  //gfortran a.f90 -o b.out //可更改文件名,否则默认 *.out
(4 运行程序
./a.out

#3.编写python 程序
(1 进入编程文件所在目录
cd home/ghl/文档/1\ 编程/3\ Python/1\ Draft/
(2 打开文件进行编辑(创建文件可用 touch  a.py )
vim a.py //vim 的使用可以参考下面的博客
(3 编译运行程序
python a.py 
 #python //进入python shell 
 #quit()//退出
 #sudo apt-get install python-numpy //下载numpy模块

四、软件使用

1.终端使用

//1.快捷键
Alt+Ctrl+T:打开终端
Shift+Ctrl+T:新建标签页
Shift+Ctrl+W:关闭标签页
Shift+Ctrl+N:新建窗口
Shift+Ctrl+Q:关闭终端
Ctrl+A:将光标移到行首
Ctrl+E:将光标移到行尾
Ctrl+F/B:前后移动光标(一格)  (或者方向键)
Ctrl+C:中止命令
Ctrl+S  冻住shell(也就是不可以在终端输入东西了)
Ctrl+Q:解锁shell

终端中的复制/粘贴:
Shift+Ctrl+C:复制
Shift+Ctrl+V:粘贴

终端改变大小:
F11:全屏
Ctrl+plus:放大
Ctrl+minus:减小
Ctrl+0:原始大小 

常用命令您可以参考博客

2.Vim编辑器

Vim 编辑器的使用您可以参考博客

3.Linuxqq

Linuxqq的功能并不是很强大,只可以发送截图或文字。刚开始用的时候会发现一登陆上去就会出现闪退的情况,您可以通过这篇博客来解决这个问题。(ps:打开人数很多的群聊也会闪退,希望作Linuxqq的大佬可以早点解决这个问题2020/3/16

4.基于wine 的软件下载

发现一座宝藏!!由于前几年Linux 的Linuxqq 被下了,然后就有大佬搞出来了解决方案,具体是什么原理我也不晓得,反正能用就很开心(好像没法下载群里面的文件 2020/3/20)。链接如下:
https://github.com/wszqkzqk/deepin-wine-ubuntu
可以下QQ /微信/百度网盘/迅雷极速版…
注:如果您无法访问github,可以尝试一下这个骚操作

5.CAJViewer使用

CAJ全文浏览器是中国期刊网的专用全文格式阅读器,它支持中国期刊网的CAJ、NH、KDH和PDF格式文件。它可配合网上原文的阅读,也可以阅读下载后的中国期刊网全文,并且它的打印效果与原版的效果一致,当然,您必须具有浏览原文的权限。
下载网址:http://cajviewer.cnki.net/download.html
在这里插入图片描述
您可以下载第一个,下载之后是一个 .AppImage 格式的文件,你可以通过访问如下网址(https://www.jb51.net/LINUXjishu/675717.html)进行使用
当然如果您的电脑满足上面其他版本的要求可以下载其他版本

6.一部好用的翻译词典

Ubuntu 下面有一款很好用的翻译软件–goldendict
既可以通过在线词典翻译,也可以下载词典到本地进行翻译

7.截图工具shutter 的使用

首先用安装命令sudo apt-get install shutter安装;或者可以在软件商店中安装,安装完成之后,你会发现一个问题,就是无法编辑,让你下载一个什么什么包。解决方法如下:
https://www.linuxidc.com/Linux/2018-04/151911.htm
从这个网站上讲三个包下载下来,然后双击安装(注意有顺序要求);接着重启电脑就可以编辑你所截的图片了。
还有一步,设置快捷键:
在这里插入图片描述

引用文章

[1] 流浪猪头拯救地球-CSDN博主: https://blog.csdn.net/Gou_Hailong/article/details/104728983
[2] yueyueniaolzp-CSDN博主: https://blog.csdn.net/yueyueniaolzp/article/details/81133122
[3] Huang supreme-CSDN博主: https://blog.csdn.net/weixin_41261833/article/details/104660530
[4] qq_19998189-CSDN博主: https://blog.csdn.net/qq_19998189/article/details/78566486
[5] weixin_33692284-CSDN博主: https://blog.csdn.net/weixin_33692284/article/details/91508019
[6] wszqkzqk-Git大佬: https://github.com/wszqkzqk/deepin-wine-ubuntu
[7] 千与千寻之前-CSDN博主: https://blog.csdn.net/cpongo3/article/details/93854117
[8] 新浪博主-李晓瑞0405: http://blog.sina.com.cn/s/blog_933b54980102x6hr.html
[9] 简书作者-晨曦Bai: https://www.jianshu.com/p/9bf577335945
[10] Linux公社-醉落红尘: https://www.linuxidc.com/Linux/2018-04/151911.htm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 使用笔记 的相关文章

  • 如何让 STDOUT 和 STDERR 都转到终端和日志文件?

    我有一个脚本 将由非技术用户交互式运行 该脚本将状态更新写入 STDOUT 以便用户可以确定脚本运行正常 我希望将Stdout和STDERR重定向到终端 以便用户可以看到脚本正在工作 并查看是否存在问题 我还希望将两个流都重定向到日志文件
  • Bash 脚本监听按键以继续

    因此 我想编写一个由一系列步骤组成的 bash 脚本 并将其标识为 task 然而 每个步骤都只能完成并且可以根据用户的需要运行 Do task1 if keypressed stop task1 and move on this is t
  • 在 UNIX 中删除相同的文件

    我正在处理大量 30 000 个 大小约为 10MB 的文件 其中一些 我估计 2 实际上是重复的 我只需要为每个重复的对 或三元组 保留一个副本 您能建议我一种有效的方法吗 我正在unix上工作 您可以尝试使用此代码片段在删除之前先获取所
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • Bash 参数引号和 eval

    我编写了一个 bash 日志记录库 用我公司当前正在使用的一些复杂脚本来实现 在进行日志调用时 我一直致力于提供调用脚本的脚本文件名 BASH SOURCE 和行号 LINENO 但是 我不想依赖用户或实现脚本来将这两个变量作为参数传递 如
  • 如何在 C# 中启动文件

    编辑 我觉得自己像个白痴 我有一种感觉 像下面的答案会起作用 但没有看到任何与下面的答案类似的谷歌结果 所以当我看到这段复杂的代码时 我想它一定是这样的 我搜索并找到了这个Windows 列出并启动与扩展关联的应用程序 https stac
  • 码头无故停止

    我需要经验丰富的码头用户的建议 我在负载均衡器 亚马逊云 后面维护着 2 台 Linux 机器 使用 Jetty 9 0 3 有时我的 Jetty 容器会被 Thread 2 无故关闭 同时地 显示以下日志并且容器无故停止 没有错误 没有例
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 如何确定代码是否在信号处理程序上下文中运行?

    我刚刚发现有人正在从信号处理程序调用我编写的绝对不是异步信号安全的函数 所以 现在我很好奇 如何避免这种情况再次发生 我希望能够轻松确定我的代码是否在信号处理程序上下文中运行 语言是 C 但该解决方案不适用于任何语言吗 int myfunc
  • 错误:命令“c++”失败,退出状态为 1

    所以我尝试按照以下说明安装 Pyv8https andrewwilkinson wordpress com 2012 01 23 integrating python and javascript with pyv8 https andre
  • adb shell:无法使用 ESCAPE 键

    I want to use vi when running adb shell Starting vi is easy However I found that the ESC key doesn t seem to get through
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 如何在 Makefile 中定义全局 shell 函数?

    我想定义一个shell函数 bin sh test do some complicated tests 1 2 if something then build thisway 1 2 else build otherway 1 2 fi 这
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • 如何从远程 ssh 连接上运行的 tmux(复制模式)复制到本地剪贴板

    我通过 OS X 上的 VirtualBox 运行 Linux 我通过在无头状态下运行虚拟机 然后使用端口转发 sshing 到 Linux 机器来实现这一点 现在 无论复制到我的虚拟机上的剪贴板 我都可以粘贴到我的远程 ssh 会话上 但
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 计算 TCP 重传次数

    我想知道在LINUX中是否有一种方法可以计算一个流中发生的TCP重传的次数 无论是在客户端还是服务器端 好像netstat s解决了我的目的
  • awk 返回两个变量

    现在这就是我正在做的事情 ret ls la awk print 3 9 usr echo ret awk print 1 fil echo ret awk print 2 问题是我没有运行ls我正在运行一个需要时间的命令 因此您可以理解其
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core

随机推荐