常用的用户以及文件管理命令有哪些,并演示命令以及用法。
cp命令:复制(copy)
单源复制:cp [option]... [-t] source dest 多源复制:cp [option]... source... directory cp [option]... -t directory source...
单源复制:
如果dest不存在,则先创建此文件,并复制源文件数据流至dest中
[root@www tmp]# cp /etc/issue abc [root@www tmp]# ls abc
如果dest存在且是非目录文件,则覆盖目标文件
[root@www tmp]# ls abc [root@www tmp]# cp /etc/issue abc cp:是否覆盖"abc"? y
如果dest存在且是目录文件,则先dest目录下创建一个与源文件同名的文件,则×××数据流
[root@www tmp]# cp /etc/issue abcd [root@www tmp]# ls abc abcd
多源复制:
dest必须存在,且为目录,其他情况都会报错
[root@www tmp]# cp /etc/issue /etc/redhat-release /tmp/ [root@www tmp]# ls abc abcd issue redhat-release
常用[option]:
-i:交互式复制,即覆盖之前提醒用户确认 -f:强制覆盖目标文件,不显示确认 -r:递归复制目录 -d:复制符号链接文件本身,而非其指向的源文件 -a:-dr --preserve=all,archive,用于实现归档 --preserve mode:权限 ownership:属主和属组 timestamps:时间戳 context:安全标签 xattr:扩展属性 links:符号链接 all:上述所有属性
mv命令:移动(move )
cp [option]... [-t] source dest cp [option]... source... directory cp [option]... -t directory source... 常用选项 -i:交互式 -f:force
rm命令:删除(remove)
rm [option]... file... 常用选项: -i:interactive -f:force -r:recursive 删除目录: 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
[root@www tmp]# mkdir -p /tmp/{a1/{a,b},a2} [root@www tmp]# tree /tmp/ /tmp/ ├── a1 │ ├── a │ └── b └── a2 [root@www tmp]# mkdir -p /tmp/{x,q}_{y,z} [root@www tmp]# ls a1 a2 q_y q_z x_y x_z
3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据信息:
file:文件名;
size:文件大小
block:文件占了多少个数据块
io block:文件所占数据块的块大小
device:硬件,既说明该文件在硬盘的那个柱面
inode:文件inode号,文件的索引节点号
links:链接
access:文件权限
uid:该文件所属的属主
gid:该文件所属的属组
context:安全上下文
access(第二个):文件上一次的访问时间
modify:文件上一次修改的时间
change:文件上一次属性更改的时间
查看文件元数据的方法:
stat命令:
stat [option]... file... [root@www tmp]# stat /etc/issue file: "/etc/issue" size: 47 blocks: 8 io block: 4096 普通文件 device: fd00h/64768d inode: 391443 links: 1 access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root) access: 2018-11-23 21:00:01.316320911 +0800 modify: 2014-10-23 19:41:30.000000000 +0800 change: 2018-10-11 22:42:41.154999833 +0800 you have new mail in /var/spool/mail/root
修改文件的时间戳方法:
touch命令:用于改变文件时间戳,如果文件不存在则创建一个空文件
touch [option]... file... -c:指定的文件路径不存在时不予创建: -a:仅修改access time: -m:仅修改modify time: -t stamp: [[cc]yy]mmddhhmm[.ss] 年月日时分秒 touch -m -t 200212010303.03
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@www tmp]# touch tfile-$(date +%f-%h-%m-%s) [root@www tmp]# ls tfile-2018-11-25-04-07-33
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1;cp -r /etc/p*[^0-9] /tmp/mytest1
6、创建用户tom,指定uid为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
useradd tom -u 5001 -d /tmp/tom -s /bin/zsh -g jack
7、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su
useradd命令:创建用户
useradd [option] user -u, --uid uid:指定uid; -g, --gid group:指定基本组id,此组得事先存在; -g, --groups group1[,group2,...[,groupn]]]:指明用户所属的附加组,多个组之间用逗号分隔; -c, --comment comment:指明注释信息; -d, --home home_dir:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件; -s, --shell shell:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中; -r, --system:创建系统用户; [root@www ~]# useradd us1 [root@www ~]# id us1 uid=501(us1) gid=501(us1) 组=501(us1)
userdel命令:删除用户
userdel [option] user -r:删除用户时一并删除其家目录; [root@www ~]# userdel -r us1
usermod命令:修改用户属性
usermod [option] user -u, --uid uid:修改用户的id为此处指定的新uid; -g, --gid group:修改用户所属的基本组; -g, --groups group1[,group2,...[,groupn]]]:修改用户所属的附加组;原来的附加组会被覆盖; -a, --append:与-g一同使用,用于为用户追加新的附加组; -c, --comment comment:修改注释信息; -d, --home home_dir:修改用户的家目录;用户原有的文件不会被转移至新位置; -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录; -l, --login new_login:修改用户名; -s, --shell shell:修改用户的默认shell; -l, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!"; -u, --unlock:解锁用户的密码;
passwd命令:修改用户密码
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-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
groupadd命令:添加组
groupadd [option] group_name -g gid:指定gid;默认是上一个组的gid+1; -r: 创建系统组;
groupdel命令:删除组
groupdel [option] group
groupmod命令:修改组属性
groupmod [option] group -g gid:修改gid; -n new_name:修改组名;
gpasswd命令:管理组
组密码文件:/etc/gshadow gpasswd [option] group -a username:向组中添加用户 -d username:从组中移除用户
chage命令:更改用户密码过期信息
chage [option] 登录名 -d -e -w -m -m
id命令:显示用户和所属群组的实际与有效id
id [option]... [user] -u: 仅显示有效的uid; -g: 仅显示用户的基本组id; -g:仅显示用户所属的所有组的id; -n: 显示名字而非id;
su命令:切换用户
登录式切换:会通过读取目标用户的配置文件来重新初始化 su - username su -l username 非登录式切换:不会读取目标用户的配置文件进行初始化 su username 注意:管理员可无密码切换至其它任何用户; -c 'command':仅以指定用户的身份运行此处指定的命令;
原文地址:http://blog.51cto.com/5190716/2321750