Linux学习日记1——Ubuntu

学习视频链接

Python基础之Linux基础入门(Ubuntu)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV17x411972F

乌班图安装 SSH 教程

如何在Ubuntu上开启SSH服务_枫★曦的博客-CSDN博客_ubuntu如何开启ssh服务https://blog.csdn.net/md521/article/details/52597398

目录

一、Linux基本知识

1.1 Linux内核版和发行版本

1.2 Linux文件目录结构

1.3 常用Linux命令的基本使用

二、Linux终端命令

2.1 Linux终端命令格式

2.3 ls命令说明

2.4 rm命令说明

2.5 拷贝和移动文件

2.6 查看文件内容

2.7 其他命令

三、远程管理命令

3.1 关机 / 重启

3.2 查看或配置网卡信息

3.3 远程登录和复制文件

3.4 SCP

3.5 SSH高级

四、用户权限相关命令

4.1 用户和权限的基本概念

4.2 超级用户

4.3 用户管理终端命令

4.4 chmod 拓展

五、系统信息相关命令

5.1 时间和日期

5.2 磁盘信息

5.3 进程信息

六、其他命令

6.1 查找文件

6.2 软链接

6.3 打包压缩

6.4 软件安装


一、Linux基本知识

1.1 Linux内核版和发行版本

1、内核版本

不同硬件,例如AMD CPU和Intel CPU 执行同一个命令可能使用不同的函数,Linux内核可以兼容各种硬件,让不同硬件上执行同一个命令的不同函数统一成一个函数(系统函数)。

2、发行版本

通过调用Linux内核提供的系统函数,制作桌面环境、办公套件、媒体播放器、数据库等应用软件。

1.2 Linux文件目录结构

1、单用户操作系统和多用户操作系统

(1) 单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源(Windows XP之前都是单用户操作系统)

(2) 多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户共同享用系统的全部硬件和软件资源(Unix和Linux的设计初衷就是多用户操作系统)

2、Windows下的文件系统

3、Linux下的文件系统

1.3 常用Linux命令的基本使用

1、命令

序号

命令

对应英文

作用

01

ls

list

查看当前文件夹下的内容

02

pwd

print wrok directory

查看当前所在文件夹

03

cd [目录名]

change directory

切换文件夹

04

touch [文件名]

touch

如果文件不存在,新建文件

05

mkdir [目录名]

make directory

创建目录

06

rm [文件名]

remove

删除指定的文件名

07

clear

clear

清屏

2、小技巧

ctrl + shift + = 放大终端窗口的字体显示

ctrl + - 缩小终端窗口的字体显示

二、Linux终端命令

2.1 Linux终端命令格式

1、基本使用

command [-options] [parameter]

command:命令名,相应功能的英文单词或单词的缩写

[-options]:选项,可用来对命令进行控制,也可以省略

Parameter:传给命令的参数,可以是零个、一个或者多个

2、查询命令帮助信息

(1) command --help

(2) man command

2.2 文件和目录常用命令

查看目录内容

ls

切换目录

cd

创建和删除操作

touch、rm、mkdir

拷贝和移动文件

cp、mv

查看文件内容

cat、more、grep

其他

echo、重定向 > 和 >>、管道 |

2.3 ls命令说明

1、隐藏文件的创建

touch .note.txt

2、命令选项

参数

含义

-a

显示指定目录下所有子目录与文件,包括隐藏文件

-l

以列表方式显示文件的详细信息

-h

配合-l以人性化的方式显示文件大小

3、ls通配符的使用

通配符

含义

*

代表任意个数个字符

?

代表任意一个字符,至少1个

[]

表示可以匹配字符组中的任意一个

[abc]

匹配a、b、c 中的任意一个

[a-f]

匹配从a到f范围内的任意一个

案例:

2.4 rm命令说明

选项

含义

-f

强制删除,忽略不存在的文件,无需提示

-r

递归地删除目录下的内容,删除文件夹 时必须加此参数

# rm [-rf] 文件名
rm -rf test.c

2.5 拷贝和移动文件

序号

命令

对应英文

作用

01

tree [目录名]

tree

以树状图列出文件目录结构

02

cp 原文件 目标文件

copy

复制文件或者目录

03

mv 原文件

move

移动文件或者目录 / 文件或者目录重命名

1、tree

2、cp 原文件 目标文件

cp test.txt ./test/test.txt

3、mv 原文件 目标文件

(1) 重命名

