您的位置:首页 > 运维架构 > Linux

Linux学习之文件管理与权限了解

2013-05-15 16:59 771 查看
一、查看文件和目录详细信息
ls命令详解
参数说明:
-l:长选项
-a:显示以.和..开头的隐藏文件
-d:显示目录自身属性
-i:查看文件大小索引节点号
-r:逆序显示文件
-R:递归显示(耗资源),可以显示子目录下的文件或目录
关于-l参数列出的文件的详解:(见下图)
第一个字符段:文件类型(如需要了解文件类型,请前往)
第二个字符:文件权限,前三个权限是文件所有者的权限,中间三个是所有者所在组的权限,最后三个是other(除了文件所有者和文件所有者所在组之外的所有人)的权限
第三个字符段:文件硬链接的个数
第四个字符段:文件所有者名称
第五个字符段:文件所属组名称
第六个字符段:文件大小(size)单位是字节
第七个时间戳:(timestamp):最近被修改的时间戳
第八个:文件名



关于时间戳:
atime:访问
mtime:mkdify:改变文件内容
ctime:改变元数据或属性
二、文件名通配
* 匹配任意长度的字符
? 匹配一个字符
[] 匹配一个序列中的任意一个
[0-9][a-z][a-zA-Z] 选择其中的任意一个
[^] 取反的意思
[^0-9] 除了0-9之外的任意单个字符
[[:space:]] 所有的空白字符
[[:punct:]] 标点符号
[[:lower:]] 小写字母
[[:upper:]] 大写字母
[[:alpha:]] 大小写字母
[[:digit:]] 数字
[[:alnum:]] 数字和大小写字母
三、关于文件处理常用命令查看文本:cat - concatebate 可以打开多个文件,逐个显示参数讲解:-n 显示加上行号
-E 显示结尾处结束符
cat 后面不跟任何参数的时候会一直在这种状态下,使用ctrl+c可以退出
linux下 不使用远程连接工具,使用shift+pgup pgdown可以实现查看历史
[lovelace@lovelace shell]$ cat baseNAME.sh
#!/bin/bash
bn=${1##*/}
echo $bn
[lovelace@lovelace shell]$ cat -n baseNAME.sh
1  #!/bin/bash
2
3  bn=${1##*/}
4
5  echo $bn
tac,从文件尾开始显示分屏显示more 单屏幕显示 翻到最后自动退出 一般和cat等合用 空格键向后翻一行 b键向前翻一行 enter翻一行
less 单屏幕显示 翻到最后不会自动退出 more和less一般和其他命令一块使用
只显示文件的个别部分 head 查看文件的前N行 n默认是10-n 行数
tail 查看文件的后N行 n默认是10 -n 行数
-f 查看文件尾部,不退出,等待显示后续追加至此文件的新内容 这个功能很有用 (监听系统)
[lovelace@lovelace shell]$ head -n 15 cat1.sh
#!/bin/bash
#jugement the user exists or not
userid=`id mark`&>/dev/null
#if user not exists,useradd it
if [ "$?" -ne 0 ];then
echo "Without this user in the system.I will useradd it"
useradd mark
echo "mark" | passwd --stdin mark&>/dev/null
#fi
#extract the line for this user
user=`cat /etc/passwd | grep 'mark'`
[lovelace@lovelace shell]$ head -n 5 cat1.sh
#!/bin/bash
#jugement the user exists or not
userid=`id mark`&>/dev/null
文本处理 cut,sort,uniq,grep
cut 文件剪切 参数讲解:-d delimiter 指定分隔符 默认是空格
-f 所要显示的字段
-f1 显示第一行
-f1,3 显示第一行,第三行
-f1-3 显示第一行到第三行
只提取符合条件的账户的账户名
[lovelace@lovelace shell]$ grep 'lovelace' /etc/passwd | cut -d: -f1
lovelace
sort 排序 并不影响源文件 参数讲解:默认是根据ascll的升序进行排序的
-n 按数字大小排序
-r 反转 降序排序
-t 字段分隔符
-k 指定那个位置开始
-u uniq 唯一的独特的 ,去重
-f 排序时忽略字符大小写
[lovelace@lovelace ~]$ cat name.txt
nick
kale
tony
jack
nick
kale
who
you are
[lovelace@lovelace ~]$ sort -u name.txt
jack
kale
nick
tony
who
you are
如果相同行不相邻,不会被认为是相同的,所以很多时候使用管道 结合sort和uniq来使用
uniq 去除重复的
-d 只显示重复的行
-D 显示所有重复的行
-c 显示每一行 并且显示每一个重复的次数
wc 文字统计 参数讲解:-l 行数
-w 字数
-c 字节(字符) 大小
-L 最大行
统计当前系统上有多少用户
[lovelace@lovelace shell]$ cat /etc/passwd | wc -l
48
字符处理命令 tr命令 字符转换或删除 后面不能直接跟文件,需要使用输入重定向
tr 'a' 'A' <files
将name.txt文件中所有字符转换成大写
[lovelace@lovelace ~]$ tr '[a-z]' '[A-Z]' <name.txt
NICK
KALE
TONY
JACK
NICK
KALE
WHO
YOU ARE
只要一一对应即可
-d 选项 删除出现在字符集中的所有字符
tr -d 'ni' <files
删除k字符
[lovelace@lovelace ~]$ tr -d 'k' <name.txt
nic
ale
tony
jac
nic
ale
who
you are
四、权限系统文件和目录权限和用户的关系
linux权限系统由用户、用户组、权限系统构成。
用户:用户就是一个个的登陆可使用linux的用户,关联权限.Linux中使用uid标示。
用户组:就是用户的所属组,指派权限,Linux中使用gid标示。
安全上下文:(secure context)
任何时候用户操作计算机 无非就是发起进程
进程权限和要访问的资源的权限,是有系统安全管理属性自动管理的


五、后记看课件的时候感觉这一块知识都会了,然后笔记就没有认真做,现在写出来这篇文章感觉有点乱。。。
下一篇文章------->Linux学习之用户管理和组管理 如有错误和不足之处,敬请指正,QQ:993182876
by lovelace
2013-5-15 魔都
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息