【Linux】指令与权限

  Linux == Linux is not Unix.  

前言

  这是我学习Linux系统编程的第一篇笔记。

开源与闭源 

1. 开源的操作系统中存在的问题能够被更快、更好的解决,使得开源的操作系统更加稳定、安全、高效。

2. 闭源的操作系统如果存在问题,那么其发现、解决问题的效率就更低下,而且解决问题的方案不一定优质。

Linux基础指令 

Linux指令

1. Linux的基本操作,是通过Linux指令来进行的。 

2. 图形界面需要消耗计算机内存资源,所以Linux不使用图形页面

3. Linux指令可以单独使用,也可以组合使用

4. Linux指令的本质就是可执行程序

Linux文件 

1. 在Linux中,文件分为普通文件目录

2. 目录又称为路径文件夹

3. 文件不仅仅包括文件内容,还包括文件属性,都属于文件数据文件属性也占用内存空间

4. Linux系统结构是一个多叉树结构

5. Linux系统结构的最末端,要么是一个普通文件,要么是一个空目录

6. 访问一个文件,前提是先找到它,才可以操作它。

7. 由于Linux系统结构是一个多叉树结构,所以到父节点的路径唯一,我们把这种定位方式叫做绝对路径

8. 由于Linux系统结构是一个多叉树结构,所以到兄弟节点的路径唯一,我们把这种定位方式叫做相对路径

9. 在日常操作时,一般使用相对路径,在配置文件时,一般使用绝对路径

基础指令 

用户指令

adduser user_name新增加一个名为user_name的用户

passwd user_name给名为user_name的用户设置登入密码

userdel user_name删一个名为user_name的用户

ls指令 

ls显示当前目录下的文件

ls -l显示当前目录下更详细的文件属性信息

ls -a显示当前目录下所有的文件包括隐藏文件

ls -l -a: 把 -l和 -a这两个选项组合传入实现ls -l和ls -a的效果

1. 第一部分:文件类型。其中以'd'开头的文件称为目录,以'-'开头的文件称为普通文件

2. 第二部分:

3. 第三部分:文件的拥有者。

4. 第四部分:文件的所属组。

5. 第五部分:占用内存大小。

6. 第六部分:最后更新时间。

7. 第七部分:文件名。

1. 普通文件包括文本文件二进制可执行文件动静态库视频音频图片等。

2. Linux系统中,文件类型与文件后缀无关

3. 其中'.''..'是两个目录。其中'.'表示的是自身目录'..'表示的是上一级目录

4. 最开始的 称为根目录

5. 在任何一个目录中,都存在'.''..'

6. /home/xxx称之为普通用户xxx的家目录

7. Linux中以'.'开头的是隐藏文件,删除文件时候,不会删除隐藏文件。所以可以在隐藏文件中存放一些比较重要的内容

pwd指令 

pwd显示当前用户所处的路径

whoami指令 

whoami显示当前用户的用户名

mkdir指令 

mkdir xxx创建一个名为xxx的目录

mkdir -p a/b/c/d创建一个a/b/c/d的路径

cd指令 

cd xxx进入一个名为xxx目录

cd ~切换到当前用户的家目录。     

cd -切换到最近的一次路径。 

touch指令 

touch xxx创建一个名为xxx的普通文件

rm指令 

rm xxx删除一个名为xxx的普通文件。 

rm -r -f xxx删除一个目录

1. 删除文件时,一定要搞清楚相对路径绝对路径否则很可能删不掉 

2. 删除目录时,确保不要在需要删除目录中

clear指令  

clear清屏。  

tree指令 

tree xxx把xxx目录下的文件以树形结构展现出来

1. 如果出现刷屏,则可以ctrl+c打断。 

2. 一般使用tree ~来以树形结构显示当前用户的家目录

man指令 

man n xxx查询xxx作用

man 1 xxx Linux指令中查询xxx

man 2 xxx系统调用接口中查询xxx

man 3 xxxC语言库中查询xxx

1. 按q退出查询,按updown进行文档翻页。 

2. 若n没有给出,则默认为1

echo指令 

echo xxx :往显示器文件上写入xxx内容

echo xxx > yyy往yyy普通文件上写入xxx内容

1. 如果yyy普通文件不存在,就先创建yyy普通文件再写入xxx

2. 如果yyy普通文件存在,就先清空再写入xxx 

echo xxx >> yyy往yyy普通文件上追加xxx内容

1. 如果yyy普通文件不存在,就先创建yyy普通文件再写入xxx

2. 如果yyy普通文件存在,就先换行再追加写入xxx

cp指令 

cp -r -f xxx yyy把xxx文件拷贝到yyy目录下

cat-tac指令 

cat -n -s xxx由第一行开始显示xxx普通文件内容

tac -n -s xxx由最后一行开始显示xxx普通文件内容

which指令 

which xxx查询xxx可执行程序所在路径。 

mv指令 

mv xxx yyy如果yyy目录存在把xxx文件移动到yyy目录下

mv xxx yyy如果yyy目录不存在则把xxx文件名改成yyy

stat指令 

stat xxx查询xxx文件的时间信息 

1. Access: 最近一次访问时间

2. Modify: 最近一次文件内容修改时间

3. Change: 最近一次文件更新时间,包括文件内容和文件权限的更改

ps指令

ps axj查询所有进程

kill指令

kill -9 xxxxx中止进程ID为xxxxx的进程

less指令

less xxx:一面一面的显示xxx文件的内容。

1. page_uppage_down实现上下翻找

2. 实现退出less程序

3. / 实现查找字符串 

zip指令 

zip -r xxx.zip yyy:把yyy文件打包压缩成xxx.zip,存放在当前目录。(-r:表示递归

unzip xxx.zip -d zzz xxx.zip压缩包解压到指定的zzz目录

tar指令 

tar xxx.tgz yyy:把yyy文件打包压缩成xxx.taz

tar xxx.tgz: xxx.tgz压缩包解压

1. -c建立一个压缩文件的参数指令。

2. -x解开一个压缩文件的参数指令。

3. -t:查看tarfile里面的文件。

4. -C:解压到指定目录

file指令 

file xxx识别xxx的文件类型。 

热键 

1. Tab---具有命令补全档案补齐的功能。
2. ctrl+c---中止当前的程序
3. ctrl+d---键盘输入结束
4. ctrl+r---搜索历史指令
5. page_uppage_down实现上下翻阅历史命令。

shell命令

1. Linux本质上是一个操作系统,但是一般的用户不能直接使用它,而是需要通过外壳程序shell,来与Linux内核进行沟通。

2. shell的简单定义:命令行解释器。主要包含以下作用:

  • 将使用者的命令翻译给核心处理
  • 将核心的处理结果翻译并呈现给使用者。 

3. 对比windows GUI,我们操作windows也不是直接操作windows内核,而是通过图形接口,进行点击从而完成操作:比如进入D盘的操作,我们通常是双击D盘

4. shell对于Linux系统来说,有相同的作用:用户输入的指令经由shell解析并传递给Linux内核执行,随后内核运行的结果再通过shell解析后反馈给用户。

Linux权限

用户与权限

1. Linux系统下有两种用户:超级用户普通用户

  • 超级用户:可以在linux系统下做任何事情,不受限制。超级用户的命令提示符是''#''
  • 普通用户:在linux系统下做有限的事情。普通用户的命令提示符是''$''

2. 权限=角色+事物属性

  • 角色:学生不能进入校长办公室。
  • 事物属性:抖音上无法刷算法题。

su指令

su user_name切换用户切换成user_name用户

su root切换用户切换成root用户

1. 普通用户切换成其他用户,需要输入密码。

2. root用户切换成其他用户,不需要输入密码。 

sudo指令

sudo xxx在普通用户的账号中使用超级用户权限进行操作xxx

1. 超级用户把当前普通用户拉入白名单后,当前普通用户才能使用sudo指令。 

2. 一般来说,普通用户安装软件时,需要用到超级权限,此时就需要使用sudo指令

权限的查询与修改

1. Linux中的角色分成三类:

  • u --->文件拥有者
  • g --->文件所属组
  • o --->other
  • a --->all

2. Linux中的事物属性分成三类:

  • r --->对普通文件来说->可读对目录来说->查看目录下的文件信息
  • w --->对普通文件来说->可写对目录来说->在目录下新建、删除、修改文件
  • x --->对普通文件来说->可执行对目录来说->进入目录

3. Linux中的权限操作符分成三类:

  • + --->添加权限
  • - --->移除权限
  • = --->覆盖原有权限

1. 第一部分的十个字符中

  • 1 表示文件类型
  • 2、3、4表示拥有者权限
  • 5、6、7表示所属组权限
  • 8、9、10表示other权限

chmod指令

chmod (u+-=(rwx)) (g+-=(rwx)) (o+-=(rwx)) xxx修改xxx文件的权限

chmod 777(8进制) xxx修改xxx文件的权限

1. 只有文件的拥有者或者超级用户才能够修改文件的权限。 

2. 文件的user角色group角色other角色,在和用户匹配时,从左向右依次匹配,并且只成功匹配一次。

3. r(-)w(-)x(-)可以转换成一个8进制数字范围从0-7

chown user_name  xxx把xxx文件的所有者权限给user_name用户

chgrp user_name xxx把xxx文件的所属组权限给user_name用户

umask指令 

umask 0xxx修改文件的掩码改成0xxx

1. 在Linux系统中,新建的普通文件起始权限默认为666新建的目录起始权限默认为777

2. 如果像要修改最终权限的默认值,则需要使用umask指令进行修改。

3. 最终权限 = 起始权限 & (~umask) 

共享目录

1. 在Linux多用户环境中,各个用户对于 /home 目录下的个人文件访问是相互独立且隔离的

2. 如果普通用户想要共享一个文件,就不能建立在自己的家目录下而需要在根目录 / 下面新建立一个共享目录

3. 删除一个文件与该文件的权限无关与该文件所在目录的w权限有关

粘滞位 

chmod +t xxx给xxx文件加上粘滞位。 

1. 共享文件一般都需要设置粘滞位,防止有人恶意删除共享文件

2. 共享文件加上粘滞位后,在共享文件中,只有共享文件的创建者才能删除该共享文件

3. 由于共享文件一般是在根目录 / 下,所以在设置粘滞位时,要么用超级用户,要么用sudo指令提权

致谢

  感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

### Linux 命令及权限设置教程 #### 一、理解Linux权限模型 在Linux操作系统中,每一个文件和目录都关联着特定类型的访问权限。这些权限分为三类:读取(read)、写入(write)以及执行(execute)。对于每种权限类别又细分为三种身份——文件所有者(user)、同组用户(group)和其他人(others)[^1]。 #### 二、查看现有权限 要查看某个文件或目录当前具有的权限状态,可以使用`ls -l`命令。这会显示详细的权限信息以及其他属性,如链接数、拥有者、所属群组等[^2]。 ```bash ls -l filename ``` #### 三、修改权限-chmod命令 为了更改文件或目录上的权限位,可利用`chmod`命令完成这项工作。该命令允许通过符号模式(symbolic mode) 或八进制数值方式调整权限: - **符号模式**:采用字符表示法指定目标对象(用户u/组g/其他o),操作符(+/-/=), 和具体权限(r/w/x) ```bash chmod u+x script.sh # 给文件所有者增加执行权 ``` - **八进制模式**:以三位数字的形式定义完整的权限集;每位代表一类主体(u/g/o)的rwx组合情况(0~7之间变化) ```bash chmod 755 foldername # 设定文件夹为 rwxr-xr-x 权限 ``` 上述两种方法均能有效实现对单个或多个文件/目录权限的有效管理和定制化配置[^4]。 #### 四、赋予临时特权-sudo命令 当普通账户需要短暂获取更高层次的操作权利时,可以通过`sodo`来请求一次性的超级管理员授权。这种方式不仅提高了系统的安全性还简化了日常维护流程。需要注意的是能够运用此功能的前提条件是在/etc/sudoers文件中有相应的条目声明[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值