本文共 3690 字,大约阅读时间需要 12 分钟。
【Linux下的指令】
【linux权限的概念】
linux下有两种用户:超级用户(root #),在linux下不受任何限制;普通用户($),在linux下有限制。
创建用户:useradd 用户名
设置密码:passwd 用户名
切换账号:su -用户名(查看用户标识,输入 whoami)
退出账户:exit
1,在linux 下的文件类型
-:普通文件(占磁盘空间)
d:目录文件(占磁盘空间)
p:管道文件(虚拟文件VFS)
创建管道文件;mkfifo my.p
管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入(原始数据经过管道后,管道会将一部分不需要的信息过滤掉,只保留用户所关注的信息)。常说的管道多是指无名管道,无名管道只能用于具有亲缘关系的进程之间,这是它与有名管道的最大区别。有名管道叫named pipe或者FIFO(先进先出)。
l:软链接(占磁盘空间)
b:块储存设备(VFS)
c:字符设备文件(VFS)
s:socket文件(VFS)
2.linux下的文件权限(-)
文件的访问者分为拥有者(user),所在组(group),其他组(other)。
文件访问权限的种类:有读权限(r),无读权限(-)
有写权限(w),无写权限(-)
有执行权限(x),无执行权限(-)
-rwxr-xr-x 1 root : 该字段的其余部分由三个三元组字符组成。第一个三元字符组代表文件所有者的权限,第二个代表文件的组的权限,第三个代表所有其他用户的权限。
模式 数字(八进制) :
rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0
修改权限:chmod 用户表示符+/-/=权限字符(r/w/x) 文件
+是添加权限 ;-是删除权限 ;=是使之成为唯一权限
八进制修改权限: chmod 664 文件
umask:查看或者修改文件掩码
格式:umask 权限值
注意:创建文件缺省权限是0666(rw-rw-rw-),创建文件还要受到umask的影响
3.Linux下的目录权限(d)
目录的可执行权限是表示你可否在该目录下执行命令,如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录有-r权限(这个地方很容易犯错,认为只要有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令cd进入目录,但是由于目录没有读权限,所以在目录下即使可以执行ls命令,但是仍然没有全部读出目录下的文档。
总结:1)进入一个目录,对于普通用户至少需要可执行权限。
2)在目录中创建一个新的文件时,用户需要可写可执行权限。
3)在目录中创建文件并进行显,用户需要可读可写可执行权限。当我们拥有x,w时我们才可以切换到该目录下进行ls操作,没有x便不能进行rm和mv。
注意:创建目录缺省权限是0777,创建目录也受umask影响。
如果我们希望在公共目录下,除了自己和root外,别人能拷贝文件而不能删除文件,该怎么做呢?
Linux 有叫做“粘滞位”(sticky bit)的东西。当给 文件设置了粘滞位(用chmod +t),唯一能够删除或重命名文件的是该目录的所有者(通常是 root 用户)、文件的所有者或 root 用户。
总结对比文件权限和目录权限:
权限 文件 文件夹
r(读) 查看文件的内容 列出文件夹的内容
w(写) 修改文件的内容 可以在文件夹中创建删除文件的内容
x(执行) 执行文件 可以进入文件夹
【进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限. 】
【 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp 】
/proc
proc是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。/SELinux
SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。/bin
普通用户可以使用的命令存放目录。目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill、login、rm、ping、chomd、bash、cat、echo、ls、 mail、vi等。/usr/lib
系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助/usr/local
/var
内容经常变化的目录。此目录下文件的大小可能改变,如缓冲文件、日志文件、缓存文件等一般会放在这里。/tmp
一般用户或正在执行的程序临时存放文件的目录即临时文件,任何人都可以访问(/tmp 给予所有系统用户读写权),重要数据不可放置在此目录下 。/etc/ 全局配置文件存放目录。系统和程序一般都可以通过修改相应的配置文件来进行配置。
/root 系统管理员root的家目录,不放在home目录下 执行文件,可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/home用户的主目录。
/usr/include开发和编译应用程序所需的头文件。
/usr/bin存放着许多应用程序。
/usr /sbin给使用的一些管理程序就放在这个里面。
/usr/man存放帮助文档。
【 了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password 】