怎样建网站 步骤,全屋定制效果图,搜狗优化好的网站,asp网站开发实训总结Linxu
Linux 简介
Linux 内核最初只是由芬兰人林纳斯托瓦兹#xff08;Linus Torvalds#xff09;在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 是一套免费使用和自由传播的类 Unix 操作系统#xff0c;是一个基于 POSIX#xff08;可移植操作系统接口#xff09…Linxu
Linux 简介
Linux 内核最初只是由芬兰人林纳斯·托瓦兹Linus Torvalds在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 是一套免费使用和自由传播的类 Unix 操作系统是一个基于 POSIX可移植操作系统接口 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想是一个性能稳定的多用户网络操作系统。
Linux 发行版
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
Linux 应用领域
今天各种场合都有使用各种 Linux 发行版从嵌入式设备到超级计算机并且在服务器领域确定了地位通常服务器使用 LAMPLinux Apache MySQL PHP或 LNMPLinux Nginx MySQL PHP组合。
Linux vs Windows CTRL 滚轮 放大字体
按住tab键,自动补全
开关机指令和目录
关机指令为shutdown
sync # 将数据由内存同步到硬盘中。shutdown # 关机指令你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机shutdown –h 10 # 这个命令告诉大家计算机将在10分钟后关机shutdown –h now # 立马关机shutdown –h 20:25 # 系统会在今天20:25关机shutdown –h 10 # 十分钟后关机shutdown –r now # 系统立马重启shutdown –r 10 # 系统十分钟后重启reboot # 就是重启等同于 shutdown –r nowhalt # 关闭系统等同于shutdown –h now 和 poweroff最后总结一下不管是重启系统还是关闭系统首先要运行 sync 命令把内存中的数据写到磁盘中。
树状目录结构Linux的一切资源都挂载在这个 / 根节点下 以下是对这些目录的解释
/binbin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot 这里存放的是启动Linux时使用的一些核心文件包括一些连接文件以及镜像文件。/dev dev是Device(设备)的缩写, 存放的是Linux的外部设备在Linux中访问设备的方式和访问文件的方式是相同的。/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home用户的主目录在Linux中每个用户都有一个自己的目录一般该目录名是以用户的账号命名的。/lib这个目录里存放着系统最基本的动态连接共享库其作用类似于Windows里的DLL文件。/lostfound这个目录一般情况下是空的当系统非法关机后这里就存放了一些文件。/medialinux系统会自动识别一些设备例如U盘、光驱等等当识别后linux会把识别的设备挂载到这个目录下。/mnt系统提供该目录是为了让用户临时挂载别的文件系统的我们可以将光驱挂载在/mnt/上然后进入该目录就可以查看光驱里的内容了。/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。/proc这个目录是一个虚拟的目录它是系统内存的映射我们可以通过直接访问这个目录来获取系统信息。/root该目录为系统管理员也称作超级权限者的用户主目录。/sbins就是Super User的意思这里存放的是系统管理员使用的系统管理程序。/srv该目录存放一些服务启动之后需要提取的数据。/sys这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。/tmp这个目录是用来存放一些临时文件的。/usr这是一个非常重要的目录用户的很多应用程序和文件都放在这个目录下类似于windows下的program files目录。/usr/bin 系统用户使用的应用程序。/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。/usr/src 内核源代码默认的放置目录。/var这个目录中存放着在不断扩充着的东西我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。/run是一个临时文件系统存储系统启动以来的信息。当系统重启时这个目录下的文件应该被删掉或清除。
目录管理
绝对路径和相对路径
我们知道Linux的目录结构为树状结构最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中通过解除挂载可以移除它们。
在开始本教程前我们需要先知道什么是绝对路径与相对路径。
绝对路径
路径的写法由根目录 / 写起例如/usr/share/doc 这个目录。
相对路径
路径的写法不是由 / 写起例如由 /usr/share/doc 要到 /usr/share/man 底下时可以写成cd …/man 这就是相对路径的写法啦
处理目录的常用命令
ls: 列出目录语法[rootwww ~]# ls [-aAdfFhilnrRSt] 目录名称
选项与参数-a 全部的文件连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)-l 长数据串列出包含文件的属性与权限等等数据(常用)将目录下的所有文件列出来(含属性与隐藏档)[rootwww ~]# ls -al ~cd切换目录cd是Change Directory的缩写这是用来变换工作目录的命令。语法cd [相对路径或绝对路径] pwd显示目前的目录pwd 是 Print Working Directory 的缩写也就是显示目前所在目录的命令。[rootchen an]#pwd [-P]
选项与参数-P 显示出确实的路径而非使用连接(link) 路径。mkdir创建一个新的目录如果想要创建新的目录的话那么就使用mkdir (make directory)吧。mkdir [-mp] 目录名称
选项与参数-m 配置文件的权限喔直接配置不需要看默认权限 (umask) 的脸色-p 帮助你直接将所需要的目录(包含上一级目录)递归创建起来rmdir删除一个空的目录语法rmdir [-p] 目录名称
选项与参数-p 连同上一级『空的』目录也一起删除cp: 复制文件或目录语法[rootwww ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[rootwww ~]# cp [options] source1 source2 source3 .... directory
选项与参数-a相当於 -pdr 的意思至於 pdr 请参考下列说明(常用)-p连同文件的属性一起复制过去而非使用默认属性(备份常用)-d若来源档为连结档的属性(link file)则复制连结档属性而非文件本身-r递归持续复制用於目录的复制行为(常用)-f为强制(force)的意思若目标文件已经存在且无法开启则移除后再尝试一次-i若目标档(destination)已经存在时在覆盖时会先询问动作的进行(常用)-l进行硬式连结(hard link)的连结档创建而非复制文件本身。-s复制成为符号连结档 (symbolic link)亦即『捷径』文件-u若 destination 比 source 旧才升级 destination rm: 移除文件或目录mv: 移动文件与目录或修改文件与目录的名称你可以使用 man [命令] 来查看各个命令的使用文档如 man cp。
ls: 列出目录
语法
[rootwww ~]# ls [-aAdfFhilnrRSt] 目录名称 选项与参数
-a 全部的文件连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l 长数据串列出包含文件的属性与权限等等数据(常用)
将目录下的所有文件列出来(含属性与隐藏档)
[rootwww ~]# ls -al ~
cd切换目录
cd是Change Directory的缩写这是用来变换工作目录的命令。
语法
cd [相对路径或绝对路径]
pwd显示目前的目录
pwd 是 Print Working Directory 的缩写也就是显示目前所在目录的命令。
[rootkuangshen kuangstudy]#pwd [-P] 选项与参数-P 显示出确实的路径而非使用连接(link) 路径。
mkdir创建一个新的目录
如果想要创建新的目录的话那么就使用mkdir (make directory)吧。
mkdir [-mp] 目录名称 选项与参数
-m 配置文件的权限喔直接配置不需要看默认权限 (umask) 的脸色
-p 帮助你直接将所需要的目录(包含上一级目录)递归创建起来
rmdir删除一个空的目录
语法
rmdir [-p] 目录名称 选项与参数-p 连同上一级『空的』目录也一起删除
cp: 复制文件或目录
语法
[rootwww ~]# cp [-adfilprsu] 来源档(source) 目标档(destination) [rootwww ~]# cp [options] source1 source2 source3 … directory 选项与参数
-a相当於 -pdr 的意思至於 pdr 请参考下列说明(常用)
-p连同文件的属性一起复制过去而非使用默认属性(备份常用)
-d若来源档为连结档的属性(link file)则复制连结档属性而非文件本身
-r递归持续复制用於目录的复制行为(常用)
-f为强制(force)的意思若目标文件已经存在且无法开启则移除后再尝试一次
-i若目标档(destination)已经存在时在覆盖时会先询问动作的进行(常用)
-l进行硬式连结(hard link)的连结档创建而非复制文件本身。
-s复制成为符号连结档 (symbolic link)亦即『捷径』文件
-u若 destination 比 source 旧才升级 destination
rm: 移除文件或目录
语法
rm [-fir] 文件或目录选项与参数
-f 就是 force 的意思忽略不存在的文件不会出现警告信息-i 互动模式在删除前会询问使用者是否动作-r 递归删除啊最常用在目录的删除了这是非常危险的选项
mv: 移动文件与目录或修改文件与目录的名称
语法
[rootwww ~]# mv [-fiu] source destination
[rootwww ~]# mv [options] source1 source2 source3 .... directory选项与参数
-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖-u 若目标文件已经存在且 source 比较新才会升级 (update)
基本属性
Linux系统是一种典型的多用户系统不同的用户处于不同的地位拥有不同的权限。为了保护系统的安全性Linux系统对不同的用户访问同一文件包括目录文件的权限做了不同的规定。
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组如 实例中boot文件的第一个属性用d表示。d在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
当为[ d ]则是目录当为[ - ]则是文件若是[ l ]则表示为链接文档 ( link file )若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 )若是[ c ]则表示为装置文件里面的串行端口设备例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中以三个为一组且均为『rwx』 的三个参数的组合。
其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是这三个权限的位置不会改变如果没有权限就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定如下图 从左至右用0-9这些数字来表示。
第0位确定文件类型第1-3位确定属主该文件的所有者拥有该文件的权限。第4-6位确定属组所有者的同组用户拥有该文件的权限第7-9位确定其他用户拥有该文件的权限。
其中
第1、4、7位表示读权限如果用r字符表示则有读权限如果用-字符表示则没有读权限
第2、5、8位表示写权限如果用w字符表示则有写权限如果用-字符表示没有写权限
第3、6、9位表示可执行权限如果用x字符表示则有执行权限如果用-字符表示则没有执行权限。
对于文件来说它都有一个特定的所有者也就是对该文件具有所有权的用户。
同时在Linux系统中用户是按组分类的一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中boot 文件是一个目录文件属主和属组都为 root。
修改文件属性
1、chgrp更改文件属组
chgrp [-R] 属组名 文件名-R递归更改文件属组就是在更改某个目录文件的属组时如果加上-R的参数那么该目录下的所有文件的属组都会更改。
2、chown更改文件属主也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名属组名 文件名3、chmod更改文件9个属性
chmod [-R] xyz 文件或目录Linux文件属性有两种设置方法一种是数字一种是符号。
Linux文件的基本权限就有九个分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据文件的权限字符为『-rwxrwxrwx』 这九个权限是三个三个一组的其中我们可以使用数字来代表各个权限各权限的分数对照表如下
r:4 w:2 x:1每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的例如当权限为[-rwxrwx—] 分数则是
owner rwx 421 7group rwx 421 7others — 000 0
chmod 770 filename文件内容查看
ifconfig命令查看网络配置
Windows为 ipconfig 概述 Linux系统中使用以下命令来查看文件的内容
cat 由第一行开始显示文件内容tac 从最后一行开始显示可以看出 tac 是 cat 的倒着写nl 显示的时候顺道输出行号more 一页一页的显示文件内容less 与 more 类似但是比 more 更好的是他可以往前翻页head 只看头几行tail 只看尾巴几行
你可以使用 *man [命令]*来查看各个命令的使用文档如 man cp。
cat 由第一行开始显示文件内容
语法
cat [-AbEnTv]选项与参数
-A 相当於 -vET 的整合选项可列出一些特殊字符而不是空白而已-b 列出行号仅针对非空白行做行号显示空白行不标行号-E 将结尾的断行字节 $ 显示出来-n 列印出行号连同空白行也会有行号与 -b 的选项不同-T 将 [tab] 按键以 ^I 显示出来-v 列出一些看不出来的特殊字符
测试
# 查看网络配置: 文件地址 /etc/sysconfig/network-scripts/
[rootchen ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICEeth0
BOOTPROTOdhcp
ONBOOTyestac
tac与cat命令刚好相反文件内容从最后一行开始显示可以看出 tac 是 cat 的倒着写如
[rootchen ~]# tac /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOTyes
BOOTPROTOdhcp
DEVICEeth0nl 显示行号
语法
nl [-bnw] 文件选项与参数
-b 指定行号指定的方式主要有两种-b a 表示不论是否为空行也同样列出行号(类似 cat -n)-b t 如果有空行空的那一行不要列出行号(默认值)-n 列出行号表示的方法主要有三种-n ln 行号在荧幕的最左方显示-n rn 行号在自己栏位的最右方显示且不加 0 -n rz 行号在自己栏位的最右方显示且加 0 -w 行号栏位的占用的位数。
测试
[rootchen~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0
1DEVICEeth0
2BOOTPROTOdhcp
3ONBOOTyesmore 一页一页翻动
在 more 这个程序的运行过程中你有几个按键可以按的
空白键 (space)代表向下翻一页Enter 代表向下翻『一行』/字串 代表在这个显示的内容当中向下搜寻『字串』这个关键字:f 立刻显示出档名以及目前显示的行数q 代表立刻离开 more 不再显示该文件内容。b 或 [ctrl]-b 代表往回翻页不过这动作只对文件有用对管线无用。
[rootchen etc]# more /etc/csh.login
....(中间省略)....
--More--(28%) # 重点在这一行喔你的光标也会在这里等待你的命令less 一页一页翻动以下实例输出/etc/man.config文件的内容
less运行时可以输入的命令有
空白键 向下翻动一页[pagedown]向下翻动一页[pageup] 向上翻动一页/字串 向下搜寻『字串』的功能?字串 向上搜寻『字串』的功能n 重复前一个搜寻 (与 / 或 ? 有关)N 反向的重复前一个搜寻 (与 / 或 ? 有关)q 离开 less 这个程序
[rootchen etc]# more /etc/csh.login
....(中间省略)....
: # 这里可以等待你输入命令head 取出文件前面几行
语法
head [-n number] 文件选项与参数-n 后面接数字代表显示几行的意思
默认的情况中显示前面 10 行若要显示前 20 行就得要这样
[rootchen etc]# head -n 20 /etc/csh.logintail 取出文件后面几行
语法
tail [-n number] 文件选项与参数
-n 后面接数字代表显示几行的意思
默认的情况中显示最后 10 行若要显示最后 20 行就得要这样
[rootkchen etc]# tail -n 20 /etc/csh.loginLinux链接
硬链接: —B- ,假设B是A的硬链接,那么他们两个指向了同一-个文件! 允许-个文件拥有多 个路径,用户可以通过这种机制建立 硬链接到- -些重要文件上,防止误删! 软链接:类似Window’下的快捷方式,删除的源文件,快捷方式也访问不了!
创建连接 ln命令
touch 命令创建文件
echo输入字符串
硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中保存在磁盘分区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index)。在 Linux 中多个文件名指向同一索引节点是存在的。比如A 是 B 的硬链接A 和 B 都是文件名则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同即一个 inode 节点对应两个不同的文件名两个文件名指向同一个文件A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名这样用户就可以建立硬连接到重要文件以防止“误删”的功能。其原因如上所述因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接只有当最后一个连接被删除后文件的数据块及目录的连接才会被释放。也就是说文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软连接
另外一种连接称之为符号连接Symbolic Link也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中文件实际上是一个文本文件其中包含的有另一文件的位置信息。比如A 是 B 的软链接A 和 B 都是文件名A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同A 和 B 指向的是两个不同的 inode继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名可以根据这个找到 B 的目录项。A 和 B 之间是“主从”关系如果 B 被删除了A 仍然存在因为两个是不同的文件但指向的是一个无效的链接。
[rootchen /]# cd /home
[rootchen home]# touch f1 # 创建一个测试文件f1
[rootchen home]# ls
f1
[rootchen home]# ln f1 f2 # 创建f1的一个硬连接文件f2
[rootchen home]# ln -s f1 f3 # 创建f1的一个符号连接文件f3
[rootchen home]# ls -li # -i参数显示文件的inode节点信息
397247 -rw-r--r-- 2 root root 0 Mar 13 00:50 f1
397247 -rw-r--r-- 2 root root 0 Mar 13 00:50 f2
397248 lrwxrwxrwx 1 root root 2 Mar 13 00:50 f3 - f1从上面的结果中可以看出硬连接文件 f2 与原文件 f1 的 inode 节点相同均为 397247然而符号连接文件的 inode 节点不同。
# echo 字符串输出 f1 输出到 f1文件
[rootchen home]# echo I am f1 file f1
[rootchen home]# cat f1
I am f1 file
[rootchen home]# cat f2
I am f1 file
[rootchen home]# cat f3
I am f1 file
[rootchen home]# rm -f f1
[rootchen home]# cat f2
I am f1 file
[rootchen home]# cat f3
cat: f3: No such file or directory当删除原始文件 f1 后硬连接 f2 不受影响但是符号连接 f1 文件无效
依此您可以做一些相关的测试可以得到以下全部结论
删除符号连接f3,对f1,f2无影响删除硬连接f2对f1,f3也无影响删除原文件f1对硬连接f2没有影响导致符号连接f3失效同时删除原文件f1,硬连接f2整个文件会真正的被删除。
Vim编辑器
vim介绍
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富在程序员中被广泛使用。
简单的来说 vi 是老式的字处理器不过功能已经很齐全了但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
所有的 Unix Like 系统都会内建 vi 文书编辑器其他的文书编辑器则不一定会存在。
连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
vim 键盘图 三种使用模式
基本上 vi/vim 共分为三种模式分别是命令模式Command mode输入模式Insert mode和底线命令模式Last line mode。这三种模式的作用分别是
命令模式
用户刚刚启动 vi/vim便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令而非输入字符。比如我们此时按下i并不会输入一个字符i被当作了一个命令。
以下是常用的几个命令
i 切换到输入模式以输入字符。x 删除当前光标所在处的字符。: 切换到底线命令模式以在最底一行输入命令。
若想要编辑文本启动Vim进入了命令模式按下i切换到输入模式。
命令模式只有一些最基本的命令因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中可以使用以下按键
字符按键以及Shift组合输入字符ENTER回车键换行BACK SPACE退格键删除光标前一个字符DEL删除键删除光标后一个字符方向键在文本中移动光标HOME/END移动光标到行首/行尾Page Up/Page Down上/下翻页Insert切换光标为输入/替换模式光标将变成竖线/下划线ESC退出输入模式切换到命令模式
底线命令模式
在命令模式下按下:英文冒号就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令可用的命令非常多。
在底线命令模式中基本的命令有已经省略了冒号
q 退出程序w 保存文件
按ESC键可随时退出底线命令模式。
简单的说我们可以将这三个模式想成底下的图标来表示 如果你想要使用 vi 来建立一个名为 zsr.txt 的文件时你可以这样做
[rootiZbp1a6ovcm5fyr69ifge7Z home]# vim zsr.txt然后就会进入文件 按下 i 进入输入模式(也称为编辑模式)开始编辑文字
在一般模式之中只要按下 i, o, a 等字符就可以进入输入模式了
在编辑模式当中你可以发现在左下角状态栏中会出现 –INSERT- 的字样那就是可以输入任意字符的提示。
这个时候键盘上除了 Esc 这个按键之外其他的按键都可以视作为一般的输入按钮了所以你可以进行任何的编辑。 按下 ESC 按钮回到一般模式
好了假设我已经按照上面的样式给他编辑完毕了那么应该要如何退出呢是的没错就是给他按下 Esc 这个按钮即可马上你就会发现画面左下角的 – INSERT – 不见了
在一般模式中按下 :wq 储存后离开 vim
OK! 这样我们就成功创建了一个 zsr1.txt 的文件。
Vim 按键说明
除了上面简易范例的 i, Esc, :wq 之外其实 vim 还有非常多的按键可以使用。
第一部分一般模式可用的光标移动、复制粘贴、搜索替换等
移动光标的方法h 或 向左箭头键(←)光标向左移动一个字符j 或 向下箭头键(↓)光标向下移动一个字符k 或 向上箭头键(↑)光标向上移动一个字符l 或 向右箭头键(→)光标向右移动一个字符z[Ctrl] [f]屏幕『向下』移动一页相当于 [Page Down]按键 (常用)[Ctrl] [b]屏幕『向上』移动一页相当于 [Page Up] 按键 (常用)[Ctrl] [d]屏幕『向下』移动半页[Ctrl] [u]屏幕『向上』移动半页光标移动到非空格符的下一行-光标移动到非空格符的上一行n space那个 n 表示『数字』例如 20 。按下数字后再按空格键光标会向右移动这一行的 n 个字符。0 或功能键[Home]这是数字『 0 』移动到这一行的最前面字符处 (常用)$ 或功能键[End]移动到这一行的最后面字符处(常用)H光标移动到这个屏幕的最上方那一行的第一个字符M光标移动到这个屏幕的中央那一行的第一个字符L光标移动到这个屏幕的最下方那一行的第一个字符G移动到这个档案的最后一行(常用)nGn 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)gg移动到这个档案的第一行相当于 1G 啊(常用)n Entern 为数字。光标向下移动 n 行(常用)
搜索替换/word向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串就输入 /vbird 即可(常用)?word向光标之上寻找一个字符串名称为 word 的字符串。n这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串则按下 n 后会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话那么按下 n 则会向上继续搜寻名称为 vbird 的字符串N这个 N 是英文按键。与 n 刚好相反为『反向』进行前一个搜寻动作。例如 /vbird 后按下 N 则表示『向上』搜寻 vbird 。
删除、复制与粘贴x, X在一行字当中x 为向后删除一个字符 (相当于 [del] 按键) X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)nxn 为数字连续向后删除 n 个字符。举例来说我要连续删除 10 个字符 『10x』。dd删除游标所在的那一整行(常用)nddn 为数字。删除光标所在的向下 n 行例如 20dd 则是删除 20 行 (常用)d1G删除光标所在到第一行的所有数据dG删除光标所在到最后一行的所有数据d$删除游标所在处到该行的最后一个字符d0那个是数字的 0 删除游标所在处到该行的最前面一个字符yy复制游标所在的那一行(常用)nyyn 为数字。复制光标所在的向下 n 行例如 20yy 则是复制 20 行(常用)y1G复制游标所在行到第一行的所有数据yG复制游标所在行到最后一行的所有数据y0复制光标所在的那个字符到该行行首的所有数据y$复制光标所在的那个字符到该行行尾的所有数据p, Pp 为将已复制的数据在光标下一行贴上P 则为贴在游标上一行举例来说我目前光标在第 20 行且已经复制了 10 行数据。则按下 p 后 那 10 行数据会贴在原本的 20 行之后亦即由 21 行开始贴。但如果是按下 P 呢那么原本的第 20 行会被推到变成 30 行。(常用)J将光标所在行与下一行的数据结合成同一行c重复删除多个数据例如向下删除 10 行[ 10cj ]u复原前一个动作。(常用)[Ctrl]r重做上一个动作。(常用)
第二部分一般模式切换到编辑模式的可用的按钮说明
进入输入或取代的编辑模式i, I进入输入模式(Insert mode)i 为『从目前光标所在处输入』 I 为『在目前所在行的第一个非空格符处开始输入』。(常用)a, A进入输入模式(Insert mode)a 为『从目前光标所在的下一个字符处开始输入』 A 为『从光标所在行的最后一个字符处开始输入』。(常用)o, O进入输入模式(Insert mode)这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』O 为在目前光标所在处的上一行输入新的一行(常用)r, R进入取代模式(Replace mode)r 只会取代光标所在的那一个字符一次R会一直取代光标所在的文字直到按下 ESC 为止(常用)[Esc]退出编辑模式回到一般模式中(常用)
第三部分一般模式切换到指令行模式的可用的按钮说明
指令行的储存、离开等指令:w将编辑的数据写入硬盘档案中(常用):w!若文件属性为『只读』时强制写入该档案。不过到底能不能写入 还是跟你对该档案的档案权限有关啊:q离开 vi (常用):q!若曾修改过档案又不想储存使用 ! 为强制离开不储存档案。注意一下啊那个惊叹号 (!) 在 vi 当中常常具有『强制』的意思:wq储存后离开若为 :wq! 则为强制储存后离开 (常用)ZZ这是大写的 Z 喔若档案没有更动则不储存离开若档案已经被更动过则储存后离开:w [filename]将编辑的数据储存成另一个档案类似另存新档:r [filename]在编辑的数据中读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面:n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。:! command暂时离开 vi 到指令行模式下执行 command 的显示结果例如 『:! ls /home』即可在 vi 当中看 /home 底下以 ls 输出的档案信息:set nu显示行号设定之后会在每一行的前缀显示该行的行号:set nonu与 set nu 相反为取消行号
账号管理
Linux系统是一个多用户多任务的分时操作系统任何一个要使用系统资源的用户都必须首先向系统管理员申请一个账号然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪并控制他们对系统资源的访问另一方面也可以帮助用户组织文件并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后就能够进入系统和自己的主目录。
实现用户账号的管理要完成的工作主要有如下几个方面
用户账号的添加、删除与修改。用户口令的管理。用户组的管理。
用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号然后为新账号分配用户号、用户组、主目录和登录Shell等资源。
添加账号 useradd
useradd 选项 用户名参数说明 选项 : -c comment 指定一段注释性描述。-d 目录 指定用户主目录如果此目录不存在则同时使用-m选项可以创建主目录。-g 用户组 指定用户所属的用户组。-G 用户组用户组 指定用户所属的附加组。-m 使用者目录如不存在则自动建立。-s Shell文件 指定用户的登录Shell。-u 用户号 指定用户的用户号如果同时有-o选项则可以重复使用其他用户的标识号。 用户名 : 指定新账号的登录名。
测试
# 此命令创建了一个用户chenpingan其中-m选项用来为登录名chenpingan产生一个主目录 /home/chenpingan
[rootchenpingan home]# useradd -m chenpingan增加用户账号就是在/etc/passwd文件中为新用户增加一条记录同时更新其他系统文件如/etc/shadow, /etc/group等。
Linux下如何切换用户
1.切换用户的命令为su username 【username是你的用户名哦】
2.从普通用户切换到root用户还可以使用命令sudo su
3.在终端输入exit或logout或使用快捷方式ctrld可以退回到原来用户其实ctrld也是执行的exit命令
4.在切换用户时如果想在切换用户之后使用新用户的工作环境可以在su和username之间加-例如【su - root】
$表示普通用户
#表示超级用户也就是root用户
删除帐号
如果一个用户的账号不再使用可以从系统中删除。
删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel命令其格式如下
userdel 选项 用户名常用的选项是 -r它的作用是把用户的主目录一起删除。
[rootchen home]# userdel -r chen此命令删除用户chen在系统文件中主要是/etc/passwd, /etc/shadow, /etc/group等的记录同时删除用户的主目录。
修改帐号
修改用户账号就是根据实际情况更改用户的有关属性如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令其格式如下
usermod 选项 用户名常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等这些选项的意义与useradd命令中的选项一样可以为用户指定新的资源值。
例如
# usermod -s /bin/ksh -d /home/z –g developer chen此命令将用户chen的登录Shell修改为ksh主目录改为/home/z用户组改为developer。
用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令但是被系统锁定无法使用必须为其指定口令后才可以使用即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令普通用户只能用它修改自己的口令。
命令的格式为
passwd 选项 用户名可使用的选项
-l 锁定口令即禁用账号。-u 口令解锁。-d 使账号无口令。-f 强迫用户下次登录时修改口令。
如果默认用户名则修改当前用户的口令。
例如假设当前用户是chen则下面的命令修改该用户自己的口令
$ passwd
Old password:******
New password:*******
Re-enter new password:*******如果是超级用户可以用下列形式指定任何用户的口令
# passwd chen
New password:*******
Re-enter new password:*******普通用户修改自己的口令时passwd命令会先询问原口令验证后再要求用户输入两遍新口令如果两次输入的口令一致则将这个口令指定给用户而超级用户为用户指定口令时就不需要知道原口令。
为了系统安全起见用户应该选择比较复杂的口令例如最好使用8位长的口令口令中包含有大写、小写字母和数字并且应该与姓名、生日等不相同。
为用户指定空口令时执行下列形式的命令
# passwd -d chen此命令将用户 chen的口令删除这样用户chen下一次登录时系统就不再允许该用户登录了。
passwd 命令还可以用 -l(lock) 选项锁定某一用户使其不能登录例如
# passwd -l chen用户组管理
每个用户都有一个用户组系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同如Linux下的用户属于与它同名的用户组这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。 增加一个新的用户组使用groupadd命令 groupadd 选项 用户组可以使用的选项有
-g GID 指定新用户组的组标识号GID。-o 一般与-g选项同时使用表示新用户组的GID可以与系统已有用户组的GID相同。
实例1
# groupadd group1此命令向系统中增加了一个新组group1新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2
# groupadd -g 101 group2此命令向系统中增加了一个新组group2同时指定新组的组标识号是101。 如果要删除一个已有的用户组使用groupdel命令 groupdel 用户组例如
# groupdel group1此命令从系统中删除组group1。 修改用户组的属性使用groupmod命令 groupmod 选项 用户组常用的选项有
-g GID 为用户组指定新的组标识号。-o 与-g选项同时使用用户组的新GID可以与系统已有用户组的GID相同。-n新用户组 将用户组的名字改为新名字
# 此命令将组group2的组标识号修改为102。
groupmod -g 102 group2# 将组group2的标识号改为10000组名修改为group3。
groupmod –g 10000 -n group3 group2切换组 如果一个用户同时属于多个用户组那么用户可以在用户组之间切换以便具有其他用户组的权限。
用户可以在登录后使用命令newgrp切换到其他用户组这个命令的参数就是目的用户组。例如
$ newgrp root这条命令将当前用户切换到root用户组前提条件是root用户组确实是该用户的主组或附加组。 /etc/passwd 完成用户管理的工作有许多种方法但是每一种方法实际上都是对有关的系统文件进行修改。
与用户和用户组相关的信息都存放在一些系统文件中这些文件包括/etc/passwd, /etc/shadow, /etc/group等。
下面分别介绍这些文件的内容。
/etc/passwd文件是用户管理工作涉及的最重要的一个文件。
Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行它记录了这个用户的一些基本属性。
这个文件对所有用户都是可读的。它的内容类似下面的例子 cat /etc/passwdroot:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
auth:x:7:21:Authentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:/usr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer administrator:/usr/spool/lp:从上面的例子我们可以看到/etc/passwd中一行记录对应着一个用户每行记录又被冒号(:)分隔为7个字段其格式和具体含义如下
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell1用户名是代表用户账号的字符串。
通常长度不超过8个字符并且由大小写字母和/或数字组成。登录名中不能有冒号(因为冒号在这里是分隔符。
为了兼容起见登录名中最好不要包含点字符(.)并且不使用连字符(-)和加号()打头。
2“口令”一些系统中存放着加密后的用户口令字。
虽然这个字段存放的只是用户口令的加密串不是明文但是由于/etc/passwd文件对所有用户都可读所以这仍是一个安全隐患。因此现在许多Linux 系统如SVR4都使用了shadow技术把真正的加密后的用户口令字存放到/etc/shadow文件中而在/etc/passwd文件的口令字段中只存放一个特殊的字符例如“x”或者“*”。
3“用户标识号”是一个整数系统内部用它来标识用户。
一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的系统内部将把它们视为同一个用户但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。
通常用户标识号的取值范围是065 535。0是超级用户root的标识号199由系统保留作为管理账号普通用户的标识号从100开始。在Linux系统中这个界限是500。
4“组标识号”字段记录的是用户所属的用户组。
它对应着/etc/group文件中的一条记录。
5)“注释性描述”字段记录着用户的一些个人情况。
例如用户的真实姓名、电话、地址等这个字段并没有什么实际的用途。在不同的Linux 系统中这个字段的格式并没有统一。在许多Linux系统中这个字段存放的是一段任意的注释性描述文字用作finger命令的输出。
6)“主目录”也就是用户的起始工作目录。
它是用户在登录到系统之后所处的目录。在大多数系统中各用户的主目录都被组织在同一个特定的目录下而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行搜索权限其他用户对此目录的访问权限则根据具体情况设置。
7)用户登录后要启动一个进程负责将用户的操作传给内核这个进程是用户登录到系统后运行的命令解释器或某个特定的程序即Shell。
Shell是用户与Linux系统之间的接口。Linux的Shell有许多种每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。
系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell那么系统使用sh为默认的登录Shell即这个字段的值为/bin/sh。
用户的登录Shell也可以指定为某个特定的程序此程序不是一个命令解释器。
利用这一特点我们可以限制用户只能运行指定的应用程序在该应用程序运行结束后用户就自动退出了系统。有些Linux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中。
8)系统中有一类用户称为伪用户pseudo users。
这些用户在/etc/passwd文件中也占有一条记录但是不能登录因为它们的登录Shell为空。它们的存在主要是方便系统管理满足相应的系统进程对文件属主的要求。
常见的伪用户如下所示
伪 用 户 含 义
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用/etc/shadow 1、除了上面列出的伪用户外还有许多标准的伪用户例如audit, cron, mail, usenet等它们也都各自为相关的进程和文件所需要。
由于/etc/passwd文件是所有用户都可读的如果用户的密码太简单或规律比较明显的话一台普通的计算机就能够很容易地将它破解因此对安全性要求较高的Linux系统都把加密后的口令字分离出来单独存放在一个文件中这个文件是/etc/shadow文件。有超级用户才拥有该文件读权限这就保证了用户密码的安全性。
2、/etc/shadow中的记录行与/etc/passwd中的一一对应它由pwconv命令根据/etc/passwd中的数据自动产生
它的文件格式与/etc/passwd类似由若干个字段组成字段之间用:隔开。这些字段是
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志登录名是与/etc/passwd文件中的登录名相一致的用户账号口令字段存放的是加密后的用户口令字长度为13个字符。如果为空则对应用户没有口令登录时不需要口令如果含有不属于集合 { ./0-9A-Za-z }中的字符则对应的用户不能登录。最后一次修改时间表示的是从某个时刻起到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中这个时间起点是1970年1月1日。最小时间间隔指的是两次修改口令之间所需的最小天数。最大时间间隔指的是口令保持有效的最大天数。警告时间字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。不活动时间表示的是用户没有登录活动但账号仍能保持有效的最大天数。失效时间字段给出的是一个绝对的天数如果使用了这个字段那么就给出相应账号的生存期。期满后该账号就不再是一个合法的账号也就不能再用来登录了。 /etc/group 用户组的所有信息都存放在/etc/group文件中。
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
每个用户都属于某个用户组一个组中可以有多个用户一个用户也可以属于不同的组。
当一个用户同时是多个组中的成员时在/etc/passwd文件中记录的是用户所属的主组也就是登录时所属的默认组而其他组称为附加组。
用户要访问属于附加组的文件时必须首先使用newgrp命令使自己成为所要访问的组中的成员。
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件由冒号(:)隔开若干个字段这些字段有
组名:口令:组标识号:组内用户列表组名是用户组的名称由字母或数字构成。与/etc/passwd中的登录名一样组名不应重复。口令字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令即这个字段一般为空或者是*。组标识号与用户标识号类似也是一个整数被系统内部用来标识组。组内用户列表是属于这个组的所有用户的列表/b]不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组也可能是附加组。
磁盘管理
df(列出文件系统整体的磁盘使用量)
df命令参数功能检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间目前还剩下多少空间等信息。
语法
df [-ahikHTm] [目录或文件名]# 将容量结果以易读的容量格式显示出来
[rootchen /]# df -h# 将系统内的所有特殊文件格式及名称都列出来
[rootchen /]# df -aT# 将 /etc 底下的可用的磁盘容量以易读的容量格式显示[rootchen /]# df -h /etc选项与参数
-a 列出所有的文件系统包括系统特有的 /proc 等文件系统-k 以 KBytes 的容量显示各文件系统-m 以 MBytes 的容量显示各文件系统-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示-H 以 M1000K 取代 M1024K 的进位方式-T 显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出-i 不用硬盘容量而以 inode 的数量来显示
du(检查磁盘空间使用量)
Linux du命令也是查看使用空间的但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看还是和df命令有一些区别的这里介绍Linux du命令。
语法
du [-ahskm] 文件或目录名称选项与参数
-a 列出所有的文件与目录容量因为默认仅统计目录底下的文件量而已。-h 以人们较易读的容量格式 (G/M) 显示-s 列出总量而已而不列出每个各别的目录占用容量-S 不包括子目录下的总计与 -s 有点差别。-k 以 KBytes 列出容量显示-m 以 MBytes 列出容量显示
通配符 * 来代表每个目录。
与 df 不一样的是du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
磁盘挂载与卸除
根文件系统之外的其他文件要想能够被访问都必须通过“关联”至根文件系统上的某个目录来实现此关联操作即为“挂载”此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”
Linux 的磁盘挂载使用mount命令卸载使用umount命令。
磁盘挂载语法
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点# 将 /dev/hdc6 挂载到 /mnt/hdc6 上面
[rootwww ~]# mkdir /mnt/hdc6
[rootwww ~]# mount /dev/hdc6 /mnt/hdc6
[rootwww ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6磁盘卸载命令 umount 语法
umount [-fn] 装置文件名或挂载点选项与参数
-f 强制卸除可用在类似网络文件系统 (NFS) 无法读取到的情况下-n 不升级 /etc/mtab 情况下卸除。
卸载/dev/hdc6
[rootwww ~]# umount /dev/hdc6进程管理
基本概念
1、在Linux中 ,每- -个程序都是有自己的-一个进程,每-一个进程都有一个id号 ! 2、每一个进程呢,都会有一个父进程! 3、进程可以有两种存在方式:前台!后台运行! 4、一般的话服务都是后台运行的,基本的程序都是前台运行的!
命令
ps
查看当前系统中正在执行的各种进程的信息
ps -XX : ●-a显示当前终端运行的所有的进程信息 ●-u以用户的信息显示进程 ●-x显示后台运行进程的参数!
ps -aux查看所有的进程ps -aux|grep mysql|在Linux这个叫做管道符A|Bgrep查找文件中符合条件的字符串!ps -ef:可以查看到父进程的信息
ps -ef|grep mysq1 #看父进程我们一-般可以通过目录树结构来查看!
#进程树!
pstree -pu-p 显示父id
-u 显示用户组结束进程
kill -9 进程的id
3、运行Tomcat进入bin目录和我们以前在Windows下看的都是一样的
# 执行startup.sh --启动tomcat
# 执行shutdown.sh --关闭tomcat
./startup.sh
./shutdown.sh4、确保Linux的防火墙端口是开启的如果是阿里云需要保证阿里云的安全组策略是开放的
# 查看firewall服务状态
systemctl status firewalld# 开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息# 开启端口
开端口命令firewall-cmd --zonepublic --add-port80/tcp --permanent
重启防火墙systemctl restart firewalld.service命令含义
--zone #作用域
--add-port80/tcp #添加端口格式为端口/通讯协议
--permanent #永久生效没有此参数重启后失效