Linux学习日记——Ubuntu

12 篇文章 0 订阅

学习视频链接

Python基础之Linux基础入门(Ubuntu)_哔哩哔哩_bilibili[这里是图片001]https://www.bilibili.com/video/BV17x411972F

目录

一、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 用户管理终端命令


一、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

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

2.5 拷贝和移动文件

序号

命令

对应英文

作用

01

Tree [目录名]

tree

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

02

cp 源文件 目标文件

copy

复制文件或者目录

03

mv 原文件

move

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

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、查看用户信息

序号

命令

作用

01

id[用户名]

查看用户 UID 和 GID 信息

02

who

查看当前所有登录的用户列表

03

whoami

查看当前登录用户的账户名

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

序号

命令

作用

说明

01

su - 用户名

切换用户,并且切换目录

- 可以切换到用户家目录,否则保持位置不变

02

exit

退出当前登录账户

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

exit 示意图如下:

4.4chmod 拓展

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 时间和日期

序号

命令

作用

01

date

查看系统时间

02

cat

calendar 查看日历,-y 选项可以查看一年的日历

5.2 磁盘信息

序列

命令

作用

01

df -h

disk free 显示磁盘剩余空间

02

du -h [目录名]

disk usage 显示目录下的文件大小

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

5.3 进程信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值