Linux *** 作系统——Linux *** 作基础

Linux *** 作系统——Linux *** 作基础,第1张

Linux *** 作系统——Linux *** 作基础 1、Linux命令

        Linux系统为用户提供了一套完备的命令,这些命令可以有效地完成各种工作。Linux的命令由shell程序解释执行,所以也称其为shell命令。在使用Linux命令前首先要启动shell程序。

        shell启动完成后,显示命令提示符,提示用户可以输入命令了。对于普通用户,系统的默认提示符是“$”;对于root用户,系统的默认提示符是“#”。

        常用关机命令:shutdown now

        常用重启命令:reboot

1.1 命令的格式

        一条shell命令是由一到多个项组成的命令行,命令各项之间用空格分开。命令的一般格式如下:

        命令名 [选项一] [选项二]... [参数一] [参数二]...

        其中,命令名是命令的名称,表示要执行的 *** 作,通常为小写。选项是对命令的特别定义,指出怎么执行这个 *** 作,一般以 “-”开始。参数则是要 *** 作的对象或 *** 作数据。

例子:

rm -i abc

rm是命令名,表示删除文件 *** 作;-i是命令选项,表示删除前要提示用户确认;abc是命令参数,表示要删除的文件名称。另外,当一个命令带多个选项时,可以只用一个“-”连起来:

rm -i -v abc
可以写成:rm -iv abc
1.2 命令的输入与修改

        Shell命令是通过终端键盘输入的。输入命令时可以使用一些编辑键来修改输入错误,控制命令的执行。常用的Shell命令行编辑键:

按键功能Backspace、Delete、Ctrl+h删除字符Ctrl+u删除整行续行符,用于跨行输入长命令Tab命令补齐↑、↓翻找命令历史记录←、→前后移动光标 1.3 命令的执行

        命令输入完成后,就可按Enter键提交给Shell运行。运行结果通常显示在屏幕上。运行完毕后,Shell重新显示命令提示符,准备接受下一条命令。

        在命令执行过程中,如果输出的信息太多太快,可以按Ctrl+s暂停滚屏。之后按下任意键即可恢复滚屏。用户还可以按Ctrl+c终止命令的运行。

        常用的Shell命令运行控制键。

按键功能Eenter、Ctrl+j、Ctrl+m提交命令运行Ctrl+c终止命令运行Ctrl+s暂停屏幕输出 1.4 命令的分类 

        按照实现方式的不同,Shell命令分为内部命令和外部命令两种。内部命令全部由Shell程序自身提供,外部命令由一个个单独的程序实现。内部命令通常对应的是比较简单、使用频繁的功能,而外部命令则往往完成比较复杂或耗时的功能。

        按照命令功能的分类,Shell命令可以大致分为以下几类:

  • 文件、目录 *** 作;
  • 文本编辑与处理;
  • 备份于压缩;
  • 系统监控与管理
  • 网络通信
  • 其他
1.5 简单命令    who命令——显示以登录的用户

【格式】who [选项] [am i]

【选项】-H 显示各列的标题

              -q  显示登录的用户名和用户数

【参数】带有参数am i时,显示自己的登录信息。

【说明】显示内容分为4列:用户名、登录的终端名、登录时间和备注。有-q时,只输出用户名和用户数。

echo命令——显示命令行中的参数字符串

【格式】ehco [选项] [字符串]...

【选项】-n   输出字符串后光标不换行

【说明】如果字符串中含有空格,用引号将字符串括起来,echo将按原样输出这个字符串,否则空格将被看做是多个字符串间的分隔符,echo依次输出这些字符串,中间用一个空格隔开。

date命令 ——显示、设置系统日期和时间

【格式】data [选项] [+格式]

【选项】-s    设置时间和日期

              -u    使用格林威治时间

【参数】格式是由格式控制符和其他字符构成的字符串。当格式字符串中有空格时,要用‘’或“”将格式字符串括起来。常用的格式控制字符如下:

