第二周LINUX 作业

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
文件管理工具:cp,mv,rm
cp 命令:copy
源文件:目标文件:

  • 单源复制: cp[OPTION] …[-T] SOURCE DEST

  • 多源复制: cp[OPTION]… SOURCE … DIRECTORY

    cp[OPTION]… -t DIRECTORY SOURCE …

  • 单源复制: cp[OPTION] …[-T] SOURCE DEST

  •  如果DEST不存在,则事先创建此文件,并赋值源文件的数据流至DEST中; 如果DEST存在; 如果DEST是非目录文件,则覆盖目标文件,如果DEST 是目录文件,则现在DST目录下创建一个与源文件同名的文件,并复制其数据流。
    

cp 命令不支持源是目录的命令格式

  • 多源复制: cp[OPTION]… SOURCE … DIRECTORY
    • 如果DEST不存在,错误; 如果DEST存在; 如果DEST是非目录文件;错误
      如果DEST是目录文件;分别复制每个文件至目标目录中,并保持原名。 常用选项
  • -i :交互式复制,覆盖之前提醒用户确认;
    -f;强制覆盖目标文件,覆盖之前不提供用户确认
    -r ;递归复制目录,
    -d;仅复制软链接文件本身,而非其指向源文件;
    -a; -dR --preserve-all, archive ,用于实现归档 (仅复制软连接文件本身,且递归复制目录,用于实现归档)

–preserv=

  •  mode:权限
    
  •   ownership:属主,和属组
    
  •   timestamps:时间戳
    
  •  context;安全标签
    
  •   xattr;扩展属性
    
  •   links:符号链接
    
  •   all:上述所有属性
    

mv 命令:move
常用选项:
-i: 交互式
-f:force
rm 命令:remove
rm [OPTION] … FILE…
常用选项
-r 递归删除 recursive
-f 强行删除 force
-i 交互式
删除目录: rm -rf /PATH/TO/DIR
危险操作: rm -rf /*
注意所有不用的文件不要直接删除,而是移动至某个专用目录;(模拟回收站)

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

mkdir -pv /tmp/a{1/{a,b},2}
mkdir: created directory ‘/tmp/a1’
mkdir: created directory ‘/tmp/a1/a’
mkdir: created directory ‘/tmp/a1/b’
mkdir: created directory ‘/tmp/a2’

[root@study tmp]# mkdir -pv /tmp/{x,q}_{y,z}
mkdir: created directory ‘/tmp/x_y’
mkdir: created directory ‘/tmp/x_z’
mkdir: created directory ‘/tmp/q_y’
mkdir: created directory ‘/tmp/q_z’

3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
显示文件或文件系统的状态
stat FILE…
[root@study ~]# stat .bash_history
File: ‘.bash_history’ 文件名
Size: 13123 文件大小 Blocks: 32 文件块 IO Block: 4096 regular file
Device: fd00h/64768d (源设备/次设备)Inode: 2601570 (Inode 索引号) Links: 1 链接次数1
Access: (0600/-rw-------) 读取权限
Uid: ( 0/ root) 用户名 Gid: ( 0/ root) 组名
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-02-03 13:09:08.573289762 +0800
文件最近一次被访问的时间
Modify: 2019-02-03 10:41:43.530623736 +0800
文件内容最近一次被修改的时间
Change: 2019-02-03 10:41:43.530623736 +0800
文件属性最近一次被改变的时间
Birth: -

[root@study ~]# stat test123
File: ‘test123’
Size: 60 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 749358 Links: 1
Access: (0644/-rw-r–r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-02-02 10:28:45.206645799 +0800
Modify: 2019-02-02 10:28:08.077647201 +0800
Change: 2019-02-02 10:28:08.078647201 +0800
Birth: -
Touch FILENAME
-c: 指定的文件不存在的时,不予创建
-a: 仅修改access time;
-m:仅修改modify time;
-t: STAMP 修改指定时间戳
[[CC]YY]MMDDhhmm[.ss]
[root@study ~]# touch -a test123
[root@study ~]# stat test123
File: ‘test123’
Size: 60 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 749358 Links: 1
Access: (0644/-rw-r–r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-02-03 13:29:10.711244371 +0800
Modify: 2019-02-02 10:28:08.077647201 +0800
Change: 2019-02-03 13:29:10.711244371 +0800
Birth: -
[root@study ~]#

4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@study tmp]# ls -l tfile-*
-rw-r–r--. 1 root root 0 Feb 3 15:58 tfile-2019-02-03-15-58-28

5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@study /]# cp -a /etc/p*[1] /tmp/mytest1
[root@study /]# cd /tmp/mytest1
[root@study mytest1]# ls
pam.d pbm2ppa.conf pinforc pm postfix printcap protocols python
passwd php.d pki pnm2ppa.conf ppp profile pulse
passwd- php.ini plymouth popt.d prelink.conf.d profile.

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

[root@study /]# useradd -u 5001 -d /tmp/tom -s /bin/zsh -G jack tom
[root@study /]# tail -2 /etc/passwd
test2❌1003:1004::/tmp/test2:/bin/bash
tom❌5001:5001::/tmp/tom:/bin/zsh
[root@study /]# id tom
uid=5001(tom) gid=5001(tom) groups=5001(tom),1000(jack)

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

groupadd 命令:添加组
groupadd [选项] group_name
-g GID: 指定GID;默认时上一个组的GID+1;
-r:创建系统组;
groupmod 命令:修改组属性
groupmod [选项] GROUP
-g GID:修改GID
-n new_name:修改组名:
groupdel 命令:删除组
groupdel [ 选项] group
useradd :创建用户
useradd [选项] username
-u, --uid UID: 指定 UID;
-g GID , 指定基本组ID,此组要事先存在
-c,–comment “” 用户的注释信息
-G ; --groups GROUP1[,GROUP,…[,GROUP]]]:指明用户所属的附加组,
-d , --home HOME_DIR :以指定的路径为用户的家目录;通过复制/etc/skel 此目录并重命名实现;指定的家目录如果事先存在,则不会为用户复制环境配置文件
-s , --shell SHELL 指定用户的默认shell ,可用的所有shell 列表为/etc/shells文件;
-r , --system; 系统用户;
-M ,不创建用户主目录
-f ,–inactive 密码过期后,账户被彻底禁用之前的天数
-D , 显示用户创建的时候默认配置
useradd -D :显示创建用户的时候默认配置
useradd -D [选项] 更改创建用户的默认配置
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
-D -s /bin/csh 更改默认shell
注意:创建用户时的诸多默认设定 配置文件为 /etc/login.defs
修改的结果 保存于//etc/default/useradd文件中
usermod 命令:修改用户属性命令
-u, --uid UID ;修改用户的ID 为指定的新UID;
-g, --gid GROUP ;
-G, --groups GROUP1[,GROUP,…[,GROUP]]]:指明用户所属的附加组 , 原来的附加组会被覆盖
-a, --append;与-G 一同使用,用于为用户添加新的附加组;
-c --comment “”修改注释信息;
-d, --home HOME_DIR ; 修改用户的家目录;用户原有的文件不会被转移至新位置
-m, --move ,将用户的主目录移动到新目录,-只能和-d 一起使用,用于将原来的家目录移动为新的家目录;
-l , --login NEW_LOGIN:修改用户名
-s, --shell SHELL , 修改用户的默认shell;
-L, --lock 锁定用户密码,及禁止用户登陆,就是在用户原来的密码字符串之前添加一个"!";
-U, --unlock解锁用户密码,允许用户登陆,
userdel 命令;删除用户命令
-r: 删除时用户时一并删除其家目录;


  1. :digit: ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值