本节将来简单的介绍一下linux操作系统以及一些常见的命令
在这里以Ubuntu来说明
Linux是一个多任务,多用户的操作系统。
一.安全模型:
1.Linux使用User和Group控制使用者对文件的存取权限。
User–用户:具体使用操作系统的使用者。
Group–群组:拥有一定权限的一个模型,被分配不同角色的用户具有不同的权限。
2.用户使用账号和口令进行登陆。
3.每个文件都有owner,owner是属于group的,文件的owner在一般的情况下是创建者。但是可以被修改。
4.每个程序都有owner和Group。
二.用户概述:
1.每个用户都有一个唯一的UserID。
2.用户信息存在/etc/passwd中。存储用户名,密码,home目录以及shell目录。/etc/shadow保存各用户的密码信息。
3.每个User都有一个Home目录,登陆时候默认进入的目录。
4.User未经授权无法读写或者执行其他User文件。
5.root用户权限, sudo -i 进入root用户权限。超级管理员,拥有最高权限,一般不推荐使用root登陆系统操作。
三.用户群组概述:
1.每个User都属于一个Group,具有唯一的标识符gid。
2.Group信息存储于/etc/group中,存储内容:
1).gid,成员等等。
2)./etc/gshdow。
3.系统会为每一个User关联一个和User同名的Group:
1).每个User至少存在于自己同名的Group中。
2).User可以加入其他的Group。
4.同一个Group中的成员可以共享其他成员的文件。
四. Linux权限种类:
- r 只读权限。w可写权限。x可执行权限–进入该目录并且可以执行。
2.ls -l 查看目录详情,d开头表示是目录,directory,-表示的是文件。
五. 权限验证流程:
1.首先判断是否是root用户,是的话直接访问文件,并且拥有全部的权限。如果不是就验证当前文件的uid是否与当前用户的id相同,即验证这个文件是否属于当前用户,如果是的话可以访问,如果不是,再判断这个文件的gid是否跟当前用户的gid相同,也就是说当前用户是否跟文件的owner是否属于同一个群组,如果是的话,可以访问,也就是之前说的,同一个群组的用户,文件可以共享,如果不是的话进行Others用户权限验证,也就是最后三位的规定,如果可以就可以访问,否则,这个文件无法被当前用户访问。
六. 设置文件和目录的权限:
1.字符表示法:
1).chmod [-R] mode file :R将当前目录以及子目录相关的所有文件都设置成指定的状态。mode 设置什么权限。file设置权限的目标文件。
– chmod u-w perm 去掉当前目录下的perm文件的owner的写权限。
2). 数字表示法:使用一组三位数字来表示,第一组表示owner,第二组表示群组Group,第三组表示其他的。r-4,w-2,x-1,- - 0 。十进制表示每一组的权限,不用指明哪一组,要全部给权限。
– chmod 777 file给当前文件的owner,group和others用户都有读写执行的权限。
– chmod -R 777 file给当前文件及其子目录的owner,group和others用户都有读写执行的权限。
Linux下常用指令
sudo -i 进入root用户,最高权限.
su - user 进入某个用户。
cd 进入某个目录
less 分页查看文本文件。
ls 查看当前目录的文件结构,不能查看隐藏文件。
ls -l 查看当前目录详情。
ls -ld 显示当前目录自身的信息。
ls -lh 显示出易于阅读的格式输出文件大小。
ls -a 查看全部目录,隐藏文件。
ls / 显示根目录内容,后面接目录,就显示对应目录下的文件。
pwd 输出当前所在目录。
mkdir 创建文件夹
chmod 修改权限。
chown 修改所有者。
clear 清除shell上面的命令和文本信息。
cd .. 回到上一级目录。.表示当前目录。
cd - 回到上一次进入当前目录的目录位置
cd ~ 进入home目录。
ctrl + alt + T :弹出shell
cp 复制 cp 源文件 目的位置。
cp -p 保留文件原始时间戳。
cp -r 递归复制,可以复制目录。复制多个文件,依次列出,最后一个是目的位置。
rm 删除 -r recurisive(递归)删除当前目录及其子目录下文件,递归删除。 -f (force)强制删除。
mv move 移动文件位置,移动同一位置可以进行重命名。
tar -zxf 解压缩 tar.gz文件
scp 拷贝,可以拷贝到局域网的另外一台主机上。
tar -zcf 压缩文件,生成文件格式为tar.gz 或者 tgz。
top 类似windows的资源管理器,查看消耗的资源。
free 查看内存使用情况。
touch 创建文件。
file + 参数(-x) + filename 查看文件格式。
cat 输出文件内容 -b显示行号。
sudo apt-get install 安装软件。
sudo apt-get remove 卸载软件。
sudo apt-get update 更新软件。
文件的压缩与打包
1.文件压缩:通过压缩算法将文件的体积缩小,同时将多个文件合并至一起方便交换,传输。
2.文件打包:将多个文件或者整个目录合并成一个文件,用来进行文件的备份,分发,传输等。
使用gzip压缩文件 语法:gzip -[cdtv#] 文件名称
1).扩展名为*.gz
2).-c : 将压缩的数据输出到屏幕上
3). 默认参数,即不传的时候,压缩之后将会删除之前的文件。
4). -d 解压缩文件。
5). 进行文件的一致性校验,看是否损坏。
6). -v 显示和源文件相比的压缩比。
7). gzip -c perm1.txt >list.gz 压缩指定文件并且输出到list.gz文件里面。
8). -# 压缩等级, -1 最快,-9最慢。默认是-6.
使用bzip2 -[cdkzv#] 文件名称 压缩文件
1).扩展名为*.bz2
2).-c : 将压缩的数据输出到屏幕上,源文件不变。
3). -d 解压缩文件。
4). -k保留源文件并不删除原始文件。
5). -z 压缩参数,代表执行压缩操作。
6). -v 显示和源文件相比的压缩比。
7). -# 压缩等级, -1 最快,-9最慢。默认是-6.
tar: 打包压缩
-c 归档文件,建立打包档案。
-x 解压缩文件,解打包文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
将上面的参数中的c修改为x就可以进行解压缩操作 tar -zxvf [压缩之后的文件的名称] 被压缩的文件。