第三章 用户和组
- id 用于识别用户
- users 打印当前登录用户的简单列表
- w 与users相似, 但打印更详细的信息
- who 类似于w, 也能用来报告系统事件
- finger 调查用户, 打印指定用户的概要信息(支持远程机器的用户)
- su - username - 指定了新用户的shell应该是登录shell(pwd也会相应变)
- newgrp [[GROUP]] 生成一个新shell, 把GROUP做为其主要组(session valid)
- sg 与newgrp类似, 但是接受一个命令
第四章 文件所有者及权限
- 符号链接的权限, 默认是lrwxrwxrwx
- 目录权限说明: 读-使用ls命令列出目录, 写-在目录中添加或删除文件, 执行-用户想引用目录下的任何文件
- 新目录的默认权限, drwxrwxr-x, 但用户的主目录是drwx——
- umask linux内核默认使用666创建文件使用777创建目录, ‘减去’umask的值就形成了新文件或目录的权限
第五章 Linux文件系统
- inode: 保存用户所有者, 组所有者, 权限信息和时间信息
- dentry(directory entry): 保存文件名
- inode信息可以使用ls -l 和 stat命令查询
- inode 节点
时间信息: atime - 访问时间
ctime - 改变时间(inode每次变更都更新)
mtime - 修改时间
文件长度和大小: 长度指文件的实际字节数
大小指占用的磁盘空间
链接数: 引用该文件的数 - 硬链接: ln 把多个dentry(文件名)关联到一个inode
- 软连接: 一些不同的inode, 用来引用其他文件名
- df(disk free)
-a, –all 显示所有文件系统
-h, –human-readable 自动以适当的单位标明大小
-i, –inodes 查看inode使用率
-T, –print-type 包含文件系统类型 - lost+found目录
是创建文件系统时自动创建的, 在ext2, ext3文件系统根下一直存在, 文件系统修复时会使用到 - 挂载的相关问题
权限: 只有root用户才能挂载和卸载设备
使用中的文件系统不能卸载
内核缓冲: 如果在缓冲写入设备前取出, 容易造成文件系统破坏 find命令
find <起始目录> <搜索条件> <动作>搜索条件
-empty: File是空文件或目录
-group gname: File的组所有者是gname
-inum n: File的inode号是n
-links n : File的链接数是n
-mmin n : File是n分钟之前修改的
-mtime n: File是n天之前修改的
-name pattern: 限定搜索的文件名模式
-newer filename: File最后修改时间在filename文件最后修改时间之后
-perm mode: File的权限为mode
-perm -mode: File的具有mode指定的权限
-perm +mode: mode指定的权限位file文件设置了至少其中之一
-size n: File的大小为n
-type c: 文件的类型为c(普通文件/目录/软连接等)
-user name: File的所有者为name如果接受的参数是数字, 那么遵循如下规则 +3 大于3, -3 小于3, 3恰好是3
指定动作
-exec command; 对匹配文件执行command, 用{}表示匹配的文件
-ok command; 同-exec, 但提示确认每个文件的操作
-ls 按 ls -dils格式输出find /etc -size +100k -exec cp {} /tmp/big \; 2> /dev/null
找出/etc目录下大于100k的文件并将它们复制到/tmp/big目录下
第六章 Bash Shell
- 在子shell中运行命令(子shell可以避免副作用, 不会影响父shell的环境)
(cd /home; ls) - bash的内置只读变量
? : 最新执行的命令的退出状态
- : 当前启用中的shell选项标记
$ : 当前shell的pid
! : 最新后台命令的进程id
_ : 前一个命令的最后标记
PPID: shell进程的父进程的pid
SHELLOPTS: 被冒号隔开的当前启用中的shell选项列表=set -o
UID: 当前用户的用户id
第七章 标准输入/输出和管道
- 合并标准输出和标准错误
- 2>&1 老派做法
- >& 新派做法
- 管道: 将一个进程的标准输出和另一个进程的标准输入连接起来