【教程主题】:2.Linux高频命令精讲php
【2.1】Linux的运行方式node
图形运行方式linux
- 本地使用KDE/Gnome集成环境正则表达式
- 运行X Server远程使用图形环境shell
命令行(字符运行)方式安全
- 本地虚拟终端bash
- 使用Telnet远程登陆服务器
- 使用SSH远程登陆网络
【2.2】字符界面的使用less
为何要使用字符工做方式
- 能够高效率的完成任务
- 远程登陆操做均使用字符界面
- 节省系统资源
进入字符模式的方法
- 图形环境下,右键桌面 —> 终端
- 系统启动后直接进入字符模式
- 远程telnet(明文)或SSH(加密)登录字符模式
【2.3】本地登陆和远程登录
本地登陆
Ø 虚拟控制台
在系统启动时直接进入字符工做方式后,系统提供了多个(默认为6个)虚拟控制台。每一个虚拟控制台能够互相独立使用,互不影响。
可使用Alt+F1~Alt+F6进行多个虚拟控制台之间的切换。
Ø 字符界面下登录Linux
Linxu系统是严格区分大小写的,不管用户名,仍是文件名、设备名都是如此。
基于安全的考虑,通常应该使用普通用户登陆系统,不要使用root用户登陆,当须要进行超级用户的工做时 可使用 su – 命令切换为超级用户身份。
logout登出 exit退出 都是注销操做
命令提示符后 #为root用户 $为普通用户
远程登录
Ø Linux下远程登陆另外一台Linux服务器
Linux下的ssh命令是OpenSSH的客户端程序。要登录远程Linux系统,必须保证远程Linux系统上启动了OpenSSH服务器。使用ssh命令登录远程OpenSSH服务器的命令格式是:
$ssh 远程主机上的用户名@远程主机的ip地址或主机名
$ssh IP地址
Ø Windows下利用SSH工具登陆一台linux服务器
SecureCRT.exe
http://baike.baidu.com/view/489722.htm 百度百科介绍
xshell
【2.4】Linux的系统运行级别
0 - 系统关机状态
1 - 单用户工做状态,用于维护。
2 - 多用户模式(NFS未启动)
3 - 多用户模式, 字符界面。
4 - 系统未使用,留给用户自定义
5 – 多用户模式,而且在系统启动后运行X Window,给出一个图形化的登陆窗口。
6 – 全部进程被终止,从新启动
查看当前系统的运行级别
#runlevel
切换运行级别
#init[0123456]
【2.5】linux的目录结构
Linux文件系统是呈树形结构,了解Linux文件系统的目录结构,对于咱们驾驭Linux仍是有必要的。
目录 |
说明 |
/ |
Linux文件系统的入口,也是处于最高一级的目录 |
/bin |
基本系统所须要的命令。功能和/usr/bin相似,这个目录中的文件都是可执行的,普通用户均可以使用的命令 |
/boot |
内核和加载内核所须要的文件。通常状况下,GRUB系统引导管理器也位于这个目录 |
/dev |
设备文件存储目录,好比终端、磁盘等 |
/etc |
全部的系统配置文件 |
/home |
普通用户家目录的默认存放目录 |
/lib |
库文件和内核模块所存放的目录 |
/media |
即插即用型存储设备的挂载点自动在这个目录下建立,好比u盘、CDROM/DVD自动挂载后,也会在这个目录中建立一个目录。 |
/mnt |
临时文件系统的挂载点目录 |
/opt |
第三方软件的存放目录 |
/root |
Linux超级权限用户root的家目录 |
/sbin |
基本的系统维护命令,只能由超级用户使用 |
/srv |
该目录存放一些服务启动以后须要提取的数据 |
/tmp |
临时文件目录 |
/usr |
存放用户使用系统命令和应用程序等信息,好比命令、帮助文件等。 |
/var |
存放常常变更的数据,好比日志、邮件等。 |
几个特殊的文件系统
文件系统 |
挂载点 |
说明 |
root |
/ |
Linux系统运行的基点,根文件系统不能被卸载 |
proc |
/proc |
以文件系统的方式为访问系统内核数据的操做提供接口,适用于2.4和2.6内核 |
sysfs |
/sys |
以文件系统的方式为访问系统内核数据的操做提供接口,2.6内核使用 |
tmpfs |
/dev /var/run /var/lock |
程序访问共享内存资源时使用的文件系统 |
usbfs |
/proc/bus/usb |
访问usb设备时使用的文件系统 |
devpts |
/dev/pts |
内核用来与伪终端(以远程方式登录)进行交互的文件系统 |
swap |
内核使用的特殊文件系统,无挂载点 |
用来建立虚拟内存 |
【2.6】linux命令
Linux命令的习惯
- 命令及参数区分大小写
- 程序能否执行与扩展名无关
- 使用tab键来补全命令
$command [-options] parameter1 parameter2 …
指令 选项 参数1 参数2
说明:
0. 一行指令中第一个输入的绝对是‘指令(command)’或‘可执行文件’
1. command 为指令的名称,例如变换路径的指令为 cd 等等;
2. 中刮号[]并不存在于实际的指令中,而加入参数设定时,一般为 - 号,例如 -h; 有时候完整参数名称会输入 -- 符号,例如 --help;
3. parameter1 parameter2.. 为依附在 option 后面的参数, 或者是 command 的参数;
4. command, -options, parameter1.. 这几个中间以空格来区分,不论空几格 shell 都视为一格;
5. 按下 [Enter] 按键后,该指令就当即执行。
6. 指令太长的时候,可使用 \ 符号来跳脱 [Enter] 符号, 使指令连续到下一行。注意! \ 后就马上接特殊字符。
7. 在 Linux 系统中,英文大小写字母是不同的。举例来讲, cd 与 CD 并不一样。
经常使用命令介绍
pwd
查看当前工做目录
cd
更换目录
用法:
cd [目录]
符号 |
意义 |
. |
当前工做目录 |
.. |
父目录 |
~ |
用户家目录 |
- |
上个工做目录 |
ls
显示目录
用法: ls [参数] [目录名]
ls 参数:
-a:显示全部文件,包括隐藏文件(以.开头的文件)
-l:以长格式显示
-t:按修改时间前后显示
-R:显示目录及下级子目录结构(递归)
-m: 横向输出文件名,并以“,”做分格符。
-S: 以文件大小排序。
用颜色表明不一样文件
白色:普通文件
红色:压缩文件
蓝色:目录文件
浅蓝色:连接文件
黄色:设备文件(/dev)
绿色:可执行文件(/bin、/sbin)
粉红色:图片文件
mkdir
创建目录
用法: mkdir [参数] {目录名}
参数: -p 能够一次性建立整个目录树
rmdir
删除目录
用法: rmdir [参数] {目录名}
• 若是目录是空的,此命令会删除他们,若是目录中有内容,则会产生错误信息且不能删除目录,可是他会继续删除其他的空目录。注意,只包括一个子目录的目录不是空的。
rm
删除文件和文件夹
用法: rm [参数] {文件}
参数:
-r 删除整个目录树
-f 强制执行
tree
显示文件和目录树
用法: tree [参数] {文件}
参数: -a 不隐藏任何以.字符开始的条目
-d 只显示目录不显示文件
-f 每一个文件都显示路径
-t 根据最后修改时间排序
-L n 只显示n层目录 (n为数字)
touch
建立空文件和更改时间戳
用法:touch [参数] {文件}
参数: -d 更改时间戳为定义值 (后面加年月日,格式:20101212)
cp
复制目录
用法: cp [参数] {原文件…} {目标文件}
参数: -r 递归执行 (可复制目录树)
mv
移动或重命名文件
用法: mv [参数] {原文件} {目标文件} 把原文件改名为目标文件
mv [参数] {原文件…} {目标文件} 把一个或多个文件同时移动到目标文件中
查看文档:
cat 由第一行开始显示文件的内容
cat命令显示文件时会同时显示全部内容。大型文件在屏幕上一晃而过,难以阅读。因此他比较适合小于一屏的文件。
用法:
cat [option] filename
tac 从最后一行开始显示
file显示文件类型
file [option] filename
more 一页一页的显示档案内容 :
l 空格键 (space):表明向下翻一页;
l Enter:表明向下翻『一行』;
l /字符串:表明在这个显示的内容当中,向下搜索『字符串』这个关键词;
l :f :马上显示出文件名以及目前显示的行数;
l h 帮助
l b 或 [ctrl]-b :表明往回翻页
l q:退出
· less 与 more 相似,less能够往前翻页! :
l 空格键:向下翻一页;
l [pagedown]:向下翻一页;
l [pageup]:向上翻一页;
l /字符串:向下搜索『字符串』;
l ?字符串 :向上搜索『字符串』;
l n:重复前一个搜索
l N:反向的重复前一个搜索
l h:帮助
l q:退出
head显示文件开始几行
用法:
head [options] {file…}
参数 : –n number查看前几行的值
tail显示文件最后几行
用法:
tail [options] {file…}
参数 : –n number 查看后几行的值
–f 一直监视
【7】man 帮助文档
路径:/usr/share/man
用法: man [参数] [查询名]
/ 来查找
q退出
其余得到帮助的方法
--help
-h
info 命令
help 内置命令
readme
【8】关机
将数据同步写入硬盘:sync
shutdown命令
shutdown命令的格式为:
#shutdown [参数] 时间 [警告信息]
-t sec :送出警告信息和删除信息之间要延迟多少秒
- k:并不真正关机而只是发出警告信息给全部用户
- r:关机后当即从新启动
- h:关机后中止系统
init 0
重启:reboot init6
【9】别名
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls --color=auto'
alias ll='ls -lh --color=auto'
alias l='ls --color=auto'
alias grep='grep --color=auto'
debian系统的时候要在/etc/profile里面进行设置
【10】find
[root@www ~]# find [PATH] [option] [action]
选项与参数:
1. 不时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天以前的『一天以内』被更改过内容的文件
-mtime +n :列出在 n 天以前(不含 n 天自己)被改动过内容的文件;
-mtime -n :列出在 n 天以内(含n 天自己)被更改过内容的文件。
-newer file :file 为一个存在参照物,列出比 file 还要新的文件
[root@www ~]# find / -mtime 0
# 那个 0 是重点!0 表明目前的时间,因此,从如今开始到 24 小时前,有改动过内容的文件都会被列出来
find / -mtime 3 #3天内改动过的文件
find / -name file –exec ls –l {} \;
文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改全部者、权限或连接设置时随 Inode 的内容更改而更改的。
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
【11】查看命令历史
history
【12】环境变量
PATH命令搜索的路径
export PATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin
【2.7】管道
grep
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的全部行。
sort -r 反向排序
cut –d ‘分割符’ –f 取第几段
uniq –c 计数
wc –l 统计多少行
【2.8】linux中的正则
&&且
||或
几个概念:
1.基本正则表达式 扩展的正则表达式 (由普通字符+元字符组成)
2.通配 (由普通字符+元字符组成)
3.元字符
注意:正则表达式中元字符的意义和通配中元字符的意义有区别的
bash shell自己不支持正则表达式,使用正则表达式的是shell的一些命令和工具,如grep,sed,awk等等
可是bash可使用正则表达式中的一些元字符实现通配的功能,此时的这些元字符叫通配符。
此时通配中元字符的意义跟正则表达式中元字符的意义就不同了。
通配是指:将一个包含通配符的非具体的文件名扩展为计算机,服务器,网络上的一批具体的文件名的过程。
基本正则表达式中元字符的意义以下:
1. * 匹配*前面的那一个字符的0次或屡次
如hel*o heo helo hello helllo ......
2. . 匹配任意一个字符(只匹配一个,能够是空格)
如ab. abc abd ab3 ab ......
3. ^ 匹配行首,行首的字符序列必须是^后的字符序列
如^suda sudahuhuhuuuuuhuuh sudaokokokokokoko ......
4. & 匹配行尾,行尾的字符序列必须是$前的字符序列
如suda$ jijijijijiiijijsuda lkokokokokjijhuhsuda ......
特殊的 ^$ 匹配一个空行
^.$ 匹配只有一个字符的空行
5. [] 匹配字符集合中的任意一个字符(只匹配一个)
如[1234] [1-4] 匹配1,2,3,4的任意一个字符
注意:^放在[]里面时,再也不表示匹配行首,而是取反的意思
[^1234] [^1-4] 匹配不是1,2,3,4的任意一个字符
[a-z][A-Z]* 匹配任意一个英文单词
6. \ 用于转义元字符,使之成为普通字符
如\* 此时*表示一个普通字符
7. \<\> 用于精确匹配
如\<the>\ 表示精确匹配the这个单词,而不是them then等等
8.\{\}系列符号
\{n\} 匹配前面字符的n次
\{n,\} 匹配前面字符的至少n次
\{n,m\} 匹配前面字符的n-m次,至少n次,至多m次
如JO\{3\}B 匹配JOOOB
如JO\{3,\}B 匹配JOOOB JOOOOB ......
如JO\{3,6\}B 匹配JOOOB JOOOOB JOOOOOB JOOOOOOB
扩展的正则表达式中元字符的意义以下:
1. ? 匹配前面的那一个字符的0次或1次
如JO?B 匹配 JB JOB JOOB
2. + 匹配前面的那一个字符的1次或屡次
如JO+B 匹配 JOOB JOOOB ......
3. |与()一般结合使用,表示一组可选的字符集合
如re(a|o|e)d 匹配read reod reed
等同于re[aoe]d
通配中的元字符的意义以下:
1. * 表示任意多的任意字符
2. ? 表示一个任意字符
3. ^ 表示取反
4. [] 同正则表达式的用法
5. {} 表示一组表达式的集合 {}中表达式是或的关系
如ls -l {*.cpp , [1234]*.c} 列出知足表达式*.cpp或者[1234]*.c的文件。