linux基本使用
(待完善,想到哪就写到哪,目前内容大幅度参考中文man手册)
最重要的命令(man)
在 Linux 下遇到问题,最重要的是要自己寻求帮助, google是个好东西
man 是 Linux 的帮助手册,即 manual 。因为大多数程序都会自带手册,所以可以通过 man 命令获取帮助。执行以后,man页面默认采用less命令变体进行输出,less的快捷键在man中一般都可用,在 man page 页面中按 q 退出。
基础管理命令
基础操作
ls(list) 及文件权限 引申 stat touch
-C 多列输出,纵向排序。
-F 每个目录名加“ / ”后缀,每个 FIFO 名加“ | ”后缀, 每个可运行名加“ * ”后缀。
-R 递归列出遇到的子目录。
-a 列出所有文件,包括以 "." 开头的隐含文件。
-c 使用“状态改变时间”代替“文件修改时间”为依据来排序 (使用“ -t ”选项时)或列出(使用“ -l ”选项时)。
-d 将目录名象其它文件一样列出,而不是列出它们的内容。
-i 输出文件前先输出文件系列号(即 i 节点号: i-node number)。 -l 列出(以单列格式)文件模式( file mode ),文件的链
接数,所有者名,组名,文件大小(以字节为单位),时间信 息,及文件名。缺省时,时间信息显示最近修改时间;可以以 选项“
-c ”和“ -u ”选择显示其它两种时间信息。对于设 备文件,原先显示文件大小的区域通常显示的是主要和次要的 号(majorand
minor device numbers)。
-q 将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。)
-r 逆序排列。
-t 按时间信息排序。
-u 使用最近访问时间代替最近修改时间为依据来排序(使用 “ -t ”选项时)或列出(使用“ -l ”选项时)。
-1 单列输出。
cd(change directory) pwd test kill type echo alias unalias set unset job fg bg ulimit umask trap hash等bash内建命令
cd 命令是bash的内建命令,没有单独的man页面展示,查看是否是bash内建命令使用type command
root@Test1:~# type cd
cd is a shell builtin
root@Test1:~# type ls
ls is aliased to `ls --color=auto'
root@Test1:~# unalias ls
root@Test1:~# type ls
ls is hashed (/bin/ls)
root@Test1:~# ls -l /usr/bin/ls
ls: cannot access /usr/bin/ls: No such file or directory
root@Test1:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root@Test1:~# mv /bin/ls /usr/bin/
root@Test1:~# ls
-bash: /bin/ls: No such file or directory
root@Test1:~# hash -r
root@Test1:~# ls -d /mnt
/mnt
root@Test1:~#
top uptime free
top是最经常用来查看系统的负载情况
另外top的选项比较多,以及各列的意义需要明确
top - 13:24:58 up 47 min, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 95 total, 2 running, 93 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.4%us, 0.4%sy, 0.0%ni, 97.2%id, 1.9%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2049632k total, 431916k used, 1617716k free, 20040k buffers
Swap: 2093052k total, 0k used, 2093052k free, 246056k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 24448 2368 1340 S 0.0 0.1 0:00.97 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.52 kworker/u2:0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.37 rcu_sched
8 root 20 0 0 0 0 S 0.0 0.0 0:00.56 rcuos/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
11 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
12 root RT 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/0
13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
id w who last lastlog pkill
id - 显示真实和有效的 UID 和 GID
w - 显示已经登录的用户以及他们在做什么
who - 显示已经登录的用户
last, lastb - 显示最近登录的用户列表
lastlog - reports the most recent login of all users or of a given user
root@Test1:~# id
uid=0(root) gid=0(root) groups=0(root)
root@Test1:~# w
13:33:06 up 56 min, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 12:37 55:12 0.22s 0.21s -bash
root pts/0 192.168.1.102 12:38 0.00s 0.50s 0.00s w
kill is a shell builtin
root@Test1:~# who
root tty1 2017-03-26 12:37
root pts/0 2017-03-26 12:38 (192.168.1.102)
# 踢出登陆的用户
root@Test1:~# pkill -kill -t tty1
root@Test1:~# w
03:38:09 up 1:01, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.102 02:38 3.00s 0.51s 0.00s w
useradd passwd userdel usermod change
新帐号建立
-c comment 新帐号password档的说明栏。
-d home_dir 新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称。
-e expire_date 帐号终止日期。日期的指定格式为MM/DD/YY。
-f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1
-g initial_group group名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在的名称。群组数字也须为现有存在的群组。预设的群组
数字为1。
-G group,[...] 定义此使用者为此一堆groups的成员。每个群组使用","区格开来,不可以夹杂空白字元。群组名同-g选项的限制。定义值为使用者的>起始群组。
-m 使用者目录如不存在则自动建立。如使用-k选项skeleton_dir内的档案将复制至使用者目录下。然而在/etc/skel目录下的档案也会复制过去取代。>任何在skeleton_diror/etc/skel的目录也相同会在使用者目录下一一建立。The-k同-m不建立目录以及不复制任何档案为预设值。
-M 不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录。
-n 预设值使用者群组与使用者名称会相同。此选项将取消此预设值。-r 此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建立的帐号不会建立使>用者目录,也不会在乎纪录在/etc/login.defs.的定义值。如果你想要有使用者目录须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。
-s shell 使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。
-u uid 使用者的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于999而逐次增加。0~999传统上是保留给系统帐号使用
。
改变预设值当-D选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。可用选项为∶-bdefault_home定义使用者所属目录的前一个目录。使>用者名称会附加在default_home后面用来建立新使用者的目录。当然使用-d后则此选项无效。
-e default_expire_date 使用者帐号停止日期。
-f default_inactive 帐号过期几日后停权。
-g default_group 新帐号起始群组名或ID。群组名须为现有存在的名称。群组ID也须为现有存在的群组。
-s default_shell 使用者登入后使用的shell名称。往后新加入的帐号都将使用此shell. 如不指定任何参数,useradd显示目前预设的值。
passwd 需改密码或者可以设置账号过期时间等
# 第一次登陆需要修改密码
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for mike.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# 修改密码
root@Test1:~# passwd mike
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
head tail nl tr less more
在标准输出上显示每个FILE的最后10行. 如果多于一个FILE,会一个接一个地显示, 并在每个文件显示的首部给出文件名.
如果没有FILE,或者FILE是-,那么就从标准输入上读取.
--retry
即使tail开始时就不能访问 或者在tail运行后不能访问,也仍然不停地尝试打开文件. -- 只与-f合用时有用.
-c, --bytes=N
输出最后N个字节
-f, --follow[={name|descriptor}]
当文件增长时,输出后续添加的数据; -f, --follow以及 --follow=descriptor 都是相同的意思
-n, --lines=N
输出最后N行,而非默认的最后10行
--max-unchanged-stats=N
参看texinfo文档(默认为5)
--max-consecutive-size-changes=N
参看texinfo文档(默认为200)
--pid=PID
与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent
从不输出给出文件名的首部
-s, --sleep-interval=S
与-f合用,表示在每次反复的间隔休眠S秒
-v, --verbose
总是输出给出文件名的首部
--help 显示帮助信息后退出
--version
输出版本信息后退出 如果N(字节或者行数)的第一个字符为`+', 那么从每个文件的开头算起的第N项开始显示, 否则, 显示该文件的最后N项. N可以有一个倍数前缀: b表示512,k表示1024,m表示1048576(1兆). 第一个选项 -VALUE 或+VALUE 以-n VALUE或-n +VALUE方式看待,除非VALUE含有[bkm]后缀倍数中的一个,在这种情>况下,它被看作 -c VALUE 或者-c +VALUE
使用--follow (-f)时,tail默认后接文件描述符, 这意味着即使tail显示的文件改名了,tail仍然可以追踪到其末尾部分. 如果你确实希望查询文件的实
际名而非文件描述符 (例如,日志轮转时), 这种默认的操作就不是你所期望的了. 在这种情况下应使用--follow=name. 这将导致tail通过周期性地重>新打开所指定的文件来 追踪其是否被删除了,或者被其他程序重新创建了.
cut split cat tac
有时候文件太大不适合查看,可以将文件切割,或者有时需要合并文件
把 输入文件 INPUT 按 固定大小 的 文件片 PREFIXaa, PREFIXab, ... 输出; 缺省的 PREFIX 是 `x'. 如果 没有 指定 INPUT, 或 INPUT
是 -, 就从 标准输入 读取 数据.
-b, --bytes=SIZE
输出文件 大小 定为 SIZE 字节
-C, --line-bytes=SIZE
输出文件 大小 定为 最多 SIZE 字节 的 行
-l, --lines=NUMBER
输出文件 大小 定为 NUMBER 行
-NUMBER
同 -l NUMBER
--verbose
在 打开 每一个 输出文件 之前, 把 诊断信息 送往 标准错误
--help 显示 帮助信息, 然后 结束
--version
显示 版本信息, 然后 结束
指定 SIZE 时 可以 使用 倍乘后缀: b 是 512, k 是 1K, m 是 1 Meg.
mkdir mkfs mknod mktemp
mkdir -建立目录
mkfs - 创建一个 Linux 文件系统
mknod - 建立块专用或字符专用文件
mktemp — 产生唯一的临时文件名
下列的 sh 片断 展示了 mktemp 的 简单用法, 如果无法获得可靠的临时文件, 程序就退出.
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
echo "program output" >> $TMPFILE
照上例, 我们打算让脚本程序自己捕获这个错误.
TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
du df mount unmount lsblk blkid
du - 报告磁盘空间使用情况
df - 报告文件系统磁盘空间的使用情况
-a, --all
显示对所有文件的统计,而不只是包含子目录。
-b, --bytes
输出以字节为单位的大小,替代缺省时1024字节的计数单位。
--block-size=size
输出以块为单位的大小,块的大小为 size 字节。( file- utils-4.0 的新选项)
-c, --total
在处理完所有参数后给出所有这些参数的总计。这个选项被 用给出指定的一组文件或目录使用的空间的总和。
-D, --dereference-args
引用命令行参数的符号连接。但不影响其他的符号连接。 这对找出象 /usr/tmp 这样的目录的磁盘使用量有用, /usr/tmp 等通常是符
号连接。 译住:例如在 /var/tmp 下建立一个目录test, 而/usr/tmp 是指向 /var/tmp 的符号连接。du /usr/tmp 返回一项 /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test。
--exclude=pattern
在递归时,忽略与指定模式相匹配的文件或子目录。模式 可以是任何 Bourne shell 的文件 glob 模式。( file- utils-4.0 的新选项)
-h, --human-readable
为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。
-H, --si
与 -h 参数起同样的作用,只是使用法定的 SI 单位( 用 1000的幂而不是 1024 的幂,这样 M 代表的就是1000000 而不是 1048576)。
(fileutils-4.0 的新选项)
-k, --kilobytes
输出以1024字节为计数单位的大小。
-l, --count-links
统计所有文件的大小,包括已经被统计过的(作为一个硬连接)。
-L, --dereference
引用符号连接(不是显示连接点本身而是连接指向的文件或 目录所使用的磁盘空间)。
-m, --megabytes
输出以兆字节的块为计数单位的大小(就是 1,048,576 字节)。
--max-depth=n
只输出命令行参数的小于等于第 n 层的目录的总计。 --max-depth=0的作用同于-s选项。(fileutils-4.0的新选项)
-s, --summarize
对每个参数只显示总和。
-S, --separate-dirs
单独报告每一个目录的大小,不包括子目录的大小。
-x, --one-file-system
忽略与被处理的参数不在同一个文件系统的目录。
-X file, --exclude-from=file
除了从指定的文件中得到模式之外与 --exclude 一样。 模式以行的形式列出。如果指定的文件是'-',那么从标准输入中读出模>
式。(fileutils-4.0 的新选项) GNU 标准选项
tar gzip bzip2 zip xz 及相应的解压,查看压缩文件命令
tar - tar 档案文件管理程序的 GNU 版本。
gzip, gunzip, zcat - 压缩或展开文件
bzip2, bunzip2 - 一种块排序文件压缩软件,v0.9.5
bzcat - 将文件解压缩至标准输出
bzip2recover - 恢复损坏的 bzip2 文件
参数说明
运行tar时必须要有下列参数中的至少一个才可运行
-A, --catenate, --concatenate
将一存档与已有的存档合并
-c, --create
建立新的存档
-d, --diff, --compare
比较存档与当前文件的不同之处
--delete
从存档中删除
-r, --append
附加到存档结尾
-t, --list
列出存档中文件的目录
-u, --update
仅将较新的文件附加到存档中
-x, --extract, --get
从存档展开文件
bzip2,gzip及xz压缩文件基本都是在linux环境产生,编码基本没有太大问题, zip是比较通用的快平台压缩工具,容易产生乱码
可以使用-O 选项,一般windows的压缩式gbk2312编码,可以采用unzip -O CP936 filename
chmod chown chgrp chattr lsattr facl
chmod - 改变文件的访问权限
chown - 修改文件所有者和组别
chgrp - 改变文件的组所有权
chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性
使用chmod命令改变指定文件访问权限有两种方式:一种是用符号标记所进行更改,另一种方式是采用8进制数指定新的访问权限。使用下面的语法格式来>使用符号改变方式 `[ugoa...][[+-=][rwxXstugo...]...][,...]'.
在这种格式下,所带参数是一个用逗号分隔的字符列表.每个符号方式的 改变命令以零或者字'ugoa'开始;'ugoa'控制哪些用户对该文件访问权
操作符'+'使得用户选择的权限被追加到每个指定文件,(操作给指定文件添加所选权限);操作符'-'使得这些权限被撤消;'='使得指定文件只具有这些
权限。
字符串'rwxXstugo' 给用户选择新的属性:(r)读权限、(w)写权限、(x)执行权(或对目录的访问权),(X)只有目标文件对某些用户是可执行的或该目标
文件是目录时才追加x属性,(s)同时设定用户或组ID,(t)粘滞位(保存程序的文本到交换设备上),(u)目标文件属主,(g)目标文件属主所在的组,
(o)其他用户。(因此,'chmod g-s file' 撤消sgid位,'chmod ug+s file'同时设置了suid和sgid位,'chmod o+s file' 则没有进行任何设置)
POSIX并没有粘滞位的描述。它最初是指在交换设备上保留程序文本。现在,如果设置了目录的粘滞位,那么只有文件和目录的所有者可以删除该目录下
的文件。 (一般使用于类似于/tmp这样有基本写权限的目录)
数字模式是一到4个八进制数,每个数由位权为4,2,1的3位叠加而得. 被省略掉的数字缺省设置为零. 第一位为4时为suid,2时为sgid,1时为粘滞位,.第二
位设置文件所有者的权限:可读(4),可写(2),可执行(1); 第三位设置了文件所在组其他用户的权限,值如上;第四位设置了其他组的用户的权限,值同上.
由于chmod的系统调用不支持,chomd命令不能改变符号链接的权限. 由于符号链接的权限从不使用,所以这也不成问题.无论如何,由于每个符号连接都可>
在命令行中列出,chmod改变了所指文件的属性. 相反,chmod在递归目录遍历时忽略所碰到的符号连接.
date cal hwclock locale localedef locale-gen locate
一些其他常用命令集合
安装及卸载软件 主要对比deb和rpm
Task | apt (deb) Debian, Ubuntu |
zypp (rpm) openSUSE |
yum/dnf (rpm) Fedora, CentOS |
urpmi (rpm) Mandriva, Mageia |
---|---|---|---|---|
Managing software | ||||
Install new software from package repository | apt-get install pkg | zypper install pkg | yum install pkg | urpmi pkg |
Install new software from package file | dpkg -i pkg | zypper install pkg | yum localinstall pkg | urpmi pkg |
Update existing software | apt-get install pkg | zypper update -t package pkg | yum update pkg | urpmi pkg |
Remove unwanted software | apt-get remove pkg | zypper remove pkg | yum erase pkg | urpme pkg |
Updating the system | ||||
Update package list | apt-get update aptitude update |
zypper refresh | yum check-update | urpmi.update -a |
Update system | apt-get upgrade aptitude safe-upgrade |
zypper update | yum update | urpmi --auto-select |
Searching for packages | ||||
Search by package name | apt-cache search pkg | zypper search pkg | yum list pkg | urpmq pkg |
Search by pattern | apt-cache search pattern | zypper search -t pattern pattern | yum search pattern | urpmq --fuzzy pkg |
Search by file name | apt-file search path | zypper wp file | yum provides file | urpmf file |
List installed packages | dpkg -l | zypper search -is | rpm -qa | rpm -qa |
Configuring access to software repositories | ||||
List repositories | cat /etc/apt/sources.list | zypper repos | yum repolist | urpmq --list-media |
Add repository | (edit /etc/apt/sources.list) | zypper addrepo path name | (add repo to /etc/yum.repos.d/) | urpmi.addmedia name path |
Remove repository | (edit /etc/apt/sources.list) | zypper removerepo name | (remove repo from /etc/yum.repos.d/) | urpmi.removemedia media |
用户及权限管理
文件及系统管理
文本编辑命令
文本编辑三剑客 sed(stream editor) gerp(Global Regular Expression Print) awk(三位创始人)
神之编辑器(emacs)及编辑器之神(vim)
其他有趣的终端命令
cmatrix (还是直接图片展示吧)
linux基本使用的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
随机推荐
- Atitit.rust语言特性 attilax 总结
Atitit.rust语言特性 attilax 总结 1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升.1 2. 不会 ...
- How to Use HTML5 FUll Screen API(怎样使用HTML5全屏接口)
原文链接:http://www.sitepoint.com/use-html5-full-screen-api/ 假设你不太喜欢变化太快的东西,那么web开发可能不适合你. 我曾在2012年末有写过F ...
- 细说Redirect重定向请求(情节分享)
前些日子在开发公司项目接口的时候,由于需要与第三方平台对接,由于接口之前的层层封装,不断的需要转发,把人差点搞糊涂了.本来以为之前对Redirect的认识足够清楚,可是到实际开发之前我还是没 ...
- MHA安装配置
1. 前言 MHA可以在较短的时间内实现自己主动故障检測和故障转移,通常在10-30秒以内;在复制框架中,MHA可以非常好地解决复制过程中的数据一致性问题,因为不须要在现有的replication中加 ...
- instagram架构分析_转
转自:http://www.eit.name/blog/read.php?504 Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPhone 上最火爆的图片类工具,in ...
- Vue.js 2 入门与提高(一)
** Vue.js -- 渐进式前端框架 ** Vue.js作为一个后起的前端框架,借鉴了Angular .React等现代前端框架/库的诸多特点,并且 取得了相当不错的成绩. Vue.js的定位是一 ...
- 自动改变html font-size,实现移动端rem适配
移动端采用rem适配非常方便 比如在iphone6尺寸下,将html font-size 设置为 100px,那么写css时,只要将尺寸/100 + rem 即可. 在iphone6Plus尺寸下,h ...
- jq bootstrap select 点击不能动弹
jq bootstrap select 点击不能动弹 因为是样式selectpicker 冲突. 解决办法换 样式 form-control <select name="ty ...
- xmlUtil 解析 创建
http://yangzi09150915.blog.163.com/blog/static/32953487201072911410398/ package com.aibi.cmdc.webSer ...
- mysql 与mongodb的特点与优劣
首先我们来分析下mysql 与mongodb的特点与优劣.下面是我以前做的ppt的部分截图. 再来分析下应用场景,a.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mon ...