%r  用hh:mm:ss AM/PM(时:分:秒 上午/下午)显示12小时制时间;

%T  用hh:mm:ss(时:分:秒)显示24小时制时间;

%a  显示星期的缩写

%A  显示星期的全称;

%b  显示月份的缩写;

%B  显示月份的全程;

%m 用2位数字显示月份;

%d  用2位数字显示日期;

%D 用mm/dd/yy(月/日/年)显示日期;

%y  用2位数显示年份;

%Y  用4位数显示年份;

【说明】不带选项和格式参数时显示当前日期与当地时间,显示格式:星期/月/日/时间/时区/年

 cal命令——显示月份和日历

【格式】cal [月份] [年份]

【参数】月份是1~12的数字,年份是1~9999的数字。

【说明】若带有一个参数,则该参数被解释为年份;若带有两个参数,则第一个表示月份,第二个表示年份。不带参数时,显示当年当月的日历。

 1.6 联机帮助

        Linux命令多达数千个,其中常用的和比较常用的命令也有几百个,每个命令还有许多选项。不过,用户通常只需掌握几十种常用命令及选项,其他的命令及详细的用法可以在必要时通过命令的联机帮助查看,获得联机帮助的方式有以下几种:

1. --help选项

        许多Linux命令都提供了一个--help选项执行带有--help选项的命令将显示该命令的帮助信息。例:date --help将显示date命令的帮助信息。

2.man命令 

        Linux系统配备了一个联机手册,每条Linux命令对应有相关的手册页。手册页是对命令最详细、最权威的解释,因此是学习和使用Linux命令的必不可少工具。

        每个命令手册主要包括以下几个部分:

NAME  命令的名称和功能

SYNOPSIS  命令的语法格式,所有可用的选项及参数

DEscriptION  命令的详细用法及每个选项的功能。

OPTIONS  对命令的每个选项的详细说明。

【功能】显示联机手册

【格式】man命令名

【说明】在浏览时,用以下按键翻页、查找、和退出:

        PageUp、b  向上翻一页

        Pagedown、Space  向下翻一页

        ↑  向上滚一行

        ↓ 向下滚一行

        /string  在手册页中查找字符串string

        n  查找下一个字符串

        q  退出

3.info命令

        除了联机手册外,Linux系统还提供了大多数命令的超文本形式的联机文档,可用info命令浏览。info命令与man命令的用法类似,但浏览起来更方便。

2、Linux文件 *** 作

        文件系统时Linux的基本组成部分。Linux系统运行所依赖的各种程序和数据都以文件形式存储在磁盘上的文件系统中。

        文件系统统一存储和管理所有的文件,用户通过文件名来访问和使用文件系统中的文件。文件系统中的所有文件通过目录的形式组织和存放。目录时一种特殊的文件,其内容是该目录下的一组文件(包括子目录)的信息。目录将所有的文件分层分枝组织在一起,形成文件系统的树型结构。

        用户使用Linux系统的最基本的 *** 作就是对文件和目录的 *** 作。与Windows系统相同,Linux系统提供了在图像窗口界面 *** 作文件的便利手段。不过,在Linux系统中,最基本和有效的 *** 作文件的方法是使用命令。因此,用户应该熟练掌握命令方式 *** 作文件的方法。

