Ubuntu下的一些终端操作

终端界面的说明

示例:
hunter@Hunter-PC:~$

  • 最左侧的hunter目前用户的账号
  • @之后的Hunter-PC主机名
  • ~目前所在目录~当前用户的home目录
  • $提示字符;root的提示符为#,普通用户为$

登录后取得的程序被称为Shell(壳,因为该程序负责最外面跟使用者沟通,被戏称称为壳程序)

在Linux下平常最好使用一般账号来登录,需要动用到系统功能修订时,再使用root。


操作说明及技巧

Linux严格区分大小写

在指令列模式里面下达指令时,会有两种主要的情况:

  • 直接显示结果,然后回到命令提示字符,等待下一个指令的输入
  • 进入到该指令的环境,直到结束该指令,回到命令提示字符的环境

  • 指令太长的时候,可以使用\使指令连续到下一行。\后需要立刻接
    回车,才能跳脱!

快捷键

快捷键 功能
Ctrl + Alt + T 打开终端
Shift + Ctrl + C/V 复制/粘贴

操作命令

Linux命令中,参数一般是无序的,特殊情况除外

更新系统文件

1
2
sudo apt update
sudo apt upgrade

安装软件

sudo apt-get install xxx(程序名)

卸载软件

  • sudo apt-get remove -purge xxx(程序名)

  • sudo apt autoremove

磁盘管理命令

  • 注销Linux:exit(Linux本身还在运行,只是退出了登录的操作)

  • 语系

    • 显示目前支持的语系:
      locale
    • 修改语系:
      1
      2
      LANG=en_US.utf8
      export LC_ALL=en_US.utf8
      LANG只与输出讯息有关,若需要更改其他不同的信息,要同步更新LC_ALL
  • 显示日期:date

  • 计算器:bc(win10的ubuntu子系统需要先安装)
    事实上,该操作是进入到bc这个软件的工作环境
      bc预设仅输出整数,如果要输出小数,需要先执行scale=numbernumber是小数点位数

    • 要离开bc,需要输入quit命令
  • 转换成root用户:sudo su

  • 展示文件和目录:ls

    • -a/--all 展示当前目录下所有文件和目录(隐藏文件和特殊目录以.开头)
    • -l 查询详细列表(可以组合使用-al)
    • -h 友好展示信息
      ls -l可以简写为ll
  • 切换目录:cd

    • ~ 当前用户的家目录
    • / 根目录
    • - 切换到上次访问的目录
  • 显示当前所在目录:pwd(print working directory)

  • 创建目录:mkdir

    • -p(parents) 父目录不存在的情况下,生成父目录
    • -v 显示命令执行过程中的详细信息
  • 删除目录:rmdir

文件操作命令

  • 快捷查看当前文件的内容:cat适合查看少量信息的文件

  • 分页显示内容,标注每行的行号:less -mN(适用于大量数据的查看)

    • 回车 向下n行(需要定义,默认为1行)
    • 空格 向下一页
    • b 向上一页
    • q 退出
  • 快速查看文件后n行的内容:tail -n(查看日志)

  • 复制文件/目录:cp 需要复制的文件 复制的位置

    • -r/--recursive 递归处理,将指定目录下的子目录一并处理
      示例:
      1
      2
      3
      需求:把/root/Demo.java 文件复制到 /root/t1 目录中,改名为d.java
      位置:root
      命令:cp Demo.java t1/d.java
  • 文件移动:mv 需要移动的文件 移动的位置

    • -f 强制性覆盖
    • 文件/目录重命名操作mv 原文件 新文件名(原文件名即转换为新文件名)
  • 文件/目录删除:

    • rm 文件名
      • -f/--force 强制删除
      • -r/--recursive 递归处理,将指定目录下的子目录一并处理
    • rm -rf 目录
  • 查找文件或目录:find [目录名] -name '需要查找的字符串'(不填写目录名则在当前目录下查找)

  • 压缩、解压命令:tar

    • -c 建立一个压缩文件(create)
    • -x 解开一个压缩文件(extract)
    • -z 用gzip压缩
    • -v 压缩过程中显示文件(verbose)
    • -f 使用档名,在f之后要接档名(file)

