Ubuntu下的一些终端操作
终端界面的说明
示例:hunter@Hunter-PC:~$
- 最左侧的
hunter
是目前用户的账号 - @之后的
Hunter-PC
是主机名 ~
是目前所在目录;~
为当前用户的home目录$
是提示字符;root的提示符为#
,普通用户为$
登录后取得的程序被称为Shell
(壳,因为该程序负责最外面跟使用者沟通,被戏称称为壳程序)
在Linux下平常最好使用一般账号来登录,需要动用到系统功能修订时,再使用root。
操作说明及技巧
Linux严格区分大小写。
在指令列模式里面下达指令时,会有两种主要的情况:
- 直接显示结果,然后回到命令提示字符,等待下一个指令的输入
- 进入到该指令的环境,直到结束该指令,回到命令提示字符的环境
- 指令太长的时候,可以使用
\
使指令连续到下一行。\
后需要立刻接
回车,才能跳脱!
快捷键
快捷键 | 功能 |
---|---|
Ctrl + Alt + T | 打开终端 |
Shift + Ctrl + C/V | 复制/粘贴 |
操作命令
Linux命令中,参数一般是无序的,特殊情况除外。
更新系统文件
1 | sudo apt update |
安装软件
sudo apt-get install xxx(程序名)
卸载软件
sudo apt-get remove -purge xxx(程序名)
sudo apt autoremove
磁盘管理命令
注销Linux:
exit
(Linux本身还在运行,只是退出了登录的操作)语系
- 显示目前支持的语系:
locale
- 修改语系: LANG只与输出讯息有关,若需要更改其他不同的信息,要同步更新
1
2LANG=en_US.utf8
export LC_ALL=en_US.utf8LC_ALL
。
- 显示目前支持的语系:
显示日期:
date
计算器:
bc
(win10的ubuntu子系统需要先安装)
事实上,该操作是进入到bc
这个软件的工作环境。
bc
预设仅输出整数,如果要输出小数,需要先执行scale=number
,number
是小数点位数- 要离开
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
man
是manual
(操作说明)的简写,通过man 指令名
进入的画面,就是man page
。
man page下能使用的相关操作:
按键 | 进行工作 |
---|---|
空格键 | 向下翻一页 |
PgDn | 向下翻一页 |
PgUp | 向上翻一页 |
Home | 去到第一页 |
End | 去到最后一页 |
/string |
向下搜寻string这个字符串,如果要搜寻vbird 的话,就输入/vbird |
?string |
向上搜寻string 这个字符串 |
n, N |
利用/ 或? 来查找字符串时,可以用n 来继续下一个查找,利用N 来进 |
行反向查找 | |
q | 结束这次的man page |
示例(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 | 一些可以参考的范例 |
在查询某个数据时可以这样来查阅:
- 先察看NAME的项目,看一下这个资料的意思
- 再详看一下DESCRIPTION,这个部分会提到很多相关的资料与使用时机,从这个地方可以学到很多小细节
- 如果这个指令已经很熟悉了,主要就是查询关于OPTIONS的部分,可以知道每个选项的意义,可以下达比较细部的指令内容
- 最后再看一下,跟这个资料有关的还有哪些东西可以使用。举例来说,date的
SEE ALSO
就告知我们还可以利用info coreutils date
来进一步查阅数据; - 某些说明内容还会列举有关的文件(FILES部分)来提供我们参考!这些都是很有帮助的!