首页 > 系统服务 > 详细

Linux文件管理命令

时间:2018-12-23 23:40:40      阅读:326      评论:0      收藏:0      [点我收藏+]
一、Linux上的文件管理类命令,其常用的使用方法及其相关示例演示。

  • cp:复制文件或目录,linux中复制分以下情况
    (1)如果复制的是目录,则会把目录中的文件一起复制。
    (2)如果复制的文件已经存在,则询问是否覆盖该文件,不存在就正常复制。
    cp命令常用选项
    -p保留原始文件的属性
    -n: 不覆盖,注意两者顺序
    -d 若对象为“链接文件”,则保留该“链接文件”的属性
    -r 递归持续复制(用于目录)
    -i 若目标文件存在则询问是否覆盖
    -a 相当于-pdr(p、d、r为上述参数),复制后的文件与原文件权限相同
    技术分享图片
  • mv:用于剪切文件或将文件重命名。剪切会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名。
    -i: 交互式
    技术分享图片
    -f: 强制
    技术分享图片
    -b:当文件存在时,覆盖前,为其创建一个备份
    技术分享图片
  • rm
    rm -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
    rm -f:强制删除文件或目录;
    rm -i:删除已有文件或目录之前先询问用户;
    技术分享图片

    rm -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

  • touch:创建空白文件或设置文件的时间
    touch [选项] [文件]
    -a 仅修改“读取时间”(atime)
    -m仅修改“修改时间”(mtime)
    -d 同时修改atime与mtime
  • mkdir:创建空白的目录
    mkdir -p 递归穿件具有嵌套关系的文件目录
    技术分享图片
  • ls:用于显示目录中的文件信息
    ls -h参数高可读性查看文件信息,一般配合-l参数一起使用
    ls -a 包含隐藏文件
    技术分享图片
    ls -l 显示额外的信息
    技术分享图片
    ls -R 目录递归通过
    ls -1 文件分行显示
    技术分享图片
    ls –S 按从大到小排序
    ls –u 配合-t 选项,显示并按atime 从新到旧排序
    ls -d */:只显示目录
    技术分享图片
  • rmdir:只能删除空目录
    -p: 递归删除父空目录
    -v: 显示详细信息
    -r 递归删除目录树
  • cd:切换工作目录
    “cd -”命令返回到上一次所处的目录
    “cd ..”命令进入上级目录
    “cd ~”命令切换到当前用户的家目录
    “cd ~username”切换到其他用户的家目录

