在家实践-ECS续用任务

简介: 本文主要阐述了个人在阿里云ECS上学习linux操作系统的感悟。

Part_1

1,自我介绍

我是即将毕业的通信工程的大四学生,我申请阿里云服务器是为了学习linux操作系统,主要的原因有以下两点:(1)以前在学校使用单片机的都是跑裸机,后来觉得裸机渐渐的力不从心了,感觉程序跑起来有些费劲;(2)毕业之后工作的需要,公司的soc嵌入式的研发工作(C编程、Verilog编程、仿真等)都是在Linux服务器上进行,学习linux方便对后续工作的开展。

2,参加“飞天加速计划”

我是一开始通过b站来了解大佬们怎么快速的学习linux,在了解前辈的linux学习经历及建议后,首先我需要搭建一个linux的环境,方便我进行命令行的操作学习,Linux环境搭建主要有两种方式:

(1)PC上建立一个Linux虚拟机;

(2)找一台linux云服务器。

我选择第二种方式使用一台linux的云服务来学习linux操作系统,为什么这么做呢,其实很简单,根据大佬们的建议以及我的想法来说,linux在嵌入式中的的学习的重点就是基本的命令行,shell和makefile的操作,这才是重点,而自己安装虚拟机相对于云服务器来说繁琐的很,不如云服务器省心,云服务器有各种linux的发行版一键安装方便学习,相反如果虚拟机上的系统搞坏了,还要从新弄,当然在虚拟机上安装linux还会遇到其他问题,总而言之浪费时间,时间不应该浪费在搭建linux环境上,linux的基本操作才是重点,先把重点搞懂之后,再自己在PC端上安装虚拟机。

在明确方向后,我开始寻找一台合适的云服务器,根据前辈们推荐,主要的选择是阿里云服务器ECS和腾讯的云服务器,虽然都有学生优惠活动,但阿里云提供学生免费使用的计划,而且普遍反映阿里云服务器稳定且快速,就参加了“飞天加速计划”。

Part_2

0,使用感受

我大概使用了阿里云ECS一周,总的体验是,使用阿里云ECS很是方便,节约时间。我首先跟着教程简单的熟悉一下服务器使用的流程,然后自己创建实例,修改密码,选择linux的发新版一键安装,等着是实例重启就好,可以安装xshell远程工具来方便的控制服务器。

我一开始安装的Centos 8版本,后来发现,Cenos 8已经不维护了,于是我直接更换操作系统 (aliyun.com),很方便且快速的就完成了。然后直接开始学习,跟着教程学习基本的命令行操作,以下是几天时间内我使用阿里云ECS学习linux操作系统的感悟。

1,linux的发展史和应用

2022.5.22

linux是unix的一个分支,运行在IA(主要是运行在intel,AMD等主要芯片上的)分时操作系统

linux的命令行和图形化界面,x windows不用管,主要是网络应用和嵌入式应用,入门建议选择centos版本的linux,安装虚拟机,忘记windows的思维方式,命令行操作,

2,linux的安装及环境

linux安装版本

先搞个云服务器用用再说,再安装虚拟机,安装centos7的版本,维护到2024年,8的版本都已经停止维护了,换了个centos7.8的

阿里云服务器ECS:root,密码:xxxxxxx,VNC密码:xxxxxx

linux环境安装

2022.5.23

1,linux云服务器

1,先打开安全组,开启端口号,安装宝塔面板,使用宝塔面板所有安装是可视化的,傻瓜式的,(先打开安全组,开启端口号)

2,命令式安装

使用命令行安装,宝塔面板验证

xshell远程连接云服务器的,用于远程连接Linux服务器,方便用户对Linux服务器上的资源文件进行远程操控,XShell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。如果安装的是虚拟机的话,应该用不着这个工具;xftp上传东西的软件,本地windows  ->远程服务器linux,直接从窗口拖文件

xshell先新建在远程连接主机 Xshell的复制粘贴要自己在工具那里设置快捷键

2,linux虚拟机

先学会linux基本操作,再安装

3,linux常用命令

命令不会用,man查看详细的信息,--hlep查看常用的功能

命令行前面是#,代表是管理员在操作,¥是普通用户在操作,exit退出普通用户身份

terminal粘贴快捷键:ctrl+shift+v

ctrl+滚轮:放大缩小字体

ctrl+c:终止命令

1,文件命名规则

/不可用在文件命名上,他代表根目录;空格别用,输命令行的时候会有问题ssh a b这是打开两个文件,而不是打开a b这个文件,linux就会出问题;.别用,.代表隐藏文件,像windows的查看隐藏文件一样;大小写严格区分和C语言一样的

2,命令格式

命令 -选项 参数(有空格的)

ls -la -/etc==ls -l -a -/etc

