Linux基础知识的总结(3)

使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。

参数 :

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的权限。

8.chown命令

chown 用于更改某个文件或目录的属主和属组,这个命令也很常用,例如root用户把自己的一个文件拷贝给用户 Oracle 为了让用户 oracle 能够存取这个文件,root用户应该把这个文件的属主设为 oracle 否则用户oracle无法存取这个文件。

chown 的基本用法为:

chown [用户:组] 文件

举例:

chown oracle:dba text

该命令将 text 文件的属主和属组分别改为 oracle 和 dba。

磁盘及文件系统管理命令:

1.df命令

作用:df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

格式 df [options]

主要参数

-s:对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则

只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-k:以1024字节为单位列出磁盘空间使用情况。

-x:跳过在不同文件系统上的目录不予统计。

-l:计算所有的文件大小,对硬链接文件则计算多次。

-i:显示inode信息而非块使用量。

-h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。

-P:使用POSIX输出格式。

-T:显示文件系统类型。

说明

df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。

使用示例:

[root@foundation0 yum.repos.d]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1      462G  50G  413G  11% /

devtmpfs        1.8G    0  1.8G  0% /dev

tmpfs          1.8G  12K  1.8G  1% /dev/shm

tmpfs          1.8G  17M  1.8G  1% /run

tmpfs          1.8G    0  1.8G  0% /sys/fs/cgroup

/dev/loop0      3.5G  3.5G    0 100% /content/rhel7.0/x86_64/dvd

2. mount 和 umount

mount 命令有很多参数,其中大多数都不会在日常工作中用到,mount 命令最常见的用法如下所示:

mount [选项] 设备 目录

其中最常用的选项是 -a,把/etc/fstab 文件中列出的文件系统都挂装上

挂装软驱和光驱的命令比较简单,直接输入以下命令即可:

mount /mnt/cdrom

mount /mnt/floppy

umount 命令用于卸载一个文件系统,命令的格式如下:

umount [ -f ] directory

其中directory 是准备卸载的目录名

umount 命令有一个不足之处 如果文件系统正在使用中 也就是说有人在那个分区上打开了文件 就无法把这个文件系统卸载下来 这时可以使用和- f参数强制执行卸载操作 当然这种操作可能会造成用户数据的丢失。如:

umount -f /mnt/cdrom

该命令将强制卸载挂装在/mnt/cdrom 目录下的文件系统

所以我们给出的建议是,最好先退出所要卸载的目录,然后再执行卸载命令。

4.Linux的目录结构

关于Linux的目录结构,我这里找到一篇博客解释的非常详细,对于目录及其各个文件的功能都有着非常详细的解释,大家可以学习并进行理解:

链接地址:

5.Linux下的网络配置:

关于Linux的网络配置,RedHat6和redhat7有着细微的差别:

网卡的名称发生了改变,在redhat6中,我们着重关注的文件是ifcfg-eth0和ifcfg-br0(与虚拟机进行桥接的文件),而在redhat7中,ifcfg-eth0变成了ifcfg-enp3s0f0的形式,也就是说eth0网卡失效了。但是这几个文件的目录并没有发生改变:

网络配置文件目录:/etc/sysconfig/network-scripts/

如果我们不进行桥接的情况下,在ifcfg-eth0和ifcfg-enp3s0f0中需要写入以下参数:

DEVICE      设备名称                                  与ifcfg-后的名字要相同,否则系统无法识别;

ONBOOT      YES|NO                                在重新启动网络时是否开启该网卡

BOOTPROTO    dhcp | (static | none)

dhcp表示我们主机的IPADDR,GATEWAY,DNS都是自动获取的,这个设置要想成功的话,当前的环境中必须要有dhcp服务器开启,否则会获取失败,如果设置为static或者none,则需要手动设置IPADDR,GATEWA Y和DNS1的值。

GATEWAY      环境的网关IP

IPADDR      与网关在同一网段的IP

DNS1        域名解析服务器IP

NETMASK      子网掩码(可以与IPADDR进行与运算确定该IP网段)

6.制作yum源(本地、远程)及yum命令的基本操作

关于yum源很多同学并不了解它的机理,yum是一个软件包管理器,一般我在安装完一个虚拟机的时候第一时间就是设置它的yum仓库,因为只有这样我们才可以轻松的安装redhat官方提供给我们的各种工具包。所以熟悉和懂得yum仓库的配置是非常重要的。

为什么是YUM?

基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

是的,它帮助我们把各种RPM包的依赖性解决好了,只需要执行yum命令安装就可以了,所以很实用。

制作远程yum源

这个就相当于是别人把yum源做好之后,把地址共享出来,我们设定好远程yum源后,每次在安装某个软件的时候,其实是在本地查询软件的包依赖关系,按照依赖关系在远程的ftp服务器下载指定的包,完成安装后删除(系统默认,可保存包)所下载的包。

此时你只需要设置一个配置文件即可,该文件的目录为:

/etc/yum.repos.d/

在这个目录下的文件都是以repo为后缀结尾的,例如:yum.repo

编辑yum.repo文件,下面是我给出的一个示例:

[source]

name=localserver

#baseurl=ftp://192.168.3.252/pub/rhel7.0

baseurl=file:///content/rhel7.0/x86_64/dvd

gpgcheck=0

我们做下解释,第一行为一个源的名称(可以自定义),name是对这个源的描述(可以自定义),baseurl是yum源的指定目录。如果是远程的yum源使用ftp://,如果是本地的yum源使用file://然后加上yum源的绝对路径

gpgcheck决定是否要对所下载的包进行校验,0为否,1为是。

这个是repo文件里主要的参数,还有其他的参数,以后有需求了再进行应用:

cachedir:  yum缓存的目录,yum在此路径下存储下载的rpm包和数据库,一般是/var/cache/yum。

debuglevel:除错级别,0──10,默认是2

logfile:  yum的日志文件,默认是/var/log/yum.log。

pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。

distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。

exactarch:有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用i686的包来升级。

retries:  网络连接发生错误后的重试次数,如果设为0,则会无限重试。

tolerent:  也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1则yum不会出现错误信息,默认是0。

exclude:  排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

gpgcheck: 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

plugins:  是否启用所有的插件(plug-in),默认为0,代表不启用。由于RHEL为YUM提供了一个名为rhn-plugin的插件,以便读取RHN提供的YUM下载源,因此你必须保持这个参数为1,才能顺利使用RHN的YUM下载源来安装、升级你的RHEL。

metadata_expire: 定义YUM缓存中数据的过期时间,单位为秒。

proxy:    指定读取下载源时使用的代理服务器的路径(URL)。

制作本地yum源:

制作本地yum源分为两个步骤:

(1)首先,我们要把iso镜像文件挂在到指定的目录中,写入/etc/fstab文件;

写入的内容与下面内容类似:

/content/rhel7.0/x86_64/isos/rhel-server-7.0-x86_64-dvd.iso  /content/rhel7.0/x86_64/dvd  iso9660  loop,ro  0 0

每次修改完/etc/fstab中需要执行命令mount -a;

(2)然后在/etc/yum.repos.d/yum.repo文件中写入baseurl参数中。

每次修改完repo文件,请执行yum clean all命令进行刷新。

关于yum的基本操作有以下几个命令:

查看所有安装包的列表    yum list

查看命令是何种包支持的  yum whatprovides 命令

安装包                  yum install 包

删除安装过的包          yum remove 包

再次安装包              yum reinstall 包

组安装                  yum groupinstall 包

组删除                  yum groupremove 包

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17485.html