二、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
技术分享图片
mkdir -p /tmp/{x,q}_{y,z}
技术分享图片
三、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据描述一个文件的特征的系统数据,包含文件大小、权限、所有者、时间戳等。
使用stat命令显示文件元数据,文件属性信息均可看到
技术分享图片
使用touch命令可以修改文件的时间戳信息
touch -a 修改“读取时间”(atime)
技术分享图片
touch -m修改“修改时间”(mtime)
技术分享图片
touch -d 同时修改atime与mtime
技术分享图片
四、在/data目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /data/tfile-date +"%Y-%m-%d-%H-%M-%S"
技术分享图片
五、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/data/mytest1目录中。
cp -rp /etc/p*[^[:digit:]] /data/mytest1
技术分享图片
六、创建用户tom,指定UID为5001,指定家目录为/data/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
useradd -u 5001 -d /data/tom -s /bin/zsh -g tom -G jack tom
技术分享图片
七、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
(1)/etc/passwd :用户及其属性信息( 名称、UID 、主组ID等)
每行文件内容由7个字段组成,用":"分隔,代表一个用户属性
getent passwd unername 查看指定用户属性信息
技术分享图片
用户:密码占位符:用户ID:组ID:用户全名或注释:用户家目录:默认使用shell
vipw 功能和使用vi /etc/passwd一样,vipw可以检查语法格式
pwck 检查passwd文件格式
(2)/etc/shadow :用户密码及其相关属性
文件内容格式,9个字段,用":"分隔
技术分享图片
账号:$6使用sha512加密密码:密码最近一次被更改的时间:密码再过几天可以被变更:密码再过几天必须被变更:密码过期前几天系统提醒用户:密码过期几天后帐号会被锁定:密码失效日期
如果密码位置用‘!‘占位,表示锁定用户,用户就不能登录
usermod -U username 解锁用户
usermod -L username 锁定用户
技术分享图片
passwd username 修改用户密码
passwd -e username 设置不使用初始密码登录,登录后立即修改密码
change -d 0 username 设置立即修改密码
设置默认用户密码最大有效期 cat /etc/login.defs 修改PASS_MAX_DAYS的值为指定大小。
技术分享图片
2.2新建用户相关文件
/etc/login.defs 设置用户帐号限制的文件(密码最大有效期、最小有效期、组ID范围、自动创建家目录等),但该文件里的配置对root用户无效
技术分享图片
/etc/defaul/useradd 该目录在创建用户时默认分配用户的家目录、默认组、默认shell、是否建立邮箱等
/etc/skel/* 目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下
技术分享图片
newusers:批量创建用户
chpasswd:批量修改用户密码
假如要把一台服务器下的多个用户在另外一台服务器中创建出来,流程如下:
(1)把用户及其属性信息复制在user_list.txt文件中
(2)远程复制文件 scp user_list.txt ip:/data 把user_list.tx文件复制到ip/data目录下
newusers user_list.txt 批量创建用户
(3)创建完成后设置用户密码,把用户和密码保存在pass_list.txt文件,格式 username:password
(4)设置完密码后,批量修改用户密码 cat pass_list.txt | chpasswd
2.3用户管理命令
2.3.1useradd
useradd [options] username
-u 指定UID,如果不指定,默认系统分配
-o 配合-u选项,不检查UID的唯一性,创建uid相同的用户(一般不推荐用一样uid的不同用户)
-g 指定GID :指明用户所属基本组,可为组名,也可以GID
-c "COMMENT" :设置用户的注释信息
-d HOME_DIR: 以指定的路径(不存在时自动创建)为家目录
-s SHELL : 设置用户的默认shell 程序,可用列表在/etc/shells 文件中
-G GROUP1[,GROUP2,...] :为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users 组做主组
-r: 创建系统用户 CentOS 6: ID<500 ,CentOS 7: ID<1000,默认不创建家目录
-m 强制创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
实例:创建用户lisi ,附加组为zhang和root 默认shell为/bin/csh ,注释信息为"Lisi Distribution"
2.3.2usermod
usermod [options] username
-u UID: 新UID
-g GID: 新 主 组
-G GROUP1[,GROUP2,...[,GROUPN]]] :新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a 选项
-s SHELL :新的默认SHELL
-c ‘COMMENT‘ :新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m 选项
-l login_name: 新的名字;
-L: lock 指定用户, 在/etc/shadow 加密码栏的增加!(锁定用户)
-U: unlock 指定用户,将/etc/shadow的密码栏的!拿掉(解锁用户)
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
2.3.3userdel
userdel [options] username
-r 删除用户家目录
2.3.4查看用户ID 信息
id [OPTION]... [USER]
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG
2.3.5切换用户
切换用户的方式:
(1)su username 非登录式切换,即不会读取目标用户的配置文件,也不改变当前工作目录
技术分享图片
(2)su - UserName :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换,相当于使用该用户登录
技术分享图片
(3)root su 至其他用户无须密码;非root用户切换时需要密码
(4)su [-] UserName -c ‘COMMAND‘ 切换用户执行命令,执行完返回之前用户
说明:exit 使用完后切换回原来的用户
2.3.6设置用户密码
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户有权限修改普通用户密码
passwd: 修改自己的密码
常用选项:
-l: 锁定指定用户
-u: 解锁指定用户
-e: 强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天开始警告
-i inactivedays :非活动期限

--stdin :从标准输入接收用户密码 echo " PASSWORD " | passwd --stdin USERNAME
echo centos | passwd --stdin sarah 把sarah的密码设置为centos
2.3.7修改用户密码策略
chage [OPTION]... username
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
–l 显示密码策略

Linux文件管理命令

原文:http://blog.51cto.com/14129694/2334326

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!