欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > Linux——入门

Linux——入门

2024/11/14 21:13:43 来源:https://blog.csdn.net/m0_51952310/article/details/143639858  浏览:    关键词:Linux——入门

前言:大佬写博客给别人看,菜鸟写博客给自己看,我是菜鸟

本篇涵盖:

①:初识Linux基础指令以及用法(只谈常用的)

②:补足一些有关Linux的常识

一、Linux基础指令及用法

容易记住的:

ls-la:l 显示当前目录中文件详细信息;a 显示隐含文件

pwd:显示用户当前目录

cd 目录名:进入指定目录

touch 文件:创建一个文件

mkdir 目录:创建一个目录       

mkdir -p 目录/目录1/目录2: 递归创建多个目录

rm -rf 文件名/目录名:删除所有文件或目录,r递归,f强制

容易忘记/记错的:

cat -[选项] 文件查看目标文件内容

-n:对输出的所有行编号

-s:不输出多行空行

演示:

 cat test.c 查看:

cat -ns test 查看:

cp -rf 目标路径/指定目录 目标路径/目录名复制目录到目标路径并重新命名

cp 目标路径/文件  目标路径/文件名:复制文件到目标路径并重新命名

注:不加文件名就以原名称命名

演示:

将test.c 复制到 p2,并重命名为ka.c

将p3 复制到当前目录,并重命名为yo

实现:

mv  目标路径/目标文件or目录  目标路径/(新文件名or目录名) :移动文件or目录

注:原路径的文件or目录会被删除

演示:

将p3中的ka.c 移动到当前目录,并命名为ko.c

find /路径 -name 目录名or文件名寻找对应名称的目录or文件

find /路径 -name '*.txt':寻找所有以 .txt 结尾的文件

find /路径 -name '*.c'寻找所有以 .c 结尾的文件

演示:

寻找ka.c的路径

显示114目录中所有.c结尾的文件

grep -[选项] "字符串" 目标路径/目标文件:打印目标文件中所有包含该字符串的整行内容

-i:忽略大小写

-n:输出对应行号

演示:

找到ko.c中的字符串 "kayoko"

zip -r 压缩的文件名.zip 目标路径/目录名:压缩目标路径下的目录

zip  压缩的文件名.zip 目标路径/文件名:压缩目标路径下的文件

演示

将p1和ko.c压缩

unzip 文件名.zip :解压到当前路径

unzip 文件名.zip -d  目标路径 :解压到其他路径

演示:

将ko.zip 解压到p3目录下

tar -czf 文件名 .tgz 目标文件:压缩目标文件
tar -xzf 目标文件 .tgz  解压目标文件到当前文件夹
tar -xzf 目标文件.tgz -C(大写 )  目标路径 解压到指定路径中
与zip unzip 类似不做演示

二、Linux相关常识

1、文件 = 文件内容 + 文件属性,二者都是数据,都需要保存起来

2、Linux下,一切皆文件

3、前面所讲的基础指令其实是特定系统路径下的程序,通过which可以找到相应位置

Linux权限

1.什么是权限?

        a.权限是用来限制人的。人 = 真实的人 + 身份角色

        b.目标事物的属性,也会影响权限

                权限 = 角色 + 事物属性  →  最终决定你在Linux 系统中能否完成一件事

2.认识人----root、普通用户、其他人

        root(超级管理员):几乎不受权限的约束

        普通用户:Linux的使用者,收到权限的约束

        注:一个系统可以有多个普通用户使用该系统,不同使用者在登录时会默认进入自己的家目录,不同用户之前想要访问对方的家目录必须输入对方的密码,但是root可以切换至任何用户

        普通用户可以输入 sudo 以 root身份 执行一条指令,前提是:root用户给普通用户加了白名单,让普通用户成为 sudoers 中的一员

3.认识Linux中的角色----文件拥有者、文件所属组、other

图中 1 2 分别对应为 拥有者所属组

举个例子说明一下所属组和other的区别:

        假设A 和 B 在同一家公司,某天他们写了同一份代码,老板C想看,但是A和B又不想给对方看,那么只需给老板C所属组的角色,并打开所属组的读权限和关闭other的任何权限,就能让老板访问,而不让other看。

图中1 2 3 分别对应:拥有者权限、所属组权限、other权限

三个字母为一组,分别对应:r读权限,w写权限,x执行权限。

作为文件的 拥有者root,可以通过以下指令来修改文件or目录的权限

👉:chmod u-r 指定文件              去掉拥有者指定文件的读权限
👉:chmod g-r 指定文件              去掉所属组指定文件的读权限
👉:chmod o-r 指定文件              去掉其他人指定文件的读权限
👉:chmod u-r,g-r,o-r                   指定文件去掉所有人指定文件的读权限
👉:chmod a+r 指定文件             加上所有人指定文件的读权限
👉:chmod a+rwx 指定文件         加上所有人指定文件的所有权限
除了上述修改文件or目录权限的方法外,还可以通过以下方法
👉:chmod bbb 目标文件/目录 
注:b 是二进制下对应的十进制数字,例如:假设 test.c 的权限为 -rwxrwxrwx,对应的二进制为 -111 111 111,以三个数为一组,对应的 十进制数就是 -777
那么通过 chamod  000  test.c 就能够将 test.c的权限修改为所有用户 不可读/写/执行

4.有关权限的其他三个问题

权限缺省:
每一个文件被创建时都拥有权限,这个权限是由起始权限+权限掩码所决定的
1、普通文件的起始权限为:666,目录文件的起始权限为:777
2、umask(权限掩码)
3、最终权限(缺省权限) = 起始权限 & (~umask)
注:可以通过修改权限掩码来修改文件的最终权限
目录权限(没有的情况下):
r: 无权查看指定目录下的文件信息
w: 无权在指定目录内部,新建、删除、修改文件名等修改文件的操作
x:无权进入一个目录
粘滞位
在Linux多用户下,对于文件的访问是隔离的(不能在普通账号的家目录中,否则别人没法访问了),我们想要不同账号之间共享文件只能在其他目录下(不能是家目录)。
问题:假设 A 为 test.c 文件的拥有者,B 为该文件的所属组,C为other,目标文件对C没有任何权限,为什么C能够删除 test.c?
:因为该权限由所在目录的W决定,与目标文件无关。
为了避免上述情况,就需要用到粘滞位,只能够给目录设置,不能给普通文件设置。
指令:chmod +t /目标目录

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com