export
输出所有的环境变量。 如果你想查看某个特定变量的值,用echo $VARIABLE_NAME
export
示例:
$ export
AWS_HOME=/Users/adnanadnan/.aws
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LESS=-R
$ echo $AWS_HOME
/Users/adnanadnan/.aws
whatis
whatis 显示某个用户命令、系统调用或库函数的描述文档,或操作手册中存在的其他文档。
whatis something
示例:
$ whatis bash
bash (1) - GNU Bourne-Again SHell
whereis
whereis 查找可执行文件、源文件或者说明文档的位置,使用的是一个系统自动构建的数据库。
whereis name
示例:
$ whereis php
/usr/bin/php
which
which 在环境变量 PATH 指定的所有文件夹中查找可执行文件的位置。它会打印出可执行文件的绝对路径。
which program_name
示例:
$ which php
/c/xampp/php/php
清空窗口中的内容。
cat | chmod | chown | cp | diff | file | find | gunzip | gzcat | gzip | head |
lpq | lpr | lprm | ls | more | mv | rm | tail | touch |
cat
在 UNIX 和 Linux 中,它有以下几种用途
cat filename
cat file1 file2
cat file1 file2 > newcombinedfile
cat < file1 > file2 #copy file1 to file2
chmod
chmod
是 change mod
的意思,它用来改变文件或文件夹的读、写和执行权限。详细信息参见这个链接
chmod -options filename
chown
chown
是 change owner
的意思,它用来改变一个文件或者文件夹的所有者,所有者可以是一个用户或一个用户组。
chown -options user:group filename
cp
把一个文件从一个位置复制到另外一个位置
cp filename1 filename2
上面 filename1
是源文件位置, filename2
是目标位置(精确到文件名)。
diff
比对两个文件,输出他们的差异。
diff filename1 filename2
file
检测文件类型
file filename
示例:
$ file index.html
index.html: HTML document, ASCII text
find
在某个文件夹中用一定规则查找文件
find directory options pattern
示例:
$ find . -name README.md
$ find /home/user1 -name '*.png'
gunzip
解压用 gzip 方法压缩的文件
gunzip filename
gzcat
在不解压的情况下,查看 gzip 压缩过的文件
gzcat filename
gzip
压缩文件
gzip filename
head
输出文件的前 10 行
head filename
lpq
输出打印机列表
lpq
示例:
$ lpq
Rank Owner Job File(s) Total Size
active adnanad 59 demo 399360 bytes
1st adnanad 60 (stdin) 0 bytes
lpr
打印一个文件
lpr filename
lprm
从打印机任务队列中移除某个任务
lprm jobnumber
ls
列出当前文件夹下所有文件。ls
有很多选项:-l
以详细信息格式列出文件,详细信息包括文件实际大小,文件所有者,可查看者,以及最后修改时间。-a
列出所有文件,包括隐藏文件。更多信息参见这个链接
ls option
示例:
$ ls -la rwxr-xr-x 33 adnan staff 1122 Mar 27 18:44 . drwxrwxrwx 60 adnan staff 2040 Mar 21 15:06 .. -rw-r--r--@ 1 adnan staff 14340 Mar 23 15:05 .DS_Store -rw-r--r-- 1 adnan staff 157 Mar 25 18:08 .bumpversion.cfg -rw-r--r-- 1 adnan staff 6515 Mar 25 18:08 .config.ini -rw-r--r-- 1 adnan staff 5805 Mar 27 18:44 .config.override.ini drwxr-xr-x 17 adnan staff 578 Mar 27 23:36 .git -rwxr-xr-x 1 adnan staff 2702 Mar 25 18:08 .gitignore
more
输出一个文件的第一部分(用空格移动,按 q 退出)
more filename
mv
把一个文件从一个位置移动到另一个位置
mv filename1 filename2
上面filename1
是源文件的路径, filename2
是目标路径。(都精确到文件名)
它也可以用来重命名文件
mv old_name new_name
rm
删除一个文件rm: directory: is a directory
如果想删除文件夹,需要添加 r
参数,这样会递归的删除文件夹内所有内容。可以使用 f
参数强制删除,略过确认环节。
rm filename
tail
输出文件的最后 10 行。添加-f
可以动态输出文件新添加的文本。
tail filename
touch
更新某个文件的访问和修改时间戳,如果文件不存在,将会被创建。
touch filename
示例:
$ touch trick.md
awk | cut | echo | egrep | fgrep | fmt | grep | nl | sed | sort |
tr | uniq | wc |
awk
awk 是文本操作最有用的命令。它按行处理整个文件,它默认用空格把每一行分隔成很多字段。最常用的语法是:
awk '/search_pattern/ { action_to_take_if_pattern_matches; }' file_to_parse
以 /etc/passwd
文件为例,该文件包含以下数据:
root❌0:0:root:/root:/usr/bin/zsh
daemon❌1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin❌2:2:bin:/bin:/usr/sbin/nologin
sys❌3:3:sys:/dev:/usr/sbin/nologin
sync❌4:65534:sync:/bin:/bin/sync
我们想从这个文件中过滤出每一行的 username 部分。-F
参数用来指明用来把行内内容分隔的分隔符。这个例子中,我们用:
来分隔。{ print $1 }
意思是输出行内第一个匹配的字段。
awk -F':' '{ print $1 }' /etc/passwd
执行上面的命令之后,你会得到下面的输出。
root
daemon
bin
sys
sync
更多详细信息,参见这个链接
cut
按行从文件中摘取文本并输出
example.txt
red riding hood went to the park to play
用空格分隔每一行,并输出第2,7,9列
cut -d " " -f2,7,9 example.txt
riding park play
echo
输出命令之后的文本到标准输出或文件
输出 "Hello World"
echo Hello World
Hello World
输出 "Hello World",单词间用换行符分隔
echo -ne "Hello\nWorld\n"
Hello
World
egrep
输出文件中匹配指定模式的行,是 grep 命令的扩展模式,支持更多正则表达式(等同于 grep -E
)。
example.txt
Lorem ipsum
dolor sit amet,
consetetur
sadipscing elitr,
sed diam nonumy
eirmod tempor
invidunt ut labore
et dolore magna
aliquyam erat, sed
diam voluptua. At
vero eos et
accusam et justo
duo dolores et ea
rebum. Stet clita
kasd gubergren,
no sea takimata
sanctus est Lorem
ipsum dolor sit
amet.
输出包含 Lorem 或 dolor 的行
egrep '(Lorem|dolor)' example.txt
or
grep -E '(Lorem|dolor)' example.txt
Lorem ipsum
dolor sit amet,
et dolore magna
duo dolores et ea
sanctus est Lorem
ipsum dolor sit
fgrep
输出文件中包含给定字符串的行,指定的模式将不被认做正则,而是字符串。(等同于:grep -F
)
example.txt
Lorem ipsum
dolor sit amet,
consetetur
sadipscing elitr,
sed diam nonumy
eirmod tempor
foo (Lorem|dolor)
invidunt ut labore
et dolore magna
aliquyam erat, sed
diam voluptua. At
vero eos et
accusam et justo
duo dolores et ea
rebum. Stet clita
kasd gubergren,
no sea takimata
sanctus est Lorem
ipsum dolor sit
amet.
(Lorem|dolor)
的所有行*fgrep '(Lorem|dolor)' example.txt
or
grep -F '(Lorem|dolor)' example.txt
foo (Lorem|dolor)
fmt
简单的文本格式化工具
example: example.txt (1 行)
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
把 example.txt 格式化为 20 个字符的宽度
cat example.txt | fmt -w 20
Lorem ipsum
dolor sit amet,
consetetur
sadipscing elitr,
sed diam nonumy
eirmod tempor
invidunt ut labore
et dolore magna
aliquyam erat, sed
diam voluptua. At
vero eos et
accusam et justo
duo dolores et ea
rebum. Stet clita
kasd gubergren,
no sea takimata
sanctus est Lorem
ipsum dolor sit
amet.
grep
在文件中查找文本。你可以用 grep 去查找匹配一个或多个正则表达式的文本行,然后输出这些行。
grep pattern filename
示例:
$ grep admin /etc/passwd
_kadmin_admin:*:218:-2:Kerberos Admin Service:/var/empty:/usr/bin/false
_kadmin_changepw:*:219:-2:Kerberos Change Password Service:/var/empty:/usr/bin/false
_krb_kadmin:*:231:-2:Open Directory Kerberos Admin Service:/var/empty:/usr/bin/false
你也可以通过 -i
参数强制忽略大小写。参数-r
则被用来递归地查找指定文件夹下的所有文件,例如:
$ grep -r admin /etc/
参数 -w
表示只查找单词。关于 grep
的更多信息,参见这个链接
nl
给文件添加行号并输出
example.txt
Lorem ipsum
dolor sit amet,
consetetur
sadipscing elitr,
sed diam nonumy
eirmod tempor
invidunt ut labore
et dolore magna
aliquyam erat, sed
diam voluptua. At
vero eos et
accusam et justo
duo dolores et ea
rebum. Stet clita
kasd gubergren,
no sea takimata
sanctus est Lorem
ipsum dolor sit
amet.
给 example.txt 中的内容添加行号并输出
nl -s". " example.txt
1. Lorem ipsum
2. dolor sit amet,
3. consetetur
4. sadipscing elitr,
5. sed diam nonumy
6. eirmod tempor
7. invidunt ut labore
8. et dolore magna
9. aliquyam erat, sed
10. diam voluptua. At
11. vero eos et
12. accusam et justo
13. duo dolores et ea
14. rebum. Stet clita
15. kasd gubergren,
16. no sea takimata
17. sanctus est Lorem
18. ipsum dolor sit
19. amet.
sed
用于过滤和替换文本的流式编辑命令
example.txt
Hello This is a Test 1 2 3 4
把 example.txt 所有空格替换为连字符并输出
sed 's/ /-/g' example.txt
Hello-This-is-a-Test-1-2-3-4
把所有数字替换为 "d"
sed 's/[0-9]/d/g' example.txt
Hello This is a Test d d d d
sort
对文件中的行进行排序
example.txt
f
b
c
g
a
e
d
对 example.txt 中的行进行排序
sort example.txt
a
b
c
d
e
f
g
随机打乱已经排好序的 example.txt(测试出现问题)// todo
sort example.txt | sort -R
b
f
a
c
d
g
e
tr
转换或删除字符
example.txt
Hello World Foo Bar Baz!
把所有小写字母转换成大写字母
cat example.txt | tr 'a-z' 'A-Z'
HELLO WORLD FOO BAR BAZ!
把所有的空格都转换为换行符
cat example.txt | tr ' ' '\n'
Hello
World
Foo
Bar
Baz!
uniq
统计或精简重复的行
example.txt
a
a
b
a
b
c
d
c
输出 example.txt 中所有不重复的行(需要先进行排序, 否则相同行中间的行会被忽略)
sort example.txt | uniq
a
b
c
d
输出去重后的所有行,并显示不重复行中每一行在原文件中的重复次数
sort example.txt | uniq -c
3 a
2 b
2 c
1 d
wc
输出文件中的行、单词、字符个数。
wc filename
示例:
$ wc demo.txt
7459 15915 398400 demo.txt
demo.txt中有 7459
行, 15915
个单词以及 398400
个字符.
cd | mkdir | pwd |
cd
进入某个文件目录,执行:
$ cd
会进入 home
目录。这个命令接受一个可选的目录名称的参数,指示要进入的目录。
cd dirname
mkdir
创建一个新文件夹
mkdir dirname
pwd
显示当前所在的文件目录(绝对路径)
pwd
bg | cal | date | df | dig | du | fg | finger | jobs | last |
man | passwd | ping | ps | quota | scp | ssh | top | uname | uptime |
w | wget | whoami | whois |
bg
列出所有被停止或后台运行的任务,或将一个已停止的任务后台运行。
cal
输出当前月份的日历
date
输出当前日期和时间
df
输出磁盘使用统计数据
dig
输出某个域名的 DNS 信息
dig domain
du
输出某些文件或目录的硬盘使用情况。更多详细信息参见这个链接
du [option] [filename|directory]
Options:
-h
(人类可读) 把结果以 KB、 MB 、GB 为单位输出。-s
(压缩总结) 输出一个目录总的磁盘空间占用情况,总结输出子目录的报告。示例:
du -sh pictures
1.4M pictures
fg
输出前台中最近运行的任务
finger
输出某个用户的信息
finger username
jobs
列出在后台运行的任务,同时给出任务号
last
列出特定用户的登录记录
last yourUsername
man
输出特定命令的使用手册
man command
passwd
让当前登录的用户更改他的密码
ping
ping 某个主机然后输出结果
ping host
ps
列出某个用户的所有进程
ps -u yourusername
quota
显示磁盘使用量和配额
quota -v
scp
在本地主机和远程主机之间或两个远程主机之间传输文件
从本地主机复制文件到远程主机
scp source_file user@host:directory/target_file
从远程主机复制文件到本地主机
scp user@host:directory/source_file target_file
scp -r user@host:directory/source_folder target_folder
这个命令也接受一个参数 -P
,用来连接指定端口
scp -P port user@host:directory/source_file target_file
ssh
ssh(SSH 客户端)是一个用来登录到远程主机并执行命令的程序
ssh user@host
这个命令也接受一个可选参数 -p
,用来指定连接到特定的端口。
ssh -p port user@host
top
动态展示所有活跃的进程
uname
输出内核信息
uname -a
uptime
输出服务器运行了多长时间以及有多少个用户登录
w
输出系统在线用户
wget
下载文件
wget file
whoami
输出现在登录的用户的用户名
whois
获取某个域名的 whois 信息
whois domain
kill | killall | & | nohup |
kill
结束指定 PID 代表的进程
kill PID
killall
结束某个名字代表的所有进程
killall processname
使得 &
之前的命令作为后台进程运行在 subshell 中
command &
nohup
nohup 代表 No Hang Up
,也即不要挂起。这条命令允许其它命令、进程或shell脚本在你退出shell之后继续在后台运行
nohup command
把它和 &
结合使用可以创建后台进程
nohup command &
在 bash 脚本文件中的第一行被叫做 shebang
。这一行决定了脚本可以像一个独立的可执行文件一样执行,而不用在终端之前输入sh
,bash
,python
,php
等。
#!/bin/bash
在 bash 中创建变量跟其它语言相似。没有变量类型,bash 中的变量可以保存一个数字、一个字符、一个字符串等等。同时无需提前声明变量,给变量赋值会直接创建变量。
示例:
str="hello world"
上面一行创建了一个变量 str
然后把 "hello world" 赋值给它。通过在变量名之前添加$
符号,可以取到变量里面保存的值。
示例:
echo $str # hello world
像其它语言一样,bash 也有数组类型。bash 中的数组是一个保存着很多值的变量,数组的长度没有限制,下标也是从 0 开始。在 bash 中有好几种方法创建一个数组,如下所示。
Examples:
array[0] = val
array[1] = val
array[2] = val
array=([2]=val [0]=val [1]=val)
array=(val val val)
使用如下语法获得数组特定位置的值:
${array[i]} # i是数组下标
如果没有指定数组下标,默认返回第一个元素。想知道数组中有多少个元素,使用下面的语法:
${#array[@]}
Bash 也支持三元运算符,如下面的例子所示:
${varname:-word} # 如果 varname 存在而且不为 null,返回它的值,否则返回 word
${varname:=word} # 如果 varname 存在而且不为 null,返回它的值,否则把word赋值给它并且返回 word
${varname:+word} # 如果 varname 存在而且不为 null,返回 word,否则返回 null
${varname:offset:length} # 它返回 $varname 的子字符串,从 offset 处开始,长度为 length
通过下面的语法来学习字符串相关操作
${variable#pattern} # 如果 pattern 匹配变量值的起始部分,删除匹配 pattern 的最短的部分,然后返回剩余的
${variable##pattern} # 如果 pattern 匹配变量值的起始部分,删除匹配 pattern 的最长的部分,然后返回剩余的
${variable%pattern} # 如果 pattern 匹配变量值的结束部分,删除匹配 pattern 的最短的部分,然后返回剩余的
${variable%%pattern} # 如果 pattern 匹配变量值的结束部分,删除匹配 pattern 的最长的部分,然后返回剩余的
${variable/pattern/string} # 把变量值中匹配 pattern 的最长的部分替换为 string,只替换第一个匹配的部分
${variable//pattern/string} # 把变量值中匹配 pattern 的最长的部分替换为 string,全局进行替换
${#varname} # 返回变量值作为一个字符串的长度
As in almost any programming language, you can use functions to group pieces of code in a more logical way or practice the divine art of recursion. Declaring a function is just a matter of writing . Calling a function is just like calling another program, you just write its name.就像在其它编程语言中那样,您可以使用 function 来以更合乎逻辑的方式聚合代码,或实现递归的神圣艺术。声明一个 function 只需要写下function my_func { my_code }
,调用 function 就像调用另外的程序一样,使用方法名称即可。
function name() {
shell commands
}
示例:
#!/bin/bash
function hello {
echo world!
}
hello
function say {
echo $1
}
say "hello world!"
当你运行上面例子中的 hello 方法时,它会输出 "world!"。上面的两个方法 hello
和 say
一模一样的, say
有一些不同,这个方法会打印出它接受到的第一个参数。方法中的参数,跟脚本语言中的处理方式一样。
bash 中的条件语句跟其他编程语言类似。条件语句有很多种形式,就像最常见的基本形式是 if
表达式 then
语句,代表如果表达式为真,则执行响应的语句。
if [expression]; then
will execute only if expression is true
else
will execute if expression is false
fi
有些时候如果条件语句变得太复杂,你可以用 case statements
来完成相同的条件判断功能。
case expression in
pattern1 )
statements ;;
pattern2 )
statements ;;
...
esac
Expression Examples:
statement1 && statement2 # 两个语句都为真
statement1 || statement2 # 至少一个语句为真
str1=str2 # str1 匹配 str2
str1!=str2 # str1 不匹配 str2
str1<str2 # str1 小于 str2
str1>str2 # str1 大于 str2
-n str1 # str1 不是 null (长度大于 0)
-z str1 # str1 是 null (长度为 0)
-a file # 文件存在
-d file # 文件存在而且是目录
-e file # 文件存在,跟 -a 一样
-f file # 文件存在,而且是常规文件(不是目录或者其他特殊类型的文件)
-r file # 你有读权限
-s file # 文件存在而且不为空
-w file # 你有写权限
-x file # 你对文件有执行权限,如果 file 是目录的话,你对它有搜索权限
-N file # 从上次读之后文件被修改过
-O file # 你是文件所有者
-G file # 文件的 group ID 跟你的 group ID (或之一,如果你在很多分组里)相同
file1 -nt file2 # file1 比 file2 更新
file1 -ot file2 # file1 比 file2 更老
-lt # 小于
-le # 小于等于
-eq # 等于
-ge # 大于等于
-gt # 大于
-ne # 不等于
bash 中有三种类型的循环。for
, while
和 until
。
不同的 for
语法:
for x := 1 to 10 do
begin
statements
end
for name [in list]
do
statements that can use $name
done
for (( initialisation ; ending condition ; update ))
do
statements...
done
while
语法:
while condition; do
statements
done
until
语法:
until condition; do
statements
done
执行 nano ~/.bash_profile
来打开 bash_profile
。
alias dockerlogin='ssh www-data@adnan.local -p2222' # 在 .bash_profile 中设置别名
nano ~/.bashrc
export hotellogs="/workspace/hotel-api/storage/logs"
source ~/.bashrc
cd $hotellogs
通过执行清理语句使得你的脚本更有鲁棒性
function finish {
# 在这里执行清理语句,例如,杀掉所有 fork 的进程。
jobs -p | xargs kill
}
trap finish EXIT
当你在 shell 中执行 export FOO = BAR
, 环境变量只在当前 shell 和它的子 shell 中存在,如果想在将来能够永久使用这个环境变量,只需要在 ~/.bash_profile
文件后面添加要执行的命令即可。
echo export FOO=BAR >> ~/.bash_profile
通过在 home 目录下创建 bin 文件夹, 你可以很容易的访问你的脚本,mkdir ~/bin
之后,在 bin 目录里面的所有脚本都能在任何别的目录下访问到。
如果还是不能访问,把下面的代码添加到 ~/.bash_profile
文件中,然后执行source ~/.bash_profile
。
# 如果用户的私有 bin 目录存在的话,把它添加到 PATH 变量中
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
你可以很容易地通过传递不同的参数给 bash
命令来调试脚本。例如, -n
将会只检查脚本的语法错误而不执行脚本。 -v
将会在命令执行前输出它们。 -x
将会在命令行处理之后输出命令。
bash -n scriptname
bash -v scriptname
bash -x scriptname
http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html very good
导读: Version 3.7.5 第2章带着一个Sha-Bang出发(Sha-Bang指的是#!) ============================================== 在一个最简单的例子中,一个shell脚本其实就是一堆系统命令列在一个文件中.它的最基本的 用处就是,在你每次输入这些特定顺序的命令时可以少敲一些字. Example 2-1 清除:
本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 #here document cat <<EOF \z EOF cat <<EOF \\z EOF那么,什么是HERE Document呢? HERE Document用来定义块变量,它把两个HERE之间的内容(注意一定是内容,不是命令,如果
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接受用户输入的命令并送入到内核去执行。 实际是一个命令解释符。 系统终端切换 虚拟终端由mingetty程序生成 物理机执行本地终端 tty /dev/tty1 网络使用模拟终端 tty /dev/pts/1 who #查看当前登陆的用户 w pkill -9 -t tty2 #断开一个模拟终端 bash echo $SHELL
我喜欢的一句话 the only way to really learn scripting is to write scripts 学习脚本的唯一方法就是写脚本 更好的命令行参数检测 E_WRONGARGS=85 # Non-numerical argument (bad argument format). 41 # 42 # case "$1" in 43 #
为什么呢? 我讲的没有http://www.linuxsir.org/main/doc/abs/abs3.7cnhtm/index.html好! 搞了这么久linux,居然不知此书,浑身是汗啊! 向杨春敏 黄毅 学习! 摘抄一小段: 译者序 毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell),几乎所有的Linu
Bash基础 基本命与操作符 # 注释,用于一行行首(#!除外)或本行空白的后边。 ; 命令分隔符,可以在一行中写多个命令。 ;; 终止case选项。 . 等价于source命令,这是一个bash内建命令。 . 作为文件名的前缀时,则该文件为隐藏文件。作为目录名的一部分.表示当前目录,..表示上一级目录。用于字符匹配中,作为正则表达式的一部分,用来匹配任何单个字符。 “ 部
Comments # 从#到行尾,表示注释。可以通过(‘”)转义。 Command separator ; 表示命令结束,用来分割命令。一般是一行一个命令,但是要在一行中包含多个命令的话,需要把它加入其中。 echo hello; echo there if [ -x "$filename" ]; then # Note the space after the semicolon. e
1. Note that $variable is actually a simplified form of ${variable}. 2. An uninitialized variable has no value, however it acts as if it were 0 in an arithmetic operation. This is undocumented (and pr
Docker 的基本指令及用法详解 Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法。但是由于Docker技术的快速发展,此交互式教程已经无法满足Docker用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。首先,Docker的命令清单可以通过运行 docker ,或者 docker help 命令得到: $ sudo
Shell 是一种命令解释器,它不仅分离了用户层与操作系统内核,更是一门强大的编程语言。我们称为shell编写的程序为脚本(script)。脚本是一种易于使用的工具,它能够将系统调用、工具软件、实用程序(utility)和已编译的二进制文件联系在一起构建程序。
安装了 Jekyll 的 Gem 包之后,就可以在命令行中使用 Jekyll 命令了。有以下这些用法: $ jekyll build # => 当前文件夹中的内容将会生成到 ./_site 文件夹中。 $ jekyll build --destination <destination> # => 当前文件夹中的内容将会生成到目标文件夹<destination>中。 $ jekyll build
这个插件基于 jQuery 上通过 imgAreaSelect() 方法来调用,它操作的对象是HTML中 <img> 元素内的图像。 $(document).ready(function () { $('img#photo').imgAreaSelect({ handles: true, onSelectEnd: someFunction }); }); 如果在
安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn。 注意 推荐使用 Node.js 版本 6+。 vue-server-renderer 和 vue 必须匹配版本。 vue-server-renderer 依赖一些 Node.js 原生模块,因此只能在 Node.js 中使用。我们可能会提供一个更
本文向大家介绍MongoDB使用指南--基本操作,包括了MongoDB使用指南--基本操作的使用技巧和注意事项,需要的朋友参考一下 读取 db.collection.find() users是collection名字,从users中查找; age是query criteria,筛选结果,代表查找name字段的值比18大的; name是projection,筛选列(1代表存在, 0代表不存在),代表
本文向大家介绍StackExchange.Redis 基本用法,包括了StackExchange.Redis 基本用法的使用技巧和注意事项,需要的朋友参考一下 在线示例
本文向大家介绍F# 基本用法,包括了F# 基本用法的使用技巧和注意事项,需要的朋友参考一下 示例