Ubuntu学习

引言

由于这学期学校开设了linux这门课程,但是自我感觉教的东西并不足以满足我随心所欲使用这个系统的需求,加之寒假我装了基于Ubuntu的deepin系统作为日常开发学习使用,所以觉得有必要系统地学习一下。

一、常用 Linux 命令的基本使用

终端命令格式

1. 格式
command [options] [parameter]

说明:
* command:命令名,相应功能的英文单词或单词的缩写
* [-options]:选项,可用来对命令进行控制,也可以省略
* parameter:传给命令的参数,可以是 零个、一个 或者 多个

[ ] 代表可选

2. --help
command --help

说明:

  • 显示 command命令的帮助信息
3. man
man command

说明:

  • 查阅command命令的使用手册

man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用说明

使用man时的快捷键:

操作功能
空格键显示手册页的下一屏
Enter 键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串

ls

举例:

ls -alh /usr/local

ls常用选项:

选项含义
-a显示指定目录下所有子目录与文件,包括隐藏文件
-l以列表方式显示文件的详细信息
-h配合 -l 以人性化的方式显示文件大小

ls 通配符的使用:

通配符含义
*代表任意个数个字符
?代表任意一个字符,至少 1 个
[ ]表示可以匹配字符组中的任一一个
[abc]匹配 a、b、c 中的任意一个
[a-f]匹配从 a 到 f 范围内的的任意一个字符

pwd

举例:

pwd

说明:
查看当前所在文件夹路径

cd

举例:

命令含义
cd切换到当前用户的主目录(/home/用户目录)
cd ~切换到当前用户的主目录(/home/用户目录)
cd .保持在当前目录不变
cd …切换到上级目录
cd -可以在最近两次工作目录之间来回切换
  1. cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一
  2. 注意:Linux 所有的 目录 和 文件名 都是大小写敏感的

touch

举例:

touch test01.txt

创建文件或修改文件时间
1. 如果文件 不存在,可以创建一个空白文件
2. 如果文件 已经存在,可以修改文件的末次修改日期

mkdir

举例:

mkdir test02

选项:

选项含义
-p可以递归创建目录

新建目录的名称 不能与当前目录中 已有的目录或文件 同名

rm

举例:

rm -rf test03

选项:

选项含义
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容,删除文件夹 时必须加此参数

使用 rm命令要小心,因为文件删除后不能恢复

clear

举例:

clear

说明:
清屏

tree

可能系统未安装,导致找不到该命令可以用:sudo apt install tree 先进行安装

举例:

tree

选项:

选项含义
-d只显示目录

cp

举例:

cp -r test04 /usr/local

选项:

选项含义
-i覆盖文件前提示
-r若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名

mv

举例:

#移动文件
mv test04 /usr/local
#重命名文件
mv test04 test05

选项:

选项含义
-i覆盖文件前提示

mv 命令可以用来 移动 文件 或 目录,也可以给 文件或目录重命名

cat

举例:

cat /etc/profile

选项:

选项含义
-b对非空输出行编号
-n对输出的所有行编号
  1. cat 命令可以用来 查看文件内容创建文件文件合并追加文件内容 等功能
  2. cat 会一次显示所有的内容,适合 查看内容较少的文本文件
  3. Linux 中还有一个 nl 的命令和 cat -b 的效果等价

more

举例:

more /etc/profile

使用more时的操作:

操作功能
空格键显示手册页的下一屏
Enter 键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出
/word搜索 word 字符串

grep

举例:

#查找profile中行首以export开头的行,并匹配行号
grep -n ^export /etc/profile

#查找profile中行首不以export开头的行,并匹配行号
grep -vn ^export /etc/profile

选项:

选项含义
-n显示匹配行及行号
-v显示不包含匹配文本的所有行(相当于求反)
-i忽略大小写

常用的两种模式查找:

