文章目录
一、安装 Ubuntu
1. 下载 Vmware
- Vmware16.0 百度云盘下载 提取码:7777
2. 下载 Ubuntu
- Ubuntu Desktop 下载地址
- 配置要求:
2GHz 双核处理器
4GB 系统内存
25GB 硬盘空间
3. 安装 Ubuntu
(1) 安装位置
新建一个文件夹 D:\虚拟机系统\Ubuntu 20.04.3 LTS
(2) 创建新的虚拟机
- 正在安装中
- 安装好后登录
(3) 设置中文语言
(4) 设置拼音输入法
二、终端命令格式
command [-options] [parameter]
command
:命令名,相应功能的英文单词或单词缩写[options]
:选项,可用来对命令进行控制,也可以省略[parameter]
:传给命令的参数,可以是零个、一个或多个- “[]” 代表可选
三、常用 Linux 命令基本使用
1. 打开终端
在桌面处鼠标单击右键
2. 基本命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹 |
03 | cd [目录名] | change directory | 切换文件夹 |
04 | touch [文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir [目录名] | make directory | 创建目录 |
06 | rm [文件名] | remove | 删除指定的文件名 |
07 | clear | clear | 清屏 |
08 | tree [目录名] | tree | 以树状图列出文件目录结构 |
09 | cp 源文件 目标文件 | copy | 复制文件或目录 |
10 | mv 源文件 目标文件 | move | 移动文件或目录 / 重命名文件或目录 |
11 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
12 | more 文件名 | more | 分屏显示文件内容 |
13 | grep 搜索文本 文件名 | grep | 搜索文本文件内容 |
(1) 命令 ls
- 功能:列出目录的内容
- 以
.
开头的文件为隐藏文件 .
代表当前目录..
代表上一级目录
参数 | 含义 |
---|---|
-a | 显示指定目录下的所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 一起使用,以人性化的凡是显示文件大小 |
(2) 命令 cd
- 功能:更改当前的工作目录
- 所有的 目录 和 ** 文件名** 大小写敏感
命令 | 含义 |
---|---|
cd 或 cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd .. | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
(3) 命令 touch
- 如果文件 不存在 ,可以创建一个空白文件
- 如果文件 已经存在 ,可以修改文件的末次修改日期
(4) 命令 mkdir
- 功能:创建一个新的目录
- 新建目录的名称不能与当前目录中已有的目录或文件同名
选项 | 含义 |
---|---|
-p | 可以递归创建目录(例:mkdir ~/a/b/c/d ) |
(5) 命令 rm
- 功能:删除文件或目录,不放入回收站
sudo rm -rf /*
选项 | 含义 |
---|---|
-r | 递归地删除目录下的内容,删除文件夹 时必须加此参数 |
-f | 强制删除,忽略不存在文件,无需提示 |
(6) 命令 tree
- 功能:以树状图列出文件目录结构
- tree 需要另外安装,系统不自带,在终端中输入
sudo apt install tree
进行安装
选项 | 含义 |
---|---|
-d | 只显示目录 |
(7) 命令 cp
- 功能:将给出的文件或目录复制到另一个文件或目录
- 如果要复制到当前文件夹,不更改文件名,只加一个
.
cp ~/Documents/readme.txt .
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
-f | 若给出的原文件是目录文件,则将递归复制该目录下的所有目录和文件,目标文件必须是一个目录名 |
(8) 命令 mv
- 功能:移动文件或目录,也可以给文件或目录重命名
选项 | 含义 |
---|---|
-i | 覆盖文件前提示 |
(9) 命令 cat
- 功能:查看文件内容,创建文件,文件合并,追加文件内容等
- 会一次显示所有的内容,适合 查看内容较少 的文本文件
- 命令
nl
与cat -b
等价
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
(10) 命令 more
- 功能:用于分屏显示文件内容,每次只显示一页内容
- 适合 查看内容较多 的文本文件
选项 | 含义 |
---|---|
Space | 显示手册页滚到下一屏 |
Enter | 一次滚动手册页的一行 |
B | 回滚一屏 |
F | 前滚一屏 |
Q | 退出 |
/word | 搜索 word 字符串 |
(11) 命令 grep
- 功能:文本搜索工具
- 允许对文本文件按进行模式查找,所谓模式查找,也被称为正则表达式
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包括匹配文本的所有行(相当于求反) |
-i | 忽略大小写 |
- 常用的两种模式查找
选项 | 含义 |
---|---|
^a | 行首,搜索以 a 开头的行 |
ke$ | 行尾,搜索以 ke 结束的行 |
(12) 其他
① echo 文字内容
echo
会再终端中显示参数指定的文字,通常会和 重定向 联合使用
② 重定向 > 和 >>
- 功能:讲命令执行结果重定向到一个文件
- 将本应显示在终端上的内容 输出 / 追加 到指定文件中
>
表示输出,会覆盖文件原有的内容>>
表示追加,会将内容追加到已有文件的末尾
③ 管道 |
- 功能:将一个命令的输出通过管道作为另一个命令的输入
- 左端写数据,右端读数据
- 常用的管道命令有:
more
:分屏显示内容
grep
:再命令执行结果的基础上查询指定的文本
3. 远程管理常用命令
(1) 关机 / 重启
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | shutdown 选项 时间 | shutdown | 关机 / 重新启动 |
选项 | 含义 |
---|---|
-r | 重新启动 |
- 不指定选项和参数,默认表示 1 分钟后关闭电脑
常用命令:
shutdown -r now
······················现在重启系统shutdown now
····························现在关机shutdown 20:25
························今天20:25关机shutdown +10
····························十分钟后关机shutdown -c
······························取消关机
(2) 查看或配置网卡信息
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ifconfig | configure a network interface | 查看 / 配置计算机当前的网卡配置信息 |
02 | ping ip地址 | ping | 检测到目标 ip地址 的连接是否正常 |
① 命令 ifconfig
- 功能:查看 / 配置计算机当前的网卡配置信息
$ ifconfig -------------- 查看网卡配置信息
$ ifconfig | grep inet ----------------- 查看网卡对应的 IP 地址
- 物理网卡的名字通常以 ensXX 表示
- 127.0.0.1 被称为 本地回环 / 环回地址 ,一般用来检测本机网卡是否正常
② 命令 ping
$ ping IP地址 -------------- 检测到目标主机是否连接正常
$ ping 127.0.0.1 ----------------- 检测本地网卡工作正常
- 中止一个终端程序的执行,可以使用
Ctrl + C
(3) 远程登录和复制文件
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ssh 用户名@ip | secure shell | 远程登录服务器 |
02 | scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 | secure copy | 远程复制文件 |
① ssh 基础
- SSH 客户端时一种使用
Secure Shell (SSH)
协议连接到远程计算机的软件程序- SSH 是目前较可靠,专为远程登录会话和其他网络服务 提供安全性的协议
- SSH 协议可以有效防止远程管理过程中的信息泄露
- SSH 协议可以对所有传输的数据进行贾母,能够防止 DNS 欺骗和 IP 欺骗
- SSH 协议传输的数据是经过压缩的,可以加快传输的速度
- 域名:是 IP 地址的别名,方便用户记忆
- 端口号:通过 IP 地址找到网络上的计算机,通过 端口号 找到计算机上运行的应用程序
- SSH 服务器的默认端口号是
22
- 常见服务端口号:
序号 | 服务 | 端口号 |
---|---|---|
01 | SSH 服务器 | 22 |
02 | Web 服务器 | 80 |
03 | HTTPS | 443 |
04 | FTP 服务器 | 21 |
② 命令 ssh
- 功能:远程登录服务器
ssh [-p port] user@remote # ssh -p 22 python@192.168.10.5
user
是远程机器上的用户名,如果不指定的话默认为当前用户remote
是远程机器的地址,可以是 IP / 域名,也可以是别名port
是 SSH Server 监听的端口,如果不指定,就默认为 22exit
可以推出当前用户登录
③ 命令 scp
- 功能:远程拷贝文件
- scp 在指定端口号时用的是大写的
-P
,ssh 使用的是小写-p
选项 | 含义 |
---|---|
-r | 复制目录文件不惜使用,目标文件必须为一个目录名 |
-P | 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
scp -P 22 01.py python@192.168.10.5:Desktop/01.py
# scp -P port 01.py user@remote:Desktop/01.py
scp -P 22 -r demo python@192.168.10.5:Desktop
# scp -P port -r demo user@remote:Desktop
④ ssh 高级
- 免密码登录
客户机配置公钥
ssh-keygen
上传公钥到服务器ssh-copy-id -p port user@remote
具体百度
- 配置别名
具体百度
4. 用户权限相关命令
(1) 用户 和 权限 的基本概念
序号 | 权限 | 英文 | 缩写 | 数字代号 |
---|---|---|---|---|
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | excute | x | 1 |
04 | 无权限 | - | 0 |
① ls -l 扩展
ls -l
可以查兰文件夹下文件的详细信息,从左到右依次是:
- 权限:第一个字母如果是 d 表示目录
- 硬链接数:通俗的讲,就是由多少种方式们可以访问到当前目录 / 文件
- 拥有者:家目录下 文件 / 目录 的拥有者通常都是当前用户
- 组:大多数情况,组名和用户名相同
- 大小
- 时间
- 名称
② 命令 chmod
- 功能:修改 用户 / 组 对 文件 / 目录 的权限
- 命令格式:
chmod +/-rwx 文件名|目录名
③ 超级用户命令 sudo
- 用户使用 sudo 时,输入密码后有 5 分钟有效期限
(2) 组管理终端命令
- 创建 / 删除组 的终端命令都必须通过 sudo 执行
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat /etc/group | 确认组信息 |
04 | chgrp 组名 文件 / 目录名 | 修改文件 / 目录的所属组 |
- 组信息保存在
/etc/group
文件中 /etc
目录时专门用来保存 系统配置信息 的目录
(3) 用户管理终端命令
- 创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要使用 sudo
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | useradd -m -g 组 新建用户名 | 添加新用户 | -m 自动创建用户家目录;-g 指定用户所在的组,否则会建立一个同名的组 |
02 | passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
04 | cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
- 创建用户时,如果没有添加 -m 选项指定新用户的家目录,应删除用户,重新创建
(4) 查看用户信息
序号 | 命令 | 作用 |
---|---|---|
01 | id [用户名] | 查看用户 UID 和 GID 信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的账户名 |
① passwd 文件
- /etc/passwd 文件存放的是用户的信息,由 6 个分号组成的 7 的信息
- 用户名
- 密码( x ,表示加密的密码)
- UID(用户标识)
- GID(组标识)
- 用户全名或本子账号
- 家目录
- 登陆使用的Shell,Ubuntu 默认是 dash
② 命令 usermod
- 功能:设置用户的 主组 / 附加组 和 登录 Shell
- 主组: 通常在新建用户时指定,在 /etc/passwd 的第 4 列 GID 对应的组
- 附加组: 在 /etc/group 种最后一列标识该组的用户列表,用于指定用户的附加权限
- 设置用户的附加组之后,需要重新登陆才能生效
# 修改用户主组(passwd 中的 GID)
usermod -g 组 用户名
# 修改用户附加组
usermod -G 组 用户名 # usermod -G sudo 用户名
# 修改用户登录 Shell
usermod -s /bin/bash
③ 命令 which
- 功能:查看执行命令所在位置
- /etc/passwd 是用于保存用户信息的文件
- /usr/bin/passwd 是用于修改用户密码的程序
which ls
# 输出 /bin/ls
which useradd
# 输出 /usr/sbin/useradd
④ 目录 bin 和 sbin
- /bin ( binary ) 是二进制执行文件目录,主要用于具体应用
- /sbin ( system binary ) 是系统管理员专用的二进制代码存放目录,主要用于系统管理
- /usr/bin ( user commands for applications ) 后期安装的一些软件
- /usr/sbin ( super user commands for applications ) 超级用户的一些管理程序
⑤ 切换用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | su - 用户名 | 切换用户,并且切换目录 | - 可以切换到用户家目录,否则保持位置不变 |
02 | exit | 退出当前登录账户 |
- su 不接用户名,可以直接切换到 root
(5) 修改文件权限
序号 | 命令 | 作用 |
---|---|---|
01 | chown | 修改拥有者 |
02 | chgrp | 修改组 |
03 | chmod | 修改权限 |
chown 用户名 文件名|目录名
chgrp -R 组名 文件名|目录名
chmod -R 755 文件名|目录名
5. 系统信息相关命令
(1) 时间和日期
序号 | 命令 | 作用 |
---|---|---|
01 | date | 查看系统时间 |
02 | cal | calendar 查看日历,-y 选项可以查看一年的日历 |
(2) 磁盘信息
序号 | 命令 | 作用 |
---|---|---|
01 | df -h | disk free 显示磁盘剩余空间 |
02 | du -h [目录名] | disk usage 显示目录下的文件大小 |
-h
可以以人性化的方式显示文件大小
(3) 进程信息
序号 | 命令 | 作用 |
---|---|---|
01 | ps aux | process status 查看进程的详细状况 |
02 | top | 动态显示运行中的进程并且排序 |
03 | kill [-9] 进程代号 | 终止指定代号的进程,-9 表示强行终止 |
ps
默认只会显示当前用户通过终端启动的应用程序
选项 | 含义 |
---|---|
a | 显示终端上的所有进程,包括其他用户的进程 |
u | 显示进程的详细状态 |
x | 显示没有控制终端的进程 |
6. 其他命令
(1) 查找文件
序号 | 命令 | 作用 |
---|---|---|
01 | find [路径] -name “*.py” | 查找指定路径下扩展名是 .py 的文件,包括子目录 |
- 功能:在特定的目录下搜索符合条件的文件
- 如果省略路径,表示在当前文件夹下查找
- 可以使用通配符
(2) 软链接
序号 | 命令 | 作用 |
---|---|---|
01 | ln -s 被链接的源文件 链接文件 | 建立文件的软链接,也称为快捷方式 |
- 没有 -s 选项建立的是一个硬链接文件,占用相同的磁盘空间大小
- 源文件要使用绝对路径
(3) 打包 / 解包
tar
是一个备份工具,把一系列文件打包到一个大文件中
# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径
# 解包文件
tar -xvf 打包文件.tar
选项 | 含义 |
---|---|
c | 生成档案文件,创建打包文件 |
x | 解开档案文件 |
v | 列出归档解档的详细过程,显示进度 |
f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
(4) 压缩 / 解压缩
① gzip
tar
和gzip
结合使用可以实现文件 打包和压缩tar
只负责打包,不压缩;gzip
压缩tar
打包后的文件- 在
tar
命令中使用-z
可以调用gzip
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
-C
选项指定解压目录(解压目录必须存在)
② bzip2
- 在
tar
命令中使用-j
可以调用bzip2
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
(5) 安装 / 卸载软件
- apt 是 Advanced Packaging Tool,安装包管理工具
# 安装软件
sudo apt install 软件包
# 卸载软件
sudo apt remove 软件名
# 更新已安装的包
sudo apt upgrade
- 配置软件源选择一个访问网速更快的服务器
7. 缩放终端窗口字体大小
ctrl + shift + =
放大终端窗口的字体ctrl + -
缩小终端窗口的字体
8. 自动补全
- 在敲出
文件/目录/命令
的前几个字母之后,按下tab
键自动补齐