目录
前言
往往有时候看看以前学习的东西也会有所收获。
1. 压缩和解压缩
在上一节里我发现笔记是软件安装方法,那安装肯定就会有安装包。以后使用在线下载命令会从各类开源网站下载很多的开源应用,很多发行版也都是压缩包,那Linux里如何压缩解压呢?补充(其实有兴趣的同学可以了解一下压缩的原理,因为很多时候压缩能节省很多的时间,记得本人有一次要传输一个1G左右的日志文件大概需要1个小时的时间,而在我压缩以后仅需要10分钟。而且有时候某一些传输方式还会有大小的限制,那一个高效的压缩就能帮助你)。
当然想对压缩的原理进一步了解的请查阅《鸟哥的Linux私房菜》,压缩命令有很多,本次之探讨一些个人认为平时实用的。
常见的压缩指令有:
gzip bzip2 tar dd
1.1 gzip
gzip是应用度最广的命令,可以尝试使用以下命令的相关语法:
需要注意的是当使用该命令将文件压缩成*.gz格式后,原文件就不复存在了,在windows上也是有软件支持该类型的解压缩。
gzip -9 -c LUCENE_CHANGES.txt > LUCENE_CHANGES.txt.gz # 注意 -9 -c,-9是表示压缩等级为9,gzip提供1~9个压缩等级;-c 表示在压缩时不改变原文件。
其他用法:
解压缩:gzip -d
使用gunzip这个命令也是可以解压的
WindowsOS如果在压缩后要想查看原来的类容,需要打开压缩包点击文件。对于Linux要稍微的简单一点,记住查看.gz文件的命令格式。
zcat、zmore、zgrep、zless
分页查看压缩文件:
查看压缩文件内包含"http"这个关键字在文件中的哪几行出现:
1.2 bzip2
已经有了gzip了,感觉各项功能也挺全的,为啥还会有bzip2呢?因为这个工具的压缩比要比gzip还要好。而用户基本和gzip一样。
可以尝试使用file命令去查看文件类型,
1.3 打包指令tar
前面的内容仅能对单一的文件进行压缩,也是能够对目录进行压缩,不过跟tar不同能够将很多个复合型的文档分别打包成一个特殊的文件,并且windows也支持该格式,最关键的是可以透过/gzip/bzip2/xz的支援,将该档案进行压缩。
# tar 的参数非常多
[dmtsai@study ~]$ tar [-z|-j|-J] [cv] [-f待建立的新档名] filename... <==打包与压缩
[dmtsai@study ~]$ tar [ -z|-j|-J] [tv] [-f既有的tar档名] <==察看档名
[dmtsai@study ~]$ tar [-z|-j|-J] [xv] [ -f既有的tar档名] [-C目录] <==解压缩
选项与参数:
-c :建立打包档案,可搭配-v 来察看过程中被打包的档名(filename)
-t :察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;
-x :解打包或解压缩的功能,可以搭配-C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。
-z :透过gzip 的支援进行压缩/解压缩:此时档名最好为*.tar.gz
-j :透过bzip2 的支援进行压缩/解压缩:此时档名最好为*.tar.bz2
-J :透过xz 的支援进行压缩/解压缩:此时档名最好为*.tar.xz
特别留意, -z, -j, -J 不可以同时出现在一串指令列中
-v :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的档名!建议-f 单独写一个选项啰!(比较不会忘记)
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
其他后续练习会使用到的选项介绍:
-p(小写) :保留备份资料的原本权限与属性,常用于备份(-c)重要的设定档
-P(大写) :保留绝对路径,亦即允许备份资料中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将FILE 打包!
# 内容来源《鸟哥的Linux私房菜》 第八章
在常用的打包命令中需要了解上面提供的参数的详细信息,这会让你的工作事半功倍。接下来就看看那些常用的压缩命令吧
tar -czv -f filename.tar.gz ./filename # 压缩
tar -tzv -f filename.tar.gz # 查询 这条命令可以在不解开压缩包的情况下查寻包内压缩文件的详细情况
tar -zxv -f filename.tar.gz # 解压缩
当然还有其他的参数可以尝试使用,如有兴趣可自行实验。
2. 用户权限
在Linux中当我们使用ls -l命令查看当前目录文件信息的详细情况时,会在开头第一列发现这样的信息----------,这10个短线到底有什么意义呢?需要分组去分析这10跟短线。
1.第一根短线:表示文件的类型。
这第一根短线可能表示的信息:
当为[ d ]则是目录;
当为[ - ]则是档案;
若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置档里面的可供储存的周边设备(可随机存取装置);
若是[ c ]则表示为装置档里面的序列埠设备,例如键盘、滑鼠(一次性读取装置)。
2.2-4根短线:表示文件拥有者的权限
接下来的字元中,以三个为一组,且均为『rwx』的三个参数的组合。[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
注意:r:4,w:2,x:1
时常使用+777的命令就是赋予该文件所属拥有,所属群组,其他用户的读、写、执行权限,『-rwxrwxrwx』
3.5-7根短线:表示文件所属组的权限
4.8-10根短线:表示其他用户的权限
常用命令如下:
# 新建用户命令
useradd -u uid -g GID -G 附加组 username
参数:
-M 密码保存的最大天数
# 修改用户信息
usermod
参数:
-s 指定用户登陆shell
# 删除用户
userdel -r user
# 添加组 -g 指定gid
groudadd -g 2000 groupname
# 修改组信息
groupmod -g 1999 360class
# 删除组
groupdel groupname
chgrp :改变档案所属群组
chown :改变档案拥有者
chmod :改变档案的权限, SUID, SGID, SBIT等等的特性
给用户设定密码 以及密码的安全加固
用户建立完成后没有设定密码 处于被锁定状态
passwd -S 用户名 # 查看用户密码信息
passwd 用户名 # 为用户设定密码
passwd -l 用户名 # 锁定用户密码
passwd -u 用户名 # 解锁用户密码
安全加固
1.要求用户90天后密码过期
chage -M 90 username
2.要求用户在2020年12月31后无法登陆系统
chage -E 2020-12-31 username
3.用户的初始密码red要求用户再登陆系统时候必须修改自己的密码
chage -d 0 username
# 详细了解用户权限请阅读《鸟哥的Linux私房菜》
补充:
vim /etc/login.defs 修改用户密码最长有效期天数
用户(普通用户)的UID是从1000开始到60000之间
root uid 是 0
uid 1 - 999 之间的用户叫什么用户?
叫做程序用户(专门用来启动程序的用户) 360 腾讯 ......