博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux学习之文件管理与权限了解
阅读量:6038 次
发布时间:2019-06-20

本文共 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,如需转载请自行联系原作者

你可能感兴趣的文章
thinkpython2
查看>>
String、StringBuffer和StringBuilder的区别
查看>>
oracle recyclebin与flashback drop
查看>>
svmlight使用说明
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
Android计时器正确应用方式解析
查看>>
获取post传输参数
查看>>
ASP生成静态页面的方法
查看>>
HDU 1325 Is It A Tree? 判断是否为一棵树
查看>>
Shell命令-文件压缩解压缩之gzip、zip
查看>>
个人总结
查看>>
uva 673 Parentheses Balance
查看>>
Bzoj 2252: [2010Beijing wc]矩阵距离 广搜
查看>>
css 禁止选中文本
查看>>
bzoj2165
查看>>
tomcat 配置首页
查看>>
算术运算表达式正则及分析
查看>>
Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
查看>>
shell初涉
查看>>