Linux文件管理及用户命令

一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp命令:copy
使用方法:
单源复制: cp [OPTION]… [-T] SOURCE DEST
多源复制: cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
常用命令选项:

-i:交互式复制,即覆盖之前提醒用户确认

-f:强制覆盖目标文件

-r:递归复制目录;

-d:复制符号链接本身,而非指向内容的源文件
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
示例1:

[root@localhost ~]# touch test1
[root@localhost ~]# cp -i /etc/issue test1
cp:是否覆盖"test1"? y
将issue覆盖至test1中,会产生提示

示例2:

[root@localhost ~]# cp -r /tmp/  hi

将/tmp/目录下所有的文件复制到hi目录中去,包括子目录下的所有目录和文件

示例3:

[root@bogon ~]# cp /etc/favicon.png  /etc/issue /tmp/hi
多源复制,将etc下的两个文件都复制到/tmp/hi目录下

mv命令: move
使用用法:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…

和cp命令一样,注意:mv命令会删除源文件
常用选项:
-i:交互式
-f:强行覆盖
示例:

# mv -i /etc/test3 test1
将test3文件 覆盖至test1 文件中,移除test3

rm命令:remove 删除
使用方法:
rm [OPTION]… FILE…
常用选项:
-i:交互式
-f:强制删除
-r:递归删除
注意: 所用不用的文件不建议直接删除,而是移动至某个专用目录价(模拟回收站)
示例:

# rm-rf /tmp/test1   
强制删除/tmp/test1目录下的所有文件及目录

install命令:
install [OPTION]… [-T] SOURCE DEST
单源复制
install [OPTION]… SOURCE… DIRECTORY
多源复制
install [OPTION]… -t DIRECTORY SOURCE…
多源复制
install [OPTION]… -d DIRECTORY…
创建空目录

常用选项:
-m --mod:设定目标文件权限,如果不设置则默认为755 rwxr-xr-x
-o --owner:设定目标文件属主
-g --group:设定目标文件属组

示例:

[root@bogon ~]# install -m 700 /etc/issue test1
复制issue文件至test1,权限是700  rwx------。

touch命令
修改时间戳
touch [OPTION]… FILE…
当指定的文件,路径不存在时,会自动建立一个空文件
-c:指定的文件路径不存在时,不予以创建
-a:仅修改access time 最近访问
-m:仅修改modify time 最近更改
-t:STAMP 设定档案的时间记录,格式与 date 指令相同。
用法[[CC]YY]MMDDhhmm[.ss]
演示:

`touch -at  200901021900.00(年月日时分秒)   FILE`
修改access time 

2、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
示例

 # mkdir -pv  /tmp/{a1/{a,b},a2}   
 # mkdir -pv /tmp/{x,q}_{y,z}

3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
查看示例:

#stat  /etc/passwd

以下是元数据信息:
文件名称: /etc/passwd
文件大小:2373
占用的磁盘块数:8
IO 块大小:4096
文件类型:普通文件
所在设备:fd00h/64768d
Inode(Indoe的节点号):135172601
硬链接(被链接的次数):1
访问权限(第一个):(0644/-rw-r–r--)
Uid: uid号和 属主:( 0/ root)
Gid: gid号和属组:( 0/ root)
环境:system_u:object_r:passwd_file_t:s0
最近访问:2019-02-13 20:39:47.654324769 +0800
最近更改:2019-02-13 20:39:46.441315936 +0800
最近改动:2019-02-13 20:39:46.443315951 +0800
创建时间:-

修改文件的时间戳:
touch命令

#touch -at 202002141900.30   /tmp/test1
修改test1最近访问的时间
#touch -mt 202002141900.30   /tmp/test1
修改test1最近更改的时间

4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

# mkdir -pv /tmp/tfile-$(echo  2016-05-27-09-32-22)

5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中

 #cp -r /etc/p*[^0-9]    /tmp/mytest1

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

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

7、常用的用户以及文件管理命令有哪些,并演示命令以及用法
linux用户分为三种
超级用户:root uid:0
系统用户:为了能够让后台进程或服务列进行以非管理员的身份进行,通常需要为此创建多个普通用户,这类用户从不用登陆系统。uid:1-499
登录用户:通常就是我们登录使用的用户。uid:1000-60000

用户的信息库存放路径:/etc/passwd

用户的格式:name:password:UID:GID:GECOS:directory:shell
name:用户名
password:可以是加密的密码,也可以是占位符x;
UID:主ID
GID:用户所属的主组ID 号
GECOS:用户的注释信息
directory:用户的家目录
shell:用户的默认shell,登录时默认

用户的密码存放路径:/etc/shadow
格式:以冒号为分隔符

name:$ 6 $m4v1501Qu2oKTieX$1wafOPtntptN0zRyD1BIxclgJJC3P79.xPeoFuXATK7Y6CbP9o6FpTmFFWESXXcwJhnC0XScGw1ADK51oKP6M/:17940:0:99999:7:::
用户名:
加密的密码:$6是加密算法,此处使用的是sha512sum $m是随机数 第三个 $ 是加密后的密码
17940:最后一次修改密码的时间
0:密码最短使用期间
99999:密码最长使用期限
7:密码到了最长使用期限后的警告天数
过期期限:
禁用期限:
保留字段:

useradd命令:创建用户

