当打开/etc/inittab 文件时, 会看到:
inittab is no longer used,
Adding configuration here will have no effect on system.
systemd uses 'targets' instead of runlevels. By default, there are two main targets:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
To view current default target, run: systemctl get-default
To set a default target, run systemctl set-default TARGET.target
php
一个是系统服务service, 像不少的 系统服务包括httpd.service等都是放在 systemd/system下的;html
另外一个就是 系统的启动管理.包括原来的 /etc/inittab, runlevels 等 都是由 systemd/system/下的target 来管理的了.mysql
target 被设计成层级结构,逐级包含和require. 好比: multi-user.target就相似于原来的 runlevel3 它包含 basic.target. 而graphical.target就相似于(analogous to)原来的runlevel5. 它又包含 multi-user.target.每一个target都有对应的需求启动项,包含在对应的 *.target.wants(wants 就是对应的目标所须要的内容...)linux
在每一个target中, 的内容是: 规定了前提条件: requisite, 先于当前target 启动的服务Before=...,当前服务启动后, 而后还要启动的服务 After=... sql
[foo@localhost system]$ ls *.wants ## 查看各个目标须要的wants, 每一个wants下列出了须要的哪些服务. systemd就是这样来管理系统启动的 anaconda.target.wants: anaconda-nm-config.service anaconda-tmux@tty2.service # basic.target.wants: alsa-restore.service alsa-state.service fedora-autorelabel-mark.service fedora-autorelabel.service fedora-loadmodules.service busnames.target.wants: org.freedesktop.hostname1.busname org.freedesktop.login1.busname org.freedesktop.resolve1.busname org.freedesktop.import1.busname org.freedesktop.machine1.busname org.freedesktop.systemd1.busname org.freedesktop.locale1.busname org.freedesktop.network1.busname org.freedesktop.timedate1.busname dbus.target.wants: default.target.wants: # graphic.target包含(requires multi-user.target, multi-user.target又requires basic.target) graphical.target.wants: systemd-update-utmp-runlevel.service # multi-user.target须要的wants. multi-user.target.wants: dbus.service plymouth-quit.service systemd-ask-password-wall.path systemd-update-utmp-runlevel.service getty.target plymouth-quit-wait.service systemd-logind.service systemd-user-sessions.service
[foo@localhost ~]$ cat > 重定向文件名.txt <<eof > [daemon] > autologinEnabled = true > autologinUser = liveuser > eof (若是是在脚本中, 就没有前面的大于符号)
utmp maintains a full accounting of the current status of the system, system boot time (used by uptime), recording user logins at which terminals, logouts, system events etc.thinkphp
wtmp acts as a historical utmp数据库
btmp records failed login attemptsapache
gsettings set org.gnome.SessionManager auto-save-session truecentos
只能恢复第一个 workspace中的 内容 所以, 若是你想 下次开机时, 仍是有这些内容,
能够把他们都放在第一个workspace中,数组
namespace 指的是所在的目录,是位置
而use 是指的使用的类文件,是文件
控制器的类名应该是:Foo + Controller:FooController 而不仅是单单的class Foo. 你是继承自Controller的,那天然你也应该是 xxxController才行。
# LoadModule rewrite_module
LoadModule后面的模块名称使用的是 ModuleName_module 外, 其余地方都是使用 的 mod_modulename, 好比:LoadModule rewrite_module modules/mod_rewrite.so httpd.conf中: <IfModule mod_rewrite> .... </IfModule> thinkphp中的.htaccess 配置中: <IfModule mod_rewrite.c> ... <IfModule>
要使用URL 模式为重写模式, 要求 .htaccess要和 入口文件index.php放在同一位置. 同一个目录下才行. 固然 的, rewrite的做用就不 只是 省略入口文件
.htaccess文件
是用来 影响 你要设置的某个目录的, 因此, 若是你要处理某个目录, 不必定是 Application/目录, 就要在对应的目录下 建立 相应的 .htaccess文件, 这个.ht..文件能够有多个http://servername/
后面的内容才重写, 对servername/ 老是不重写无论的.也能够本身写 重写规则, 不必定只是 那个 省略index.php的重写规则 好比下面的规则就是 将 cool的访问 重写/重定向到bar的操做action RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^Home/Foo/cool$ index.php/Home/Foo/bar [QSA,PT,L] # 默认的重写规则是: RewriteRule ^.*$ index.php/$1 [QSA,PT,L] 当访问以下的url地址时, http://localhost/Home/Foo/cool?val=3 得到的 dump($_SERVER) 的输出: array 'REDIRECT_STATUS' => string '200' (length=3) 'HTTP_HOST' => string 'localhost' (length=9) 'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0' (length=65) 'HTTP_ACCEPT' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' (length=63) 'HTTP_ACCEPT_LANGUAGE' => string 'en-US,en;q=0.5' (length=14) 'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate' (length=13) 'HTTP_COOKIE' => string 'PHPSESSID=ufujblmd3tnp9ch7lsao4ov594; pgv_pvi=8625812480; pgv_si=s4041340928' (length=76) 'HTTP_CONNECTION' => string 'keep-alive' (length=10) 'PATH' => string 'C:\Program Files\Intel\iCLS Client\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Windows Live\Shared;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;' (length=363) 'SystemRoot' => string 'C:\Windows' (length=10) 'COMSPEC' => string 'C:\Windows\system32\cmd.exe' (length=27) 'PATHEXT' => string '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' (length=53) 'WINDIR' => string 'C:\Windows' (length=10) 'SERVER_SIGNATURE' => string '' (length=0) 'SERVER_SOFTWARE' => string 'Apache/2.2.17 (Win32) PHP/5.3.5' (length=31) 'SERVER_NAME' => string 'localhost' (length=9) 'SERVER_ADDR' => string '127.0.0.1' (length=9) 'SERVER_PORT' => string '80' (length=2) 'REMOTE_ADDR' => string '127.0.0.1' (length=9) 'DOCUMENT_ROOT' => string 'C:/wamp/www/' (length=12) 'SERVER_ADMIN' => string 'admin@localhost' (length=15) 'SCRIPT_FILENAME' => string 'C:/wamp/www/index.php' (length=21) 'REMOTE_PORT' => string '53416' (length=5) 'REDIRECT_QUERY_STRING' => string 'val=3' (length=5) 'REDIRECT_URL' => string '/Home/Foo/cool' (length=14) 'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7) 'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8) 'REQUEST_METHOD' => string 'GET' (length=3) 'QUERY_STRING' => string 'val=3' (length=5) // 不论是query,仍是 request等, 都没有ing 'REQUEST_URI' => string '/Home/Foo/cool?val=3' (length=20) // REQUEST_URI 是最真是/最直接的 请求地址, 就是跟浏览器的地址栏中的内容彻底同样. 'SCRIPT_NAME' => string '/index.php' (length=10) // 会显示 真实的 脚本名称,在 servername后面的 脚本名称, 如这里的 /index.php 'PATH_INFO' => string 'Foo/bar' (length=7) // PATH_INFO 包含的是: 控制器/操做: Controller/Action 'PATH_TRANSLATED' => string 'C:\wamp\www\Home\Foo\bar' (length=24) 'PHP_SELF' => string '/index.php/Home/Foo/bar' (length=23) 是用来 和 REQUEST_URI 区分查询字符串的, 是 REQUEST_URI去掉查询字符串后的内容. 'REQUEST_TIME' => int 1516797830
一般来讲, 只有 变量(及其 变量数组的 下标) 是在win下 严格区分大小写的. 而其余都不分大小写.
可是 , 在 linux下, 一切 都是区分 大小写的 , 一切都是 case sensitive的.
因此 养成一个习惯, 不论是在 哪一种平台下, 不论是win, 仍是 linux下, 都要养成 区分大小写的习惯.
=======================
<IfModule [!] module_file | module_name >... </IfModule>
格式中, ifmodule是指, 判断所指定的 模块 是否指定/是否 启用/是否生效 来决定是否启用中间的代码段. 其中, 可使用 否认的 符号!, 后面的条件能够用 编译模块时的文件名, 也能够指定 模块名称, 因此, <IfModule mod_rewrite.c 或者 mod_rewrite
都是能够的.在linux下, httpd的 module 模块插件, 是放在 /usr/lib/httpd/modules这个目录下的, 配置文件中的 mod_路径也是以 这个目录下 为相对路径的: LoadModule rewrite_module modules/mod_rewrite.so