linux的目录是倒树状的文件格式,.代表当前目录,..代表当前目录的父目录

在linux里面。所有的文件都是二进制文件,包括各种命令

root:

/sbin

/usr/sbin

all users:

/bin

/usr/bin

只要是bin的,所有用户都可以执行的,而sbin只有root可以执行

3,文件处理命令

目前这些命令都是存储在/bin的目录下

ls

英文原意:list==ls

命令所在目录:/bin/ls(bin表所有用户可以使用)

执行权限:所有用户

功能:显示目录文件

语法:ls -ald=ls -a -l -d

ls -a(all:所有文件,包括隐藏的)

ls -l(long:详细信息)

ls -d(directory:目录属性)

ls -i(inode:i节点),任何东西都要有数字标记,linux内核只能认出数字,文件的标记叫i节点,通过i节点来判断文件,还有其他的节点,都不一样)每个文件必须要有一个i节点,如果没有i节点,那么文件无法访问了

输入ls -ld /....查看该根目录的详细信息

输入ls -l /查看该根目录下子文件的详细信息

例:drwxr-xr-x. 76 root root  4096 May 23 08:08 etc

(1)drwxr-xr-x=d+rwxr-xr-x==d+rwx r-x r-x

r=read;w=write;x=execute;

d                                                      rwx                                  r-x                           r-x

首字母:                                       所有者u              +          所属组g          +      其他人o=linux使用的所有类型的用户

d=directiry目录                           user/onwer                      group                  other

-=二进制文件                             读写执行的操作权限都有  只能写和执行      写和执行

l=link软连接文件

(2)76:硬连接数,没啥用

(3)root                root         4096

         所有者所属组                 文件大小:不太准确,没什么参考价值,要用其他命令来查文件大小

数据块是最小的存储单位512byte,每个文件占用一个数据块,放不满就空着

cd

change directory

pwd

print working directory

touch

创建新文件

mkdir

make directory

创建新的目录

cp

copy

mv

move移动文件和改名

不用在当前目录下操作,而且两个功能可同时使用

rm

remove删除

rm=’rm -i‘也就是删除的时候会提示一下,-i==inquire询问

rm -f file

-f=force强制(删除),不需要确认,不会询问yes or no

rm -r dir删除目录,目录下的文件会挨个确认

rm -rf dir直接删除目录,不会询问

cat

concatenate(连接) and display files

适用于显示的文件内容少的

more

分页显示文件内容,适用于信息多的

空格和回车是内置的命令,自己体会其作用

head

查看文件的前几行

tail

查看文件的后几行

ln

link

产生硬链接和软连接文件

软链接文件特点

权限都是rwx

类似于windows的快捷方式

硬链接文件特点

权限和源文件都是一样的

除了名字不一样,其他都一样,类似于copy,==copy -p+同步更新,但是它是同步更新的,而且copy的文件创建的时间值是不一样的(在硬连接数不考虑的情况下,)

区别:源文件删除了,硬链接文件还存在,硬链接和源文件有同一个(incode)i节点,一个数字两个映射,硬链接不能跨分区,生成的硬链接得在同一个分区下,软链接无所谓

4,权限管理命令

目前这些命令都是存储在/bin的目录下

chmod

change the permissions(权限) mode of a file

更改文件和权限

chmod {ugo}{+-=}{rwx} 目录或者文件

chmod (mode:421) 目录或者文件

chmod u-rwx file,chmod -r file,chmod u+w file

chmod 751  file= rwxr-x--x

rwx

字符 权限 对文件的含义 对目录的含义
r 读权限 可查看文件内容(cat、more、head and so on) 可列出目录中的内容(ls)
w 写权限 可修改文件内容(echo、vi) 可以在目录中创建和删除文件(touch、mkdir、rm)
x 执行权限() 可执行文件(命令、脚本) 可以进入目录(cd)

这就代表只有当文件的目录有w权限时,你才能删除该文件

chown

change file ownership改变文或者目录的所有者

chgrp

change file ownership改变文或者目录的所属组

umask

显示文件或者目录缺少的权限

0022

0   0         22

特殊权限位ugo

022代表用户权限位,权限掩码值类似子网掩码,(真正的用户权限值:777-022=755)

默认的umask是022,也就是755,都有可执行权限但是新建的文件是644,三类linux用户(ugo)都没有x权限,这是因为linux基本权限规则:缺省创建的文件不能授予可执行x权限,为了安全吧

可以通过umask 更改权限掩码值

5,文件搜索命令

2022.5.24

目前这些命令都是存储在/usr/bin的目录下

which & whereis

只能查找命令所在的目录

which ls还能显示出来命令的别名,

whereis ls还能够显示出来命令的帮助文档

find

查找任何文件和目录

