1.了解一些基本指令
2.了解shell命令
3.了解权限概念
4.权限的三大问题
-
Linux下基本指令
ls:显示当前目录下的文件列表
mkdir:在当前路径下 创建一个目录
pwd:显示当前我所处的路径
cd:进入指定的目录
touch:创建指定的普通文件
以root身份进入 pwd可知当前所处路径
使用ls指令可显示当前目录下的文件列表 root底下有dir 和 dir.zip文件
通过tree可知 确实如此
使用mkdir 我们创造一个目录名为new_dir的新目录
使用mkdir格式为 mkdir + 目录名
使用cd指令进入该目录 cd + new_dir
touch指令可以在目录底下创建文件 使用touch + new_file 创建文件
whoami 查看我是谁指令
指针还可以附加功能
ls -l 其中-l是 显示文件的更多信息 ls是指令 -l是指令选项
还有-a 显示更多的隐藏文件
cd指令
cd “你想要进的目录” //当目录名称中含有空格、中文或其它特殊字符时请用双引号包括
以下是最常用的几个目录的写法:
1、/ 代表根目录
2、.当前目录
3、… 上级目录
4、~ 当前用户的默认工作目录
注:目录可以省略不写, 与cd ~ 有相同的效果。
Linux系统根目录/ 结构 和二叉树类似
cat 打开文件内容
stat 查看文件的所有属性
我们在new_dir目录下用nano(文本软件)写了句 Hello world 在new_file.c中
通过cat指令可以看见该文件的内容
通过stat指令可以查看到文件的属性
那我们该如何删除目录 和文件呢?
rm指令 rmdir指令 但rmdir指令只能删除空目录 基本没什么用
rm new_file (无内容)
rm new_file.c (有内容)
看看会是什么样的效果
无内容的new_file被轻松的删除了
而有内容的new_file.c也是轻轻松松删除 由此可见 rm 可以对任意文件删除
如果我们想删除非空目录 该怎么办呢
rm -r 目录名
man指令
man命令是linux下查找shell命令、函数等使用方法的利器。
最简单的使用方式是man <the thing you want>
man man 可打开man这个指令的使用手册 再按Q(quit)即可退出
cp指令 拷贝 可以参考win上ctrl+cv
mv指令 剪切文件
echo "xxxx"显示到显示器上 我们向显示器打印 可以理解成写入到显示器 等等 显示器也可以写入? 对 可以把显示器也看作是一种文件
echo "xxxx" > mylog.txt 本来应该是显示到显示器上面的文本 但被(输出重定向)写入到文件中去了
记住 《Linux下一切皆文件》!!!
head指令 打印文本的前十行
tail指令 打印文本的后十行
wc指令 统计行数
|管道 重要概念
cat mylog.txt | wc -l
将cat输出的数据 通过管道输入到wc中
和时间相关的指令
date指令 cal日历指令
sort排序指令 按照ASCII码 升序排序
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
which指令 whereis - 定位一个“命令”的二进制文件、源文件、手册文件。
alias指令 取别名
grep 文本行过滤工具 grep ‘88’mylog.txt 包含88的全都打印了
重要部分 zip/unzip指令 压缩和解压
和rm类似 直接zip 是无法全部都打包的
正确使用
zip -r you.zip goufile/dir
unzip you.zip
为什么要打包和压缩 -> 应用于网络通讯传输
zip直接打包 只打包了目录 未打包内容
unzip +name.zip 解压后啥也没有
需要zip -r namefile 进入递归压缩即可
tar指令 重要‼️
tar的打包操作 tar+czf+namefile 打包操作又称备份操作
-c(create) z(压缩) f(新压缩文件的名字)
shell命令
我们使用的命令行 就是shell帮我们执行的;
那什么是shell?我们的指令ls/pwd/..都是程序 而shell也是程序 叫外壳程序
我们通过shell来操作 操作系统
为什么要这样呢 shell存在的意义呢?
a.帮忙进行命令行的传送和返回结果
b.保护操作系统
c.执行命令的时候 会创建子进程来进行执行
Linux的权限
1.权限的概念
单说权限这个词 权限是用来限制人的 是可以这样做 但没有权利这样做
所以权限是有个大前提 访问的对象天然有这个“属性”
如果对象没有这个属性就不存在是否有这个权限的意义
总结:权限 是指一件事情是否允许被谁“做”,权限=人(文件)+事物属性(rwx)
2.Linux上面的用户分类
人有各种社会地位 而在linux系统中也存在分类 有 root 和 普通
a.root为超级管理员 几乎可以干任何事
b.普通用户
3.Linux的文件属性
文件属性指的是 文件类型和文件权限 文件具有的属性分别是 读 写 和 可执行
这一串字母drwxr-xr-x是什么呢 我们来解析
d rwx r-x r-x
d 这个位置 为文件类型 d为dir目录 后面三个字母为一组
分别对应 文件拥有者 文件所属组 other
r ->可读 w ->可写 x->可执行
那有人要问了这个 文件拥有者 文件所属组 other是什么呢
这是角色 记得别和用户类型搞混了
一个人即可以是老师也可以是父亲 这并不冲突
文件拥有者:文件的创始人
文件的所属组:用于团队合作中 创造一个组 类似微信的组
文件的other:即除了上面两种外 其他用户
4.Linux的文件权限
1.我们该如何修改权限呢
权限 = 人+ 文件属性
用到chmod指令
chmod u+r test.txt
chmod g+w test.txt
chmod o+x test.txt
我们还可以用八进制修改
rwx rwx rwx 可看作 111 111 111
修改权限 chmod 777 test.txt
chmod 444 test.txt
当然我们还能修改文件的拥有者
chown root test.txt
2.有和没有文件权限有什么区别 ?
首先我们来创建用户和密码
sudo useradd -m aaa
创建用户名为aaa的用户
-m:自动建立用户的登入目录
sudo是允许系统管理员让普通用户执行root命令的一个工具(获取权限)
这里会需要输入管理员的密码(不是你想给新用户设置的密码!!!)
sudo passwd aaa
输入用户aaa的密码
第二次确认输入的密码
su用来切换用户的
在普通用户的情况下 我们就处处受限
你想执行什么指令都不行 因为没有权限
当然可以sudo 得到一次性的root权利 但需要在suoders名单中
权限的三大问题
权限的三大问题分别是 默认权限 ,目录权限 和 粘滞位
我们先介绍下file指令 file + filename 能告诉你filename是什么类型文件
目录的权限
如果我们要进入一个目录 需要什么权限?
对于目录来讲 r代表什么意思呢 在没有r权限的目录下 我们无法查看当前目录下的文件名和文件属性(即 ll无法使用)
对于目录来讲 w代表什么意思呢 在没有w权限的目录下 我们无法直接在当前目录下创建新的文件(即 touch + filename无法使用)
所以我们需要的x权限
默认权限
为什么我们创建的普通文件(不包括可执行),为什么默认权限都是从664开始的 为什么目录的默认权限是从775开始的呢 ps:不同的操作系统 默认权限可能是不一样的
默认权限:你看见的
起始权限:系统设置的 普通文件的起始权限 666开始的 没有x
目录文件的起始权限是777(rwx)全都有
但最终权限 也就是你看的默认权限 是 通过 起始权限 & (~umask)得来的
等等???这些是什么 别急我们一一道来
系统为了更好的控制文件权限 系统有着默认权限掩码的概念(umask)
&则是按位与 两个都是1才是1
umask默认为0002(八进制)
0 (这个0以后有用 现在不管)002 ->000 000 010
普通文件666(110 110 110)&umask002(000 000 010)
目录777(111 111 111)&umask002(000 000 010)
别忘记~ 按位取反
普通文件666(110 110 110)&~umask002(111 111 101)
目录777(111 111 111)&~umask002(111 111 101)
粘滞位
在使用Linux系统中我们会有些共享目录被所有普通用户所共享 用来报出普通用户产生的临时数据
但这样会出现个问题即是 当文件被所有人所共享时 却拦不住别人删除我的文件!!!
于是出现了粘滞位
1.为什么拦不住别人删除我文件
2.为什么粘滞位只能添加到目录上
众所周知w权限是我们可以创建新文件的权限 那是否也是我们删除文件的权限呢
是的 目录的w权限可以确定是否能在目录下创建或删除文件
但关了w权限无法创建新文件 那目录毫无意义
所以粘滞位出现
chmod +t public 就可以让目录设置粘滞位了
设置了粘滞位别人就无法删除我的文件 只有root 和文件拥有者可以
好啦今天的内容就到这里了 看到这里的朋友不妨一键三连
我们好好学习 越变越强