####常用的目录

/主目录

① /root:存放启动Linux时启动的核心文件,包括一些连接文件以及镜像

② /bin:binary的缩写,存放经常使用的命令

③ /dev:Device(设备)的缩写,存放Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

④ /etc:存放所有系统管理所需要的设置文件和子目录。

⑤ /home:用户的主目录,在Linux中,每个用户都有一个自己的子目录, 一般该目录名是以用户的账号命名的;

⑥ /var:

⑦ /lib:存放动态链接共享库

⑧ /medir:Linux系统自动识别一些设备,如U盘,光驱等,当时别后, Linux 会把识别的设备挂载到这个目录下

⑨ /opt:安装软件用的目录

⑩ /root:系统管理员,也称为超级权限者的用户的主目录

⑪ /srv:该目录存放一些启动后需要提取的数据

⑫ /sbin:s就是super user,存放管理员使用的系统管理程序

⑬ /selilux:这个目录是Rehat/CentOS所特有的目录。Selinux是一个安全  机制,类似于防火墙

⑭ /sys:安装了2.6内核中新出现的一个文件系统sysfs,该文件系统下面存  放着3种文件信息:针对进程信息的proc文件系统、针对设备的devfs  文件系统以及针对伪终端的decpts文件系统。该文件是内核设备树的一  个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内  核对象子系统中被创建。

⑮ /tmp:存放一些临时文件

⑯ /run:临时文件系统,存储启动以来的目录

⑰ /var:存放不断扩充的东西,我们习惯将那些经常被修改的东西放在这 个目录下

⑱ /usr:用户的很多程序和文件都放在这个目录下,类似于Windows下的    programs

/usr/src:内核源码默认的放置目录

/usr/bin:系统用户使用的应用程序

/usr/sbin:超级用户使用的比较高级的管理程序和守护程序

在Linux系统中,有几个目录是比较重要的,不能误删或者随意改动内部文件。/etc,  /bin,  /sbin,  /usr/bin,  /usr/sbin   /var

linux文件的基本属性

l d:目录

l -:文件

l l:链接文档(link  file)

l b:装置文件中可提供存储的接口设备(可随机存储装备)

l c:装置文件里面的串行端口设备,例如键盘,鼠标等(一次性读取装置)

  • r:可读read
  • w:可写write
  • x:可执行 execute

[rwx]三个权限为一组,位置不变,缺少的则用[-]代替

从左至右用0-9表示:

l 0     确定文件类型

l 1-3   属主权限 (文件拥有者)

l 4-6   属组权限 (所有者的同组用户)

l 7-9   其他用户权限

更改文件属性

  1. charp [-R] 数组名  文件名-------更改文件属组
  2. 更改文件属主,也可以同时更改文件属组

chown [-R]  属主名  文件名

chown [-R]  属主名:属组名  文件名

  1. chmod:更改文件的9个属性

Linux文件有两种设置方式:一种是数字,一种是符号

Linux基本权限有9个:文件的权限字符为:[-rwxrwxrwx],三个一组。其中, 我们可以使用数字来代表各个权限:r----4;w----2;x----1

  1. 每种身份(owner/group/others)各自的权限(r/w/x)是需要累加的,例如当权限为:[-rwxrwx---]时:

owe r= rwx=4+2+1=7;

group= rwx=4+2+1=7;

others=---=0+0+0=0;

所以在设定权限变更时,该文件的权限数字就是770:

chmod [-R] xyz  文件或者目录

l xyz:就是刚刚提到的数字类型和权限属性,为rwx属性数值的相加

l —R:进行递归的持续变更,亦即连同次目录下的所有文件将会变更

  1. 符号类型改变权限的方法,从之前的介绍中我们可以发现,基本上9个权限为:

①user

②group

③others

我们使用u,g,o代表三种身份的权限!a代表all,即全部的身份,读写可以写成:r,w,x.   也就是可以使用下表的方式来看:

chmod s-x test

chmod -al test

处理目录的常用命令:

ls:列出目录

       ls -a 全部文件,连同隐藏开头为.的文件一起列出来

ls-d:仅列出目录文件

ls-l:长数据串列出

cd:切换目录   Change Directory

pwd:显示当前的目录

    pwd -P  /pwd -LP   显示出实际的工作目录

mkdir:创建目录

mkdir  [-mp]  test

-m:配置文件的权限,直接配置

-p:帮助你直接将所需要的目录(包括上一级目录)递归创建起来

rmdir:删除目录

rmdir [-p] test

-p:连同上一级的空目录一起删除

cp:复制文件或者目录