参数含义
^a行首,搜寻以 a 开头的行
bb$行尾,搜寻以 bb 结束的行
  1. Linux 系统中 grep 命令是一种强大的文本搜索工具(相当于windows下的Ctrl + F
  2. grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式

echo

举例:

# 将Hello World 输出到 test06.txt中
echo Hello World > test06.txt

# 将Hello World 追加到 test06.txt中
echo Hello World >> test06.txt

## 将ls命令的输出结果传输给grep命令作为其参数
ls -alh | grep ^d
  1. echo 会在终端中显示参数指定的文字,通常会和 重定向 联合使用

  2. 重定向 >>>

    1. Linux 允许将命令执行结果 重定向 到一个 文件
    2. 将本应显示在终端上的内容 输出/追加 到指定文件中
    3. 其中:

    > 表示输出,会覆盖文件原有的内容
    >> 表示追加,会将内容追加到已有文件的末尾

  3. 管道 |

    1. Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
    2. 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,左端塞东西(写),右端取东西(读)
    3. 常用的管道命令有:

    more:分屏显示内容
    grep:在命令执行结果的基础上查询指定的文本

二、远程管理常用命令

shutdown

举例:

# 重新启动操作系统,其中 now 表示现在
shutdown -r now

# 立刻关机,其中 now 表示现在
shutdown now

# 系统在今天的 20:25 会关机
shutdown 20:25

# 系统再过十分钟后自动关机
shutdown +10

# 取消之前指定的关机计划
shutdown -c

选项:

选项含义
-r重新启动
  1. 不指定选项和参数,默认表示 1 分钟之后 关闭电脑
  2. 远程维护服务器时,最好不要关闭系统,而应该重新启动系统

ifconfig

举例:

# 查看网卡配置信息
ifconfig

# 查看网卡对应的 IP 地址
ifconfig | grep inet
  1. 一台计算机中有可能会有一个 物理网卡多个虚拟网卡,在 Linux 中物理网卡的名字通常以 ensXX表示
  2. 127.0.0.1 被称为 本地回环/环回地址,一般用来测试本机网卡是否正常

ping

举例:

# 检测到目标主机是否连接正常
ping IP地址

# 检测本地网卡工作正常
ping 127.0.0.1

1.原理:网络上的机器都有 唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在
2. 在 Linux 中,想要终止一个终端程序的执行,绝大多数都可以使用 Ctrl + C

ssh(重点)

1)举例:
ssh [-p port] user@remote
  • user 是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是 IP/域名,或者是 别名
  • port 是 SSH Server 监听的端口,如果不指定,就为默认值 22

在 Linux 中 SSH 是 非常常用 的工具,通过 SSH 客户端 我们可以连接到运行了 SSH 服务器 的远程机器上
在这里插入图片描述

  1. SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序
  2. SSH 是目前较可靠,专为远程登录会话和其他网络服务 提供安全性的协议
    ①利用 SSH 协议 可以有效防止远程管理过程中的信息泄露
    ②通过 SSH 协议 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗
  3. SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
2)域名 和 端口号

域名

  1. 由一串 用点分隔 的名字组成,例如:www.itcast.cn
  2. 是 IP 地址 的别名,方便用户记忆

端口号

  1. IP 地址:通过 IP 地址 找到网络上的 计算机
  2. 端口号:通过 端口号 可以找到 计算机上运行的应用程序
  3. SSH 服务器 的默认端口号是 22,如果是默认端口号,在连接的时候,可以省略

常见服务端口号列表:

服务端口号
SSH 服务器22
Web 服务器80
HTTPS443
FTP 服务器21
ssh免密登录

提示:有关 SSH 配置信息都保存在用户家目录下的 .ssh 目录下

步骤:

  1. 本地配置公钥
    • 执行 ssh-keygen即可生成SSH,一路默认按回车即可生成在~/.ssh/目录下
  2. 上传公钥到服务器
    • 执行ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
      示意图:
      在这里插入图片描述

ssh使用非对称加密算法

  1. 使用 公钥 加密的数据,需要使用 私钥 解密
  2. 使用 私钥 加密的数据,需要使用 公钥 解密
配置别名

每次ssh连接服务器的时候输入ssh -p port user@remote会很麻烦。可以配置别名,达到输入ssh 别名即可等效连接。
方法:
~/.ssh/config里面追加以下内容

Host 别名
    HostName ip地址
    User root
    Port 22

自己修改各个键值对的值即可

scp

举例:

# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py

# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py

# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop

# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo

选项:

选项含义
-r若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值