美文网首页
linux用户和文件管理命令

linux用户和文件管理命令

作者: haoxi2018 | 来源:发表于2018-11-25 21:27 被阅读0次

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    (1)mkdir 创建目录,可以一次创建一个或多个目录,路径基名才是命令的作用对象,基名之前的路径名必须得存在(除非你用-p选项来自动创建)

    命令常用选项有

    -p: 自动按需创建父目录,比如假设当前目录下没有目录a,命令mkdir -p a/b/c 将依次连续创建a、b、c三个层级目录。

    -v: verbose显示目录创建过程,在上面-p的例子中加上-v选项就能看到命令的详细创建这些目录的次序

    -m MODE:创建目录时,指定目录的访问权限

    (2)rmdir 删除空目录,命令操作对象必须是空的目录,实际运维操作中用的比较少。

    (3)tree 以树状方式显示指定目录的内容(递归显示其子目录内容)

    命令选项: -L level :指定要显示的目录层级(或称目录深度)

    (4)cat:查看文本文件

    命令常用选项为:

    -n:显示文件的行号

    -E:显示行结束符$

    (5)tac:反向显示文本文件,即从最后一行向第一行显示内容。

    命令常用选项为:

    -n:显示文件的行号

    -E:显示行结束符$

    (6)head:显示文件的前n行。

    命令常用选项为:

    -n # 表示显示文件的前多少行,也可用 -#直接给出行数。

    (7)tail:查看文件的后n行。

    命令常用选项为:

    -n # 表示显示文件的后多少行,也可用 -#直接给出行数。

    -f:查看文件尾部内容结束后不退出,跟随显示新增的行。常用于查看日志文件的更新。

    (8)more:分屏显示文件内容,翻屏至文件尾部后自动退出,中间可以空格翻页,按q退出

    (9)less:也是分屏查看文件的命令,可以向上向下翻页。ctrl+d向下翻页,ctrl+u向上翻页。

    (10)stat:显示文件或文件系统的状态,可以用来查看文件的时间戳等信息。

    (11)touch:修改文件的时间戳

    命令常用选项为:

    -c:指定的文件路径不存在时不予创建

    -a:仅修改文件的access time

    -m:仅修改文件的modify time

    -t STAMP:指定修改的时间值,STAMP的格式为[[CC]YY]MMDDhhmm[.ss]

    (12)cp:复制文件或目录命令:

    命令常用选项为:

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

    -f:强制覆盖目标文件,而不提示

    -r,-R:递归复制目录(包括目录内容和子目录的所有内容)

    -d:复制符号链接文件本身,而不是其指向的源文件

    -a:相当于-dR,常用于实现归档

    (13)mv:实现文件移动和重命名

    命令常用选项为:

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

    -f:强制覆盖目标文件,而不提示

    (14)rm:删除文件或目录

    -i:交互式复制,即删除目标文件之前提醒用户确认

    -f:强制删除目标文件,而不提示

    -r:当删除的目标为目录时,需要加这个选项。

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

    命令:

    $  mkdir  -p  /tmp/a{1/{a,b},2}

    $  mkdir -p  /tmp/{x,q}_{y,z}

    说明:

    a{1/{a,b},2}会为命令展开功能的嵌套,同理{x,q}_{y,z}会展开为x_y, x_z, q_y和q_z这4个名称

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

    文件的元数据可以用stat命令来查看,

    ~]$ stat filename

    文件的元数据信息如下:

    文件名和文件路径

    文件大小,文件的占用的块数,每个IO块的大小,文件类型

    所在设备编号,Inode节点号,硬链接数量

    文件访问权限,文件属主名称和Uid,文件属组名称和Gid

    时间戳:最近访问时间、最近文件内容修改时间,最近文件元数据修改时间,centos7之后增加了一个文件创建时间。

    使用touch命令来修改文件的时间戳信息:

    touch 文件名: 修改文件的所有时间戳

    touch -a 文件名:仅修改文件的access time

    touch -m 文件名:仅修改文件的modify time

    touch -t STAMP 文件名:指定修改的时间值,STAMP的格式为[[CC]YY]MMDDhhmm[.ss]

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

    命令:$ touch  /tmp/tfile-$(date +"%Y-%m-%d-%H-%M-%S")

    说明:$()表示执行里面的命令,把命令结果以字符串方式返回。

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

    命令:$ cp -r  /etc/p*[^0-9]  /tmp/mytest1 

    说明:[0-9]表示0到9之间的数字 ,而[^0-9]表示除数字以外的字符,p*[^0-9]表示以p字符开头,以非数字结尾的文件名或目录名,由于要把符合条件的文件和目录都拷贝过去,给cp 命令加一个“-r”选项,这样可以拷贝目录。

    其中p*[^0-9] 还可以写成  p*[^[:digit:]],这里[:digit:]表示0-9之间的数字,所以[^[:digit:]]表示非数字字符。

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

    命令:

    #groupadd  jack

    # groupadd tom

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

    说明:先用groupadd创建jack组和tom组,然后用useradd创建tom用户

    useradd命令的选项:-u 数字: 表示指定UID。 -d  路径:表示用户的家目录。-s SHELL:指定用户的shell。-g 组名 :指定基本组。-G 组名:指定附加组。

    也可以不先创建tom组,然后在useradd时不加“-g tom”,会自动创建用户的基本组tom,且组ID和用户ID一样。

    另外执行过程中发现/tmp目录下不能创建家目录报错:

    useradd: cannot set SELinux context for home directory /tmp/tom

    如果一定要在/tmp/目录下创建家目录要关闭SELinux,然后再创建用户

    #setenforce 0

    7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。

    (1)用户创建 useradd

    常用命令选项有:

    -u UID :指定用户ID

    -g GID :指定用户的基本组,如果缺省,则使用与用户名相同的组名

    -c "...":用户的注释信息

    -d 路径:指定用户的家目录,如果缺省,则使用“/home/用户名”作为家目录

    -s SHELL:指定用户的默认shell,查看系统支持哪些shell可用,可以看/etc/shells

    -G 组名1,组名2 :指定用户的附加组,这些组要求要存在的。

    比如:

    useradd -u 900 -d /abc -s zsh -c "this is abc" abc

    表示创建一个abc用户,它的UID为900,家目录为/abc,默认SHELL为zsh,注释信息为“this is abc”

    (2)组创建 groupadd

    常用命令选项:

    -g GID :指定组ID

    -r :创建系统组

    (3)查看用户相关ID信息 id

    id [选项] 用户名

    -g 显示用户所属群组的ID。

    -G 显示用户所属附加群组的ID。

    -n 显示用户,所属群组或附加群组的名称。

    -u  显示用户ID。

    (4)切换用户或以其他用户身份运行命令 su

    用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

    su UserName:表示切换用户,但不运行新用户的环境配置文件

    su - UserName:表示切换用户,且运行新用户的环境配置文件(常用这种方式)

    su :表示切换到root用户

    su - userName -c command 变更为帐号为 userName 的使用者并执行指令(command)后再变回原来使用者

    (5)用户属性修改:usermod

    -c<备注>  修改用户帐号的备注文字。

    -d<家目录>  修改用户登入时的家目录。

    -g<群组>  修改用户所属的群组。

    -G<群组>  修改用户所属的附加群组。

    -l<帐号名称>  修改用户帐号名称。

    -s<shell>  修改用户登入后所使用的shell。

    -u<uid>  修改用户ID。

    -L  锁定用户密码,使密码无效。

    -U  解除密码锁定。

    -e<有效期限>  修改帐号的有效期限。

    -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

    (6)更改用户的密码 passwd

    root用户可以在不知道用户原密码的情况下修改任何用户的密码,普通用户只能修改自己的密码

    -l 停止账号使用

    -u 启用已被停止的账户

    -x 最大使用期限

    -n 最短使用期限

    -w 到期前多少天开始警告

    -i 过期后多少天停止用户账号

    --stdin:从标准输入接收用户密码,非交互式修改用户密码

    例如:echo "123456"|passwd --stdin username

    (7)删除用户 userdel

    -r:删除用户的家目录等

    (8)组属性修改 groupmod

    -n newgroupName  修改组的名字

    -g GID:修改组的ID

    (9)删除组:groupdel

    (10)组密码的作用为用户切换基本组,其设置工具为gpasswd

    -a 用户名:将用户添加到指定组中

    -d 用户名:将用户从指定的组中删除

    -A 指定管理员

    (11)临时切换基本组:newgrp

    如果用户本不属于此组,则需要输入组密码

    (12)修改用户密码属性:chage

    -d :修改用户最近一次修改密码的时间

    -E:帐号到期的日期。过了这天,此帐号将不可用。

    -I:账号过期时限: 在密码过期后几天,密码自动失效,这个用户将无法登陆系统了

    (13)让普通用户可以临时使用root用户角色运行某个命令,而不需要输入root用户密码:sudo

    -l :查看当前用户可执行的sudo命令

    -k:清除此前记忆下的令牌

    -u 用户名 命令:以指定的用户运行命令

    用户可以执行哪些命令可以使用visudo命令编辑配置文件。

    相关文章

      网友评论

          本文标题:linux用户和文件管理命令

          本文链接:https://www.haomeiwen.com/subject/yzymqqtx.html