cp [-adfilprusu]  test1   test2

cp [options] test1 test2 test3...directory

① -a 相当于-pdr

② -d 若来源为连接档的属性(link file),则复制连接档属性而非文件 本身

③-f 为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再 开始一次

④-i 若目标档已经存在,在覆盖时会先询问动作的进行

⑤-l  进行硬件式连结(hard link)的连结档创建,而非复制文件本身

⑥-p  连同文件的属性一起复制过去,而非使用默认属性(备份常用)

⑦-r  递归持续复制,用于目录的复制行为

⑧-s  复制成为符号连接档(symbolic link),即【捷径】文件

⑨-u  若destination 比 source旧才升级为destination

rm:移除文件或目录

rm [-fir] test

-f:force的意思,忽略不存在的文件,不会出现警告信息

-i:互动模式,再删除前询问

-r:递归删除   非常危险

 

mv:移动或修改

[root@www ~]# mv [-fiu] source destination

[root@www ~]# mv [options] source1 source2 source3 .... directory

[root@www tmp]# mv mvtest mvtest2

-f:强制,若文件已经存在,直接覆盖

-i:询问

-u:若文件已经存在,且source比较新,才会升级

Linux文件内容查看

l cat 从第一行开始显示文件内容

l tac 最后一行开始显示

l nl  显示的时候,顺道输出行号

l more一页一页的显示文件的内容

l less 与more类似,但是可以往前翻页

l head 只看头几行

l tail  只看最后几行

man -cp    查看各个命令的使用文档

cat    [root@www ~]# cat /etc/issue

① -A:相当于-vET的整合选项,可以列出一些特殊的字符而不是空白而已

② -b:列出行号,仅针对非空白行号显示,空白行不标行号!

③ -E 将结尾的断行字节$显示出来

④ -n 列出行号,空白行也包括在内,与-b选项不同

⑤ -T 将tab按键以^|显示出来

⑥ -v列出一些看不出来的特殊字符

tac  与   cat  恰恰相反,文件内容从最后一行开始显示

####  nl显示文件   nl [-bnw] 文件

[root@www ~]# nl /etc/issue

1 CentOS release 6.4 (Final)

2 Kernel \r on an \m

①-b :指定行号指定的方式

-b a:表示不论是否为空行,也同样列出行号(类似于cat -n)

-b t:如果有空行,空的那一行不要列出行号

②-n :列出行号表示的方法,主要有三种

-n ln:行号在屏幕的做方显示

-n rn:行号在自己栏位的最右方显示,不加0

-n rz:行号在自己栏的最右方显示,且加0

③-w :行号栏占用的位数

##  more

  • 空白键space:代表向下翻页
  • Enter :向下翻页
  • :f :立刻显示出档名以及目前显示的行数
  • b或者[ctrl]-b  :往回翻,只对文件有用,对管线无用

##  less

①空白键 :向下翻页

②[pagedown] :向下翻动一页

③[pageup]:向上翻页

④/子串 :向下搜索子串的功能

⑤?子串 :向上搜寻子串的功能

⑥n :重复前一个搜索

⑦N :反向重复前一个搜寻(与/或?有关!)

⑧q :离开less这个程序

##  head  去除前面几行

head [-n number] 文件

-n:后面接数字,代表显示几行的意思

##tail  取出文件的后面几行

tail [-n number] 文件

-n :后面接数字,代表显示几行

-f :表示持续侦测后面所接的档名,要等到按下 ctrl -c才会结束tail的侦测

##   Linux系统用户账号的管理

添加用户的账号就是在系统中创建一个新的账号,然后为新账号分配用户号,用户组,主目录和登录shell等资源,刚添加的账号是被锁定的,无法使用。

## 添加新用户

useradd  选项  用户名

# useradd –d /usr/sam -m sam

# useradd -s /bin/sh -g group –G adm,root gem

选项:

-c  comment指定一段注释性的描述

-d  目录  指定主目录,如果此目录不存在,则同时使用-m选项,可以 创建主目录

-g  用户组   指定所属的用户组

-G  用户组   指定用户所属的附加组

-s  shell文件  指定用户登录shell

-u  用户号 指定用户的用户号,如果同时又-o选项,则可以重复使用其 他用户的标识号

用户名:指定新的账号以及用户名

##  删除账号

删除用户账号就是将/etc/passwd等系统文件中的该用户记录删除,此时还需要删除删除用户的主目录。

userdel 选项 用户名

—r   一起删除主目录

# userdel -r sam

此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

## 修改账号    usermod  选项  用户名

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