(2) 移动文件夹

 因为终端命令不能撤回,所以用下面的方式比较安全

2.6 查看文件内容

序号

命令

对应英文

作用

01

cat 文件名

concatenate

查看文件内容、创建文件夹、文件合并、追加文件内容等功能

02

more 文件名

more

分屏显示文件内容

03

grep 搜索文本 文件名

grep

搜索文本文件内容

使用more的操作键盘:

操作键

功能

空格键

显示手册页的下一屏

Enter键

一次滚动手册页的一行

b

回滚一屏

f

前滚一屏

q

退出

/word

搜索word字符串

cat

选项

含义

-b

对非空输出行编号

-n

对输出的所有行编号

grep

图形界面Ctrl + F 能查询关键词

选项

含义

-n

显示匹配行及行号

-v

显示不包含匹配文本的所有行(相当于求反)

-i

忽略大小写

grep允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式,常用的两种模式查找如下:

选项

含义

^a

行首,搜索以a开头的行

ke$

行尾,搜索以ke结束的行

2.7 其他命令

> 覆盖  >> 追加

2、管道 |

(1) Linux允许将一个命令的输出可以通过管道做为另一一个命令的输入

(2) 可以理解现实生活中的管子,管子的一头塞东西进去,另-头取出来,这里T的左右分为两端, 左端塞东西(写),右端取东西(读)

三、远程管理命令

3.1 关机 / 重启

关机:shutdown 时间

重启:shutdown -r 时间

shutdown:默认一分钟后关闭

shutdown -c:取消关机

shutdown -r now:立刻重启

shutdown 20:25今天的这个时间会关闭

shutdown +10:十分钟后关闭

3.2 查看或配置网卡信息

1、网卡:

网卡是一个专门负责网络通讯的硬件设备

IP地址是设置在网卡上的地址信息

2、IP地址:

每台联网的电脑上都有IP地址,是保证电脑之间正常通讯的重要设置

注意:每台电脑的IP地址不能相同,否则会出现IP地址冲突,并且没有办法正常通讯(家用网络都是大内网 或者 动态IP)

3、查看或配置网卡信息

ifconfig 查看/配置计算机当前的网卡配置信息

ping ip 检测到目标ip地址的连接是否正常

下面有两个网卡

第一个网卡的地址是172.16.140.138

第二个网卡的地址是127.0.0.1用于测试网卡是否正常工作

发送64bit的文件到指定ip的机器上,指定机器返回一个64bit的包,一次来回用时0.716ms

查看本地网卡工作是否正常:

3.3 远程登录和复制文件

1、SSH介绍

通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上

SSH客户端是一种使用Secure Shell (SSH) 协议连接到远程计算机的软件程序

SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议

利用SSH协议可以有效防止远程管理过程中的信息泄露

通过SSH协议| 可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗

SSH的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度

2、域名和端口号

(1)  域名

ip地址的别名,方便记忆

例如:www.baidu.com

(2) 端口号

通过端口号可以找到计算机上运行的应用程序

常见服务器端口号:

3、SSH客户端的简单使用

(1) ssh [-p port] user@remote

user 远程机器上的用户名

remote 远程机器的地址,可以是IP/域名,或者是后面会提到的别名

port是SSH Server监听的端口,如果不指定,就为默认值22

(2) 注意:

ssh这个终端命令只能在Linux 或者UNIX系统下使用

如果在Windows系统中,可以安装PuTTY或者XShell客户端软件即可

3.4 SCP

1、简介:

scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令

它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的-P而不是小写的

3.5 SSH高级

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

 

连接了一次其他电脑就在.SSH文件夹下保存信息了,下次访问更加便捷

1、免密码登录

设置步骤:

第一步:先输入这个命令:

生成了两个加密文件

第二步:把id_rsa.pub发送到服务器端的SSH

2、配置别名

每次都输入ssh -p port user@remote,时间久了会觉得很麻烦,特别是当user,remote和port 都得输入,而且还不好记忆。

而配置别名可以让我们进一步偷懶,譬如用:ssh mac来替代上面这么一长串,那么就在

~/. ssh/config里面追加以下内容:

 

 

 

四、用户权限相关命令

4.1 用户和权限的基本概念

1、基本概念

(1) 用户是Linux系统工作中重要的一环,用户管理包括用户与组管理

(2) 在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限

(3) 在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限

(4) 对文件/目录的权限包括:

序号

权限

