加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux文件与用户管理

发布时间:2020-12-14 00:16:39 所属栏目:Linux 来源:网络整理
导读:Table of Contents 常见文件管理命令 cp 用法 选项 mv 用法 选项 rm 用法 选项 命令行展开 按列表展开 形式 示例 按数字次序展开 形式 示例 文件元数据 stat thouch OPTION 创建文件 用户,组命令 groupmems 形式 OPTION groupadd 形式 OPTION groupmod 形式

Table of Contents

  1. 常见文件管理命令
    1. cp
      1. 用法
      2. 选项
    2. mv
      1. 用法
      2. 选项
    3. rm
      1. 用法
      2. 选项
  2. 命令行展开
    1. 按列表展开
      1. 形式
      2. 示例
    2. 按数字次序展开
      1. 形式
      2. 示例
  3. 文件元数据
    1. stat
    2. thouch
      1. OPTION
      2. 创建文件
  4. 用户,组命令
    1. groupmems
      1. 形式
      2. OPTION
    2. groupadd
      1. 形式
      2. OPTION
    3. groupmod
      1. 形式
      2. OPTION
    4. groupdel
      1. 形式
    5. useradd
      1. 形式
      2. OPTION
      3. 示例
    6. newusers
    7. usermod
      1. 形式
      2. OPTION
    8. userdel
      1. 形式
      2. OPTION
    9. passwd
    10. chpasswd
      1. 形式
      2. FILE格式
    11. gpasswd
    12. newgrp
    13. chage
    14. id
    15. su:switch user
      1. 形式
      2. OTPION

常见文件管理命令

cp

用法

# 单源复制
cp [OPTION]... [-T] SOURCE DEST
# 多源复制
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

单源复制:

  • 如果 DEST 不存在:
    则创建文件,并复制文件;
  • 如果 DEST 存在:
    • 如 DEST 非目录:则覆盖目标文件;
    • 如 DEST 是目录:则复制到目录;

多源复制:

  • 如果 DEST 不存在:
    则出错
  • 如果 DEST 存在:
    • 如 DEST 是目录:则多个文件分别复制到目标目录;
    • 如 DEST 非目不:则出错;

选项

  • -i:交互式确认;
  • -f:强制覆盖目录;
  • -r,-R:recursive,递归复制目录
  • -d:如源文件为符号链接则只复制链接;
  • -a: -dR –preserve=all
  • –preserve=
    • mode
    • ownership
    • timestamps
    • context:安全标签
    • xattr:扩展属性
    • links
    • all

mv

用法

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

选项

  • -i:交互式
  • -f:强制

rm

用法

rm [OPTION]... FILE...
删除开头带‘-‘的文件可用:
rm -- -FILE

选项

  • -i:交互式
  • -f:强制
  • -r:递归

命令行展开

按列表展开

形式

COMMAND {x1,x2,x3,...}
等价于
COMMAND x1 x2 x3 x4

示例

创建文件夹:
/tmp/a1
/tmp/a2
/tmp/a1/a
/tmp/a1/b

mkdir /tmp/a{1,2}
mkdir /tmp/a1/{a,b}

按数字次序展开

形式

COMMAND {#1..#2..#3}
从#1以#3为步距到#2,展开

示例

echo {1..9..2}
等价于
echo 1 3 5 7 9

文件元数据

元数据就是保存数据的各种描述信息的数据.
在文件系统中,每个文件被分配一个inode号.这个inode号指向磁盘上对应标识inode

号的节点上保存了文件的大小,名称,权限,所属…这些是元数据.最后用几个结构指向了真正保
存的数据的块号.

stat

这个命令后面加上文件就可以显示元数据
stat FILE
例如,这是我对我的目录使用的 stat .

File: .
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 10304h/66308d Inode: 12322085 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ chao) Gid: ( 1000/ chao)
Access: 2019-10-12 16:06:39.433486412 +0800
Modify: 2019-10-12 16:19:23.867856929 +0800
Change: 2019-10-12 16:19:23.867856929 +0800
Birth: -

  • File: 表示文件名
  • Size: 表示大小
  • Blocks: 表示所占的块
  • IO Block: 表示一个块的大小
  • directory: 表示这是一个目录
  • Inode: 表示Inode号
  • Links: 表示硬链接次数
  • Access: 表示权限0775是个八进制数
  • Uid: 属主的UID和名字
  • Gid: 属组的GID和名字
  • 下面的Access:是最后一次的查看时间
  • Modify: 为更改文件数据的时间
  • Change: 表示元数据被更改的时间,一般和modify相同或在它之后

thouch

这个命令用于更改时间,可以是Access或Modify.每使用一次Change就会变为当前的
时间.此命令同样能创建文件
touch [OPTION]... FILE...
修改文件的时间戳。

OPTION

  • -c:文件不存在时不创建文件
  • -a:修改 access time
  • -m:修改 modify time
  • -t:指定要改为的时间
    [[CC]YY]MMDDhhmm[.ss]

创建文件

件多情况下,创建文件要加上时间,以区分.特别是日志文件.
故可以和 date 命令合用
touch FILE-$(date)
例子:
在/tmp下创建tfile-年-月-日-时-分-秒
touch /tmp/tfile-$(date +%F-%H-%M-%S)

用户,组命令

进程以发起者的身份运行,进程的权限取决于发起者的权限。
系统用户:为让后台进程或服务类进程以非管理员身份运行,需要为此创建多个普通用户,这些用户不登录。

groupmems

形式

groupmems [options] group

OPTION

  • -a:从组中增加用户
  • -d:从组中删除用户
  • -g:指定组

groupadd

形式

groupadd [options] group

OPTION

  • -g:指定 GID
  • -p:指定组密码
  • -r:创建系统组

groupmod

形式

groupmod [options] group

OPTION

  • -g:改 GID
  • -n:改组名

groupdel

形式

groupdel [options] group

useradd

形式

useradd [options] username

OPTION

  • -u:指定 UID
  • -g:指定基本组 GID
  • -G:指定附加组,多个组可用‘,‘分隔
  • -c:注释
  • -d:指定家目录,通过复制/etc/skel 并重命名,如目录已存在则不复制
  • -s:指定 shell
  • -r:创建系统用户
  • -M:不为用户创建主目录
  • -D:显示或修改创建用户的默认值
    修改的结果位于/etc/default/useradd
    配置文件位于/etc/login.defs

示例

创建用户tom,指定UID为5001,指定家目录为/tmp/tom,指定shell为/bin/zsh,
指定基本组为tom,附加组为jack.

useradd -u 5001 -d /tmp/tom -s /bin/zsh -g tom -G jack tom

newusers

newusers FILE
FILE中内容与passwd格式一样,用于批量新建用户;

usermod

形式

usermod [options] username

OPTION

  • -u:修改 UID
  • -g:修改基本组 GID
  • -G:修改附加组,多个组可用‘,‘分隔
  • -aG:追加附加组,多个组可用‘,‘分隔
  • -c:修改注释
  • -d:修改家目录,原有文件不会转移到新位置
  • -md:修改家目录,原有文件会转移到新位置
  • -l:修改用户名
  • -s:修改 shell
  • -L:锁定用户密码
  • -U:解锁用户密码

userdel

形式

userdel [options] username
默认不删家目录

OPTION

  • -r:删除用户一并删除家目录

passwd

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

  • passwd:修改用户自己的密码;
  • passwd USERNAME:更改指定用户的密码;
  • -l,-u:分别锁定和解锁用户;
  • -d:清除用户的密码;
  • -e:过期期限,日期;
  • -i:非活动期限,天数;
  • -n:密码的最短使用期限;
  • -x:密码的最长使用期限;
  • -w:警告期限;
  • –stdin:密码的输入变为标准输入;

chpasswd

形式

cat FILE | chpasswd

FILE格式

user1:password1
user2:password2
….

gpasswd

passwd [options] group

  • -a:向组中添加用户
  • -d:向组中移除用户

newgrp

newgrp [-] [group]
-:模拟用户重新登录
临时切换到 group

chage

更改用户密码过期信息
chage [options] username

  • -d:设置用户最后更改密码时间
  • -E:设置用户可以使用的最后期限
  • -W:设置提示用户更改密码的时间
  • -m:设置下一次更改密码的最短时间
  • -M:设置下一次更改密码的最大时间
  • -l:列出所有时间

id

显示用户有效 ID
id [OPTION]... [USER]

  • -u:仅显示 UID
  • -g:仅显示甩户的基本组 GID
  • -G:显示用户所属所有 GID 列表
  • -n:显示名字而非 ID

su:switch user

形式

登录式切换:重新初始化用户的配置文件来初始化
su - USERNAME
su -l USERNAME
非登录式切换:不会读取用户配置文件初始化
su USERNAME

OTPION

  • -c ‘COMMAND‘:仅以指定用户的身份运行此外命令;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读