另外,有些系统可以使用选项:-l 新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名

usermod -s /bin/ksh -d /home/z –g developer sam

##  用户口令管理

passwd  选项  用户名

-l:禁用账号(锁定)

-u:口令解锁

-d:使账号无口令

-f:强迫用户下次登录的时候修改口令

默认用户名,则修改当前的用户口令

$ passwd

Old password:******

New password:*******

Re-enter new password:*******

超级用户名,可以用下列形式指定口令

# passwd sam

New password:*******

Re-enter new password:*******

为用户指定口令# passwd -d sam

锁定用户,使其不能登录:# passwd -l sam

##   Linux用户组的管理

每个用户都有用户组,系统可以对其中一个用户组中的所有用户进行集中管理,不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建他们的同时创建。

用户组的管理涉及用户组的添加,删除和修改。组的增加,删除和修改实际上就是对/etc/group文件的更新。

## 增加用户组

groupadd 选项 用户组

—GID   指定新用户组标识号(GID)

-O  一般与-g 选项同时使用,表示新用户组GID可以与系统已有用户组的GID相同。

groupadd -g 101 group2向系统增加了一个新用户组group2,同时指定新组的组标识号是101

## 删除用户组

groupdel  用户组

# groupdel group1

##  修改用户组属性   groupmod  选项  用户组

-g GID为新用户指定组标识号

-o 与-g选项同时使用,用户组的新GID可以与系统已有的用户组的GID相同

-n 新用户组  将新用户组的名字改为新名字

# groupmod -g 102 group2   将命令组group2的标识号修改为102

# groupmod –g 10000 -n group3 group2   将group2的标识号改为10000,组名修改为group3

##  用户组之间的切换

如果一个用户同时属于多个用户组,可以在用户组之间进行切换,以便具有其他用户组的权限。

$ newgrp root  切换到root用户组,前提条件是root用户确实是该用户的主组或者附加组。类似于账号的管理,用户组的管理也可以通过集成系统的管理工具来完成。

##  与用账号有关的系统文件

完成用户管理的工作方法有许多种,但是每一种方法实际上都是对有关的系统文件进行的修改。

  1. /etc/passwd 文件是用户管理涉及的一个最重要的一个文件

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,他记录了这个文件对所有用户都是可读的。

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

cat  etc/passwd

root:x:0:0:Superuser:/:

daemon:x:1:1:System daemons:/etc:

1) “用户名”是代表用户账号的字符串

2) “口令”  一些系统中,存放着加密后的用户口令字

3) “用户标识号”是一个整数,系统内部用它来标识用户

4) “组标识号”字段记录的是用户所属的用户组

5) “注释性描述”字段记录着一些个人情况

6) “主目录”,也就是用户的起始工作目录

7) “shell”  用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或者某个特定的程序,即shell

8) 系统中有一类用户称为“伪用户”

##  伪用户(pseudo users)

  这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

伪 用 户 含 义

bin 拥有可执行的用户命令文件

sys 拥有系统文件

adm 拥有帐户文件

uucp UUCP使用

lp lp或lpd子系统使用

nobody NFS使用

拥有账户控制文件

  1. 除了上面的伪用户外,还有许多标准的伪用户(audit,cron,mail.usenet等),他们也都各自为相关的进程和文件所需要。
  2. /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生,它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

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

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

/etc/group文件的一个例子如下:

root::0:root

bin::2:root,bin

sys::3:root,uucp

adm::4:root,adm

daemon::5:root,daemon

lp::7:root,lp

users::20:root,sam

##  批量添加用户

(1)先编辑一个文本用户文件

每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:

user001::600:100:user:/home/user001:/bin/bash user002::601:100:user:/home/user002:/bin/bash user003::602:100:user:/home/user003:/bin/bash user004::603:100:user:/home/user004:/bin/bash user005::604:100:user:/home/user005:/bin/bash user006::605:100:user:/home/user006:/bin/bash

(2)以root身份执行命令/usr/bin/newusers,从刚才创建的用户文件user.tet中导入数据,创建用户:# newusers < user.txt

然后可以执行命令 vipw 或 vi /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。

(3)执行命令/usr/sbin/pwunconv

将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。

# pwunconv

(4)编辑每个用户的密码对照文件

范文事例passwd.txt

user001:密码

user002:密码

user003:密码

user004:密码

user005:密码

user006:密码

(5)以root身份执行命令/usr/sbin/chpasswd

创建用户密码,chpasswd会将经过/usr/bin/passwd命令编码过得密码写入/etc/passwd的密码栏

# chpasswd < passwd.txt

