拷贝:
我们一般使用cp来拷贝文件和目录。
语法:cp [options] file destination
若destination是一个目录,则可以一次拷贝多个文件到该目录下,则语法变为cp [options] file file2 destination;
若destination是一个文件,则拷贝的文件会覆盖该文件;
若destination不存在,则该拷贝的文件会重命名。
时间戳:
我们使用stat + 文件名来查看该文件的时间戳。
如下图。
上图中,access(time)表示该文件被访问的时间,modify(time)表示该文件被修改的时间,change (time)表示改变时间。
我们可以使用touch来更新一个文件的时间戳。
如下图。
可以发现,atime、mtime和ctime均被改变。
移动:
我们使用mv命令来移动文件和目录。
语法:mv [options] file destination
与cp类似,当destination是一个目录的话,我们可以移动多个文件到该目录下。
增删文件:
touch除了具有上面所讲的更改时间戳的功能,还可以创建一个空文件。
这样,我们就在桌面上创建了一个叫ikun的空文件。
如果要删除文件,则可以使用rm命令来删除。
语法:rm [options] <file>...
我们可以使用man指令来查看rm的具体信息。
rm的选项所对应的含义为以下这些:
-f:忽略不存在的文件,从不给出提示。
-i:进行交互式删除。
-r, -R:指示rm将参数中列出的全部目录和子目录均递归地删除。
-v:详细显示进行的步骤。
用户:
每一个用户都有所对应的uid,root用户的uid为0,普通用户则通常从500开始。
我们可以在/etc/passwd中看见相关信息。
用户登陆时会被分配一个主目录,并运行一个程序(一般是shell程序)。
若无权限用户不能读取写或执行其他用户的文件。
user01:x:1000:1000:user one:/home/user01:/bin/bash
字段1: 用户名称。
字段2:密码占位符“x”。
字段3: 用户帐号的UID号。
字段4: 用户的私有组。
字段5: 用户描述信。
字段6: 用户的主目录。
字段7 : 登录Shell信息。
从上图中我们可以得到,root账户的相关信息。
字段四描述的该用户的组,每个用户都必须属于一个组,而每个组都有一个独特的组id(gid)。
我们可以在/etc/group中看到gid信息。
可以将用户添加到别的组,该组被称为用户的附加组。同一个组的所有用户能共享这个组的文件。
group01:x:1000:user01, user02, user03
字段1 : 组的名称。
字段2:密码占位符“x”。
字段3: 组的ID号。
字段4:该组是user1,user2和user3的附加组。
文件安全:
每一个文件都具有一个uid和gid,任何进程运行时都带有一个uid或者多个gid标识符,主要取决于执行该进程的用户是谁。我们可以使用stat指令来看。
如上图,我们可以看见该文件的uid与gid。
显然这是root用户所创建的。
按照uid与gid来分类,我们可以有三种访问类型:
1.运行的进程跟文件有着同样的uid,则为user层面上的访问。
2.运行的进程跟文件有同样的gid,则为组内访问。
3.其他进程。
权限优先级:
先看uid是否匹配,再看gid是否匹配,最后才看其他权限。
useradd:
该指令主要用来创建新用户。
语法:useradd [options] 用户名
我们可以通过选项来对该用户的组等进行操作。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-g 用户组 指定用户所属的用户组。
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-G 用户组,指定用户所属的附加组。
-s shell文件 指定用户的登录Shell。
用户权限指令:
usermod:
修改用户信息,用法与useradd类似。
-aG:追加一个附加组;
-L: 锁定用户;
-U : 解锁用户;
-m : 移动家目录,与-d一起使用。
userdel:
删除用户。
-r: 删除家目录和邮箱。
groupadd:
添加新的用户组。
-g:指定gid。
groupmod:
修改组的信息。
-n : 指定新的组名。
groupdel:
删除组。
groupmems:
管理组内成员
-g : 指定组;
-a: 添加用户 ;
-d : 删除用户 ;
-l: 列出组内的用户;
-p: 清空用户。
文件系统权限:
文件类型:
- : 代表普通文件
d :目录
l: 链接文件
b,c:分别代表块设备和字符设备,还有其他特殊的文件p和s权限