Linux相关知识

1.文件名
文件名是用来标识文件的字符串,它被保存在文件目录项中。Linux操作系统是区分大小写的。除非有特殊的原因,否则用户创建的文件和目录都使用小写字符,大多数Linux命令也都是小写字符的。

1.1 文件命令规则
文件名应尽量的短,并且能反应文件的内容,且不易过长。在Linux操作系统中文件名的长度最多可达256个字符,除斜线(“/”)和空字符(“\0”)以外,文件名可以包含任意的ASC II字符,因为那两个字符被操作系统当作表示路径名的特殊字符来解释。习惯上允许使用下划线“_”和句号“.”来区别文件的类型,使文件名更易读。

1.2 通配符
为了能一次处理多个文件,shell提供了几个特殊的字符,称为文件名的通配符(也称作扩展字符)。使用通配符可以让shell查询与特别格式相符的文件名,以简短的标记访问长文件名,这些主要的文件名通配符有“*”,“?”“[]”。

1.2.1 星号“*”
与0个或多个任意字符相匹配,即星号代表任意多个存在的匹配字符。例如,le*可以代表letter、lease、或le。星号匹配的是当前目录下的所有文件,但以点”.“开头的隐藏文件除外。“.*”则只与隐藏文件匹配。

1.2.2 问号“?”
问号只与一个任意的字符匹配,可以使用多个问号。例如,file?与文件file1、file2匹配,但是不与file、file10匹配;而file.???与文件file.rmb、file.txt匹配,但不与文件name.od匹配。

1.2.3 中括号“[]”
中括号的作用与问号类似,只与一个字符匹配。它们的区别在于,问号与任意一个字符匹配,而方括号只与括号中列出的字符之一匹配。例如,File[123]只与文件File1、File2或File3匹配,但不与文件File12匹配。还可以用短横线代表一个范围内的字符,而不用将它们一一列出。如letter[1-3]是letter[123]的简写形式,但是,要注意范围内的字符都按升序排列,即[A-Z]是有效的,而[Z-A]是无效的。方括号中可以列出多个范围,如[A-Za-z]可以和任意大写或小写的字符相匹配。方括号中如果以叹号“!”开始,表示不与惊叹号后的字符匹配,如File[!1]表示不与文件File1匹配。

1.3 常见的文件类型
Linux操作系统中支持5种文件类型,它们是常见文件、普通文件、目录文件、连接文件和设备文件等。各种文件在Fedora操作系统中有不同的表示方式,而目录文件与常见文件有点不同的区别。

1.3.1 文件类型的表示
ls -l命令用来显示当前工作目录下的所有文件信息,包括目录文件和一般文件。

- 表示这个一个普通的文件
d 表示这个一个目录
l 表示这个一个符号链接文件,实际上它指向另一个文件
b 表示块设备,如硬盘、光盘或U盘等
c 表示外围设备,是特殊类型的文件。
s 表示系统的套接字文件。
p 表示系统的管道文件。

1.3.2 常见文件的扩展名
.bz2 使用bzip2工具压缩的文件
.gz 使用gzip工具压缩的文件
.tar 使用tar工具压缩的文件
.tgz 使用tart和bzip工具压缩的文件
.zip 使用zip工具压缩的文件,是Windows操作系统中常见的文件
.au 音频文件
.gif Gif图像文件
.html/.htm HTML文件
.jpg JPEG图像文件
.png PNG图像文件,可移植网络图形
.ps PostScrip文件,为打印的格式化文件
.txt 纯ASCII文本文件
.wav 音频文件
.xpm 图像文件
.conf 配置文件,有时也用.cfg
.rpm Fedora操作系统用来安装软件的软件包管理器文件
.c C语言源码文件
.tcl TCL脚本
.pdf 文档的电子映像,PDF代表可移植文档格式
.cpp C++程序语言的源码文件
.h C或C++语言的头文件
.o 程序的对象文件
.pl Perl脚本
.py Python脚本
.lock 锁文件,用来判定程序或设备是否正在使用
.so 库文件
.sh shell脚本

2. 文件访问权限
由于Linux是多用户操作系统,所以同一个文件也许可以被其他的用户操作。文件的访问权限对于该文件来说具有至关重要的作用,它可以保护文件不被其他用户访问或修改,避免其他用户对文件的操作。

2.1 文件权限概述
Linux操作系统中共有三种访问权限:读(r)、写(w)和执行(w)。

