以下内容整理自《鸟哥的Linux私房菜》

用户、用户组相关

# 添加用户(该命令为用户创建相应的帐号和用户目录/home/username)
useradd -m username

# 设置密码
passwd username

# 删除用户(-r选项会将/home/username也完全删除)
userdel -r username

# 切换用户
su username

# 查看当前用户所属组(默认添加用户会增加一个同名的组)
groups

# 一个用户可以属于多个组,将用户加入到组
usermod -G groupname username

# 变更用户所属的根组(将用加入到新的组,并从原有的组中除去)
usermod -g groupname username

# 查看所有用户组及权限
vim /etc/group

# 查看所有用户及权限
vim /etc/group

# 修改所有用户对文件的权限
chmod -R 777 ./*

# 修改文件或目录的所有者
chown -R username dirOrfile

# 修改文件或目录的所属组
chgrp -R groupname dirOrfile

目录、文件权限

drwxr-xr-x 5 root root 47 7月 13 16:55 home 第一个字符的含义

  • d表示目录
  • -表示文件
  • l表示连接文件
  • b表示设备文件里面的可供存储的接口文件
  • c表示设备文件里面的串行端口设备,例如键盘、鼠标等

权限对文件的意义

  • r可读取文件的内容
  • w可以编辑、新增或修改文件的内容,但不能删除该文件
  • x该文件具有可以被系统执行的权限

权限对目录的意义

  • r表示具有读取目录结构列表的权限,你可以使用ls来列出该目录的内容
  • w可以在目录中新建文件或目录、删除目录中已经存在的文件或目录、将已存在的文件或目录重命名、转移目录中的文件或目录的位置
  • x目录并不能被执行,x表示用户能否进入该目录

文件时间

mtime (modification time) 当文件内容数据变更时,更新这个时间。内容数据指的是文件的内容,而不是文件的属性、权限

ctime (status time) 当文件的状态变更时,更新这个时间。如文件的属性、权限等

atime (access time) 当文件的内容被读取时,更新这个时间。如果 cat 某个文件。

ls 默认显示的是文件的 mtime ls -al --time=mtime --full-time 能显示完整的时间,并指定时间类型

touch可以修改文件的时间 touch [-acdmt]

find根据时间过滤,以 mtime为例

  • -mtime n: n为数字,在 n 天之前的"一天之内"的被更改过的文件
  • find / -mtime 0 0代表当前时间,所以是从现在开始到24小时前被更改过的文件
  • -mtime +n: 列出在 n 天之前(不含 n 天本身)被更改过的文件名
  • -mtime -n: 列出在 n 天之内(包含 n 天本身)被更改过的文件
  • -newer file: file 为一个存在的文件,列出比 file 还要新的文件名

一些命令

# 备份的时候一般用 -a参数,保留文件的熟悉、权限
cp -a

# 输出非纯文本文件 -t后面的参数如下
# a默认字符 c使用ASCII d十进制 f浮点数 o八进制 x十六进制
od -t c /usr/bin/passwd

# 文件默认权限设置
umask

# 文件隐藏属性 有些文件如果root也无法修改或删除的话,看看这个
chattr
lsattr

# 文件特殊权限
SUID SGID SBIT

#文件查找相关
which
where is
find
locate

目录规范

results matching ""

    No results matching ""