(6)确定密码经过编码写入/etc/passwd的密码栏后

执行命令/usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。

# pwconv

创建基本完成,之后可以到/home 下检查这些目录的权限是否都正确,并登录用户密码是否正确

##  Linux磁盘管理

l df   列出文件系统的整体磁盘使用量

l du   检查磁盘空间使用量

l fdisk  用于磁盘分区

##  df

df   选项  目录或者文件名

l -a  列出所有的文件系统,包含特有的/proc

l -k  以KBytes的容量显示各个文件系统

l -m 以MBytes  的容量显示

l -h  以GBytes,MBytes,KBytes显示

l -H  以M=1000K取代M=1024K的进位方式

l -T  显示文件系统类型,连同该partition的filesystem名称也列出来

l -i   不用硬盘容量,而以inode的数量来显示

##  du

也可以查看使用空间,但是与df命令不同的是,du命令是对文件和磁盘使用空间的查看

l -a  列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已

l -h  以人们比较易读的容量格式(G/M)显示

l -s  列出总量而已,而列出每个个别的目录占用容量

l -S  不包括子目录下的总计,与-s有点差别

l -k  以KBytes列出容量的显示

l -m 以 MBytes列出容量的显示

## fdisk   Linux的磁盘分区表操作工具

fdisk -l  装置名称

-l:  输出后面的装置所有的分区内容。若仅有fdisk -l时,则系统会把整个系统能搜寻到的装置分区列出来。

##  磁盘格式化

mkfs  [-t  系统文件名]  装置文件名

-t  可以接文件的系统格式,例如ext3,ext2等

## 磁盘检验

fsck(file system check)用来检查和维护不一致的文件系统

fsck [-t 文件系统] [-ACay] 装置名称

l -t 给定档案系统的形式,若在/etc/fstab中已有定义或者kernel本身已支援的则不需要加上此函数

l -s 依序一个一个的执行fsck的指令来检查

l -A 对/etc/fstab中所有列出来的分区(partition)做检查

l -C 显示完整的检查进度

l -d 打印出e2fsck的debug结果

l -p 同时又-A 条件时,同时有多个fsck的检查一起执行

l -R 同时有-A条件时,省略/不检查

l -V  详细显示模式

l -a 如果检查有错误则自动修复

l -r如果检查有错误则由使用者回答是否修复

l -y选项指定检测每个文件是自动输入yes,在不确定那些不正常的时候,可以执行#fsck -y全部检查修复。

##   磁盘挂载与卸载

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点

umount [-fn] 装置文件名或挂载点

-f  强制卸除!可以用在类似网络文件系统(NFS)无法读取的情况下;

-n  不升级/etc/mtab

###   Linux vi/vim

l 命令模式(command mode)

l 输入模式(insert mode)

l 底线命令模式(last line mode)

##  命令模式

l i 切换到输入模式

l x 删除当前光标所在的字符

l :切换到底线命令模式,在最底下一行输入命令

###   输入模式

l 字符按键以及shift组合:输入字符

l enter   换行

l Backspace  删除最后一个字符

l DEL  删除键,删除光标后一个字符

l 方向键   在文本中移动字符

l Home/End  移动光标到行首/尾

l PageUp/Down  上下翻页

l insert  切换光标为输入、替换模式,光标将变成竖线,下划线

l ESC  退出输入模式,切换到命令模式

###   底线命令模式

l q 退出程序

l w 保存文件

进程

前台,后台,作业

l pstree  显示系统进程之间的进程关系

l ps  显示系统进程的状态和属性

语法:ps 选项

-a

显示终端上所有的进程,包括其他用户的进程

-r

只显示正在进行的进程

-x

显示没有控制终端的进程

-u

打印用户格式,显示用户名

-l

长列表显示

-e

显示所有进程

-f

全格式

-j

按作业格式显示

l kill  [-s 信号代码]  进程PID

根据PID向进程发送信号,常用于结束进程。kill命令将指定信号发送给指定的进程或者进程组,如果没有指定的信号,则发送TERM信号。

-l

列出所有可用的信号名称

-s

指定发送信号

kill命令进程中PID取值的规则

进程PID

含义

>0

将信号发送给进程标识为PID的用户

=0

将信号发送给当前进程所在组的所有进程

=-1

将信号发送给所有进程标识大于1的进程

-n,n>1

将信号发送给进程标识为n的所有用户

l fg   作业号    将指定的作业号从后台转到前台

l bg   作业号    将指定作业号的后台暂停进程继续运行

l jobs      显示当前控制台中的后台进程状态