Linux的压缩包格式:*.tar(打包不压缩)、*.tar.gz(打包并压缩文件大小)
- 压缩:tar -zcvf 压缩包名.tar.gz 需要压缩的内容
例如tar -zcvf test.tar.gz *(将当前目录下内容进行打包压缩)
- 解压:tar -zxvf 需要解压的压缩包名.tar.gz [-C 指定解压路径]

系统命令

  • 查看系统进程:ps -ef(Process Status) 同时会显示执行ps命令的进程信息
    示例:ps -ef | grep -i vim 查看vim相关的进程

  • 强制结束进程:kill -9 pid号

  • 显示网络设备:ifconfig

  • 测试和目标的连通性:ping ip地址

权限命令

  • 权限更改:chmod 权限设置 需要更改权限的文件
    • -R/--recursive 递归处理
      示例:
    • 更改所属用户(user)的权限:chmod u=rwx test.txt
    • 更改所属组(group)的权限:chmod g=rx test.txt
    • 更改其他用户(other)的权限:chmod o=rx test.txt
    • 更改所有用户(all)的权限:chmod a=r test.txt

几个重要的热键

  • Tab
    Tab具有命令补全文件补齐的功能,可以避免打错指令或文件名

    • Tab接在一串指令的第一个字的后面,则为命令补全
    • Tab接在一串指令的第二个字以后时,则为文件补齐
  • Ctrl + c:中断目前程序

  • Ctrl + d: 键盘输入结束;也可以用来取代exit的输入

  • Ctrl + PgUp/PgDown:翻页(指令执行后,显示的内容很长时可以用到)


查看帮助

指令名后加上--help

即可查看指令的用法,如cal --help

man page

  manmanual(操作说明)的简写,通过man 指令名进入的画面,就是man page

man page下能使用的相关操作:

按键 进行工作
空格键 向下翻一页
PgDn 向下翻一页
PgUp 向上翻一页
Home 去到第一页
End 去到最后一页
/string 搜寻string这个字符串,如果要搜寻vbird 的话,就输入/vbird
?string 搜寻string 这个字符串
n, N 利用/?来查找字符串时,可以用n来继续下一个查找,利用N来进
反向查找
q 结束这次的man page

示例(man date):
man date操作之后的页面

在页面第一行,可以看到DATE(1)DATE是指令名称,(1)代表一般用户可使用的指令

代号 代表内容
1 用户在shell 环境中可以操作的指令或可执行文件
2 系统核心可呼叫的函数与工具等
3 一些常用的函数(function)与函式库(library),大部分为C 的函式库(libc)
4 装置文件的说明,通常在/dev 下的文件
5 配置文件或者是某些文件的格式
6 游戏(games)
7 惯例与协议等,例如Linux 文件系统、网络协议、ASCII code 等等的说明
8 系统管理员可用的管理指令
9 跟kernel 有关的文件

man page大致分成以下几个部分:

代号 内容说明
NAME 简短的指令、数据名称说明
SYNOPSIS 简短的指令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分最好仔细看看!
OPTIONS 针对SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令
FILES 这个程序或数据所使用或参考或连结到的某些文件
SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例

在查询某个数据时可以这样来查阅:

  1. 先察看NAME的项目,看一下这个资料的意思
  2. 再详看一下DESCRIPTION,这个部分会提到很多相关的资料与使用时机,从这个地方可以学到很多小细节
  3. 如果这个指令已经很熟悉了,主要就是查询关于OPTIONS的部分,可以知道每个选项的意义,可以下达比较细部的指令内容
  4. 最后再看一下,跟这个资料有关的还有哪些东西可以使用。举例来说,date的SEE ALSO就告知我们还可以利用info coreutils date来进一步查阅数据;
  5. 某些说明内容还会列举有关的文件(FILES部分)来提供我们参考!这些都是很有帮助的!