这篇博客主要内容:
权限相关命令和操作
权限类型
权限修改
权限掩码
修改文件的拥有者和所属组
沾滞位几个重要命令
du、 df、 top、 free、 pstack、 su、 sudo、 adduser、 passwd
命令安装gcc(g++), gdb, vim
1、权限操作
要了解权限操作,首先要知道在Linux系统下,用户主要分为两类:一类是超级用户,一类是普通用户;
超级用户(root):可以在Linux下干任何事
普通用户:操作受限
其次,要知道在Linux下如何查看文件(目录)的权限
可以通过ls -l 查看一个目录下的所有文件的权限
再来看一下这些都代表的什么意思……
三种权限:
了解了这些,我们就可以知道权限的大概含义了, 比如:
一个文件的权限为:rwx rw- r-x,则他表示的是
文件所有者:对文件可读、可写、可执行
文件所属组:对文件可读、可写、不可执行
其他用户 :对文件可读,不可写、可执行
除了这种表示方法外,权限还有另一种表示方法:用数字表示
举个栗子:
权限 | rwx | rwx | r-x | |
---|---|---|---|---|
二进制表示 | 0 | 111 | 111 | 101 |
二进制对应的十进制表示 | 0 | 7 | 7 | 5 |
其中最前面的0表示的是一个特殊的权限位
###修改权限:
chmod —修改权限的命令
1、通过chmod 用户 +/- 权限来修改权限
chmod 用户 +/- 权限
其中用户有:u/g/o/a
u --> 文件所有者 g-->文件所有组
o --> 其他用户 a-->所有用户
+/- : + 表示增加该权限 - 表示去掉该权限
权限有:w/r/x
对于文件:w 为写权限 r为读权限 x 为执行权限
对于目录:w 为创建删除权限 r为浏览目录权限 x为进入目录权限
例如:
2、可以直接通过数字来修改权限
格式:chmod 权限对应的二进制数字 文件名(目录名)
例如:
Linux权限中另一个重要的概念:权限掩码
通过上面的介绍,我们知道在linux下创建一个文件或者目录之后是可以通过chmod等命令进行权限设置,来达到给当前用户、用户组用户以及其他用户分配不同的访问权限。那么,我们新创建的目录和文件本身也是有它的默认权限的,这个默认权限是什么,就是由权限掩码umask所确定的。
举个例子:
首先,我们可以通过umask来查看当先系统的默认权限掩码,如图:
当前默认权限掩码是0022
每个文件权限满时为111 111 111,也就是0777。当创建文件时,用满权限减去掩码就得到了最终的文件权限。(但是shell中规定,刚创建的文件默认不可执行,所以每一组权限还要减一……这个只是shell中的规定,在面试等场合下不用考虑),具体如下图:
修改文件的拥有者和所属组
chown 用户 文件 修改文件拥有者
chgrp 用户 文件 修改文件所属组
沾滞位
沾滞位的介绍:
- 首先沾滞位是针对目录来设置的
- 在设置了沾滞位的目录中,可以创建文件,删除自己的文件,但是不能删除别人的文件
-
设置沾滞位:
chmod +t dir
2、Linux下其他重要命令
- du
-
功能:逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
-
du的命令各个选项含义如下:
-a:显示全部目录和其次目录下的每个档案所占的磁盘空间 -s:只显示各档案大小的总合 -b:大小用bytes来表示 -x:跳过在不同文件系统上的目录不予统计
-
-
df
- 功能:于du不同的是,du是面向文件的命令,只计算被文件占用的空间。不计算文件系统metadata 占用的空间。df则是基于文件系统总体来计算,通过文件系统中未分配空间来确定系统中已经分配空间的大小。df命令可以获取硬盘占用了多少空间,还剩下多少空间,它也可以显示所有文件系统对i节点和磁盘块的使用情况。
-
df命令各个选择的含义如下:
a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量 x:显示不是某一个档案系统的所有分割区磁盘使用量 T:显示每个分割区所属的档案系统名称
-
top
- 功能:显示系统运行情况(像window的任务管理器)
每隔5秒刷新一次,按空格立即刷新
shift > 向上翻屏
shift < 向下翻屏
按 k 出现 PID to kill :
在后面输入对应的PID号码,终止该进程
Q 退出top
- 功能:显示系统运行情况(像window的任务管理器)
-
f ree [-b -k -m] [-s delay] [-t] [-V]
-主要参数-b -k -m:分别以字节(B、KB、MB)为单位显示内存使用情况。 -s delay:显示每隔多少秒数来显示一次内存使用情况。 -t:显示内存总和列。
- 使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每3秒更新一次
-
pstack
- 用法:pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。
- 用法:pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。
-
su
- su用于用户切换
- 从普通用户到root用户要输入密码(注意这里输密码时是不显示的,直接往后输入就可以了)
- su后不加任何参数时,默认切换到root用户
-
sudo
- 通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务
-
addusers
- 用于添加用户
- 创建用户后,/etc/passwd 文件中的内容多了一行
/home目录下多一个和用户名一样的目录
-
password
- 用于创建密码
- root可以给别的用户设置密码 --》passwd 用户名 (密码可以太简单)
- 用户给自己改密码 --》 passwd 回车 (密码不能太简单)
3、用命令安装gcc /g++,gdb,vim
(1)安装gcc/g++
安装gcc:yum install gcc
安装g++:yum install gcc-c++
安装后即完成gcc编译器安装。
(2)安装gdb
root用户:yum install gdb
普通用户:sudo yum install gdb
(3)安装vim
yum -y install vim*
要了解其他Linux基础命令,可以看一下另一篇博客,Linux基础命令:
[https://blog.csdn.net/A__B__C__/article/details/81432832]