读(r) 表示该文件允许被读取、对于目录文件来说,它表示是否可列出目录中的内容。
写(w) 表示允许用户修改或删除该文件。对目录来说,该权限表示是否能对目录进行修改。如果没有写权限,用户无法对目录进行进行删除、重命令或创建新文件等操作。
操作(x) 表示该文件允许被用户执行,该权限只对可执行文件起作用。对目录来说,该权限用于确定是否有权在该目录中进行搜索,或者执行该目录下的文件。

2.2 特殊权限
特殊权限用于表示特殊的功能,Fedora操作系统中有三种特殊权限,分别是:set-user-ID(SUID)、set-group-ID(SGID)和Sticky。
1)set-user-ID(SUID) Linux操作系统中一些命令要求写入某些文件,但恰恰这些文件又是被系统保护的,即使提交这些命令也无权访问该文件(用户没有访问该文件的特权,因此用户提交的命令按通常的标准来说无法访问这些文件)。如/etc/passwd文件,只有root用户有权去访问,而Linux操作系统通常允许用户执行passwd命令改变登录密码,但此命令并没有对/etc/passwd文件的访问特权。问题在于如何让普通用户通过执行passwd命令来修改他们的登录密码,同时又不能随意修改文件中其他用户的信息。

基于上面的问题,Linux操作系统采用了一个精巧的机制,即允许命令更改自己的有效用户标识(Effective User ID),这个标识与运行这个命令的用户相同,它在命令运行时起作用,标识运行的用户拥有原本没有的一些特权。这种机制保证用户可以运行类似于passwd的命令,并且不破坏系统的一致性。

正是采用了基于上面的机制,Linux操作系统为一些文件添加了一个附加的保护位,又称为SUID标志,可执行文件如果启用了这个权限,那么该执行文件就可以以其拥有者的权限来运行。如果该可执行文件的用户是root,那么就能任意存取该root用户能使用的全部系统资源,如果设置不当很容易造成系统的安全隐患。

2) set-group-ID(SGID) 它的工作方式与SUID相同,它使进程拥有了其所在组的访问权限,比较起来不像SUID那样危险。SGID简写为S或s,如果文件启用这个权限,该文件就可以任意存取整个用户组中所有可能使用的系统资源了。

3)Sticky 可以保证未被授权的用户不能删除或重命名某个目录下其他用户的文件,如果要设置该位,要么是目录的拥有者,要么有相应的特权。如果目录文件启用了该权限,那么该目录下所有的文件仅允许其拥有者去操作,从而可以避免其他用户的干扰。如果其他文件启用了该权限,则该文件的最后更新时间将不会改变。

2.3 识别文件权限

一个文件可以设置三个不同的访问权限,如所有者、所有群组和其他,例如:rwxr-xr-x和rw-r--r--,该字段信息中后面有9位,Linux操作系统使用了9个字符来显示该文件的访问权限。这9位数字分为三组,每组都以rwx的顺序来排列,即每组的第一位表示是否可读,第二位表示是否可写,第三位表示是否是执行,如果该文件不可读则在可读位上使用”-“来代替。如”r-x“表示,可读不可写,但可执行。

9位字符分为三组,每组都有各自的含义。如前三个字符为第一组,表示文件或目录的所有者权限;中间三个字符为第二组,表示所有者所在组的权限;最后三个字符为第三组,表示组以外所有用户的访问权限。如”-rwxr-----“表示该文件是普通文件,拥有者对其可以读写及执行,而其所在组只能对文件进行读操作,而其他用户无法对该文件进行任何操作。

三种特殊权限是区分大小写的,这与之前的r、w和x有所不同,这是因为SUID、SGID和Sticky只占用x(执行权限)的位置来表示。如果表示同时开启执行权限和SUID、SGID及Sticky,则权限表示符是小写的:-rwsr-sr-t;如果要关闭执行权限,则表示符会变成大写的:-rwSr-Sr-T。

2.4 修改文件权限
Linux操作系统中文件的权限可以表示成数字,r、w和x具有规定的顺序,Fedora操作系统中使用数字来表示这些权限。r:对应的数字为4;w:对应的数字为2;x对应数字为1;-对应数字为0;根据上述数字表示,在一组三位权限表示中,将存在的权限与对应的数据相加,如rwx表示7,而r--表示4,r-w表示5。rwxrwxrwx 使用数字表示为777;r--rw---x 使用数字表示为461;

熟悉了权限的相关知识,那么便可以结合chmod命令来更改相应文件的权限了,chomd的格式为:

chmod [参数] [权限数字表示] [文件路径]

