网站群站优化,广州网站建设oem,百度做网站电话多少,天津品牌网站建设1、Linux上的文件管理类命令都有哪些#xff0c;其常用的使用方法及其相关示例演示。1、1 cp复制命令单个文件复制#xff1a;cp [OPTION]... SOURCE DEST如果DEST不存在#xff0c;则事先创建文件#xff0c;并复制源文件数据如果DEST是非目录文件#xff0c;则覆盖目录文…1、Linux上的文件管理类命令都有哪些其常用的使用方法及其相关示例演示。1、1 cp复制命令单个文件复制cp [OPTION]... SOURCE DEST如果DEST不存在则事先创建文件并复制源文件数据如果DEST是非目录文件则覆盖目录文件如果DEST是目录文件则先在目录文件中创建同名的文件然后复制源文件数据多个文件复制cp [OPTION]... SOURCE... DIRECTORYcp [OPTION]... -t DIRECTORY SOURCE...如果DEST不存在报错如果DEST是目录文件则先在目录文件中创建同名的文件然后复制源文件数据示例将/etc目录下的issue文件复制到/tmp目录下并命名为issue.bak[rootnode01 tmp]# cp /etc/issue /tmp/issue.bak[rootnode01 tmp]# ls -l /tmp/issue.bak-rw-r--r--. 1 root root 23 12月 17 15:28 /tmp/issue.bak[rootnode01 tmp]#复制/etc目录至tmp目录下[rootnode01 tmp]# cp -R /etc /tmp/[rootnode01 tmp]# ls -ld /tmp/etcdrwxr-xr-x. 74 root root 8192 12月 17 15:51 /tmp/etc1、2 MV移动命令用法mv [选项]... [-T] 源文件 目标文件或mv [选项]... 源文件... 目录Rename SOURCE to DEST, 修改源文件名称至目标文件将issue.bak文件修改文件名为issue_20181217.bak[rootnode01 tmp]# ls -il issue.bak67538627 -rw-r--r--. 1 root root 23 12月 17 15:28 issue.bakmv issue.bak issue_20181217.bak[rootnode01 tmp]# ls -il issue_20181217.bak67538627 -rw-r--r--. 1 root root 23 12月 17 15:29 issue_20181217.bakmove SOURCE(s) to DIRECTORY移动源文件至目录将 test.tar.xz文件移动至test目录[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test test.tar.xz txt[rootnode01 tmp]# mv test.tar.xz test[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test txt[rootnode01 tmp]# ls -l test/test.tar.xz-rw-r--r--. 1 root root 1432 12月 13 21:02 test/test.tar.xz1、3 删除文件和目录用法rm [选项]... 文件...-f, --force 强制删除-r, 删除目录以及目录下的文件删除/tmp目录下的mem.txt文件[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak mem.txt read.sh test txt[rootnode01 tmp]# rm mem.txt[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak read.sh test txt删除/tmp目录下的txt目录及其中的文件[rootnode01 ~]# cd /tmp/[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak read.sh test txt[rootnode01 tmp]# rm -rf txt[rootnode01 tmp]# lsetc etc-2018-12-14-11.tar.xz issue.bak read.sh test1、4 tail命令用法tail [选项]... [文件]...Print the last 10 lines of each FILE to standard output.将文件的最后10行打印到标准输出-n 打印最后n行-f 打印随着文件的增长输出附加数据打印/etc/passwd文件最后一行[rootnode01 tmp]# tail -1 /etc/passwdsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin实时查看日志文件的变化输出[rootnode01 tmp]# tail -f /var/log/messages1、5 head命令用法head [选项]... [文件]...Print the first 10 lines of each FILE to standard output.将文件的开头10行打印到标准输出-n 打印开头n行打印/etc/passwd文件开头一行[rootnode01 tmp]# head -1 /etc/passwdroot:x:0:0:root:/root:/bin/bash1.6 find命令find [OPTIONS] [查找起始路径] [查找条件] [处理动作]查找起始路径指定具体搜索目标起始路径默认为当前目录查找条件指定的查找标准可以根据文件名、大小、类型、从属关系、权限等等标准进行默认为找出指定路径下的所有文件根据文件的从属关系查找-user USERNAME 找出属主指定用户的所有文件-group RPUNAME 找出属组指定用户的所有文件-uid UID 找出属主指定用户UID的所有文件-gid GID 找出属组指定用户GID所有文件根据文件的类型查找-type TYPEf 普通文件d 目录文件l 符合链接文件b 块设备文件c 字符设备文件p 管道文件s 套接字文件根据文件大小查找-size 。- unit常用单位kMG根据时间戳查找以“天”为单位-atime 访问时间-mtime 修改时间-ctime 改变时间以分钟为单位-amin-mmin-cmin组合测试与-a默认组合或-o非-not支持glob风格的通配符 *[][^]处理动作对符合查找条件的文件做出的操作例如删除等操作默认为输出至标准输出-print 输出至标准输出默认动作-ls 类似于对查找到的文件执行ls -l 命令输出文件的详细信息-delete 删除查找到的文件-fls 把查找到的所有文件的长格式信息保存至指定的文件中-ok command {} ; 对查找到的每个文件有command表示的命令每次操作需要用户确认-exec comomand {} ; 对查找到的每个文件有command表示的命令不需要用户确认注意find传递查找到的文件路径至后面的命令时是先查找出所有符合条件的文件路径并一次性传递给后面的命令但是有些命令不能接受过长的参数为了解决这个问题。用如下命令find | xargs command1、查找/var 目录下属主为root且属组为mail的所有文件或目录find /var -user root -a -group mail -ls2、查找/usr目录下不属于root,bin或hadoop的所有文件或目录用两种方法find /usr ! \( -user root -o -user bin -o -user hadoop \) -lsfind /usr ! -user root -a -user bin -a -user hadoop -ls3、查找/etc/目录下最近一周内其内容修改过的且属主不是root用户也不是hadoop用户出的文件或目录find /etc -mtime -7 -a ! -user root -a !-user hadoop -ls4、查找当前系统上没有属主或属组且最近一周内曾被访问过的文件或目录find / -nouser -a -nogroup -atime -7 -exec ls -l {} \;5、查找/etc目录下大于1M且类型为普通文件的所有文件find / -size 1M -type f -exec ls -l {} \;6、查找/etc目录下所有用户都没有写权限的文件find /etc ! -perm /222 -type f -exec ls -l {} \;7、查找/etc目录至少有一类用户没有执行权限的文件find /etc ! -perm -111 -type f -exec ls -l {} \;8、查找/etc/init.d/目录下所有用户都有执行权限且其它用户有写权限的所有文件find /etc -perm -113 -type f -exec ls -l {} \;2、mkdir目录创建mkdir [OPTION]... DIRECTORY...-p自动按需创建父目录-v显示详细过程-m直接给定权限注意路径基名方为命令的作用对象基名之前的路径必须得存在使用命令行展开功能创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b[rootnode01 tmp]# mkdir -pv /tmp/{a1/{a,b},a2}mkdir: 已创建目录 /tmp/a1mkdir: 已创建目录 /tmp/a1/amkdir: 已创建目录 /tmp/a1/bmkdir: 已创建目录 /tmp/a2[rootnode01 tmp]在/tmp目录下创建目录x_y, x_z, q_y, q_z[rootnode01 tmp]# mkdir -pv /tmp/{x,q}_{y,z}mkdir: 已创建目录 /tmp/x_ymkdir: 已创建目录 /tmp/x_zmkdir: 已创建目录 /tmp/q_ymkdir: 已创建目录 /tmp/q_z[rootnode01 tmp]#3、文件的元数据信息有哪些分别表示什么含义如何查看如何修改文件的时间戳信息。元数据metadate文件元数据包含inode(index node)、大小、权限、属主属组、时间戳、数据块指针查看元数据信息stat命令 用法stat [选项]... 文件...查看/etc/passwd文件的源数据[rootnode01 tom]# stat /etc/passwd文件/etc/passwd大小834 块8 IO 块4096 普通文件设备fd00h/64768d Inode67404619 硬链接1权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)环境system_u:object_r:passwd_file_t:s0最近访问2018-12-17 19:21:41.287000000 0800最近更改2018-12-17 19:21:28.354000000 0800最近改动2018-12-17 19:21:28.355000000 0800创建时间-修改时间戳touch命令 用法touch [选项]... 文件...touch修改文件时间戳如果没有该文件就直接创建文件-c指定文件路径不存在时不予创建-a仅修改访问时间-m仅修改更换时间-t指定更改时间创建abc.txt[rootnode01 tmp]# touch abc.txt查看当前时间戳[rootnode01 tmp]# stat abc.txt文件abc.txt大小0 块0 IO 块4096 普通空文件设备fd00h/64768d Inode67404626 硬链接1权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)环境unconfined_u:object_r:user_tmp_t:s0最近访问2018-12-17 20:19:15.462000000 0800最近更改2018-12-17 20:19:15.462000000 0800最近改动2018-12-17 20:19:15.462000000 0800创建时间-修改更改时间至2019-12-17 20:20:20[rootnode01 tmp]# touch -m -t 201912172020.20 abc.txt[rootnode01 tmp]# stat abc.txt文件abc.txt大小0 块0 IO 块4096 普通空文件设备fd00h/64768d Inode67404626 硬链接1权限(0644/-rw-r--r--) Uid( 0/ root) Gid( 0/ root)环境unconfined_u:object_r:user_tmp_t:s0最近访问2018-12-17 20:19:15.462000000 0800最近更改2019-12-17 20:20:20.000000000 0800最近改动2018-12-17 20:23:40.885000000 0800创建时间-4、在/tmp目录下创建以tfile开头后跟当前日期和时间的文件文件名形如tfile-2016-05-27-09-32-22。date命令用法date [选项]... [格式]给定的格式FORMAT 控制着输出解释序列如下%% 一个文字的 %%a 当前locale 的星期名缩写(例如 日代表星期日)%A 当前locale 的星期名全称 (如星期日)%b 当前locale 的月名缩写 (如一代表一月)%B 当前locale 的月名全称 (如一月)%c 当前locale 的日期和时间 (如2005年3月3日 星期四 23:05:25)%C 世纪比如 %Y通常为省略当前年份的后两位数字(例如20)%d 按月计的日期(例如01)%D 按月计的日期等于%m/%d/%y%e 按月计的日期添加空格等于%_d%F 完整日期格式等价于 %Y-%m-%d%g ISO-8601 格式年份的最后两位 (参见%G)%G ISO-8601 格式年份 (参见%V)一般只和 %V 结合使用%h 等于%b%H 小时(00-23)%I 小时(00-12)%j 按年计的日期(001-366)%k hour, space padded ( 0..23); same as %_H%l hour, space padded ( 1..12); same as %_I%m month (01..12)%M minute (00..59)%n 换行%N 纳秒(000000000-999999999)%p 当前locale 下的上午或者下午未知时输出为空%P 与%p 类似但是输出小写字母%r 当前locale 下的 12 小时时钟时间 (如11:11:04 下午)%R 24 小时时间的时和分等价于 %H:%M%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数%S 秒(00-60)%t 输出制表符 Tab%T 时间等于%H:%M:%S%u 星期1 代表星期一%U 一年中的第几周以周日为每星期第一天(00-53)%V ISO-8601 格式规范下的一年中第几周以周一为每星期第一天(01-53)%w 一星期中的第几日(0-6)0 代表周一%W 一年中的第几周以周一为每星期第一天(00-53)%x 当前locale 下的日期描述 (如12/31/99)%X 当前locale 下的时间描述 (如23:13:48)%y 年份最后两位数位 (00-99)%Y 年份%z hhmm 数字时区(例如-0400)%:z hh:mm 数字时区(例如-04:00)%::z hh:mm:ss 数字时区(例如-04:00:00)%:::z 数字时区带有必要的精度 (例如-0405:30)%Z 按字母表排序的时区缩写 (例如EDT)$(date 格式)引用时间格式作为变量创建文件名形如tfile-2016-05-27-09-32-22touch /tmp/tfile-$(date %Y-%m-%d-%H-%M-%S)[rootnode01 tmp]# ls -l tfile*-rw-r--r--. 1 root root 0 12月 17 17:46 tfile-2018-12-17-17-46-295、复制/etc目录下所有以p开头以非数字结尾的文件或目录到/tmp/mytest1目录中。[rootnode01 mytest1]# cp -R /etc/p*[^0-9] /tmp/mytest1[rootnode01 mytest1]# ls -l总用量 28drwxr-xr-x. 4 root root 4096 12月 17 19:12 pam.d-rw-r--r--. 1 root root 798 12月 17 19:12 passwd-rw-r--r--. 1 root root 837 12月 17 19:12 passwd-drwxr-xr-x. 12 root root 142 12月 17 19:12 pkidrwxr-xr-x. 4 root root 54 12月 17 19:12 plymouthdrwxr-xr-x. 7 root root 78 12月 17 19:12 pmdrwxr-xr-x. 4 root root 32 12月 17 19:12 popt.ddrwxr-xr-x. 4 root root 180 12月 17 19:12 postfixdrwxr-xr-x. 5 root root 149 12月 17 19:12 pppdrwxr-xr-x. 4 root root 104 12月 17 19:12 prelink.conf.d-rw-r--r--. 1 root root 233 12月 17 19:12 printcap-rw-r--r--. 1 root root 1795 12月 17 19:12 profiledrwxr-xr-x. 4 root root 273 12月 17 19:12 profile.d-rw-r--r--. 1 root root 6545 12月 17 19:12 protocolsdrwxr-xr-x. 4 root root 61 12月 17 19:12 python[rootnode01 mytest1]#6、创建用户tom,指定UID为5001指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom附加组为jack[rootnode01 mytest1]# getenforceEnforcing[rootnode01 mytest1]# setenforce 0[rootnode01 mytest1]# getenforcePermissive[rootnode01 tmp]# useradd -u 5001 -d /tmp/tom/ -G jack -s /bin/zsh tom[rootnode01 tmp]# grep tom /etc/passwdtom:x:5001:5001::/tmp/tom/:/bin/zsh[rootnode01 tmp]# grep tom /etc/groupjack:x:1000:tomtom:x:5001:[rootnode01 tmp]#7、常用的用户以及文件管理命令有哪些并演示命令以及用法。7、1 用户和组分类用户类别管理员普通用户登录用户系统用户用户标识UserIDUID16bits二进制数字0-65535管理员0普通用户1-65635系统用户1-499(Centos6)1-999(Centos7)登录用户500-60000(Centos6)1000-60000(Centos7)名称解析名称转换Username UID根据名称解析库进行/etc/passwd组类别1管理员组普通用户组系统组登录组组标识GroupIDGID管理员0普通用户1-65635系统用户1-499(Centos6)1-999(Centos7)登录用户500-60000(Centos6)1000-60000(Centos7)名称解析名称转换groupname GID根据名称解析库进行/etc/group组类别2用户的基本组用户的附加组组类别3私有组组名同用户名且只包含一个用户公共组组内包含多个用户7、2 用户和组管理命令组管理命令-groupadd 命令添加组语法groupadd [option]… group_Name选项-g GID 指定GID默认是上一个组的GID1-r 创建系统组-groupmod 命令修改组属性语法groupmod [option] group_Name选项-g GID:修改GID-n new_name:修改组名groupmod –n new_name old_name-groupdel 命令删除组语法groupdel [option] group用户管理命令-useradd 命令创建命令语法useradd [option] userName选项-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创建系统用户useradd -s /sbin/nologin该用户不能登录echo $SHELL 查看当前用户的 shell 类型useradd -M USERNAME创建用户但不创建家目录useradd -mk USERNAME创建用户的同时创建家目录并复制 /etc/skel 中的内容到家目录中。 如果用户没有家目录那么不能切换到该用户注意创建用户时的诸多默认设定配置文件为 etc/longin.defsUseradd –D显示创建用户的默认配置Useradd –D 选项修改默认选项的值修改的结果保存于/etc/default/useradd 文件中-usermod 命令修改用户属性语法usermod [option]… userName选项-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选项一同使用用于将原来的家目录移动为新的家目录例Usermod –d /tmp/newhome –m user_name-l, --login NEW_LOGIN修改用户名-s, --shell SHELL修改用户的默认shell-L, --lock锁定用户密码即在用户原来的密码字符串之前添加一个!-U, --unlock解锁用户的密码usermod -G -a GROUPS USERNAME在原有附加组的基础上追加附加组usermod -d PATH USERNAME修改家目录。修改后原先家目录中的文件不能访问了因为在当前的家目录中并不存在这些文件。-userdel命令删除用户语法userdel [option] userName选项-r删除用户时一并删除其家目录例1创建用户gentooUID为4001基本组为gentoo附加组为distro(GID为5000)和peguin(GID为5001)[rootnode01 ~]# groupadd -g 5000 distro[rootnode01 ~]# groupadd -g 5001 peguin[rootnode01 ~]# useradd -u 4001 -G distro,peguin gentoo[rootnode01 ~]# useradd -u 4001 -G distro,peguin gentoo[rootnode01 ~]# id gentoouid4001(gentoo) gid4001(gentoo) 组4001(gentoo),5000(distro),5001(peguin)例2创建用户fedora其注释信息为Fedora Core默认shell为/bin/tcsh[rootnode01 ~]# useradd -c Fedora Core -s /bin/tcsh fedora[rootnode01 ~]# grep fedora /etc/passwdfedora:x:4002:4002:Fedora Core:/home/fedora:/bin/tcsh例3修改gentoo用户的家目录为/tmp/gentoo要求其原有文件仍能被用户访问[rootlocalhost ~]# mkdir -p /tmp/gentoo[rootlocalhost ~]# usermod -m -d /tmp/gentoo Gentoo用户密码管理-passwd 命令修改用户的密码语法passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]passwd :修改用户自己的密码passwd USERNAME :修改指定用户的密码但仅root由此权限选项-l, -u锁定和解锁用户-d清除用户密码串-e DATE: 过期期限日期-i DAYS非活动期限-n DAYS密码的最短使用期限-x DAYS密码的最长使用期限-w DAYS警告期限--stdin设定用户密码为用户名echo PASSWORD | passwd --stdin USERNAME组密码管理-gpasswd 命令修改组密码组密码文件为/etc/gpasswd语法gpasswd [option] groupName选项-a USERNAME向组中添加用户-d USERNAME从组中移除用户7.3 文件权限管理命令-chmod用来变更文件或目录的权限。在UNIX系统家族里文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限设置方式采用文字或数字代号皆可。符号连接的权限无法变更如果用户对符号连接修改权限其改变会作用在被连接的原始文件语法chmod [OPTION]... MODE[,MODE]... FILE...chmod [OPTION]... OCTAL-MODE FILE...chmod [OPTION]... --referenceRFILE FILE...文件的三类用户u :属主g :属组o :其他a :所有(1) chmod [OPTION]... MODE[,MODE]... FILE...MODE表示法赋权表示法直接操作一类用户的所有权限位rwxu chmod urwx,grw,or f01goa授权表示法直接操作一类用户的一个权限位r,w,xu, u- chmod ux,gw fileg, g-o, o-a, a-(2) chmod [OPTION]... OCTAL-MODE FILE..chmod 764 file.(3) chmod [OPTION]... --referenceRFILE FILE...选项-R, --recursive递归修改注意用户仅能修改属主为自己的那些文件的权限-chown 命令: 改变某个文件或目录的所有者和所属的组该命令可以向某个用户授权使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户ID用户组可以是组名或组[id]文件名可以使由空格分开的文件列表在文件名中可以包含通配符。语法chown [OPTION]... [OWNER][:[GROUP]] FILE...chown [OPTION]... --referenceRFILE FILE...选项-R递归修改[rootnode01 tmp]# mkdir -p /tmp/gentoo_bak[rootnode01 tmp]# chown -R gentoo:gentoo /tmp/gentoo_bak/[rootnode01 tmp]# ls -ld /tmp/gentoo_bak/drwxr-xr-x. 2 gentoo gentoo 6 12月 18 17:19 gentoo_bak/[rootnode01 tmp]#-chgrp 命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。其中组名可以是用户组的[id]也可以是用户组的组名。文件名可以 是由空格分开的要改变属组的文件列表也可以是由通配符描述的文件集合。如果用户不是该文件的文件主或超级用户(root)则不能改变该文件的组。语法chgrp [OPTION]... GROUP FILE...chgrp [OPTION]... --referenceRFILE FILE...注意仅管理员可修改文件的属主和属组参数-R或——recursive递归处理将指令目录下的所有文件及子目录一并处理-v或——verbose显示指令执行过程--reference把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同将/tmp/gentoo_bak/及其子目录下的文件的组修改为rootchgrp –R root /tmp/gentoo_bak[rootnode01 tmp]# ls -l gentoo_bak/总用量 0-rw-r--r--. 1 gentoo root 0 12月 18 17:24 abc[rootnode01 tmp]# ls -dl gentoo_bak/drwxr-xr-x. 2 gentoo root 17 12月 18 17:24 gentoo_bak/思考用户对目录有写权限但对目录下的文件没有写权限时能否修改此文件内容能否删除此文件回答不能修改此文件但能删除此文件反向掩码-umask 命令文件的权限反向掩码遮罩码文件的权限反向掩码默认为666-umask目录的权限反向掩码默认为777-umask注意之所以文件用666去减表示文件默认不能拥有执行权限如果减得的结果中有执行权限则需要将其加1例若反向掩码umask为: 023则创建的文件的权限默认为666-023644创建的目录的权限默认为777-023754常用用户管理命令示例1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组要求其没有家目录且shell为/sbin/nologin尝试root切换至用户查看其命令提示符rootnode01 tmp]# useradd -M s /sbin/nologin mariadb[rootnode01 tmp]# id mariadbuid4003(mariadb) gid4003(mariadb) 组4003(mariadb)[rootnode01 home]# su - mariadbsu: 警告无法更改到 /home/mariadb 目录: 没有那个文件或目录This account is currently not available.2、新建用户user01要求其家目录为/usr/user01密码同用户名[rootnode01 usr]# useradd -d /usr/user01 user01[rootnode01 usr]# echo “user01” | passwd --stdin user013、为用户user01新增附加组mariadb;[rootnode01 ~]# usermod -aG mariadb user01[rootnode01 ~]# id user01uid4004(user01) gid4004(user01) 组4004(user01),4003(mariadb)[rootnode01 ~]#