Linux(三)__文件权限、系统的查找、文本编辑器
一、文件权限
1.理解文件权限及其分配
2.掌握查看文件和目录的权限
3.掌握权限文字表示法和数值表示法
4.学会使用chmod命令设置权限
5.学会使用chown命令修改属主和组
linux文件能不能被执行完全看属性,与文件名一点关系都没有,在windows下能被执行的文件扩展名通常.com .exe .bat等,
而在linux下,只要权限中有x的话,就代表这个文件能被执行。
但是如果是其他软件的编译器去执行文件的时候是必须有相应的后缀名才能执行,如用javac去编译文件它只识别.java文件。
文件所有者、所在组和其它组
在linux中的每个用户必需属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
(1)所有者
一般为文件的创建者,谁创建了该文件,就是天然的成为该文件的所有者。
用[ls -ahl]命令可以看到文件的所有者
你也可以用[chown 用户名 文件名]来修改文件的所有者
(2)所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
用[ls -ahl]命令可以看到文件的所有组。
你可以通过[chgrp 组名 文件名]来修改文件所在的组
(3)其它组
除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
(4)改变用户所在的组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组:
usermod -g 组名 用户名
你可以用
usermod -d 目录名 用户名 改变该用户登陆的初始目录
如何在linux中添加组
需要用root用户来添加,普通用户无法进行用户和组的添加
添加组命令:groupadd 组名
查看linux中所有组的信息
命令:vi /etc/group
查看命令:cat /etc/group
组名:x:组ID号:
创建用户,并同时指定将该用户分配到指定组。
命令:useradd -g 组名 用户名
查看linux中所有用户信息
可编辑查看命令:vi /etc/passwd
查看命令:cat /etc/passwd

查看详细信息:ls -l fileName(LInux标准)或者ll fileName
-rw-r--r-- 分别表示对当前用户可读可写、对当前用户组只可读、对其他用户只可读。这是默认权限。

使用chmod命令设置权限

用数字表示可以同时处理三组权限,而使用字符则只能一个一个修改。chmod 777 fileName 可以将所有权限打开。
使用chown命令修改属主和组
chown root:root test/
SUID:
[xiangkejin@localhost tmp]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
passwd的拥有者是root,且拥有者权限里面本应是x的那一列显示的是s,这说明这个命令具有SUID权限
以普通用户执行这个命令时,当系统生成对应的进程后,这个进程就拥有了/usr/bin/passwd文件拥有者root的权限,只是借助,如果改成rwx普通用户就没法执行。
SGID:
新建用户:useradd user
创建一个组:groupadd share
添加用户到组:
usermod -G share user
这样做会使你离开其他用户组,仅仅做为用户组 share 的成员。
应该加上 -a 选项:
usermod -a -G share user
-a 代表 append, 也就是将自己添加到用户组 share, 而不必离开原来到用户组。
更改文件目录的组:chgrp file share/
现在账号user新建一个文件,新建文件的拥有者和用户组都会是user!重要的是其他用户都无法访问这个文件!现在我们的需求是让属于同一组中的用户都能访问修改这个文件。
所以我们需要给这个目录加入SGID权限,之后任意一个用户创建的文件,文件用户组都会是这个目录的用户组。
chmod 770 share/ 更改权限设置
SBIT:
drwxrwxrwt. 16 root root 4096 11月 22 19:52 tmp
当给一个目录设置了SBIT权限,当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。
查看特殊权限的方法就是普通的ls命令:
SUID会在所属用户权限本应是x的地方显示s
SGID会在所属用户组权限本应是x的地方显示s
SBIT在其它用户权限本应是x的地方显示t
二、Linux系统的查找
which查找文件、whereis查找指定文件、locate查找、find查找、find查找实例
which只能查找到可执行文件,并且只能在根据用户环境变量信息到指定路径下查找。
查看环境变量设置 env
vim /root/.bash_profile修改环境变量
whereis是查找自己的数据库,数据是提前写到数据库中。帮助文档,配置文件这些。
locate查找:模糊查找,找到所有相关信息。
find查找:查找较慢,查找硬盘。

