-
Linux上的常见的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示
cp命令:复制copy
单源复制:cp [OPTION]... [-T] SOURCE DEST 多源复制:cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE...
常用[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命令:删除
rm [OPTION]... FILE...
常用选项: -i:interactive -f:force -r:recursive 删除目录: rm -rf /PATH/TO/DIR 危险操作:rm -rf /* 注意:所有不用的文件建议不要直接删除,而是移动至某个专用的目录:(模拟回收站)
-
使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
-
文件的元数据信息都有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
元数据信息:
file:文件名;
size:文件大小
block:文件占了多少个数据块
IO Block:文件所占数据块的块大小
Device:硬件,既说明该文件在硬盘的那个柱面
Inode:文件Inode号,文件的索引节点号
links:链接
Access:文件权限
Uid:该文件所属的属主
Gid:该文件所属的属组
context:安全上下文
Access(第二个):文件上一次的访问时间
Modify:文件上一次修改的时间
Change:文件上一次属性更改的时间
查看文件元数据的方法:
**stat命令:**用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。
stat [OPTION]... FILE...
-L:支持符号连接; -f:显示文件系统状态而非文件状态; -t:以简洁方式输出信息; --help:显示指令的帮助信息; --version:显示指令的版本信息。
修改文件的时间戳方法:
touch命令:用于改变文件时间戳,如果文件不存在则创建一个空文件
touch [OPTION]... FILE...
-c:指定的文件路径不存在时不予创建: -a:仅修改access time: -m:仅修改modify time: -t STAMP: [[CC]YY]MMDDhhmm[.ss] 年月日时分秒 touch -m -t 200212010303.03
-
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
-
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
6. # 创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
7. # Linux上的常见的用户管理命令有哪些,并演示命令以及用法
useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、newgrp、chage、id、su
创建用户
useradd[options] LOGIN -u UID -o 配合-u 选项,不检查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 不创建家目录,用于非系统用户
删除用户
userdel[OPTION]... login -r: 删除用户家目录
用户属性修改
usermod[OPTION] login -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: 设定非活动期限
设置密码
passwd[OPTIONS] UserName: 修改指定用户的密码 -d:删除指定用户密码 -l:锁定指定用户 -u:解锁指定用户 -e:强制用户下次登录修改密码 -f:强制操作 -n mindays:指定最短使用期限 -x maxdays:最大使用期限 -w warndays:提前多少天开始警告 -iinactivedays:非活动期限 --stdin:从标准输入接收用户密码 echo "PASSWORD" | passwd--stdinUSERNAME
创建组
groupadd[OPTION]... group_name -g GID: 指明GID号;[GID_MIN, GID_MAX] -r: 创建系统组 CentOS 6: ID<500 CentOS 7: ID<1000
修改组 groupmod[OPTION]... group -n group_name: 新名字 -g GID: 新的GID
组删除 groupdel GROUP
更改组密码 gpasswd[OPTION] GROUP -a user 将user添加至指定组中 -d user 从指定组中移除用户user -A user1,user2,... 设置有管理权限的用户列表 临时切换主组
newgrp命令:如果用户本不属于此组,则需要组密码
修改用户密码策略 chage[OPTION]... LOGIN -d LAST_DAY -E --expiredateEXPIRE_DATE -I --inactive INACTIVE -m --mindaysMIN_DAYS -M --maxdaysMAX_DAYS -W --warndaysWARN_DAYS –l 显示密码策略 示例: chage-d 0 tom 下一次登录强制重设密码 chage-m 0 –M 42 –W 14 –I 7 tom chage-E 2016-09-10 tom
查看用户相关的ID信息 id [OPTION]... [USER] -u: 显示UID -g: 显示GID -G: 显示用户所属的组的ID -n: 显示名称,需配合ugG使用
切换用户或以其他用户身份执行命令 su[options...] [-] [user [args...]] 切换用户的方式: suUserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录 su-UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换 root su至其他用户无须密码;非root用户切换时需要密码 换个身份执行命令: su[-] UserName-c 'COMMAND' 选项:-l --login su-l UserName相当于su-UserName
用户相关的其他命令
chfn、chsh、finger
-
描述Linux目录结构一级目录结构命名规定
/:根目录,一般根目录下只存放目录,不要存放件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz 为 linux 的内核文件,以及 /boot/gurb。建议单独分区,分区大小100M即可
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11 存放与 x windows 有关的设置。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。
/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
-
显示/etc目录下,所有以.d结尾的文件或者目录
10. # 显示/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或者目录
-
创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
12. # 文件权限,属主属组管理命令有哪些,并演示命令以及用法
**权限的分类**
`r` 读权限:可以打开文件、目录读取查看;
`w` 写权限:对文件、目录可以编写更改
`x` 执行权限:对文件可执行(可执行文件)、对目录可查找该目录下的内容
`-` 没有权限
**权限所属对象**
**拥有者**:生成文件或目录时登录的当前人,权限最高,用`u`表示
**同组人**:系统管理员分配的同组的一个或几个人,用`g`表示
**其他人**:除拥有者,同组人以外的人,用`o`表示
**所有人**:包括拥有者、同组人及其他人,用`a`表示
**管理命令**
chmod、chown、chgrp
**修改文件权限**
chmod[OPTION]... OCTAL-MODE FILE...
-R: 递归修改权限
chmod[OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限:
u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限
u+ u-g+ g-o+ o-a+ a-+ -
chmod[OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE
**修改文件的属主和属组**
修改文件的属主:chown
chown[OPTION]... [OWNER][:[GROUP]] FILE...
用法:
OWNER
OWNER:GROUP
:GROUP
命令中的冒号可用.替换
-R: 递归
chown[OPTION]... --reference=RFILE FILE...
修改文件的属组:chgrp
chgrp[OPTION]... GROUP FILE...
chgrp[OPTION]... --reference=RFILE FILE...
-R 递归
-
创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为“Gentoo Distribution”