英文

缩写

数字代号

01

read

r

4

02

write

w

2

03

执行

excute

x

1

2、组

在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

3、ls -l 拓展

-:文件  d:文件夹  r:可读  w:可写  x:可执行

第一组权限对应 文件和目录的拥有者,第二组权限对应 文件和目录拥有者所在的组,第三组权限对应 其他用户

4、chmod简单使用

4.2 超级用户

Linux系统中的root 账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限

在大多数版本的Linux中,都不推荐直接使用root账号登录系统

在Linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”

1、sudo

su是substitute user的缩写,表示使用另个用户的身份

sudo命令用来以其他身份来执行命令,预设的身份为root

用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码

若其未经授权的用户企图使用sudo,则会发出警告邮件给管理员

2、组管理终端命令

提示:创建组/删除组 的终端命令都需要通过sudo执行

序号

命令

作用

01

groupadd组名

添加组

02

groupdel组名

删除组

03

cat/etc/grou

确认组信息

04

chgrp组名 文件/目标名

修改文件/目录的所属组

提示:

组信息保存在/etc/group文件中

/etc目录是专门用来保存系统配置信息的目录

3、实战项目

(1) 要求

在python用户的桌面文件夹下创建python学习目录

新建dev组

将python学习目录的组修改为dev

(2) 实战代码

4.3 用户管理终端命令

提示:创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

1、创建、查看和删除用户:

用户信息保存在下列文件夹中:

 

忘记使用 -m 解决方法:删除用户,重新创建

2、查看用户信息

序号命令作用
01id[用户名]查看用户 UID 和 GID 信息
02who查看当前所有登录的用户列表
03whoami查看当前登录用户的账户名

(1) ID

 

 直接输入 id 查询正在使用的用户的信息:

定义一个用户,把用户放到不同组里面,有不同的权限: 

(2) who 查看当前所有登录的用户列表  whoami 查看当前登录用户的账户名

 (:0) 表示这个用户是用这台电脑登录的

此时用 xshell 远程连接 ubunu,就增加了一个用户,该用户使用后面的 IP 地址访问的乌班图

3、usermod 修改用户权限

(1) 可以用来设置用户的注组 / 附加组和登录 Shell,命令格式如下:

# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名

# 修改用户的附加组
usermod -G 组 用户名

# 修改用户登录 Shell
usermod -s /bin/bash

(2) 主组和附加组

主组:通常在新建用户时指定,在 etc/passwd 的第 4 列 GID 对应的组(如果不使用 -g 系统就会默认建立一个跟用户同名的组,设为用户的主组)

附加组:在 etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限

(3) 案例1:

下面可以看到 python 用户具有 sudo 等权限

 可以给用户添加附加组 

(4) shell介绍

上面 linux 命令行称为 shell,python为当前登录的用户名,ubuntu为当前电脑的名字

乌班图的 shell 目录如下:

xshell 的 shell 目录如下:

两个目录不太一样,原因在于 xshell 登录的用户的 shell 终端命令为 dash,现在修改这个用户的登录 shell 为 bash

修改之后重新登录的效果如下: 

接着查看配置文件:cat /etc/passwd

4、which查看命令所在位置

(1) 两个指令的作用

/etc/passwd 是用于保存用户信息的文件
/usr/bin/passwd 是用于修改用户密码的程序

(2) which 演示

(3) bin 和 sbin

在Linux中,绝大多数可执行文件都是保存在/bin、 /sbin、 /usr/bin、 /usr/sbin

/bin (binary) 是二进制执行文件目录,主要用于具体应用

/sbin ( system binary ) 是系统管理员专用的二进制代码存放目录,主要用于系统管理

/usr/bin ( user commands for applications ) 后期安装的一些软件

/usr/sbin ( super user commands for applications ) 超级用户的一些管理程序

5、su切换用户

序号命令作用说明
01su - 用户名切换用户,并且切换目录- 可以切换到用户家目录,否则保持位置不变
02exit退出当前登录账户

su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全

exit 示意图如下:

4.4 chmod 拓展

1、命令格式:

# 递归修改文件权限
chmod -R 755 文件名|目录名

2、chmod 在设置权限时,可以简单地使用三个数字分别对应拥有者/组和其他用户权限

# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

常见数字组合有(u 表示用户 / g 表示组/ 0 表示其他)

777 ===> u = rwx, g = rwx, o = rwx

755 ===> u = rwx, g = rx, o = rx