2.1Linux系统的文件 1.文件的命名

        Linux文件名的最大长度是255个字符,通常由字母、数字、“.”、“_”、“-”字符组成。以.开头的文件是隐含文件(在通常的文件列表时不显示)

        文件名中不能含有“/”和空字符“”,因为它们对Linux内核具有特殊含义。文件名中也不应含有以下字符:

 ;  |  <  >  `  “  ‘  $  !  %  &  *  ?    (  )  [  ]

2.文件名通配符

(1)模式与通配符       

        当命令需要对多个文件进行 *** 作时,逐个写出每个文件名时件很麻烦的事,在这种情况下,使用模式可以简化对文件名的描述。

        当我们需要指定具有某种特征的多个文件名时,可以用一个表示文件名的字符串模式来描述。字符串模式由普通的字符和一些具有特殊含义的字符组成,这些特殊的字符称为通配符。不是代表某个具体的字符,而是代表多种选择。

(2)基本的通配符与匹配规则

  1. ?:匹配任意的单个字符。如模式“abc??”匹配所有以abc开始,后面两个任意字符的字符串
  2. *  :匹配0或多个任意字符(隐含文件的前缀"."字符除外)。如模式“abc*”匹配所有以abc开始的字符串,模式“*abc”匹配所有以abc结尾的字符串,但不匹配".abc"
  3. [] :匹配方括号中列出的字符集合中的任何单个字符。方括号与问号相似,只匹配单个字符。不同的时,问号与任何一个字符匹配,而方括号之于括号内的字符集合中的一个匹配

字符集合的描述方法有以下几种:

  • 列举:逐个列出各个字符,如[abc]表示由a、b、c三个字符构成的字符集合。
  • 范围:用“-”描述字符范围,如[a-z]表示由所有小写字母构成的集合。注意,范围内的字符按升序排列,因此[z-a]是无效的。可以指定多个范围,如[A-Za-z]表示所有英文字母。
  • 排除:用“!”排除字符,如[!A-Z]表示除大写字母之外的所有字符组成的字符集合。例如,模式“abc[123]”匹配所有以abc开始,后面是1、2或3的字符串;模式“abc[0-9]”匹配所有以abc开始,后面是一个数字的字符串;模式“abc[!0-9]”匹配所有以abc开始,后面是一个非数字字符串的字符串。
例:设现有的字符串是12个月份的英文单词,它们与以下模式匹配的结果是:

模式“ju??”       匹配以ju开头,后面接两个字符的字符串,即june和july

模式“???”        匹配长度为3的字符串,即May

模式“*ber”       匹配以ber结尾的字符串,即Septem、October、November、December

模式“?[ce]”      匹配第二个字符是c或e的字符串,即February、Septem、October、December

例:命令参数的模式置换

设现有的文件的文件是hoc、hoc.c、hoc.h、hoc.o、init.c、init.o、math.c 则命令echo *.c 的运行结果如下:

        echo *.c 实际运行echo hoc.c init.c math.c 

        输出   hoc.c init.c math.c

这个echo命令的输出不是参数字符串“.c”,而是所有的以.c结尾的文件名。这是因为当完成模式替换后,这个echo命令的实际运行参数是"hoc.c init.c math.c"

例:

        设当前的目录下存放了一部书稿的所有文件。书稿分为12章,每章分为若干节,每节对应一个文件,文件的命名规则为“ch章号.节号”,如ch1.1,ch1.2,ch1.3,...,ch2.1,ch2.2,...,ch12.1,ch12.2,...,则以下echo命令执行的结果分别是:
  $ echo ch*  显示全书的所有文件名;
  $ echo ch3.*  显示第3章的所有文件名;
  $ echo ch?.*  显示1~9章的所有文件名;
  $ echo ch??.*  显示10~12章的所有文件名;
  $ echo ch[146-8]*  显示第1、4、6、7、8、10、11、12章的所有文件名;
  $ echo ch*.1  显示所有章的第1节的文件名。      

3. 文件的类型

        常规意义上的文件是那些用于保存数据的文件,如由ASCll字符构成的文本文件、由应用程序产生的数据文件以及由编译程序生成的可执行文件等。此外,Linux系统还定义了一些特殊类型的文件,它们在系统中具有特殊的用途。

        Linux系统支持以下文件类型(括号内是表示该类型的字符):

  • 普通文件(-):普通意义上的文件,用于保存文本、数据或程序等信息
  • 目录文件(d):一种特殊文件,用于构成文件系统的树型结构。
  • 设备文件(c、b):Linux系统将设备看做是一种特殊文件,设备文件分为字符设备文件(c)和块设备文件(b)两类
  • 符号链接文件(l):一种特殊文件,它的内容是到另一个文件的链接,用于实现文件的共享。
  • 管道文件(p):一种特殊文件,用于在进程间传递数据。
4. 文件的归属关系

        Linux是一个多用户的系统,每个用户都要在系统中存放自己的文件。为了管理的需要,系统要能够区分文件的归属关系。Linux系统中的每个文件都要有两个描述其归属关系的属性,这就是属主(owner)和属组(group owner)。

        文件的属主就是文件的所有者,通常是建立文件的用户,用其用户名标识。例如:用户zhao建立的文件的属主就是zhao。

        为便于管理,Linux系统将用户划分为用户组。文件的属组就是文件属主所在的用户组,用组名标识。例如:用户zhao所在的用户组是guest,则他所建立的文件的属组就是guest。

5. 文件的访问权限

        在多用户的系统,文件的保密和安全性至关重要。为防止文件被非法地使用或破坏,系统使用权限来限制用户对文件的访问。

1)文件的访问权限

        文件权限用于规定对一个文件所能进行的 *** 作。通常访问文件的 *** 作分为读、写、执行。

访问权限字符表示含义读权限r可读取其内容写权限w可修改其内容执行权限x可执行其内容无权限-不能做相应的 *** 作

        当对一个文件执行一个未被授权的 *** 作时,系统会拒绝执行,并显示“Permission denied”的消息 。

2)文件的权限范围

        在Linux系统中,一个一个文件会被多个用户使用。如果不加以区分地对所有用户设置相同的文件访问权限,则难以满足不同用户对文件的不同需求和权力。

        Linux系统将每个文件的用户分为属主(user)、组用户(group)和其他人(other),权限范围的划分及字符表示如图:

权限范围针对的用户字符表示属主文件的拥有者,通常是创建文件的用户u组用户文件的属主所在的用户组中的其他用户g其他人除文件属主和组用户外的其它系统用户o其他人以上3类用户的总和a

注意:root用户不受访问权限的限制。

3)文件类型与权限表示法

        文件的类型与权限是文件的重要属性,通常采用字符表示法表示,即用10个字符的字符串表示文件的类型和权限,如图:

         其中,第一个字符表示文件的类型,取值有:

  • 普通文件(-):普通意义上的文件,用于保存文本、数据或程序等信息
  • 目录文件(d):一种特殊文件,用于构成文件系统的树型结构。
  • 设备文件(c、b):Linux系统将设备看做是一种特殊文件,设备文件分为字符设备文件(c)和块设备文件(b)两类
  • 符号链接文件(l):一种特殊文件,它的内容是到另一个文件的链接,用于实现文件的共享。
  • 管道文件(p):一种特殊文件,用于在进程间传递数据。

后九个字符表示访问的权限,3个为一组,分别表示u,g,o的读、写和执行权限。若某权限范围的用户有某权限,则对应的位上有该权限字符r、w、x;没有则用 “ - ”表示。

例如:某文件的类型和权限字符串是drwxr-x---,表面这是一个目录文件,他的属主对应的3个字符串是rwx,表示属主有可读,可写,可执行的权限;组用户对应的3个字符是r-x,表示组用户有可读,可执行,不可写的权限;其他人对应的字符是---,表示其他人对该目录没有任何权限。

        文件的访问权限还要另一种表示非法,就是数字表示法。规则是:用数字1或0来表示权限字符,有相应的权限的位为1,无权限的位为0,形成一个9位长的二进制数,用3位八进制数字来表示。例如:字符表示是rwxr-x---,数字表示就是750;字符表示是rwx--x--x,数字表示就是711。

rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0

4)文件权限的作用

        文件权限限制了对文件的访问 *** 作。正确地设置文件权限可以允许正常的访问 *** 作,同时阻止不同期望的访问。下表显示了访问权限对普通文件和目录文件的限制作用

访问权限字符表示对文件的访问限制对目录的访问限制读权限r可读取其内容可列出其中的文件列表写权限w可修改其内容可在其中建立,删除,或改文件名执行权限x可执行其内容可进入该目录,可访问该目录下的文件

        访问权限对普通文件的作用容易理解,需要注意的是权限对目录的限制作用。目录其实也是一个文件,只不过他的内容不是记录普通数据,而是其下的文件的列表数据。因此,显示目录中的文件列表就是对目录文件的读 *** 作,改变目录下的文件列表就是对目录的写 *** 作,进入目录或其下子目录就是对目录文件的执行 *** 作。因此,对文件的删除权由其所在目录的w权限决定(当然还要有x权),而不是文件本身的ww权限决定的。

        另外,Linux系统规定非空目录不能删除。而空目录等同于文件,它的删除权取决于他的上一级目录的w权。

例:设有如下3ge目录及其各自下属的三个文件,这些文件的删除权如下:

        目录1:drwxr-x--x

                文件1:-rwxr-xr-x           目录的属主可删除

        目录2:drwxrwxrwx

                文件2:-rwx------             任何人都可删除

        目录3:dr-x------

                文件3:-rwxrwxrwx          只有目录属主可看到,任何人不可以删。

2.2 Linux系统的目录

        在Linux系统中,目录是一种特殊的文件,其内容是目录中所包含的文件和子目录。在访问一个文件时,需要先找到它所在的目录,再通过目录中记录的文件信息找到文件。

1.目录结构

        Linux的文件系统采用了树型目录结构,文件系统的根目录称为root目录。根目录下建有多个子目录,。root为树的根节点,目录是树中的分枝节点(图中矩形表示),文件是树中的叶子节点(图中椭圆表示)

 2.根目录与当前目录

        根目录是一个特殊的目录,用" / "表示。它是整个文件系统的唯一根,系统中的所有文件都在它及其下属的子目录中。

        用户在系统中工作时,始终处在某个目录中,此目录称为当前目录。用户可以通过改变当前目录来变换其在文件系统中的位置。当前目录用" . "表示;当前目录的父目录用" .. "表示。每个目录(包括空目录)中至少有" .. "和" . "这两个隐含文件。但根目录中的" .. "和" . "都是指其自身。

3.路径

        路径是文件在目录树中所处的位置。在文件进行 *** 作时,除需指名文件名外,还须指明该文件的路径名。路径的表达方法是将若干个目录名连结起来,中间用斜杠" / "分开。

        根据起点的不同,路径分为绝对路径和相对路径两种。绝对路径都是以" / "开头的,并且是唯一的。例如:/home/zherry/project

        相对路径是从当前目录沿目录树到文件所在目录的路径。例如:若当前目录的绝对路径是 /homo/zherry/project ,则../book是一个相对路径,他的绝对路径是/homo/zherry/book。

        在Linux命令中,用 " 路径/ "+"文件名" 来唯一指定一个文件。也包括目录文件,当使用相对路径时,可在路径前加 " ./ " 前缀,也可以省略

4.用户主目录

        用户刚登录到系统中时所处的目录称为主目录,系统默认的用户主目录是/home/user-id

2.3  常用的目录 *** 作命令

        Linux系统提供了一些专门针对目录进行 *** 作的命令,常用的是建立、删除、查看和改变目录

功能分类命令建立、删除目录mkdir、rmdir显示、改变当前目录

pwd、cd

显示目录内容ls pwd命令——显示当前目录的绝对路径

【格式】pwd

cd命令——改变当前目录为指定的目录

【格式】cd [目录]

【说明】不指定目录参数时,进入用户的主目录

ls命令——显示指定文件或指定目录中的所有文件的信息

【格式】ls [选项] [文件或目录] ···

【选项】-a    显示所有文件及目录,包括隐藏文件  .  及  .. 目录

-R   递归显示下层子目录

-F   显示文件类型描述符(*为可执行的普通文件,/为目录文件)

-d   显示目录的信息而非其内容

-u   显示文件的最近访问时间,与-l连用

-c   显示文件的最近变更使劲按,与-l连用

-t    按文件修改时间排序显示

-l    按长格式显示文件详细信息

【说明】(1)参数为普通文件时,显示指定的文件的信息;参数时目录时,显示指定目录下的文件列表信息(除非有-d选项);未指定文件或目录时,显示当前目录中的文件列表信息。

        (2)不带选项时,按字母顺序列出目录中所有非隐藏文件的文件名

        (3)长格式显示时,每个文件的信息占一行,格式如下:

文件类型与权限  链接数  属主名  文件大小  最近修改时间  文件名

        为了分类保存文件,用户可以建立最近的目录。建立目录用mkdir;删除目录用rmdir

mkdir命令——建立目录

【格式】mkdir [选项] 目录···

【选项】-m  权限,按指定权限建立目录

-p  递归建立目录。即,若目录的父目录不存在,则一并建立其父目录。

【说明】未指定目录权限时,默认权限为777-创建掩码

rmdir命令 ——删除目录

【格式】rmdir [选项] 目录···

【选项】-p  递归删除目录,即当子目录删除后其父目录为空时,也一同被删除

【说明】若目录不空,则删除 *** 作不能成功

2.4 常用的文件 *** 作命令

        Linux系统提供了丰富的文件 *** 作命令,可以完成各种各样的文件 *** 作。而且,大部分文件 *** 作命令也适用于目录文件。

功能分类

命令

文件显示cat、more、less文件复制、删除和移动cp、rm、mv文件内容的统计与排序wc、sort改变文件的读取权限chmod改变文件的时间标签touch设置文件掩码umask文件查找、搜索find、grep 1.文件的显示 cat命令 ——显示文件内容

【格式】cat [选项] [文件]

【选项】-A  显示所有的字符,包括换行符、制表符及其他非打印字符

-n  对输出的所有进行编号并显示行号

-b  和-n相似,但对于空白行不编号

-s  将连续的空白行压缩为一个空白行

【说明】指定多个文件时,依次显示各个文件;未指定文件时,读标准输入并显示。cat在显示输出时不会停下来,因此对长文件不好用1.要浏览长文件的内容,可用more或less命令。

more命令——分屏显示文件内容

【格式】more [选项] [文件] 

【选项】-p  不滚屏

-s  将连续的空白行压缩为一个空白行

+n 由第n行开始显示

+/str  由含有str字符串的地方开始显示

【说明】浏览时可用如下键进行控制,浏览到末页后自动退出。未指定文件参数时,默认为标准输入。

按键功能Enter向下翻一行Space向下翻页b向上翻页/string查找字符串stringn查找下一个字符串q退出 less命令——交互式浏览文件内容

【格式】less [选项] 文件

【选项】与more相似

【说明】浏览时可以用PageUp、PageDown上下翻页,用↑、↓滚行,其他键与more相同

2.文件的复制、移动与删除 cp命令——复制文件

【格式】cp [选项] 源文件 目标文件 

               cp [选项] 源文件 目标目录

【选项】-i  交互模式,当目标文件存在时,提示是否覆盖,输入y或Y覆盖,其他字符不覆盖

-r  递归复制目录

-b  为被覆盖的文件建立备份,备份文件的名称时原文件名后加~

-f  强制复制。即如果目标文件存在且打不开,则先删除它,然后在复制

-p  保持文件原有属性

-v  显示 *** 作结果

【说明】若只有两个参数,且参数2不是已存在的目录,则将参数1指定的文件复制到参数2指定的文件;若参数2时已存在的目录,则将参数1指定的文件复制到该目录下,文件名不变。若多于两个参数,且最后一个参数是已存在的目录,则将前面参数指定的文件复制到该目录下,文件名不变;若多于两个参数,且最后一个参数不是已存在的目录则报错。

rm命令——删除文件

【格式】rm [选项] 文件

【选项】-f  忽略不存在的文件,不做提示

-i  删除前提示用户确认

-r  递归删除目录

-v  显示 *** 作结果

【说明】若参数是目录文件,需要有-r选项,否则报错。

注意:用rm命令删除的文件是永久删除,无法恢复。因此,要谨慎使用rm命令,尤其是用通配符时。例如:rm -r *.bak命令删除当前目录下所有带有“.bak”后缀的文件。若在“*”后面误敲了一个空格,变成rm -r * .bak,这将清除当前目录下的所有文件。所以,在使用带通配符的参数时,先用echo验证一下参数,以免因模式写错造成不期望的结果。

mv命令——移动文件、重命名文件

【格式】mv [] 源文件 目标文件

               mv [] 源文件 ··· 目标文件

【选项】-i  覆盖前提示用确认

-f  不提示用户确认,直接覆盖

-b  为被覆盖的文件建立备份。备份文件的名称是源文件后加~

-v  显示 *** 作结果

【说明】若只有两个参数,且参数2不是已存在的目录,则将参数1指定的文件移动到参数2指定的文件;若参数2是已存在的目录,则将参数1指定的文件移动到该目录下,文件名不变。若多于两个参数,且最后一个参数是已存在的目录,则将前面参数指定的文件移动到该目录下,文件名不变;若多于两个参数,且最后一个参数不是已存在的目录则报错。

3.文件内容的统计与排序 wc命令——显示文件的字节数、字数和行数

【格式】wc [选项] [文件]

【选项】-c  只统计字节数

-l  只统计行数

-m  只统计字符数

-w  只统计字数

【说明】未指定选项时,显示行数、字数和字符数;未指定文件是,读取标准输入文件

,注意:换行符"  n "也会被统计在内。

sort命令——对文本文件中的各行按字符顺序排序并显示

        sort命令是个常用的文字处理命令,它将文本文件的各行按ASCII字符顺序由小到大排序,并输出排序后的结果。

【格式】sort [选项] [文件]

【选项】-b  忽略开始的空白

-d  只考虑字母、数字和空格

-f  忽略大小写

-kn  指定从第n个字段开始的内容作为排序关键字

-r  逆序排列

【说明】未指定文件时,读标准输入文件

4.改变文件属性 chmod命令——修改文件或目录的存取权限

【格式】chmod [选项] [数字权限模式] 文件

              chmod [选项] [字符权限模式表达式] 文件 

【选项】-R  递归地改变指定目录及其下的文件和子目录的权限属性

【说明】(1)字符权限模式表达式的格式是:<权限范围><操作><权限字符>

权限范围:u 属主,g 组用户,o 其他用户,a 所有用户

*** 作:+ 增加权限,- 取消权限,= 赋予权限

 权限字符:r 读,w 写,x 执行

如:u=rw 表示文件属主赋予读/写权限

(2)多个表达式之间用逗号分隔,且不能有空格。如 u=rw,g-r

(3)只有文件的属主和root有权限修改文件的权限

touch命令——修改文件的修改时间和访问时间的时间标签为现在时间 

【格式】touch [选项] 文件

【选项】-a  仅改变文件的访问时间

-m  仅改变文件的修改时间

-c  文件不存在时,不创建文件

-t STAMP  使用STAMP指定的时间标签,而不是系统现在时间

【说明】若指定的文件不存在,就建立一个新的空文件(除非使用-c选项)

5.设置文件掩码 umask命令——设置、显示文件创建时的权限掩码

【格式】umask [选项] [掩码]

【选项】-S  以字符形式显示掩码对应的权限

【说明】若指定了掩码,则将该掩码作为新创建文件的权限掩码。若未指定掩码,则显示现在的权限掩码。

 第1个不带参数的umask命令显示当前的掩码值;后面的 *** 作显示了掩码对于新建的文件和目录的初始权限的作用。第2个umask命令将掩码设置为007,并用字符方式显示掩码作用后的默认权限。其后的 *** 作显示了掩码对于新建立的文件的作用。

6.文件查找与搜索 find命令——从指定的目录开始向下查找满足条件的文件,并对找到的文件执行指定的 *** 作

【格式】find [目录]···[表达式] [ *** 作]

【表达式】表达式用于指定搜索的条件。可以指定多个条件,各条件表达式之间用逻辑运算符连接,缺省的运算符是与(-a)运算

        -name 文件名——查找与指定的文件名匹配的文件。可使用通配符来构造文件名模式,带有通配符时要用' ' 或 " " 将模式字符串括起来,如:'*.txt'

        -user 用户名——查找指定用户所拥有的文件。

        -group 组名——查找指定的组所拥有的文件

        -mtime [+-]n——查找在n天前修改过的我呢见。"+n"表示超过n天;"-n"表示不超过n天;"n"表示正好n天

        -atime [+-]n——查找在n天前访问过的文件

        -ctime [+-]n——查找在n天前变更过的文件

         -mmin[+-]n ——查找在n分钟前修改过的文件。“+n”表示超过n分钟,“-n”表示不超过n分钟,“n”表示正好n分钟。
    -amin [+-]n——查找在n分钟前访问过的文件。
    -cmin [+-]n——查找在n分钟前变更过的文件。
    -type x——查找类型为x的文件。x是表示文件类型的字符(f为普
        通文件、d为目录、b为块设备文件、c为字符设备文
        件)。
    -size [+-]n[bckM]——查找大小为n的文件,后面的字符表示单位。
           c为字节,b为块(512 B),k为千(1024 B)字节,
           M为兆(1024 KB)字节。缺省为b。“+n”表示超过n,“-n”表示不超过n,“n”表示正好n。
    -a、-and——与运算符。
    -o、-or——或运算符。
    !、-not——非运算符。

【 *** 作】 *** 作用于指定对搜索到的文件进行的处理

-print  显示找到的文件名

-ls  显示文件的详细信息

-exec 命令 {} ;  对找到的文件执行指定的命令

-ok 命令 {} ;  与exec相同,只是执行命令时提示用户确认

【说明】未指定搜索条件时,显示目录下的所有文件,包含隐藏文件。未指定目录时,默认为当前目录。未指定 *** 作时,缺省的 *** 作是-print。

grep命令——在文本文件中查找与指定模式匹配的字符串,显示含有匹配字符串的行

【格式】grep [选项] 模式 [文件]

【选项】-v        列出不包含匹配字符串的额行

-c        不显示匹配的行,只列出匹配的行数

-l        只显示含有匹配字符串的文件名

-r        递归地搜索目录下的所有文件和子目录

-n        在每个匹配行前加行号显示

-i        匹配是不区分大小写。如"may"可匹配may、May和MAY

-w        匹配整个单词,而不是单词的一部分。如:"magic"只匹配magic,而匹配不到magical

【说明】(1)未指定文件时,读标准输入文件。

(2)模式中可以使用如下特殊字符,带有特殊字符或空格符时,需将模式字符串用" "或' '括起来:

        [ 、]指定匹配字符的范围。如模式“[Mm]ain”匹配Main和main。

        <、> 标注词首与词尾。如模式“”匹配man和Batman,但不匹配 manic。

        ^、$ 标注行首与行尾。如“^The”匹配行首的The,而不匹配其 他位置的The。

        |     表示模式间的或关系。如“Saturday|Sunday”匹配Saturday或 Sunday。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5436006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存