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下的文件系统

Linux学习日记1——Ubuntu_第1张图片

3、Linux下的文件系统

Linux学习日记1——Ubuntu_第2张图片

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范围内的任意一个

案例:

Linux学习日记1——Ubuntu_第3张图片

2.4 rm命令说明

选项

含义

-f

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

-r

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

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

2.5 拷贝和移动文件

序号

命令

对应英文

作用

01

tree [目录名]

tree

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

02

cp 原文件 目标文件

copy

复制文件或者目录

03

mv 原文件

move

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

1、tree

Linux学习日记1——Ubuntu_第4张图片

2、cp 原文件 目标文件

cp test.txt ./test/test.txt

3、mv 原文件 目标文件

(1) 重命名

(2) 移动文件夹

Linux学习日记1——Ubuntu_第5张图片

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

Linux学习日记1——Ubuntu_第6张图片

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

忽略大小写

Linux学习日记1——Ubuntu_第7张图片

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

选项

含义

^a

行首,搜索以a开头的行

ke$

行尾,搜索以ke结束的行

2.7 其他命令

> 覆盖  >> 追加

Linux学习日记1——Ubuntu_第8张图片

Linux学习日记1——Ubuntu_第9张图片

Linux学习日记1——Ubuntu_第10张图片

2、管道 |

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

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

Linux学习日记1——Ubuntu_第11张图片

Linux学习日记1——Ubuntu_第12张图片

三、远程管理命令

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用于测试网卡是否正常工作

Linux学习日记1——Ubuntu_第13张图片

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

Linux学习日记1——Ubuntu_第14张图片

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

Linux学习日记1——Ubuntu_第15张图片

3.3 远程登录和复制文件

1、SSH介绍

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

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

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

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

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

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

Linux学习日记1——Ubuntu_第16张图片

2、域名和端口号

(1)  域名

ip地址的别名,方便记忆

例如:www.baidu.com

(2) 端口号

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

常见服务器端口号:

Linux学习日记1——Ubuntu_第17张图片

3、SSH客户端的简单使用

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

user 远程机器上的用户名

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

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

(2) 注意:

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

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

Linux学习日记1——Ubuntu_第18张图片

3.4 SCP

1、简介:

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

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

Linux学习日记1——Ubuntu_第19张图片

3.5 SSH高级

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

Linux学习日记1——Ubuntu_第20张图片

 Linux学习日记1——Ubuntu_第21张图片

Linux学习日记1——Ubuntu_第22张图片连接了一次其他电脑就在.SSH文件夹下保存信息了,下次访问更加便捷

1、免密码登录

设置步骤:

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

Linux学习日记1——Ubuntu_第23张图片

生成了两个加密文件

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

Linux学习日记1——Ubuntu_第24张图片

2、配置别名

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

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

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

 Linux学习日记1——Ubuntu_第25张图片

 Linux学习日记1——Ubuntu_第26张图片

 Linux学习日记1——Ubuntu_第27张图片

四、用户权限相关命令

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:可执行

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

Linux学习日记1——Ubuntu_第28张图片

Linux学习日记1——Ubuntu_第29张图片

Linux学习日记1——Ubuntu_第30张图片

4、chmod简单使用

Linux学习日记1——Ubuntu_第31张图片

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目录是专门用来保存系统配置信息的目录

Linux学习日记1——Ubuntu_第32张图片

Linux学习日记1——Ubuntu_第33张图片

3、实战项目

(1) 要求

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

新建dev组

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

(2) 实战代码

Linux学习日记1——Ubuntu_第34张图片

4.3 用户管理终端命令

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

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

Linux学习日记1——Ubuntu_第35张图片

Linux学习日记1——Ubuntu_第36张图片

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

Linux学习日记1——Ubuntu_第37张图片

 

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

2、查看用户信息

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

(1) ID

Linux学习日记1——Ubuntu_第38张图片

 Linux学习日记1——Ubuntu_第39张图片

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

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

Linux学习日记1——Ubuntu_第40张图片

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

Linux学习日记1——Ubuntu_第41张图片

 (: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 等权限

Linux学习日记1——Ubuntu_第42张图片

 可以给用户添加附加组 

Linux学习日记1——Ubuntu_第43张图片

(4) shell介绍

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

乌班图的 shell 目录如下:

Linux学习日记1——Ubuntu_第44张图片

xshell 的 shell 目录如下:

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

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

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

Linux学习日记1——Ubuntu_第45张图片

4、which查看命令所在位置

(1) 两个指令的作用

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

(2) which 演示

Linux学习日记1——Ubuntu_第46张图片

(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切换用户

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

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

exit 示意图如下:

Linux学习日记1——Ubuntu_第47张图片

4.4 chmod 拓展

1、命令格式:

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

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

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

Linux学习日记1——Ubuntu_第48张图片

常见数字组合有(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

Linux学习日记1——Ubuntu_第49张图片

五、系统信息相关命令

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

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

5.1 时间和日期

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

Linux学习日记1——Ubuntu_第50张图片

5.2 磁盘信息

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

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

Linux学习日记1——Ubuntu_第51张图片

Linux学习日记1——Ubuntu_第52张图片

5.3 进程信息

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

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

1、ps

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

Linux学习日记1——Ubuntu_第53张图片

2、top

按 q 退出

Linux学习日记1——Ubuntu_第54张图片

3、kill

 kill -9 9160 强行关闭

六、其他命令

6.1 查找文件

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

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

2、演练

 Linux学习日记1——Ubuntu_第55张图片

 Linux学习日记1——Ubuntu_第56张图片

6.2 软链接

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

1、注意:

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

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

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

2、案例 

Linux学习日记1——Ubuntu_第57张图片

Linux学习日记1——Ubuntu_第58张图片

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

先移动:mv 01* demo

Linux学习日记1——Ubuntu_第59张图片

软链接的大小和路径有关

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

3、硬链接

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

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

Linux学习日记1——Ubuntu_第60张图片

4、分析

Linux学习日记1——Ubuntu_第61张图片

 在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文件,所以必须放选项最后

打包:

Linux学习日记1——Ubuntu_第62张图片

 解包:

Linux学习日记1——Ubuntu_第63张图片

2、压缩/解压缩

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

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

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

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

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

压缩:

解压: 

Linux学习日记1——Ubuntu_第64张图片

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

Linux学习日记1——Ubuntu_第65张图片

 解压到指定文件夹中:

Linux学习日记1——Ubuntu_第66张图片

6.4 软件安装

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

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

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

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

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

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

2、配置软件源

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

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

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

Linux学习日记1——Ubuntu_第67张图片

设置下载源参考

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

你可能感兴趣的:(linux,linux,unix,windows)