644 ===> u = rw, g = r, o = r 

3、chmod演练目标

(1) 将 01.py 的权限修改为 u = rwx, g = rx, o = r

(2) 将123.txt 的权限修改为 u = rw, g = r, o = -

(3) 将 test 目录以及目录下的所有文件权限修改为 u = rwx, g = nwx, o = rx

五、系统信息相关命令

本节内容主要是为了方便通过远穗终端维护服务器时,查看服务器上当前系统日期和时间 / 磁盘空间占用情况 / 程序执行情况

本小结学习的终端命令基本都是查询命令,通过这些命令对系统资源的使用情况有个了解

5.1 时间和日期

序号命令作用
01date查看系统时间
02catcalendar 查看日历,-y 选项可以查看一年的日历

5.2 磁盘信息

序列命令作用
01df -hdisk free 显示磁盘剩余空间
02du -h [目录名]disk usage 显示目录下的文件大小

选项说明  -h  以人性化的方式显示文件大小

5.3 进程信息

所谓进程,通俗地说就是当前正在执行的一个程序

序号命令作用
01ps auxprocess status 查看进程的详细状况
02top动态显示运行中的进程并且排序
03kill [-9] 进程代号终止指定代号的进程,-9 表示强行终止

1、ps

选项含义
a显示终端上的所有进程,包括其他用户的进程
u显示进程的详细状况
x显示没有控制终端的进程

2、top

按 q 退出

3、kill

 kill -9 9160 强行关闭

六、其他命令

6.1 查找文件

1、find 命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件

序号命令作用
01find [路径] -name "*:py"查找指定路径下扩展名是.py的文件,包括子目录

2、演练

 

 

6.2 软链接

序号命令作用
01ln -s 被链接的源文件 链接文件简历文件的软链接,用通俗的方式讲类似于Windows下的快捷方式

1、注意:

(1) 没有 -s 选项建立的是一个硬链接文件

        两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接

(2) 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用

2、案例 

如果移动文件,相对路径可能会找不到源文件

先移动:mv 01* demo

软链接的大小和路径有关

使用这个命令可以查看软链接地址 

3、硬链接

没有使用 -s 选项就创建硬链接

硬链接的源文件被删除了,任然可以使用,不变红。软链接变红,打不开该链接了/

4、分析

 在Linux中,文件名和文件的数据是分开存储的

6.3 打包压缩

打包压缩是由常工作中备份文件的一种方式

在不同操作系统中,常用的打包压缩方式是不同的

Windows 常用 rar

Mac 常用 zip

Linux 常用 tar.gz 

1、打包 / 解包

tar是Linux中最常用的备份工具,此籲令可以把一系列文件打包到一个大文件中,也可以把一个打
包的大文件恢复成一系列文件

tar的命令格式如下:

# 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...

# 解包文件
tar -xvf 打包文件.tar

选项含义
c生成档案文件,创建打包文件
x解开档案文件
v列出归档解档的详细过程,显示进度
f指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

打包:

 解包:

2、压缩/解压缩

tar 只负责打包文件,但不压缩

用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz

# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径

# 解压缩文件
tar -zcvf 打包文件.tar.gz

# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径

压缩:

解压: 

3、bzip2

(1) tar 与 bzip2 命令结合可以使用实现文件打包和压缩(用法和 gzip 一样)

        tar 只负责打包文件,但不压缩

        用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.har.bz2

(2) 在 tar 命令中有一个选项 -j 可以调用 bzip2, 从而可以方便的实现压缩和解压缩的功能

(3) 命令格式如下:

# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...

# 解压缩文件
tar -jxvf 打包文件.tar.bz2

 解压到指定文件夹中:

6.4 软件安装

1、通过apt安装/卸载软件

apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具

可以在终端中方便的安装/卸载/更新软件包

# 1、安装软件
sudo apt install 软件包

# 2、卸载软件
sudo apt remove 软件名

# 3、更新已安装的包
sudo apt upgrade

2、配置软件源

如果希望在 ubuntu 中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载/安装服务

提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。 更新完成后,再安装软件都会从新设置的服务器下载软件了

所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同, 国内
服务器通常速度会更快一些!

设置下载源参考

(2条消息) Ubuntu更改镜像源两种方式_laoluobo76的博客-CSDN博客_修改ubuntu镜像源https://blog.csdn.net/laoluobo76/article/details/108302191

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herb.dr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值