本文共 3149 字,大约阅读时间需要 10 分钟。
一、查看文件和目录详细信息
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可以实现查看历史
1 2 3 4 5 6 7 8 9 10 | [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 查看文件尾部,不退出,等待显示后续追加至此文件的新内容 这个功能很有用 (监听系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [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 显示第一行到第三行
只提取符合条件的账户的账户名
1 2 | [lovelace@lovelace shell]$ grep 'lovelace' /etc/passwd | cut -d: -f1 lovelace |
sort 排序 并不影响源文件
参数讲解:
默认是根据ascll的升序进行排序的
-n 按数字大小排序
-r 反转 降序排序
-t 字段分隔符
-k 指定那个位置开始
-u uniq 唯一的独特的 ,去重
-f 排序时忽略字符大小写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [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 最大行
统计当前系统上有多少用户
1 2 | [lovelace@lovelace shell]$ cat /etc/passwd | wc -l 48 |
字符处理命令
tr命令 字符转换或删除
后面不能直接跟文件,需要使用输入重定向
tr 'a' 'A' <files
将name.txt文件中所有字符转换成大写
1 2 3 4 5 6 7 8 9 | [lovelace@lovelace ~]$ tr '[a-z]' '[A-Z]' <name.txt NICK KALE TONY JACK NICK KALE WHO YOU ARE |
只要一一对应即可
-d 选项 删除出现在字符集中的所有字符
tr -d 'ni' <files
删除k字符
1 2 3 4 5 6 7 8 9 | [lovelace@lovelace ~]$ tr -d 'k' <name.txt nic ale tony jac nic ale who you are |
四、权限系统
文件和目录权限和用户的关系
linux权限系统由用户、用户组、权限系统构成。
用户:用户就是一个个的登陆可使用linux的用户,关联权限.Linux中使用uid标示。
用户组:就是用户的所属组,指派权限,Linux中使用gid标示。
安全上下文:(secure context)
任何时候用户操作计算机 无非就是发起进程
进程权限和要访问的资源的权限,是有系统安全管理属性自动管理的
五、后记
看课件的时候感觉这一块知识都会了,然后笔记就没有认真做,现在写出来这篇文章感觉有点乱。。。
本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1201017,如需转载请自行联系原作者