GVKun编程网logo

【Linux基础】Linux系统默认目录功能简介(linux默认目录的名称及作用)

31

针对【Linux基础】Linux系统默认目录功能简介和linux默认目录的名称及作用这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展linux下PHP错误警报开启与关闭linuxphpexe

针对【Linux基础】Linux系统默认目录功能简介linux默认目录的名称及作用这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展linux下PHP错误警报开启与关闭 linux php exec 执行不了 linux系统 linux系统下、Linux基础-14day-Linux系统服务管理、Linux基础-15day-Linux系统目录结构、Linux基础_Linux操作系统简介等相关知识,希望可以帮助到你。

本文目录一览:

【Linux基础】Linux系统默认目录功能简介(linux默认目录的名称及作用)

【Linux基础】Linux系统默认目录功能简介(linux默认目录的名称及作用)

以下用一个表格来罗列linux默认的目录或文件及其用途:

目录/文件 用途 来源
/ /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录、文件、设备都在/之下。 -
/bin 该目录存放着系统最常用的最重要的命令,相当于DOS下的内部命令,只不过它们是以独立的文件形式存在。比如:ls、cp、mkdir等命令。这个目录中的文件都是可执行的并且是普通用户都可以使用的命令。作为系统最基础的命令都放在这里。 binary
/usr 该目录是系统存放程序的地方,比如普通命令、帮助文件、安装的软件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。当有涉及服务器的配置文件时,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts、帮助目录/usr/share/man或/usr/share/doc等。
unix shared resource
/var 该目录的内容是经常变动的,/var下有/var/log目录用来存放系统日志的目录。/var/www目录用来定义Apache服务器站点存放目录。/var/lib用来存放一些库文件。 variable
/sbin 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。 super user binary
/root Linux超级权限用户(系统管理员)root的主目录。 -
/home 普通用户的主目录都默认存放在该目录中,比如:有个用户叫wang,那它的主目录就是/home/wang,也可以用~wang表示。 -
/etc 该目录是系统配置文件的所在地,一些服务器的配置文件也在这里,比如:用户帐号及密码配置文件等。 etcetera
/dev 设备文件存储在该目录中,这个目录下是所有Linux的外部设备文件,这些设备文件的功能类似于DOS下的.sys文件和Win下的.vxd文件。Linux将设备当成文件使用,即将设备抽象化,这样极大地方便了我们对设备的操作控制。因此Linux中设备和文件是用相同的方法访问的。 device
/boot Linux的内核及引导系统的程序所需要的文件都存放在该目录中,比如vmlinuz、initrd.img等文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器在这个目录中。 -
/opt 该目录是可选的软件包安装目录,有些软件包我们可以将它安装在该目录中。 optional
/tmp 该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的。 temporary
/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生的一些文件碎片就存放在该目录中。当系统启动在过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能要用手工的方式来修复,或移到文件原来的位置上。 -
/lib 该目录用于存放库文件,这个目录里存放着系统最基本的共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。 library
/mnt 该目录是用于存放挂载储存设备的挂载目录的,系统提供这个目录是让用户临时挂载别的文件系统,比如有cdrom等目录。 mount
/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。 process
/misc 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。 miscellany
/media 即插即用型存储设备的挂载点自动在该目录下创建。比如USB盘系统自动挂载后,会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似于cdrom这个目录。该目录只有在最新的发行套件上才有。 -
/initrd 系统在启动前的内核是压缩的(这和ramdisk有关),当系统启动时需要解压缩,该目录就是解压缩时的临时目录,当启动完后又将该目录清空。 boot loader initialized RAM disk
/usr/man 该目录是Linux系统帮助文档的存放目录。 -
/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。比如cat /proc/cpuinfo -
/proc/devices 当前运行内核所配置的所有设备清单。 -
/proc/filesystems 当前运行内核所配置的文件系统。 -
/proc/dma 当前正在使用的DMA通道。 -
/proc/interrupts 正在使用的中断和曾经有多少个中断。 -
/proc/ioports 当前正在使用的I/O端口。 -
/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如RedHat Fedora。 -
/etc/xinetd.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Redhat Fedora中比较新的版本中存在。 -
/etc/rc.d 这是Slackware发行版中有的一个目录,是BSD方式启动脚本的存放地,比如定义网卡,服务器开启脚本等。 -
/etc/X11 是X-Window相关的配置文件存放地。 -
/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行。当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。相似的目录是/usr/local/bin目录。有时/usr/bin中的文件是/usr/local/bin的链接文件。 -
/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行,相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等。 -
/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录。一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。 -
/usr/lib 该目录和/lib目录相似,是库文件的存储目录。存放一些常用的共享库。 -
/usr/share 该目录用于存放系统共用的东西,比如/usr/share/fonts是字体目录,是用户都共用的。 -
/usr/share/doc 该目录是Linux共享文档的存放地。 -
/usr/share/man 该目录是共享的帮助文件的存放地。 -
/usr/src 该目录是内核源码存放地,下面有内核源码目录,比如linux、linux-2.xxx.xx目录等。有的系统也会把一些源码软件包安装在这里,比如Redhat Fedora。另外Redhat 4.0/5.0,它的内核源码包的目录位于/usr/src/kernels目录下的某个目录中(只有安装后才会生成相应目录)。 -
/var/adm 比如软件包安装信息、日志、管理信息等就存放在该目录下,在Slackware操作系统中是有这个目录的。在Fedora中好象没有。 -
/var/log 该目录用于存放系统日志。 -
/var/spool 打印机、邮件、代理服务器等假脱机目录存放在该目录下。 - 

 

 

