Linux Shell基础知识
一、文件系统和安全
chmod命令
chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限;另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限。
- 符号模式
chmod命令的格式为 chmod [who] operator [permission] filename
其中[who]的取值可以为
u:文件属主的权限
g:用户所在组的权限
o:其他用户权限
a:所有用户权限
如果省略[who]参数,会同时为u和g设置权限,即同时为属主和用户所在组设置权限
operator取值为
+:增加权限
-:取消权限
=:设定权限
permission
r:读
w:写
x:执行
另外还有s,t,l,u,g,o不常用
命令举例,
chmod +x temp //为属主和所用所在组增加执行权限
chmod a-w temp //收回所有用户的写权限(当然属主自己执行的话已然会有w权限)
绝对模式
绝对模式下,chmod命令的格式为 chmod [mode] file
[mode]是一个八进制数,八进制数与用户对应关系如下,
文件属主可读
文件属主可写
文件属主可执行 属组用户可读
属组用户可写
属组用户可执行 其他用户可读
其他用户可写
其他用户可执行
将相同类型用户所拥有的权值相加就是这类用户最终的权限,
例如
令属主可读写并能执行,则权值为4+2+1=7
属组可读不可写可执行,则权值为4+0+1=5
其他用户可读不可写不可执行,则权值为4+0+0=4
最终我们设置权限的命令就是 chmod 754 filename
用下面方式表达更直观,
文件属主:r w x: + +
属组用户:r w x: + +
其他用户:r w x: + +
硬连接和软连接
文件节点
在linux底层,并不是按照文件名来唯一标识一个文件,而是通过文件节点(inode)来标识的。
硬连接
Hard Link就是建立多个不同文件名,但是文件节点相同的文件(即在底层属于同一个地址空间),用命令 ln f1 f2
软连接
也叫符号链接(Symbolic link)就是建立元文件的一个文本文件,保存着原文件的位置信息,访问软连接文件也等同于访问原文件,类似windows的快捷方式。
软连接与硬连接的区别在于删除文件,如果删除一个文件,对它的硬连接文件不会有影响(相当于硬连接文件取代了原文件),但是其软连接文件不再是有效文件。
下面举例说明,
随便新建一个文件 echo agfgfgfdg3fsfsdf > f1
新建硬连接 ln f1 f2
新建软连接 ln -s f1 f3
如果修改f3 echo 23423423 >> f3
会发现f1和f2都被修改了
cat f3
agfgfgfdg3fsfsdf
cat f2
cat f3
agfgfgfdg3fsfsdf
cat f1
agfgfgfdg3fsfsdf
如果删除f1, 会发现其硬连接f2已然可访问,但是软连接f3已经无效了,
cat f3
cat: f3: No such file or directory
Linux Shell基础知识的更多相关文章
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
- Linux Shell 基础知识(二)
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...
- Linux Shell基础(下)
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
- linux shell 基础 使用日志与心得
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...
- shell基础知识总结
1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...
随机推荐
- C语言语法分析器
#include <stdio.h> #include <string.h> ], token[]; char ch; int syn,p,m,n,sum; ]= {" ...
- grafana + influxdb + telegraf , 构建性能监控平台
1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...
- AJAX的封装(包括跨域问题)
注意: 1.同域下支持get和post方法 2.跨域问题必须得到后台的支持 3.跨域只支持get方法 function AJAX(obj){ //做网络请求的时候,参数以"对象"的 ...
- 异或密码---hdu5968(CCPC合肥,二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5968 思路:先把所有的连续异或值保存起来,排序,然后用二分找到距离x最近的那个点,判断即可: # ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
- Android四大核心组件之ContentProvider
实验内容 学习ContextProvider用法 编码实现简单ContextProvider功能 实验要求 通过简单代码了解ContextProvider功能和用法 实验步骤 ContextProvi ...
- 我的AngularJS 学习之旅
我的AngularJS 学习之旅 基础篇 1.Angular的 起源 2.比较Web 页面实现的几种方式 3.一些基本术语 4.Angular与其他框架的兼容性 5.总结 6.综合实例 很早之前就 ...
- IOS遍历方式
NSArray* arrays = @[@"1",@"2",@"3",@"4",@"5",@&quo ...
- UVALive 7139 Rotation(矩阵前缀和)(2014 Asia Shanghai Regional Contest)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...
- PHP设计模式之:单例模式
前 些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理 解了,设计模式这些的花点心思基本的是能够理 ...