Linux 的备份与恢复

l cpio  [选项]  归档文件或设备文件

功能:复制输入输出的命令,将文件归档至设备或者归档文件,或者从设备或者归档文件中还原文件。与tar格式兼容,支持许多老式磁带格式。

-v

版本格式

-B

使用大块

-C n

使用块的大小

-I

恢复归档文件

-t

恢复归档文件

-d

必要时创建文件

-U

将较新的文件覆盖较旧的文件

-m

保留文件的修改时间

l tar  [选项】  文件或者目录  将文件或者目录归档至存储设备或者文件,或者归档文件恢复至目录。

选项

功能

选项

功能

-c

建立新的归档文件

-Z

调用compress来处理

-x

从归档文件中解出文件

-r

向归档文件末尾追加文件

-v

处理过程中处理相关的文件

-O

将文件解至标准输出

-z

调用gzip来处理归档文件

-t

查看归档文件中的文件

-j

调用bzip2来处理

-f

对普通文件操作

###   RPM软件包的分类

rpm [选项]  软件包名或者文件名

功能:负责软件包管理工具,负责安装,升级,查询和卸载RPM软件包

选项

功能

选项

功能

-i

安装

-a

查询所有已经安装的软件包

-q

查询

-h

显示安装进度

-e

卸载

--v

验证安装包

-u

升级软件包

l

查询包中的文件名

-f

查询含有文件的软件包

i

查询详细信息

-s

显示含有文件的软件包

p

查询软件包文件

软件包安装目录

文件类型

安装目录

普通执行程序文件

/usr/bin

服务器执行程序文件和管理程序文件

/usr/bin

应用程序配置文件

/etc

应用程序文档文件

/usr/share/doc

应用程序手册文件

/usr/share/man

###    Linux   yum 命令

yum(yellow dog update,modifiled) 是一个在fedora  和Redhat中的shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次性安装所有的软件包,无需繁琐的一次次下载,安装。

## yum语法

yum [options] [command] [package ...]

l options:可选,-h(帮助),  -y(安装过程中提示选择全选为yes),  -q(不显示安装过程)

l command:要进行的操作

l package:操作的对象

##  yum的常用命令

l 列出软件更新的清单:yum check—update

l 更新所有软件命令:yum uodate

l 仅安装所指定的软件:yum install<package_name>

l 仅更新指定的软件命令:yum update<package_name>

l 列出所有可安装的软件命令:yum list

l 删除软件包命令:yum remove <package_name>

l 查找软件包命令:yum search <keyword>

l 清除软件包命令

yum clean packages:清除缓存目录下的软件包

yum clean packages:清除缓存目录下的headers

yum clean oldheads:清除缓存目录下旧的headers

yum clean,yum clean all(=yum clean packages;yum clean oldheads)清除缓存目录下的软件包以及旧的headers

基本就这些了,后面还会继续补充或者修改。

最新文章

  1. c# 打开指定的网址
  2. UrlRewriter实现.NET的URL重写
  3. mysql索引无效且sending data耗时巨大原因分析
  4. POJ 3687 Labeling Balls()
  5. Android开发笔记-加载xml资源
  6. CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend
  7. assert函数(python)
  8. CentOS 6.3(x86_64)下安装Oracle 10g R2
  9. Android 使用LinearLayout.getChildAt(i)获取一个线性布局的view,并实现content中实现方法
  10. ASP.NET中操作SQL数据库
  11. 016 多对多关联映射 单向(many-to-many)
  12. Laravel (5.5.33) 加载过程(一)
  13. 排序算法以及其java实现
  14. ArcGIS Construction Tool OnSketchFinished事件不响应
  15. testNG安装一直失败解决方法
  16. CF1139A Even Substrings
  17. Newtonsoft.Json转换强类型DataTable错误:Self referencing loop detected with type ......
  18. 一个python脚本解决安装mq的依赖问题
  19. Web API 令牌(秘钥是双方约定的,并不在网络连接上传输)
  20. 20171126--idleHadnler的理解使用

热门文章

  1. jQuery HTML-删除元素
  2. mysql中limit 和 limit 与 offset 的用法(效果相同,用法不通过)
  3. List Comprehension ()(二)
  4. vue.js 分页
  5. 【leetcode】944. Delete Columns to Make Sorted
  6. shell--grep命令+正则表达式+基本语法
  7. POJ 2251 Dungeon Master(dfs)
  8. 最短路 Dijkstra模板
  9. 埋坑一: vue中子组件调用兄弟组件方法
  10. 极简Vue的异步组件函数