linux下PHP错误警报开启与关闭 linux php exec 执行不了 linux系统 linux系统下

linux下PHP错误警报开启与关闭 linux php exec 执行不了 linux系统 linux系统下

目录 /usr/local/php/etc

php.ini

修改

2. 搜索并修改下行,把Off值改成On
display_errors = Off
3. 搜索下行
error_reporting = E_ALL & ~E_NOTICE
或者搜索:
error_reporting = E_ALL & ~E_DEPRECATED
修改为
error_reporting = E_ALL | E_STRICT

 /etc/init.d/php-fpm restart

***********************vi 查找命令  / 要找的     n 下一个,shift n 上一个*****************************

以上就介绍了linux下PHP错误警报开启与关闭,包括了Linux,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Linux基础-14day-Linux系统服务管理

Linux基础-14day-Linux系统服务管理

Linux系统服务管理

1、服务概念及分类

Linux系统有些特殊程序,启动后在后台运行,等待用户或者其他程序进行调用,这类程序称为服务。

服务分类:按照服务功能(对象)分为:系统服务、网络服务;按照启动方式分为:独立系统服务(启动后后台运行,响应快、占用系统资源);基于xinetd的服务(用户使用时启动,响应慢、节省系统资源),这种服务不能独立启动,需要依靠管理服务来调用。这个负责管理的服务就是 xinetd服务。xinetd 服务是系统的超级守护进程,其作用就是管理不能独立启动的服务。

2、服务管理方式

1)通过/etc/init.d/目录中的启动脚本来管理

所有独立服务启动文件均存储在/etc/init.d目录下,通过以下命令对服务进行启动、停止、重启等操作。

格式/etc/init.d独立服务名 start| stop|status|restart|...

参数 start:启动;stop:停止;status:查看状态;restart:重启。

Eg:

[root@test ~]# /etc/init.d/sshd  restart #重启ssh服务

2)service管理

service 命令实际上只是一个脚本,这个脚本仍然需要调用 /etc/init.d/ 中的启动脚本来启动独立的服务。centos6系统使用service命令,centos7及以上系统使用systemctl命令。

参数

Centos6

Centos7

启动

Service 服务名 start

systemctl start name.service

停止

Service 服务名 stop

systemctl stop name.service

服务

service 服务名 restart

systemctl restart name.service

状态查询

service 服务名 status

systemctl status name.service

Eg

[root@test ~]# service sshd status  #查看ssh服务状态

3)chkonfig命令实现管理

chkconfig 服务自启动管理命令来管理独立服务的自启动。

参数

Centos6

Centos7

开机自启

chkconfig 服务名 on

systemctl enable name.service

开机禁止启动

chkconfig服务名off

systemctl disable name.service

查看所有服务开机自启状态

chkconfig  --list

systemctl list-unit-files --type service

查看某个服务在哪些运行级别下的启动和禁用

chkconfig 服务名称 --list

