ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

学习Linux-Week1-基于实验楼

2021-09-28 21:31:26  阅读:185  来源: 互联网

标签:boris 文件 5.1 目录 命令 Linux Week1 实验楼


Linux第一周-基础练习

1.何为Linux

Linux是一个操作系统,且是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它的创始人是Linus Torvalds,他当时还是芬兰某大学的一个在读大学生(tql)。让我们看一看Linux系统的一个系统架构,如下:

Linux架构系统调用和内核特别重要。我认为Linux的魅力是Shell,Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。不像Windows的容易上手,Linux系统会多用终端使用户与系统交互,其安全性也比Windows强。最重要的是它是开源的,免费的才是最好的。

2.Linux安装

Linux也分为centos,ubuntu等,我个人更爱ubuntu,其图形化界面真的很好用,本人比较菜,用纯命令行肯定是不行的,并且centos多用于服务器,对个人而言ubuntu更好上手。
我使用的是VMware,由于装了很久了,感觉很多都没啥印象了,当时是有一个公众号软件安装管家可以下载破解版,只不过现在好像是挂了。然后在网上去下载镜像(.iso文件),下载ubuntu也没出现啥问题。最终的呈现如下:
在这里插入图片描述

3.用户管理

首先要知道Linux的最高权限是root,这也是所有黑客想得到的东西,如果得到了root权限就代表可以在系统中做任何事,要查看自己在何权限可以使用命令whoami

whoami

得到的结果如下:
在这里插入图片描述

3.1 创建用户

就像windows一样,Linux也可以用adduser来创建用户,但需要注意的是看其是否是root权限,只有root权限可以创建用户,如果不是root权限要提权,可用sudo命令来进行提权,在这里我们创建一个用户

adduser boris

如果要查看用户可以进入home目录,也就是cd /home命令,然后ls查看文件或者是在/etc/passwd中查看用户,会发现多出来了一个boris。
在这里插入图片描述
在这里插入图片描述
如果要切换命令可以使用

su -l boris

效果如下:
在这里插入图片描述
可以看到我之前的用户名叫root,现在改为了boris。(可以使用pwd命令来查看其绝对路径。)
在这里插入图片描述
当然如果想设置密码或者重设密码可以使用

passwd boris

这里还是要在root权限下执行。如果想退出boris回到之前的账号,可以使用ctrl+D的命令,会显示注销。

3.2 用户组

如果要查看用户组,可以直接使用groups命令。
在这里插入图片描述
这里冒号之前表示用户,后面表示该用户所属的用户组,比如boris:boris指的是用户名为boris,所属用户组也是boris。
我们也可以查看所有的组,使用cat命令查看/etc/group中的内容。
在这里插入图片描述
东西太多了,我们只想查看boris用户,所以使用命令

cat /etc/group | grep -E "boris"

这里的grep是用于查找文件中符合条件的字符串,-E为将样式为延伸的正则表达式来使用,这里我们是只需要出现boris的groups信息,得到的结果如下:
在这里插入图片描述
现在要进行一个骚操作,让用boris用户可以使用sudo得到root权限,命令为:

usermod -G sudo boris

在这里插入图片描述
可以验证一下,前面提到只有root权限可以创建用户,我在这里使用sudo提取使boris也可以创建用户来验证结果,效果如下:
在这里插入图片描述
发现是可以的,说明实验成功。

3.3 删除用户

这个简单,一个命令就好(要使用还是要提权)

deluser boris

4.用户及权限管理

4.1 查看文件权限

查看文件可以使用ls命令,可以呈现的效果如下:
在这里插入图片描述
如果查看长文件以及长文件的权限,可以使用

ls -l

效果如下:
在这里插入图片描述
需要注意的是,以第一行为例:drwxr-xr-x,拆解一下,前三个为:rwx指的是文件所有者权限,rwx指可读可写,允许执行,中间三个为:r-x指的是文件所属组权限,r-x指的是可读不可写可执行,最后三个为:r-x指的是其他用户的权限,r-x指的是可读不可写可执行。最后一开始的d指的是目录(directory),说的是这些文件都是目录文件。
ls后面还可以跟很多命令,比如:

ls -a

效果如下:
在这里插入图片描述
这里的第一排前面有一个.指的是当前目录的文件,第二排在前面有一个…指的是上级目录的文件,后面几排的.指的是隐藏文件。

再比如可以查看文件大小的命令:

ls -asSh

得到的结果为:
在这里插入图片描述

4.2 变更文件所有者

在boris里创建一个文件
在这里插入图片描述
可以看到这个huawei文件的所有者是boris。下面要进行的骚操作是将这个boris变为root,也就是一个命令

sudo chown root huawei

注意这里一定要sudo,可以看到文件用户变为了root
在这里插入图片描述

4.2 修改文件权限

现在要修改文件权限,之前创建了一个文件叫huawei,首先写入一些内容进huawei,命令如下:

echo "Hello Java" > Huawei

得到的结果如下:
在这里插入图片描述
如果要赋予其权限可以使用chmod命令,以600为例,这三个数字都表示八进制,6也就是110表示拥有者可读可写不可执行,0表示所属组不可读不可写不可执行,0表示其他用户不可读不可写不可执行。可以使用ls -alh命令来查看权限。
在这里插入图片描述
现在,我们来进行一个案例:添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。
操作如下:
在这里插入图片描述

5.Linux 目录及结构文件基本操作

对于Linux目录结构有一个FHS标准,FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。

要切换目录可以使用cd命令,如cd .表示当前目录,cd …表示这个目录的上一个目录,对于绝对路径如 /usr/local/bin,在如相对路径 …/…/usr/local/bin,常用的pwd命令就是查看绝对路径。/是根目录,~是家目录。
在这里插入图片描述

