重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3923|回复: 4
打印 上一主题 下一主题

[基础命令] 文件管理

[复制链接]
跳转到指定楼层
楼主
发表于 2020-1-12 19:24:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.cat命令用于连接文件并打印到标准输出设备上。
       使用权限:
             所有使用者
       语法格式
             cat [-AbeEnstTuv] [--help] [--version] fileName
       参数说明:
                   -n 或 --number:由 1 开始对所有输出的行数编号。
                   -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
                   -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
                   -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
                   -E 或 --show-ends : 在每行结束处显示 $。
                   -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
                   -A, --show-all:等价于 -vET。
                   -e:等价于"-vE"选项;
                   -t:等价于"-vT"选项;
       实例:
          把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
          cat -n textfile1 > textfile2
          把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
          cat -b textfile1 textfile2 >> textfile3
          清空 /etc/test.txt 文档内容:
          cat /dev/null > /etc/test.txt
          cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
          cat /dev/fd0 > OUTFILE
          相反的,如果想把 image file 写到软盘,输入:
          cat IMG_FILE > /dev/fd0

1. OUTFILE 指输出的镜像文件名。
2. IMG_FILE 指镜像文件。
3. 若从镜像文件写回 device 时,device 容量需与相当。
4. 通常用制作开机磁片。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2020-1-12 19:33:15 | 只看该作者
本帖最后由 橡皮草帽 于 2020-1-12 19:34 编辑

2.Linux/Unix是多人多工操作系统,所有的文件皆有拥有者。利用chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
一般来说,这个指令由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
       使用权限 :
             root
       语法
             chown [-cfhvR] [--help] [--version] user[:group] file...

       参数 :
             user : 新的文件拥有者的使用者 ID
             group : 新的文件拥有者的使用者组(group)
             -c : 显示更改的部分的信息
             -f : 忽略错误信息
             -h :修复符号链接
             -v : 显示详细的处理信息
             -R : 处理指定目录以及其子目录下的所有文件
             --help : 显示辅助说明
             --version : 显示版本
      实例
             将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
             chown runoob:runoobgroup file1.txt
             将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
             chown -R runoob:runoobgroup *
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2020-1-12 19:37:57 | 只看该作者
3.Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用chmod可以藉以控制文件如何被他人所调用。
       使用权限 :
             所有使用者
       语法
             chmod [-cfvR] [--help] [--version] mode file...
       参数说明
             mode : 权限设定字串,格式如下 :
             [ugoa...][[+-=][rwxX]...][,...]
       其中:
             u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
             + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
             r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
       其他参数说明:
             -c : 若该文件权限确实已经更改,才显示其更改动作
             -f : 若该文件权限无法被更改也不要显示错误讯息
             -v : 显示权限变更的详细资料
             -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
             --help : 显示辅助说明
             --version : 显示版本
       实例
             将文件 file1.txt 设为所有人皆可读取 :
             chmod ugo+r file1.txt
             将文件 file1.txt 设为所有人皆可读取 :
             chmod a+r file1.txt
             将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
             chmod ug+w,o-w file1.txt file2.txt
             将 ex1.py 设定为只有该文件拥有者可以执行 :
             chmod u+x ex1.py
             将目前目录下的所有文件与子目录皆设为任何人可读取 :
             chmod -R a+r *
             此外chmod也可以用数字来表示权限如 :
             chmod 777 file
      语法为:
             chmod abc file
      其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
             r=4,w=2,x=1
             若要rwx属性则4+2+1=7;
             若要rw-属性则4+2=6;
             若要r-x属性则4+1=5。
             chmod a=rwx file和chmod 777 file效果相同
             chmod ug=rwx,o=x file和chmod 771 file效果相同
             若用chmod 4755 filename可使此程序具有root的权限
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2020-1-15 18:27:56 | 只看该作者
4.file命令用于辨识文件类型。
      通过file指令,我们得以辨识该文件的类型。
      语法
             file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
      参数:
             -b  列出辨识结果时,不显示文件名称。
             -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
             -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
             -L  直接显示符号连接所指向的文件的类别。
             -m<魔法数字文件>  指定魔法数字文件。
             -v  显示版本信息。
             -z  尝试去解读压缩文件的内容。
             [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
      实例
         显示文件类型:
             [root@localhost ~]# file install.log
             install.log: UTF-8 Unicode text
             [root@localhost ~]# file -b install.log      <== 不显示文件名称
             UTF-8 Unicode text
             [root@localhost ~]# file -i install.log      <== 显示MIME类别
             install.log: text/plain; charset=utf-8
             [root@localhost ~]# file -b -i install.log
             text/plain; charset=utf-8
         显示符号链接的文件类型
             [root@localhost ~]# ls -l /var/mail
             lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
             [root@localhost ~]# file /var/mail
             /var/mail: symbolic link to `spool/mail'
             [root@localhost ~]# file -L /var/mail
             /var/mail: directory
             [root@localhost ~]# file /var/spool/mail
             /var/spool/mail: directory
             [root@localhost ~]# file -L /var/spool/mail
             /var/spool/mail: directory
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2020-1-16 09:41:03 | 只看该作者
5.find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
         语法
               find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
         参数说明 :
               find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
               expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
               -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
               -amin n : 在过去 n 分钟内被读取过
               -anewer file : 比文件 file 更晚被读取过的文件
               -atime n : 在过去n天内被读取过的文件
               -cmin n : 在过去 n 分钟内被修改过
               -cnewer file :比文件 file 更新的文件
               -ctime n : 在过去n天内被修改过的文件
               -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
               -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
               -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
               -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。
               d: 目录
               c: 字型装置文件
               b: 区块装置文件
               p: 具名贮列
               f: 一般文件
               l: 符号连结
               s: socket
               -pid n : process id 是 n 的文件
               你可以使用 ( ) 将运算式分隔,并使用下列运算。
               exp1 -and exp2
               ! expr
               -not expr
               exp1 -or exp2
               exp1, exp2
        实例
               将目前目录及其子目录下所有延伸档名是 c 的文件列出来。
               # find . -name "*.c"
               将目前目录其其下子目录中所有一般文件列出
               # find . -type f
               将目前目录及其子目录下所有最近 20 天内更新过的文件列出
               # find . -ctime -20
               查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
               # find /var/log -type f -mtime +7 -ok rm {} \;
               查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
               # find . -type f -perm 644 -exec ls -l {} \;
               为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
               # find / -type f -size 0 -exec ls -l {} \;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 08:39 , Processed in 0.099758 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表