ls   /etc/systemd/system/*.wants/服务名称.service

查看服务是否开启自启

--

systemctl is-enable name.service

其他:

chkconfig --level 234 服务名 on #开启某个运行级别下的服务。

chkconfig --add 服务名 #在当前运行级别下添加某个服务。

chkconfig --del 服务名   #在当前运行级别下删除某个服务。

Eg:

 #修改network运行级别1时开机自启

[root@test ~]# chkconfig network --level 1 on

注:Linux运行级别:0-6.

0是关机;1是维护模式,提供有限的功能;2是字符界面的debian系统;3是字符界面的redhat系统;4不常用;5是GUI界面的系统;6是重启。

(4)修改 /etc/rc.d/rc.local 文件,设置服务自启动

修改 /etc/rc.d/rc.local 文件,在文件中加入服务的启动命令。这个文件是在系统启动时,在输入用户名和密码之前最后读取的文件(注意:/etc/rc.d/rc.loca和/etc/rc.local 文件是软链接,修改哪个文件都可以)。这个文件中有什么命令,都会在系统启动时调用。

5)ntsysv界面管理

ntsysv 命令调用窗口模式来管理服务的自启动

ntsysv命令安装, yum -y install ntsysv。

格式:指定设定自启动的运行级别

[root@test ~]# ntsysv [--level 运行级别]
[root@test ~]# ntsysv  --level 234 #设置2/3/4级别的服务自启动

图片.png操作键:

1)上下键:在不同服务之间移动;

2)空格键:选定或取消服务的自启动。也就是在服务之前是否输入"*";

3)Tab键:在不同项目之间切换;

4)F1键:显示服务的说明。

个人公众号:

图片.png

 


Linux基础-15day-Linux系统目录结构

Linux基础-15day-Linux系统目录结构

Linux系统目录结构

1、目录介绍

当在使用Linux系统时,可通过ls–l/就会发现,在/下包涵很多的目录,而在这些目录中,依旧存在很多目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。

文件系统是用来组织和排列文件存取的,在Linux中,我们可通过ls等工具来查看其结构,在Linux系统中,我们见到的全部都是树形结构。比如操作系统安装在一个文件系统中,它表现为由/起始的树形结构。linux文件系统的最顶端是/,我们称/为Linux的root,也就是Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者。Linux系统一切皆文件。

File system Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是:

1)/(root,根目录):与开机系统有关;

2)/usr(unix softwar eresource):与软件安装/执行有关;

3)/var(variable):与系统运作过程有关。

2、目录特点

1)/(根)是所有目录的顶点。

2)目录结构像一颗倒挂的树。

3)目录和磁盘分区,默认是没有关联的。

4)/(根)下不同的目录可能会对应不同的分区或磁盘。

5)所有的目录都是按照一定的类别和规律组成的。

3、目录说明

3.1/目录

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心文件、开机所需程序、函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录是这么的重要,所以在FHS的要求方面,它希望根目录不要放在非常大的分区,因为越大的分区内会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

每一个文件和目录都从根开始。

3.2/bin目录

/bin存放二进制可执行命令的目录,在/bin下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限),chown,date,mv,mkdir,cp,bash等常用的指令。

3.3/sbin目录

用来存放二进制可执行文件,只是这里面的命令只供系统管理员,管理系统使用(root用户)。例如:iptables(防护墙)、ifconfig(查看网卡信息)、init(设置启动级别)等。

3.4/boot目录

主要放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz,如果使用的是grub该开机管理程式,则还会存在/boot/grub/该目录。

3.5/dev目录

Linux系统上,把所有的硬件用文件的形式存储。比较重要的文件有/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等。

3.6/etc目录

yum/rpm安装的软件配置文件所在的目录,系统主要的配置文档几乎都放置在该目录内,例如人员的帐号密码、各种服务的启动文件等。该目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权力修改。

3.7/home目录

普通用户家目录(homedirectory),用来存放普通用户的文件

3.8/lib目录

存放二进制库文件,库文件一般以.so|lib*|ld*。

3.9/media目录

media是媒体的英文,顾名思义,该/media底下放置的就是可移除的设备。包括软碟、光碟、DVD等装置都暂时挂载于此。常见的档名有:/media/floppy,/media/cdrom等。

3.10/mn目录

一般用来临时挂载临时存储设备的目录。

3.11/opt目录

一般是给第三方厂家开发的程序的安装目录。现在一般不用。

3.12/root目录

系统管理员(root)的家目录。如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

3.13/srv目录

srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。常见的服务例如WWW,FTP等。

3.14/tmp目录

临时文件存放的地方,由于该目录的权限为1777,所有用户对该目录都有可读可写可执行的权限,所以其他人也可以删除你的文件。

3.15/lost+found目录

该目录使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到该目录下。该目录通常会在分割槽的最顶层存在,例如你加装一个硬盘于/disk中,那在该系统下就会自动产生一个这样的目录/disk/lost+found。

3.16/proc目录

该目录本身是一个虚拟文件系统(virtual file system)。它只存在内存当中,而不占用外部空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

3.17/sys目录

该目录与/proc类似,也是一个虚拟的文件系统,主要也是记录与核心相关的信息。包括目前已载入的核心模组与核心侦测到的硬件信息等,该目录同样不占硬盘容量。

3.18/usr目录

该目录是集成到主文件系统中的单独文件系统的挂载点,用来存放系统数据,包含大量标准子目录。/usr目的是用来存放静态数据(不随时间改变的数据),没有系统管理员的干涉不会改变的数据。

3.19/usr/bin目录

绝大部分的用户可使用指令都放在这里。

3.20/usr/include目录

c/c++等程序语言的头文件(header)与包含文件(include)放置处。

3.21/usr/lib目录

包含各应用软件的函式库、目标文件(objectfile),以及不被一般使用者惯用的执行文件或脚本(script)。

3.22/usr/local目录

统管理员在本机自行安装自己下载的软件,建议安装到此目录。

3.23/usr/sbin目录

由超级用户运行的非基本系统管理程序。

3.24/usr/share目录

放置共享文件的目录。/usr/share/doc:软件杂项的文件说明;/usr/share/zoneinfo:与时区有关的时区文件。

3.25/usr/src目录

一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。

3.26/var

目录如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(logfile)以及某些软件运作所产生的文件,包括程序文件(lockfile,runfile),或者例如MySQL数据库的文件等。

3.27/var/cache目录

应用程序本身运作过程中会产生的一些缓存文件。

3.28/var/lib目录

程序本身执行的过程中,需要用到的数据文件存放目录。比如,MySQL的数据库放置到/var/lib/mysql/。

3.29/var/lock目录

某些配置或文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时,就可能产生一些错误,因此就要将该资源上锁(lock),以确保该资源只会给单一程序所使用。

3.30/var/log目录

这是登录文件放置的目录。主要存放日志等信息。

3.31/var/mail目录

放置个人电子邮件信箱的目录,不过该目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件。

3.32/var/run目录

某些程序或者是服务启动后,会将它们的PID放置在该目录下。

3.33/var/spool目录

该目录通常放置一些队列数据,所谓的“队列”就是排队等待其它程序使用的数据。这些数据被使用后通常都会被删除。举例来说,系统收到邮件信息会放置到/var/spool/mail/中,但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中,等到被送出后就被删除。如果是工作排程数据(crontab),就会被放置到/var/spool/cron/目录中。

 个人公众号:

image.png


Linux基础_Linux操作系统简介

Linux基础_Linux操作系统简介

一,UNIX和Linux操作系统简介

# UNIX是什么

UNIX操作系统是一个计算机操作系统,一个用来协调,管理,控制计算机硬件和软件资源的控制程序,具有多用户(同一时刻可以有多个用户同时使用UNIX操作系统而不相互干扰),多任务(同一时间在UNIX操作系统上可以运行多个程序)的操作系统,属于分时操作系统。

UNIX诞生史:1965年时,贝尔实验室加入一项由通用电气和麻省理工学院合作的计划。该计划要建立一套多永辉、多任务、多层次的MULTICS操作系统。直到1969年,因MULTICS计划的工作进度太慢,该计划被停了下来。当时,Ken Thompson(后被称为UNIX之父)已经有一个称为"星际旅行"的程序在GE-635的机器上跑,但是反应非常慢,正巧被他发现了一部被闲置的PDP-7(Digital的主机),Ken Thompson和Dernis Ritchie就将"星际旅行"的程序移植到PDP-7上。MULTICS其实是"Multiplexed Information and Computing Service"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan就开玩笑地称他们的系统其实是:"UNiplexed Information and Computing Service",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为"UNIX元年"。(来自百度百科)

# Linux是什么

Linux是一套免费使用和自由传播的类UNIX操作系统(UNIX目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)),是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux的主要用途是:服务器,网络服务器

# CentOS的安装过程

 

# LInux基础知识

#  关闭Linux系统的命令:init 0  (需要是root用户登录才能执行)

#  切换不同终端方法:ctrl + alt + (F1~F6)

#  普通用户登录系统提示符:$

#  root用户登录系统提示符:#

#  用 exit 命令来退出系统终端

#  Linux命令的格式: 命令 [选项] [参数]

命令:告诉操作系统执行什么操作

选项:说明命令的运行方式,部分以"-"开头

参数:说明命令操作的是什么(如一个文件或者目录)

[root@localhost 桌面]# ls -a /      # 表示查看根目录下的详细信息

# 输入命令 clear 清屏,或快捷键ctrl+l

# ctrl+c 终止当前命令

#  Linux中一些简单的命令

# 查看当前所在终端登录的用户
[root@localhost 桌面]# whoami
root

# 查看当前系统所有用户,及显示当前时间
[root@localhost 桌面]# who
root     tty1         2019-01-25 08:38 (:0)
root     pts/0        2019-01-25 09:38 (:0.0)

# 查看当前时间
[root@localhost 桌面]# date
2019年 01月 25日 星期五 09:41:27 CST

# 设置当前时间
[root@localhost 桌面]# date "100914452016"
2016年 10月 09日 星期日 14:45:00 CST

# 跟硬件时间同步
[root@localhost 桌面]# hwclock 
2019年01月25日 星期五 09时43分49秒  -0.594216 seconds

# 同步系统时间
[root@localhost 桌面]# hwclock -w
[root@localhost 桌面]# date
2016年 10月 09日 星期日 14:58:21 CST


# 查看日历
[root@localhost 桌面]# cal
      十月 2016     
日 一 二 三 四 五 六
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

# 查看日历,指定日历日期
[root@localhost 桌面]# cal 7 1999
      七月 1999     
日 一 二 三 四 五 六
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

# 新建用户
[root@bogon ~]# useradd heihei
[root@bogon ~]# passwd heihei        # 给用户heihei新建密码
更改用户 heihei 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

# 修改用户密码
[root@localhost 桌面]# passwd heihei

# 终端中切换用户
[root@bogon ~]# su - doaoao
上一次登录:三 1月  9 20:01:20 CST 2019:0 上
[doaoao@bogon ~]$ su - heihei
密码:
[heihei@bogon ~]$

# 用 "man + 命令"(来获取某个Linux命令的说明)
[root@localhost 桌面]# man ls

# 用 "命令 + --help"(来获取某个Linux命令的说明)
[root@localhost 桌面]# ls --help
示例

 

 

# Linux中的目录结构

bin目录:用来存放常用的可执行文件

sbin目录:存放系统的可执行文件

家目录:用来存放用户自己的文件或目录;root用户的家目录为.root,普通用户的家目录为/home(并用用户名创建用户家目录的一级文件,doaoao的家目录为/home/doaoao)

dev目录:设备文件目录

etc目录:配置文件目录

# 绝对路径:从头开始找

# 相对路径:一个文件相对另一个文件的位置,待补充...

# 目录文件的浏览

cd ..        # 返回上级目录

cd ~        # 返回到当前用户家目录(root用户为root目录,普通用户切换到home目录)

cd -        # 返回上一次所在的目录

cd            # 切换到家目录

cd 目录名    # 切换到指定的目录

ls            # 列出当前目录或指定目录中的内容

ls -l         # 查看详细信息

ls -l /        # 列出某个目录下的详细信息

ls -a         # 显示隐藏文件

ls -l -a     # 显示隐藏文件 也显示详细信息,等同于ls -all

cp            # 复制文件和目录
[root@bogon ~]# cp /home/hello /opt/    # 将home下的hello文件拷贝到opt下
cp 源文件 目标文件

-r:递归的,递归地复制目录,当复制一个目录时,复制该目录中所有的内容,包括子目录的全部内容
[root@bogon ~]# cp -r /home/hello /opt/

-f :强制性,在目标文件一已经存在的情况下不询问直接强制复制
[root@bogon ~]# cp -f /home/hello /opt/

# 将test5下的abc.txt移动到/test6中
[root@localhost ~]# mv test5/abc.txt /test6

# mkdir /test创建目录

# touch 创建文件

# 删除一个目录(不能删除包含子文件的目录)
rmdir [root@localhost ~]# rmdir /test7

# 可删除文件夹
rm -r    

# 删除一个目录,可以删除包含文件和子目录的目录
[root@localhost ~]# rmdir /test5
rmdir: 删除 "/test5" 失败: 目录非空
[root@localhost ~]# rm -rf /test5

# 浏览文件中的内容
[root@localhost ~]# cat abc.txt
helloworld

# 查看命令的别名 用 alias
[root@bogon ~]# alias cp
alias cp=''cp -i''

# 给命令取别名
[root@bogon ~]# alias heihei="cp -i"

# head 浏览文件中的内容(默认显示头10行)
[root@localhost ~]# head abc.txt
helloworld
545
45
4
54
54
54
54
54
54
# 显示/etc/passwd文件详细信息前十行
[root@localhost ~]# head  5 /etc/passwd

# 显示/etc/passwd文件详细信息前五行
[root@localhost ~]# head -n 5 /etc/passwd

# 显示文件后10行内容
[root@localhost ~]# tail abc.txt
54
54
54
5
45
4
54
54
54

# 显示文件后5行信息
[root@localhost ~]# tail -n 5 abc.txt
4
54
54
54

# more 浏览文件(浏览一部分  用回车键下翻,百分比方式查看)
[root@localhost ~]# more abc.txt

pwd        # 查看当前目录
示例

 

二,用户,群组,权限

 # 掌握/etc/passwd文件结构将其功能

功能:用来存储用户相关信息,该文件也被称为用户信息数据库

[root@localhost ~]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

 

文件结构:每一行代表的是一个账号,有几行就代表有几个账号;每一行使用 “:”分隔符,由7部分组成

第一字段:用来记录用户名称,用来对应第三个字段的UID,root的UID为0

第二字段:如果该字段为表示用户登录系统是需要使用密码;如果为空表示用户不必利用密码进行登录

第三字段:UID指的是使用者的标识符

 

第四字段:用来记录用户所属群组的GID

第五字段:记录于用户有关的注释信息

第六字段:记录用户的家目录,root的家目录为/root,普通用户doaoao的家目录为/home/doaoao

第七字段:当用户登录系统时,会取得一个Shell来与系统的核心沟通以进行用户的操作

# 掌握/etc/shadow文件结构及其功能

功能:存有用户的密码,每一个用户占一行记录,该文件实际上就是存放用户密码信息的数据库

[root@localhost ~]# head -n 1 /etc/shadow
root:$6$MqR7env0v.YcJO/7$yMmnDq2U7UBt7dq/HCKAdE6U2FD054DGzr948mxXHS6o0SlIHCtF5TTjBRSdxWyFsg.JmhpqukBbgZnqqltHS.:17917:0:99999:7:::

第一字段:用户名

第二字段:经过加密后的密码

# 掌握/etc/group文件结构及其功能

[root@localhost 桌面]# head -n 5 /etc/group
root:x:0:root
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon

 

第一字段:组名

第二字段:当显示为x时表示登录Linux系统时必须使用密码登录

第三字段:为GID,使用GID来对应群组名称

第四字段:记录该群组中的成员,如果要想将某个账号添加到改群组,就可以将该账号添加到该字段下,如将账号doaoao加到root组下,即在第一行的后面加上",doaoao" ,即  root:x:0:root,doaoao

# 账号相关文件之间的UID/GID与口令之间的关系示意图

# 初始群组与有效群组

问题:当一个账号加入多个群组时,当账号在进行操作时,该以哪个群组为准?

账号doaoao的初始群组为doaoao(用命令groups来知道账号所属的所有群组)

[doaoao@localhost ~]$ groups
doaoao

 

将账号添加到root群组中

[root@localhost ~]# usermod -G root doaoao
[root@localhost ~]# su - doaoao
[doaoao@localhost ~]$ groups
doaoao root

 

当一个账号所属的群组由多个时,可利用命令groups输数账号所属的所有群组,排在第一位的就是账号的有效群组,也就是说上方的账号doaoao所属的有效群组为doaoao,如果此时去创建一个文件,那么这个文件就是的属主为doaoao,属组也为群组doaoao

[doaoao@localhost ~]$ touch abc.txt
[doaoao@localhost ~]$ ll 
总用量 0
-rw-rw-r-- 1 doaoao doaoao 0 1月  26 10:49 abc.t

 

有效群组的切换 newgrp

注意:有效群组的切换只能在该账号支持的群组中进行切换,例如账号doaoao支持群组为doaoao和root,切换有效群组时只能在这两个账号之间进行切换

[doaoao@localhost ~]$ newgrp root
[doaoao@localhost ~]$ groups
root doaoao
[doaoao@localhost ~]$ touch abcd.txt
[doaoao@localhost ~]$ ll
总用量 0
-rw-r--r-- 1 doaoao root   0 1月  26 10:53 abcd.txt
-rw-rw-r-- 1 doaoao doaoao 0 1月  26 10:49 abc.txt

# 账号

新增账号 useradd

useradd常用的选项

-u:指定用户的UID,由一组数字组成,直接指定一个特殊的UID给该账号

-g:指定用户所属的群组,后面接的为组名

-G:后面接的组名表示该账号还可以加入该群组

-M:强制,不创建用户家目录

-m:强制,创建用户家目录(系统默认创建家目录) 

-c:指的是在/etc/passwd的第五段的注释信息

-d:用来指定用户的家目录

-r:创建一个系统账号

-s:指定用户所用的shell

-e:后面加上日期,日期的格式为 YYYY-MM-DD,可写入/etc/shadow的第五段(表示账号的失效日期)

-f:表示/etc/shadow的第七段,指定口令是否失效;0为失效,-1为永远不失效

 

# 添加一个普通用户
[root@localhost ~]# useradd heihei3

# 添加用户其它信息
[root@localhost ~]# useradd -u 666 -g root doaoao1

# 
[root@bogon ~]# useradd -u 505 -g heihei -d /home/hee -c hello -s /bin/bash xiaohei
[root@bogon ~]# tail -1 /etc/passwd
xiaohei:x:505:1002:hello:/home/hee:/bin/bash
# UID:505
# 所属群组:heihei
# 家目录:/home/hee
# 注释信息:hello
# shell:/bin/bash
# 用户名:xiaohei

 useradd是如何给账号添加默认信息的(默认家目录,默认群组,默认shell)

用[root@localhost ~]# vim /etc/default/useradd,打开useradd配置文件

# useradd defaults file
GROUP=100              # 初始的用户GID为100
HOME=/home             # 用户的默认家目录为/home
INACTIVE=-1            # 口令过期后是否失效的配置值,表示/etc/shadow的第七段,0为失效,-1为永远不失效
EXPIRE=                # 账号失效的日期
SHELL=/bin/bash        # 默认使用shell程序的文件名
SKEL=/etc/skel         # 用户家目录的参考目录(用户/home/doaoao下的各个数据向都是由/etc/shel中拷贝过去的)
CREATE_MAIL_SPOOL=yes  # 创建者所使用的mailbox

 

 

 chage的使用

chage可以用来显示口令的详细参数

[root@localhost ~]# chage
用法:chage [选项] 登录

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”

 

 账号doaoao的详细口令参数

[root@localhost ~]# chage -l doaoao
最近一次密码修改时间                    :1月 24, 2019
密码过期时间                        :从不
密码失效时间                        :从不
帐户过期时间                          :从不
两次改变密码之间相距的最小天数           :0
两次改变密码之间相距的最大天数            :99999
在密码过期之前警告的天数            :7

 

 usermod使用

 用于修改用户的相关信息

[root@localhost ~]# usermod
用法:usermod [选项] 登录

选项:
  -c, --comment 注释             修改用户备注信息
  -d, --home HOME_DIR           修改用户家目录
  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
  -g, --gid GROUP               修改用户的GID
  -G, --groups GROUPS           将一个用户添加到指定群组中
  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                并不从其它组中删除此用户
  -h, --help                    显示此帮助信息并推出
  -l, --login LOGIN             新的登录名称
  -L, --lock                    锁定用户帐号
  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
  -o, --non-unique              允许使用重复的(非唯一的) UID
  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL             修改用户所用的shell
  -u, --uid UID                 修改用户的UID
  -U, --unlock                  解锁用户帐号
  -Z, --selinux-user  SEUSER    用户账户的新 SELinux 用户映射

 

 利用-G添加组成员(覆盖形式)

[root@localhost ~]# groupadd group2
[root@localhost ~]# usermod -G group2 doaoao
[root@localhost ~]# su - doaoao
[doaoao@localhost ~]$ groups
doaoao group2
[doaoao@localhost ~]$  

 以追加形式 -aG 添加组成员

[root@localhost ~]# groupadd group3
[root@localhost ~]# usermod -aG group3 doaoao
[root@localhost ~]# su - doaoao
[doaoao@localhost ~]$ groups
doaoao group2 group3

 

 userdel使用

[root@localhost ~]# userdel
用法:userdel [选项] 登录
选项:
  -f, --force                   force some actions that would fail otherwise
                                e.g. removal of user still logged in
                                or files, even if not owned by the user
  -h, --help                    显示此帮助信息并推出
  -r, --remove                  在删除用户的同时删除这个用户的家目录及其邮箱
  -R, --root CHROOT_DIR         chroot 到的目录
  -Z, --selinux-user            为用户删除所有的 SELinux 用户映射

 

 删除用户doaoao不删除其家目录及其邮箱

[root@localhost ~]# userdel doaoao

 

删除用户doaoao删除家目录及其邮箱

[root@localhost ~]# userdel -r doaoao

 

 groupadd使用

[root@localhost ~]# groupadd
用法:groupadd [选项] 组
选项:
  -f, --force        如果组已经存在则成功退出
                  并且如果 GID 已经存在则取消 -g
  -g, --gid GID                 为新组使用 GID
  -h, --help                    显示此帮助信息并推出
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -o, --non-unique              允许创建有重复 GID 的组
  -p, --password PASSWORD       为新组使用此加密过的密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录

 

[root@localhost ~]# groupadd group5 

groupmod使用

[root@localhost ~]# groupmod
用法:groupmod [选项] 组

选项:
  -g, --gid GID                 将组 ID 改为 GID
  -h, --help                    显示此帮助信息并推出
  -n, --new-name NEW_GROUP      修改群组的名称
  -o, --non-unique              允许使用重复的 GID
  -p, --password PASSWORD    将密码更改为(加密过的) PASSWORD
  -R, --root CHROOT_DIR         chroot 到的目录

 

[root@localhost ~]# groupmod -g 200 -n test_group group5

 

groupdel的使用

[root@localhost ~]# groupdel
用法:groupdel [选项] 组

选项:
  -h, --help                    显示此帮助信息并推出
  -R, --root CHROOT_DIR         chroot 到的目录
[root@localhost ~]#

 

[root@localhost ~]# groupdel test_group

 

gpasswd:群组管理员功能

如果系统管理员太过繁忙,当某个账号想要加加入某个项目时却找不到系统管理员。这个时候就可以创建群组管理员可以用来将某些账户移入/移出群组,通过gpasswd来创建群组管理员

# 创建一个新的群组
[root@localhost ~]# groupadd test_group1

# 创建一个群组口令
[root@localhost ~]# gpassed test_group1
-bash: gpassed: command not found
[root@localhost ~]# gpasswd test_group1
正在修改 test_group1 组的密码
新密码:
请重新输入新密码:

# 将用户doaoao添加为账号管理员
[root@localhost ~]# gpasswd -A doaoao test_group1
[root@localhost ~]# grep test_group1 /etc/group /etc/gshadow
/etc/group:test_group1:x:672:
/etc/gshadow:test_group1:$6$T0YvW/ossN2$Ngb4jWtookuy9O2sowKw3IXqPnC7rAC9GkskWoAKue5GQg
CHHYprlu27RtcSFZdOhxzloPLM0ylaITfxnHpuB1:doaoao:

 

 

 

# 权限

# 利用 ls -l 来查看文件的权限

[root@localhost ~]# ls -l
总用量 1792
-rw-r--r--  1 root root      61 10月  9 2016 abc.txt
-rw-------. 1 root root    1417 1月  21 19:47 anaconda-ks.cfg
-rw-r--r--. 1 root root       0 1月  21 15:47 a.txt
-rw-r--r--. 1 root root      97 1月  24 10:21 cenros.repo
-rw-r--r--. 1 root root   46478 1月  21 19:47 install.log
-rw-r--r--. 1 root root   10033 1月  21 19:44 install.log.syslog
-rw-r--r--. 1 root root 1722164 11月  4 2014 python-boto-2.32.1-1.el6.centos.noarch.rpm

 

-rw-r--r--. 1 root root   46478 1月  21 19:47 install.log
第一列:-rw-r--r--

第1个字符为第1组:"-"表示为一个文件,"d"表示为一个目录,"b"表示设备,"p"表示管道文件

第2,3,4字符为第2组:表示文件的属主对文件具有的权限(权限分三类:读r,写w,执行x,rwx表示具有三钟权限 ),用u表示属主对该文件具有全部权限

第5,6,7字符为第3组:表示文件或目录的属主所在的群组中的其它用户具有的权限,用g表示该权限

第8,9,10字符为第4组:表示既不是属主也不是和属主同一组的其它用户的权限用o代表该权限

第二列:"."表示文件是在安全状态下创建的

第三列:"1"表示的为硬链接数

第四列:root表示文件或文档的属主为root

第五列:root表示文件或文档的属组为root

第六列:46478表示文件的大小

第七列:1月 21 19:47表示文件或则文档的创建时间

第八列:install.log表示文件的名称

注:root用户也被称为超超级用户,它完全可以不受限制地访问任何用户的账户和文件及其目录

# 文件权限的修改chmod

[root@bogon ~]# mkdir /test
[root@bogon ~]# cd /test/
[root@bogon test]# touch a.txt
[root@bogon test]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 1月  10 11:22 a.txt
[root@bogon test]# chmod u-rw a.txt            # 表示u权限改为 ---
[root@bogon test]# ll
总用量 0
----r--r--. 1 root root 0 1月  10 11:22 a.txt
[root@bogon test]# chmod u+rw a.txt            # 表示u权限改为 rw-
[root@bogon test]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月  10 11:22 a.txt
[root@bogon test]# chmod u=rwx a.txt          # 表示u权限改为 rwx
[root@bogon test]# ll
总用量 0
-rwxr--r--. 1 root root 0 1月  10 11:22 a.txt
[root@bogon test]# chmod u=- a.txt             # 表示u权限改为 ---
[root@bogon test]# ll
总用量 0
----r--r--. 1 root root 0 1月  10 11:22 a.txt

 

r:表示read(读)权限---------->4

w:表示write(写)权限--------->2

X:表示execut(执行)权限---->1

+:表示加入权限

-:表示去掉权限

=:表示设定权限

注:

# 对待目录来说 可读权限表示能够浏览该目录下包含的文件,子文件,子目录

# 对目录具有可读可写表示 可以在目录下进行添加文件 重命名文件 删除文件

# 对目录的可执行权限(例如windows中的双击打开文件)(Linux中的cd到该目录下)

chown修改文件或目录属主

# 创建新文件并查看其权限
[root@localhost ~]# chown doaoao test_owner.txt 
[root@localhost ~]# ls -l
-rw-r--r--  1 root root       0 1月  26 13:50 test_owner.txt

# 修改文件的属主为doaoao
[root@localhost ~]# chown doaoao test_owner.txt 
[root@localhost ~]# ls -l
-rw-r--r--  1 doaoao root       0 1月  26 13:50 test_owner.txt

 

chgrp修改文件或目录的属组

# 查看文件的属组为root
[root@localhost ~]# chown doaoao test_owner.txt 
[root@localhost ~]# ls -l
-rw-r--r--  1 doaoao root       0 1月  26 13:50 test_owner.txt

# 查看文件的属组为doaoao
[root@localhost ~]# chgrp doaoao test_owner.txt 
[root@localhost ~]# ls -l
-rw-r--r--  1 doaoao doaoao       0 1月  26 13:50 test_owner.txt

 

chown同时修改属主和属组

[root@localhost ~]# chown root.root test_owner.txt 
[root@localhost ~]# ls -l
-rw-r--r--  1 root root       0 1月  26 13:50 test_owner.txt

 

基础补充:一次性创建多个文件

[root@localhost test]# touch /test/{1..9}.txt
[root@localhost test]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月  10 20:36 1.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 2.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 3.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 4.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 5.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 6.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 7.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 8.txt
-rw-r--r--. 1 root root 0 1月  10 20:36 9.txt
----r--r--. 1 root root 0 1月  10 11:22 a.txt

 补充:

centos6.9(Linux系统)安装VMware tools教程:https://jingyan.baidu.com/article/cd4c2979361620756f6e606b.html

待补充...

 

今天关于【Linux基础】Linux系统默认目录功能简介linux默认目录的名称及作用的讲解已经结束,谢谢您的阅读,如果想了解更多关于linux下PHP错误警报开启与关闭 linux php exec 执行不了 linux系统 linux系统下、Linux基础-14day-Linux系统服务管理、Linux基础-15day-Linux系统目录结构、Linux基础_Linux操作系统简介的相关知识,请在本站搜索。

本文标签: