tar指令
上一篇博客已经介绍了zip/unzip指令,接下来我们来看一下另一个关于压缩和解压的指令:tar指令
tar指令:打包/解包,不打开它,直接看内容
关于tar的指令有太多了:
tar [-cxtzjvf] 文件与目录 .... 参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
下面我提供一种操作的方案:
打包并压缩 : tar -czf dst.tgz src
解包并解压 : tar -xzf dst.tgz [-C yourdir]
注意:tar命令可以带- 也可以不带 -
即,指令也可以写为:
打包并压缩 : tar czf dst.tgz src
解包并解压 : tar xzf dst.tgz [-C yourdir]
bc指令
bc命令可以很方便的进行浮点运算
除了直接的运算,也可以搭配我们的指令一起,只要在指令后加上 | bc 即可
在以后遇到的一些情况可以让其帮助我们计算
比如:
uname –r指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息
常用选项
-a详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
这个指令并不是特别重要,了解即可~
几个热键
[Tab]按键---具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键---让当前的程序『停掉』 (灰常好用)
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
关机
语法:shutdown [选项]
常见选项:
-h : 将系统的服务停掉后,立即关机
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
因为这个是关机操作,所以博主就不加演示了(否则这篇博客也写不成了(笑))
shell命令以及运行原理
Linux严格意义上说的是一个操作系统,我们称之为 核心(kernel)
但我们一般用户,不能直接使用核心。而是通过核心的“外壳”程序,也就是所谓的shell,来与核心沟通
如何理解?为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器 主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户
举个形象的例子:如果说你是一个不擅长和女生打交道的男生,那shell就像媒婆,操作系统内核就是让你心动的小花。你看上了小花,但是有不好意思直接表白,那就让你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash
Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户
超级用户:可以在linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令
比如:
简单理解权限:权限简单来说就是进行约束的。(人,一个或者某些群体)
目标对象,本来就没有对应的属性。也就不具备该权限。一个事情是否允许被谁做
文件 = 内容 + 属性
如图,默认的权限是我们看到的这个样子:
这里我们先介绍一下 文件权限值的表示方法:
r-- : 只读
-w- : 仅可写
--x : 仅可执行
rw-:可读可写
-wx : 可写和可执行
r-x : 可读可执行
rwx:可读可写可执行
---: 无权限
然后为什么会有三组 ?
这就涉及文件访问者的分类(人)了:
文件和文件目录的拥有者:u---User
文件和文件目录的拥有者所在的组的用户:g---Group
其它用户:o---Others
然后就是这里的权限符号rwx这些可以由八进制去表示:
r 对应 二进制100 即八进制 4
w 对应二进制 010 即八进制 2
x 对应二进制 001 即八进制 1
rw 对应 二进制110 即八进制 6
rx 对应 二进制101 即八进制 5
wx 对应二进制 011 即八进制 3
rwx 对应 二进制111 即八进制 7
--- 对应 二进制000 即八进制0
下面我们来看一下文件访问权限的相关设置方法:
chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod
用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者 (即第一组)
g:拥有者同组用 (即第二组)
o:其它用户 (即第三组)
a:所有用户 (即所以三组)
举个例子:
当然,之前讲过,这些rwx可以又数字去表示,所以我们也可以这样写:
当然,对于这三组同时处理,我们可以:
关于权限的总结
1.目录的可执行权限是表示你可否在目录下执行命令。
2.如果目录没有-x(可执行)权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录仍然有-r (可读)读权限(这个地方很容易犯错,我们可能会认为有读权限就可以进入目录读取目录下的文件)
3.而如果目录具有-x(可执行)权限,但没有-r(可读)权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档