例如: /root/Desktop下有一个文件为:-rwxr-xr-x 1 root root 1609919 2001-08-15 Captura,该文件权限表示所有者具有对该文件的读、写和执行权限,而所有者所在组用户和其他用户具有对该文件的可读和执行的权限。这里将其修改为,拥有者对其具有可读、写以及执行权限,而其他用户则没有任何权限,则该权限相应的数字表示为700,执行下列命令:
chmod 700 /root/Desktop/Capura
注:桌面目录名为:C#,同样也可以使用chmod命令来修改该目录的权限。
chmod命令还有两个重要的参数,它们是-R和-f。其中参数-R递归修改或设置文件、目录及子目录的访问特权;而参数-f的作用是强制改变文件的访问特权,如果是文件的所有者使用将得不到任何错误信息。如对某个目录使用下面的命令:chmod -R 700 /root/Desktop/C#,上面命令执行之后,/C#目录下的所有文件,包括其子目录以及子目录下的文件权限将一起被修改为700,即rwx------。

3. 日志文件
日志文件是ext3文件系统的特点,Fedora存在大量以明文存储的日志文件,root用户可以直接打开查看。日志文件功能强大,通过查看日志文件,可以了解系统各个部件的运行状态,查找出现的问题,作出及时的补救。

3.1 日志简介
日志文件(Log Files)是包含关于系统消息的文件,包括内核、服务及在系统上运行的应用程序等。不同的日志文件记载不同的信息,如有的是默认的系统日志文件,有的仅用于安全消息。它的设计思想是:跟踪记载文件系统的变化,并将变化内容记录入日志。日志文件系统在磁盘分区中保存有日志记录,写操作首先是对记录文件进行的操作,若整个写操作由于某种原因(如系统断电)而中断,系统重启时,会根据日志记录来恢复中断前的写操作。在日志文件系统中,所有的文件系统的变化都被记录到日志中,每隔一定时间,文件系统会将更新后的源数据及文件内容写入磁盘,在对源数据任何改变之前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要做什么,然后修改源数据。
日志文件对网络安全和系统维护方面的作用至关重要,用户可以根据这些记录来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。日志的两个重要功能是审核和监视,它可以实时监测系统状态并追踪入侵者。大多数日志文件只有root用户才能读取,但修改文件权限后可以让其他用户读取。由于日志文件不断记录系统信息,所以这种类型的文件在不断增大。

3.2 定位日志文件
大多数日志文件存储在/var/log目录中,该目录中有几个同系统维护的日志文件,如secure.1、yum.log、boot.log、anaconda.log和maillog等。另外,其他服务和程序也可能会把它们的日志文件存储在这里,如/var/log/httpd目录用于存储Web服务器的日志文件,而/var/log/samba目录则用于存储Samba服务器的日志文件。下面介绍一些重要的日志文件:
/var/log/cron 该日志文件记录守护进程cron所执行的动作,系统还自动在整个记录前面添加了登录用户,登录时间、PID以及派生出进程的动作。
/var/log/maillog 该日志记录了每一个发送到系统或从系统发出的电子邮件的活动。该日志文件最大的缺点就是记录的入侵企图和成功的入侵事件会被淹没在大量的正常记录中。
/var/log/yum 应用程序日志,该日志记录了在系统中安装的所有应用程序。格式为:日期、时间和应用程序,如下面的信息所示: Apr 25 10:47:31 已安装: vsftpd.i386 2.0.2-8
/var/log/message 该日志记录了系统的安装报错信息,由syslog守护程序记录,syslog守护程序接受来自库、守护程序和内核的输入,这个文件是用来查找引导期间的。该文件是系统出现故障并进行诊断时首先要查看的文件。
/var/log/secure 系统安全日志,该日志记录了与系统安全相关的信息。

3.3 日志文件查看器
Fedora操作系统中提供了日志文件浏览器,使用该浏览器用户可以查看相应的系统日志信息。在系统中选择“系统”|“管理”|“系统日志”命令,系统弹出系统日志查看器窗口,在该窗口可以详细浏览相应的日志文件。

3.4  配置日志文件保存路径
/etc/syslog.conf文件是系统日志的配置文件,syslogd进程启动时会根据该配置文件中的信息指定系统记录到不同的文件。用户可以在/etc/syslog.conf配置文件中指定日志文件的记录级别以及更改日志的保存文件。
如果需要更改日志文件存储的位置,可以在/etc/syslog.conf文件中添加相应的语句,如可以添加如下语句:
*.info;mail.none;authpriv.none /var/log/mynewlog
上面语句的功能是记录所有的.info级别或该级别以上除邮件信息和私人验证信息外的所有信息存储到/var/log/mynewlog文件中,前提是/var/log/mynewlog文件必须存在。添加完毕后,保存该文件并重新启动Fedora操作系统,找到/var/log/mynewlog文件即可查看了。

你可能感兴趣的:(linux,操作系统,通配符,特殊字符,区分大小写)