5.1 Linux文件基本操作

5.1.1 文件的新建

可以使用touch来创建文件,对于创建目录和windows一样,使用mkdir命令,mkdir -p 命令可同时创建父目录(多级目录)。
在这里插入图片描述

5.1.2 文件的复制

复制主要是使用cp命令,但是复制目录要使用参数-r或者-R。
在这里插入图片描述
下面创建了一个目录,然后复制到刚创建的/fruit/apple/small_apple目录下:
在这里插入图片描述

5.1.3 文件的删除

文件删除可以使用rm命令,强制删除是rm -f当然还有一个很刺激的操作,要提权使用那就是

rm -rf/*

5.1.4 移动文件与文件重命名

这里使用的主要命令是mv,现在进行将一个.txt文件移动到刚刚创建的hihi下
在这里插入图片描述
mv也可以重命名文件
在这里插入图片描述
对于重命名如果数量比较大,也就是批处理可以使用rename命令,如下使用了正则表达式,目的是创建几个.txt文件,然后将这些后缀为.txt的文件改为.c文件,再将.c改为.C。
在这里插入图片描述
这里用到了一些通配符,在shell中常用通配符如下:
在这里插入图片描述

5.1.5 文件的查看

查看文件可以使用cat命令,分页,翻页可以使用more以及less命令
在这里插入图片描述
这里的-n是显示行数。
在这里插入图片描述

5.1.5 查看文件的类型

可以使用file命令查看文件的类型,效果如下:
在这里插入图片描述

5.1.6 作业

1.创建一个 homework 目录,建立名为 1.txt ~ 10.txt 文件,并删除 1.txt ~ 5.txt
在这里插入图片描述
2.Linux 的日志文件在哪个目录?

Linux 系统的日志目录 Linux 系统的日志目录 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录

5.环境变量与文件查找

5.1 环境变量

这里的变量就是shell变量,就像我们学的C语言一样,要使用变量首先要声明,然后要赋值,这里我声明一个整数并输出,注意的是输出在变量前要加$符号
在这里插入图片描述
不然会误认为输出一个叫flag的字符串。
在这里插入图片描述
这只是普通变量,还有个概念大家应该都不陌生,那就是环境变量,在windows系统中,在装jdk时,会要求配置环境变量,Linux中的环境变量如 Shell 的环境变量作用于自身和它的子进程。有set,env以及export三个命令与环境变量有关,它们三者之间的关系如下:
在这里插入图片描述
我们输出环境变量试试,会出现什么:
在这里插入图片描述
接下来创建一个.sh文件和.c文件来执行它。
首先创建一个.sh文件,然后写入代码:
在这里插入图片描述
现在使用bash执行来验证结果:
在这里插入图片描述
然后创建一个.c文件
在这里插入图片描述
可以使用g++编译,然后执行
在这里插入图片描述
在这里插入图片描述
现在来探究下C语言到可执行文件的编译过程,大致过程如下:
在这里插入图片描述
所以过程是.c程序经过预编译变为.i文件,.i文件经过编译变为.s文件,.s文件经过汇编变为.o文件,.o文件经过连接变为可执行文件。
在这里插入图片描述
对于变量的修改可以有如下方式:
在这里插入图片描述

5.2 文件查找

文件查找是一个特别有用的操作,在windows中我大多是借助everything软件来进行搜索。在Linux中可以使用whereis,which,locate。
在这里插入图片描述
在这里插入图片描述
使用locate会会自动递归子目录进行查找。
在这里插入图片描述

5.2 作业

找出 /etc/ 目录下的所有以 .list 结尾的文件。

可以使用find命令,find的用法是find+目录+条件+条件值,这里使用命令

find /etc/ -name ".list"

在这里插入图片描述

6.挑战

有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在 /etc/ 目录下,现在要你把这个文件找出来,然后设置成自己,自己可以访问,但是其他用户并不能访问。

操作如下图:
在这里插入图片描述
步骤如下:

  1. 要找到这个sources.list,使用find命令
  2. 要使用chown命令,使这个sources.list文件所有者变为boris(也就是我自己)
  3. 使用chmod命令使这个文件权限变为只有自己可读可写
    注意这里的ls -alh是查看这个文件的权限。

6.文件打包与解压缩

在windows中很多时候要打包文件是使其变为.zip,在linux中也是,可以使用tar和zip命令进行解压缩。常用的命令如下:

zip:
打包 :zip something.zip something (目录请加 -r 参数)
解包:unzip something.zip
指定路径:-d 参数
tar:
打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C 参数

在这里插入图片描述
作业:创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。

操作命令如下:

mkdir test
touch xixi
zip xixi.zip xixi
tar -cf xixi.tar xixi
unzip xixi.zip -d /boris
tar -xf xixi.tar -C /boris

最终得到的操作过程如下:
在这里插入图片描述
到目前为止,实验做到这里,后续会更新。。。。

总结

今天学到了许多,巩固了Linux的许多命令用法以及加深了对很多知识点的理解比如环境变量,Linux中的所有都是文件,对文件如何操作至关重要。我也知道了locate和find的用法,比如要特定找某个文件可以使用find+目录+条件+条件值的组合来进行查找,非常好用,实在忘了就用man吧。

遇到的问题

最恶心的永远是装系统或者装软件,可能出现各种不适配,甚至好几次重装。一桶水一包烟,一个烂系统(软件)装一天。

标签:boris,文件,5.1,目录,命令,Linux,Week1,实验楼
来源: https://blog.csdn.net/weixin_44240981/article/details/120519639

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有