按时间查找:
#-atime #-mtime #-ctime #-amin #-mmin #-cmin
所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟
如果跟的是具体数字 find / -atime 10 表示在第十天被访问的文件(/表示从根目录开始查找),表示区间加上+-
#find /tmp –atime +5 //表示查找在五天前访问过的文件
#find /tmp -atime -5 //表示查找在五天内访问过的文件
根据文件名查找:
# -name //根据文件名查找(精确查找)
# -iname //根据文件名查找,但是不区分大小写
根据文件类型来查找文件:
-type f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
按文件大小查找:
find / -size +1000k 查找大于1M的文件
通配符匹配文件名:
find / -name '*pass*' 只要包含pass关键字
查找特殊权限的文件:
-perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
三、文本编辑器
普通模式:这种模式下键盘上的字符都代表着特殊操作
跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
回撤上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复
[ctrl+r]:对使用u命令撤销的操作进行恢复
复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
删除
「x」:每按一次,删除光标所在位置的"后面"一个字符。
「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
插入模式:在普通模式按i键进入插入模式,按Esc退出到普通模式
命令模式:在普通模式按:键进入插入模式,按Esc退出到普通模式
q!强制退出
wq保存退出
列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号
跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
查找:
方法如下:
1、命令模式下输入“/字符串”,例如“/Section 3”。
2、如果查找下一个,按“n”即可。
要自当前光标位置向上搜索,请使用以下命令:
/pattern Enter
其中,pattern表示要搜索的特定字符序列。
要自当前光标位置向下搜索,请使用以下命令:
?pattern Enter
vi支持同时打开多个文件:
vi file1 file2 file3

Linux(三)__文件权限、系统的查找、文本编辑器的更多相关文章
- Linux常用命令--文件(夹)查找之find命令
Linux系统用得越久,就会发现这真的是一个很优秀的系统,各种方便各种实用各种高效率. 晚饭前写一下find命令的笔记. 其实这篇笔记,也是看到一篇外文博客,写得不错,自己拿来练一练,然后才顺便写篇笔 ...
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- linux中的文件权限chmod
linux中的文件权限chmod 还是GPU集群那点事儿,集群之间磁盘互相挂载,普通用户也可以操作/cu02_nfs./cu04_nfs文件夹,这就牵扯到权限的问题,去google发现所谓的777 ...
- Linux用户及文件权限管理
Linux用户及文件权限管理
- Linux下日志文件监控系统Logwatch的使用记录
Linux下日志文件监控系统Logwatch的使用记录 原文:http://www.cnblogs.com/kevingrace/p/6519504.html 在维护Linux服务器时,经常需要查看系 ...
- Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
- 关于linux下的文件权限
在ls指令加 -l 参数能看到文件权限 就像这样: drwxrwxr-x 2 asml users 4096 Jul 24 02:45 desktop 第一个d表示这是个目录,若为"-&qu ...
- Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读 ...
- linux用户、文件权限相关命令
root 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户在所 ...
随机推荐
- 不care小米,梁军坦言微鲸才是乐视最大对手
除了每天毫无悬念地上头条和陷入困境的生态帝国之外,乐视还要继续操心着它的对手们."挑事儿"的小米已经不足为惧,后起之秀微鲸成了一个令它"头疼"的所在.因为,不仅 ...
- WCF学习之旅——第一个WCF示例(一)
最近需要用到WCF,所以对WCF进行了解.在实践中学习新知识是最快的,接下来先做了一个简单的WCF服用应用示例. 本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些 ...
- 【hbase0.96】基于hadoop搭建hbase的心得
hbase是基于hadoop的hdfs框架做的分布式表格存储系统,所谓表格系统就是在k/v系统的基础上,对value部分支持column family和column,并支持多版本读写. hbase的工 ...
- python中协程
在引出协成概念之前先说说python的进程和线程. 进程: 进程是正在执行程序实例.执行程序的过程中,内核会讲程序代码载入虚拟内存,为程序变量分配空间,建立 bookkeeping 数据结构,来记录与 ...
- MongoDB 文档的更新操作
在MongoDB中,更新单个doc的操作是原子性的.默认情况下,如果一个update操作更新多个doc,那么对每个doc的更新是原子性的,但是对整个update 操作而言,不是原子性的,可能存在前面的 ...
- jQuery源码分析系列(37) : Ajax 总结
综合前面的分析,我们总结如下3大块: jQuery1.5以后,AJAX模块提供了三个新的方法用于管理.扩展AJAX请求 前置过滤器 jQuery. ajaxPrefilter 请求分发器 jQuery ...
- 字典 Key值转换为数组
public static string[] GetCategories() { Dictionary<string, int> itemMap = new Dictionary<s ...
- c/c++多线程模拟系统资源分配(并通过银行家算法避免死锁产生)
银行家算法数据结构 (1)可利用资源向量Available 是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目.如果Available[j]=K,则表示系统中现有Rj类资源K个. (2) ...
- Objective-C中的深拷贝和浅拷贝
在Objective-C中对象之间的拷贝分为浅拷贝和深拷贝.说白了,对非容器类的浅拷贝就是拷贝对象的地址,对象里面存的内容仍然是一份,没有新的内存被分配.对非容器类的深拷贝就是重写分配一块内存,然后把 ...
- Notepad++使用小结
还是那句话“工欲善其事必先利其器”用Notepad++也有一段时间了,也积累了一些东西,写篇博文与大家分享一下使用Notepad++的一些心得. 简单的说一下Notepad++是什么东西吧,Note ...