useradd [选项] 登录名
-u,–uid :指明UID号
-g,–gid :指定基本组ID,此组得事先存在
-G,–groups : 指明用户所属的附加组,多个组之间用逗号分隔;
-c,–comment:指明注释信息
-d,–home:创建以指定的路径为用户的家目录。通过复制/etc/skel此目录并重命名实现的。事先指定的家目录路径如果存在,则不会为用户复制配置环境文件。
-s --shell:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中
-r --system:创建系统用户
-M:不给用户创建主目录
示例:

1、

 # useradd -u 2000 -c "tom"  -g 3000  -G merry -s /bin/csh -d /tmp/tom tom             
创建tom用户,并指定uid为2000,注释信息tom 设定组ID为3000(但是此GID必须实现存在)
将tom作为merry的附加组  shell类型为csh  家目录为/tmp/tom`

2、

   #useradd -M merry 
   创建不含有家目录的用户merry

注意:创建用户时的诸多默认设定配置文件存储在/etc/login.defs
-D:显示创建用户的默认配置。
useradd -D选项:修改默认选项的值
-D默认选项的修改结果保存于/etc/default/useradd文件中

usermod命令:修改用户属性
usermod [选项] 登录
-u --uid:修改用户的ID为此处指定的新ID
-g,–gid:修改用户所属的基本组ID
-G,–groups:修改用户所属的附加组,原来的附加组会被覆盖。
-a,–append:与-G一同使用,为用户添加新的附加组,不会覆盖原组
-c,–comment:修改注释信息
-d,–home:修改用户的家目录,用户原有的文件不会被转移至新位置
-m,–move:与-d选项时才有用,表示将原来的家目录移动至新的家目录
-s,–shell:修改用户的默认shell
-l,–login:修改用户名
-L,–lock:锁定用户的密码,即在用户原来的密码字符串之前添加一个“!”;
-U,–unlock:解锁用户的密码,删除“!”
示例:
1、

 # usermod -u 2002 -g 4000  -G jerry -md /tmp/tom -s /bin/base tom
 将用户tom的UIID改为2002 GID改为4000 附加组改为Jerry  家目录改为/tmp/tom shell类型为base

2、

  # usermod -L ydong
  [root@bogon ~]# tail /etc/shadow
  ydong:!$6$hxEbBACGhKzRv1YA$lFCKavibvBnnmFjIoCDqWmZ7IxV9a9A94e6z1RcSyVAPGqXC76Ls91lvaFWU8gv34Y.ij9bI8ipm3.uIC8GFO/:17940:0:99999:7:::
  锁定ydong的密码,并在加密密码前几加上一个感叹号
  #usermod -U ydong
  解锁ydong密码,删除感叹号

注意:在修改用户的家目录时,/etc/skel下的文件如果没有复制过去的话,name在切换用户的时候会出现bash-4.2$字符,只需将/etc/skel/.的文件复制到用户的家目录即可

userdel命令:删除用户
userdel [选项] 登录
-r:删除用户时一并删除其家目录,

passwd命令:修改用户命令
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactive?
days] [-S] [–stdin] [username]

1、passwd:修改用户自己的密码
2、passwd USERNAME:修改制定用户的密码,但仅root有此权限
-l,-u :锁定和解锁用户
-d:清楚用户密码
-e(DATE):设定过期期限,此处是一个日期,使用此选项直接导致密码作废,下次登录修改密码
-i (DAYS):非活动期限,
-n(DAYS):密码的最短使用期限
-x:(DAYS):密码的最长使用期限
-w(DAYS):警告期限
–stdin:echo"PASSWORD"|passwd --stdin USERNAME
示例:
1、

# passwd
修改当前用户的密码

2、

# echo '123456' | passwd --stdin tom
将123456直接当作tom的密码来使用

3、

# passwd merry
修改用户merry的密码

id:显示用户真实和有效的ID信息
id [OPTION]… [USER]
-u:仅显示有效的UID
-g:仅显示用户的基本组id
-G:仅显示用户所属的所有组ID
-n:显示名字而非ID

root@localhost ~]# id ydong
uid=1000(ydong) gid=1000(ydong) 组=1000(ydong),10(wheel)

su命令: switch user
完成用户的切换
两种切换:
登录式切换:会通过读取目标用户的配置文件来重新初始化
su - USERNAME
su -l USERNAME
大多数都用这个登录式切换

root@localhost ~]# su - ydong
上一次登录:四 2月 14 15:22:09 CST 2019pts/1 上
[ydong@localhost ~]$ 
[ydong@localhost ~]$ pwd
/home/ydong

用户的家目录会更改

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

[root@localhost ~]# su ydong
[ydong@localhost root]$ 
用户的工作目录不会更改

注意:管理员可无密码切换至其他任何用户

-c ‘COMMAND’ :仅以指定用户的身份运行此处指定的命令

# su ydong -c 'cat /etc/issue'
ydong用户来执行 cat命令,但是不会切换至ydong用户

groupadd命令:添加组

groupadd 【OPTION】 group_name
-g --GID:手动指定GID,默认是上一个组的GID+1
-r:创建系统组,gid号时1-999
示例:
# groupadd merry

groupmod命令:修改组属性
groupmod [选项] GROUP
-g GID:修改GID; 没有特殊规定,一定要唯一
-n new_game:修改组的名字
示例:

# groupmod -g 3000 merry

groupdel命令:删除组
groupdel [选项] GROUP
示例:

# groupdel merry

newgrp命令:临时切换其它组为基本组
newgrp [-] [group]
-:会模拟用户重新登录以实现重新初始化其工作环境
示例:

# newgrp ydong
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值