Linux服务器的安装

  • VMware下载安装虚拟机,建议360一键安装,激活码激活
  • 下载CentOs7镜像安装
  • VMware的使用方式:点击屏幕进入虚拟机、Ctrl+Alt将聚焦退出虚拟机
  • SSH远程工具的使用
  • 第一种方式:DOS窗口输入 ssh root@0.0.0.0
  • 第二种方式:安装Xshell-远程连接工具,建议使用360安装免费版本;Xftp-文件上传工具,也建议使用360安装免费版本。
  • windows中的程序叫做服务,linux里叫做守护进程

部分命令

sync    #将数据由内存同步到硬盘当中   
##linux中没有错误就代表操作成功
shutdown        #关机指令,你可以
shutdown -h 10      #十分钟之后关机
shutdown -h now     #立马关机
shutdown -h 20:25    #系统会在今天的20:25关机
shutdown -h +10       #十分钟后关机
shutdown -r now     #系统立马重启
shutdown -r +10       #系统十分钟后重启
reboot              #重启,等同于shutdown -r now
halt        #关闭系统,等同于shutdown -h now和poweroff

一切皆文件,根目录/,所有文件都挂载在这个节点下


各目录用途

/bin:bin是binary的缩写,这个目录存放着最经常使用的命令
/boot:这里存放的是启动linux时使用的一些核心文件,包括一些连接文件以及镜像文件,不建议动
/dev:dev是Device(设备)的缩写,存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11 存放与 x windows 有关的设置。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为 /lib/modules。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于 /disk 中,此目录下就会自动产生目录 /disk/lost+found
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root:系统管理员root的家目录,系统第一个启动的分区为 /,所以最好将 /root和 /放置在一个分区下。
/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
/usr/bin:系统用户使用的应用程序
/usr/bin:超级用户使用的比较告急的管理程序和系统守护程序。super
/usr/src:内核源代码默认放置的目录
/run:是一个临时文件系统,存储系统启动以来的信息,当系统重启时,这个目录下的文件应该被删掉或清除。
/www:存放服务器网站相关的资源,环境,网站的项目

常用的基本命令

  • 绝对路径:路径的全称,都是以/开头的,
  • 相对路径:相对某个文件的路径名称,对于某个xx.xx文件,对应我们的相对路径就是/xx.xx,对于当层目录如何去寻找,../
ls: 列出目录
-a参数:all,查看全部的文件,包括隐藏文件
-l参数:列出所有的文件,包含文件的属性和权限,,没有隐藏文件的权限
cd:切换目录命令
/:当前目录
cd ..:返回上一级目录
cd ~:切换到当前用户的目录
pwd:显示当前用户所在的目录,-P :显示出确实的路径,而非使用连接(link) 路径。
mkdir:创建一个新的目录
mkdir -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
mkdir -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
rmdir:删除一个空的目录,如果有文件需要先删除文件,-p :连同上一级『空的』目录也一起删除
cp: 复制文件或目录
cp 需要复制的文件名 复制到的目标文件夹
cp -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
cp -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
cp -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
cp -r:递归持续复制,用於目录的复制行为;(常用)
cp -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
cp -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
cp -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
cp -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
cp -u:若 destination 比 source 旧才升级 destination !
rm: 移除文件或目录
rm -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;强制删除
rm -i :互动模式,在删除前会询问使用者是否动作
rm -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
rm -rf /:系统中所有的文件都被删除了,删库跑路
mv: 移动文件与目录,或修改文件与目录的名称
mv 文件名1 文件名2:将文件1重命名为2
mv -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
mv -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
mv -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

文件属性

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
字符以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

chgrp:更改文件属组
chgrp [-R] 属组名 文件名
chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chmod:更改文件9个属性
chmod [-R] xyz 文件或目录   例如:chmod 770 filename
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4     w:2         x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

文件内容查看

Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容,用来读文章或者配置文件信息
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。

more 一页一页的显示文件内容,使用空格键翻页,enter代表向下看一行
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!空格翻页,键盘的pagedown和pageoff键可以上下翻页。退出q命令。
/后面输入关键字可以搜索(向下查询) ?后面输入关键字可以搜索(向上查询) 辅助使用n表示继续查找下一个N表示上一个
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序

head 只看头几行,通过-n参数来查看前多少行。默认的情况中,显示前面 10 行!
tail 只看尾巴几行,通过-n参数来查看倒着看多少行
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
网络配置目录:cd /etc/sysconfig/network-scripts
常看网络配置信息:ifconfig

硬链接和软链接

硬链接和软链接
硬连接指通过索引节点来进行连接。在 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 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

创建链接使用ln命令
创建硬链接:ln f1 f2
创建软链接:ln -s f1 f3
touch命令创建文件
echo输入字符串
echo "i love you"  >>f1

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键可随时退出底线命令模式。

用户管理

查看 /etc/passwd 文件,查询系统有哪些用户
添加账号
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-m 使用者目录如不存在则自动建立。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

切换用户
1.切换用户的命令为:su username 【username是你的用户名哦】
2.从普通用户切换到root用户,还可以使用命令:sudo su
3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
$表示普通用户
#表示超级用户,也就是root用户

删除账号
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。

修改账号
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

用户口令管理
passwd 选项 用户名
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。

用户组管理
增加新的用户组
groupadd 选项 用户组
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

删除用户组
groupdel 用户组

修改用户组属性
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

切换组
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组
$ newgrp root

读取用户及用户组参数配置文件

cat /etc/passwd
结果:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

/etc/shadow
/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
"登录名"是与/etc/passwd文件中的登录名相一致的用户账号
"口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
"最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
"最小时间间隔"指的是两次修改口令之间所需的最小天数。
"最大时间间隔"指的是口令保持有效的最大天数。
"警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
"失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

/etc/group
组名:口令:组标识号:组内用户列表


磁盘管理

df :列出文件系统的整体磁盘使用量
df [-ahikHTm] [目录或文件名]
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

du:检查磁盘空间使用量
du [-ahskm] 文件或目录名称
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

磁盘挂载与卸除
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
mount -t cifs -o username=fenxi,password=Fenxi_0803 //10.21.23.113/rm /mnt/gx/win113
磁盘卸载命令 umount 语法:
umount [-fn] 装置文件名或挂载点


进程管理

ps 查看当前系统中正在执行的各种进程信息
ps -xx:
-a 显示当前终端运行的所有进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
ps -aux| 查看所有的进程
| 在linux这个叫做管通符
grep 查找文件中符合条件的字符串
ps -aux|grep mysql
ps -ef 可以查看父进程的信息
ps -ef|grep mysql
pstree -xx 进程树
-p 显示父id
-u 显示用户组
kill -9 进程id 结束进程