第一原则,尽量缩小查找范围,不要再根目录下查找,使用的资源越少越好

常用使用的功能:

1,根据文件名查找 -name

find /etc -name init只会查找出和文件名完全相同的文件,其他的带有相关该文件名的文件不会显示出来

使用通配符:*:匹配任意字符,?:匹配单个字符

find /etc -name init*:   查找init开头的文件

find /etc -name init???:查找开头为init的7位字符的文件

2,根据文件大小查找 -size

block:512B==0.5KB

1M=1024K=1024*1024B

根据数据块的数量来查找:+,-,整好就直接数字

查找大于100M的文件:find /etc -size +204800

查找小于100M的文件:find /etc -size -204800

3,根据文件所有者查找 -user
4,根据时间查找

1,天,ctime,atime,mtime

2,分钟,cmin,amin,mmin

c-change改变,表示文件属性被改过,所有者,所属组,权限

a-access访问

m-modify修改,表示文件内容被修改过

-之内,+之外超过

find /etc -mmin -120:查找120分钟内的

5,根据文件类型查找-type

f:二进制文件,

l:软连接文件

d:目录

6,根据i节点查找-inum

find . -inum 16

.代表根据在当前目录下查找

目的是为了查找奇奇怪怪的文件,然后删除,ls -i查出i节点数字,然后使用-exec连接符进行删除

组合查找:

连接符

1,-a and 逻辑与(都满足条件进行查找),-o or 逻辑或(满足一个条件即可查找)

2,find /directory -exec 命令 {} \;

                       -ok 进行询问确认

{},代表find查询的结果

\转义符,让符号命令使用本身的含义

;代表结束

locate

寻找文件或者目录

unix里没有这个命令,linux里才有

locate查找很快,但是有的时候会找不到文件,他是从系统文件目录的数据库查找,

需要更新数据库,find是在硬盘里找,

updatedb

update the slocate database

建立整个系统目录文件的数据库

执行权限为root

grep

在文件中寻找字符匹配的行并输出,

grep ftp 源文件

6,帮助命令

man

man==manual

man 命令或者配置文件,看配置文件的时候,直接man 配置文件,不要目录

获取帮助信息

man ls

man显示调用more来显示信息,more空格下一页,回车下一行,q是退出

如果一个命令和配置文件是同名的,man 之后的查看的是命令的帮助,不是配置文件的

man又好多种(1-9),5代表的是查看配置文件的帮助,man 5 配置文件就可以查看

1代表命令的帮助,默认就是1,命令的帮助,可以不写

info

info==information

linux才有,unix无

和man差不多

whatis,apropos,makewhatis

获得索引的简短说明信息

相当于man -k

whatis,apropos使用数据库搜索,命令发生错误就是whatis database没有建立

--hlep

命令 --help

显示命令的主要选项

help

查看shell内置命令的帮助

man查不到,就可能是shell的内置命令

7,压缩解压命令

2022.5.25

gzip

只能压缩文件,目录不行,且不保留原文件,只剩个压缩包

linux的压缩包放到windows上都可以使用软件解压缩,反过来就不一定了

windows的.rar-->linux解压不了

压缩文件

后缀.gz

gunzip

解压缩

tar

打包目录

tar 选项 目录

     -c 产生.tar打包文件

  -v 显示详细信息

 -f  指定压缩后的文件名

      -z 打包同时压缩

压缩后的文件格式:.tar.gz

tar -zcvf newfile.tar.gz newfile 生成newfile.tar.gz文件

如果有些系统tar命令不支持-z,

可以先 tar -cvf newfile.tar newfile

再压缩 gzip newfile.tar

解压包

-c--->-x解压.tar包

zip

.zip在linux和windows默认支持的文件就是zip格式

可以压缩目录或者文件,还可以保留原文件

unzip解压

.bzip2

只能压缩文件,适合压缩大型文件,压缩比超大

压缩格式.bz2

-k保留原文件

解压bunzip2

8,网络通信命令

write

实时通信工具,给登录的用户发送信息

write 用户

wall

给所有人发送信息,广播

ping

测试网络连通性

ping 192.168.11,需要ctrl+c终止,否则会一直ping下去

ping -c 3 192.168.11,ping三次就结束

c==count次数,

ping -s 60000 192.168.11,改变发送包的大小

s==size,

ifconfig

查看网卡的信息,网络配置的信息

-a==all加不加都都行,

showdown

关机

reboot

重启

9,shell技巧

一、什么是Shell

shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。

二、什么是脚本

脚本就是由Shell命令组成的文件,这些命令都是可执行程序的名字,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

三、Linux中有哪些脚本解释器

有dash和bash两种,但dash没有bash功能全面,所以通常使用bash。可以通过命令来查看系统中的脚本解释器: ls -l /bin/*sh

bashell

命令补全

Tab键

命令历史

history

命令别名

命令的别名隐含着命令实际的功能

alias

作用:查询命令的别名,给命令重新定义

alias copy=cp

alias xrm="rm -r"组合要使用双引号

unalias删除别名

定义的别名,等到linux关机,还会存在吗

输入/输出重定向

shell的进程预先定义3个文件描述字,

0 1 2
STDIN标准输入 STDOUT标准输出 STNERR标准错误输出

STD==standard

输出重定向 0>

改变输出的位置,不在显示屏输出

ls -l/temp > /temp.msg

把ls -l的结束输出到/tmp.msg文件里,但是>会把temp文件里的内容清空

追加>>,不会覆盖之前的内容

输入重定向 1<

不在键盘输入,文件作为输入

wall < /etc/moth

错误输出重定向 2>

为什么文件好像有好多后缀名

输入输出的0,1可以省略,到了这就不能省略了,要不就和输出重定向一样了

错误输出重定向,可以把错误信息发送到重定向的文件里

管道 |

命令1|命令2|命令3|.....

把一个命令的输出作为另一个命令的输入

命令连接符

;间隔命令顺序以此执行

&& 连接两个命令,第一个命令成功,第二个命令才会执行,同理执行失败,后边也不会执行

|| 前面命令失败,后边的命令才会执行

命令替换符

`

ls -l `which touch右边还有一个符号

which touch的输出,作为ls -l的参数

4,文本编辑器Vim

2022.5.26

命令见pdf

Vim/Vi文本编辑器,只有命令没有菜单,三种模式

vim book,

主要应用功能,配置文件修改和shell脚本编程

修改只读文件,只有文件所有者和root可以,特权用户root,

unab取消ab功能

unmap取消map快捷键

Vi退出后,设置和快捷键没有保存,需要编辑Vi的配置文件,存在用户的宿主目录下 ~home directory

(1)管理员root的宿主目录:/root,   (2) 普通用户的的宿主目录:/home/用户名

vim的配置文件~/.vimrc存在(1)(2)中,vi打开配置文件,在配置文件中进行命令和快捷键的保存就会永久有效了

5,linux引导流程解析

2022.5.27

1,固件

固件firmware(coms/bios)--->上电自检post,检测硬件是否良好,coms是固化在主板上的程序,bios是操作coms的管理控制界面,不同的硬件平台固件也是不一样的,固件和操作系统无关,就算是裸机无操作系统,也得先加电自检,这是上电的必须步骤

固化在固件里的hwcolck硬件时钟怎么和linux操作系统里的软件时钟同步

命令

date:查询软件时钟,

hwclock:查询硬件时钟

软硬时钟按理说应该是一样的,如果不一样,可能会出现time error,同步时钟可以在命令行中完成,hwclock --help

-s, --hctosys        set the system time from the hardware clock-w, --systohc        set the hardware clock from the current system time

如果两个时钟都是错的,那就修改一个,再已修改好的为基准,再调用上面的命令,man或者--hlep查询命令的信息,

2,自举

固件自检没问题后,读取硬盘的数据,首先读取bootloader,自举程序bootloader(GRUB)--->载入内核,各操作系统都需要bootloader,windows的是ntldr,linux的叫做GRUB,一般在/boot目录下,bootloader的作用就是载入内核,打开grub.conf配置文件可以看到,(内核)kernel /vmlinuxz-2.6.18-194.el5,是一个单独的可执行文件 z代表压缩文件,2为主版本号,6为次版本号,18为末版本号,次版本号偶数为正式版,奇数为测试版,选择稳定的内核版本

3,载入内核

载入内核kernel 在引导期间内核只做两件事:硬件驱动和启动init进程--->驱动硬件

4,启动进程init

unix系统中,init为第一个可存在的进程,processid(PID)恒为1,PID为进程的数字表示==标识,linux只认数字

5,读取执行配置文件/etc/inittab

Part_3

感悟

首先要感谢阿里云对高校学生的支持,极大的节省了学习时间,而且相当方便,由于时间原因,我只使用了几天时间,基本都是在学习操作linux的命令行操作,阿里云ECS的很多功能还没用到,但这几天的时间,就我而言,我觉得阿里云ECS给像我一样的初学者了一个极其方便的强大的学习平台,真的很方便,希望阿里云可以给我续租俩月的时间,让我可以随心所欲的对linux进行学习操作。谢谢!

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
5天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
9天前
|
大数据 云栖大会 云计算
2024云栖大会 预告:磐久服务器技术创新和实践
2024云栖大会 预告:磐久服务器技术创新和实践
2024云栖大会 预告:磐久服务器技术创新和实践
|
6天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
3天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
8天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
8天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
10天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
12天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感

热门文章

最新文章