Linux 命令大全
rm -rf mydir /* 删除mydir目录 */
cdmydir/*进入mydir目录*/
cd-/*回上一级目录*/
cd~/*回根目录*/
mv tools tool /* 把tools目录改名为tool */mv sourcefile destfile /* 移动文件 */
ln-stoolbac
/*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/
find/var-namesn.txt/*查看/var目录及其子目录下的sn.txt的文件路径*/
cp-atool/home/leavex/www/*把tool目录下所有文件复制到www目录下*/
rmgo.tar/*删除go.tar文件*/
findmt.cgi/*查找文件名为mt.cgi的文件*/
df–h/*查看磁盘剩余空间,好像没这个必要,除非你太那个了*/
tarxvfwordpress.tar/*解压tar格式的文件*/
tar-tvfmyfile.tar/*查看tar文件中包含的文件*/
gzip-dge.tar.gz/*解压.tar.gz文件为.tar文件*/
unzipphpbb.zip/*解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的*/
tarcftoole.tartool/*把tool目录打包为toole.tar文件*/
tarcfzgeek.tar.gztool
/*把tool目录打包且压缩为geek.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB*/
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tartar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux~]#tar-ztvf/tmp/etc.tar.gz
#由於我们使用gzip压缩,所以要查阅该tarfile内的文件时,
# 就得要加上 z 这个参数了!这很重要的!范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux~]#cd/usr/local/src
[root@linuxsrc]#tar-zxvf/tmp/etc.tar.gz
#在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
#我先将工作目录变换到/usr/local/src底下,并且解开/tmp/etc.tar.gz,
#则解开的目录会在/usr/local/src/etc呢!另外,如果您进入/usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!4.5 脚本实现watch命令
simplewatch.sh
#!/bin/sh
while[1];do
clear
echo"Command:$*"
date
echo""
($*)
sleep2
done使用:simplewatch.sh ls -lt \*.log
5.vi编辑器
Linux下很易用的一种编辑器,只需要稍微知道几个指令即可应用。
打开vi:
$vi[filename]:打开或新建文件,并将光标置于第一行首
$vi+n[filename]:打开文件,并将光标置于第n行首
$vi+[filename]:打开文件,并将光标置于最后一行首
$vi+/pattern[filename]:打开文件,并将光标置于第一个与pattern匹配的串处
$vi-r[filename]:在上次正用vi编辑时发生系统崩溃,恢复filename
$vi[filename]….[filename]:打开多个文件,依次编辑
如果filename不存在,则自动生成一个名字filename的新文件。
vi共有两种状态:命令状态/编辑状态
编辑状态下:
第一次按下insert键为”insert”模式,再按一下为”replace”模式,使用ESC返回命令状态;
在此状态下键盘的PgUp/PgDn/Insert/Delete/Home/End/方向键,均处于正常功能状态。
命令状态下:
输入的字符串作为命令处理,使用”insert”键切换到编辑状态;
以下是命令状态下的命令清单:
移动光标类命令
h:光标左移一个字符
l:光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n:光标下移一行
Enter:光标下移一行
w或W:光标右移一个字至字首
b或B:光标左移一个字至字首
e或E:光标右移一个字j至字尾
):光标移至句尾
(:光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H:光标移至屏幕顶行
M:光标移至屏幕中间行
L:光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i:在光标前
I:在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令:
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NOwrite信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2con3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2mn3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2d:将n1行到n2行之间的内容删除
:w:保存当前文件
:efilename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指
定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行 。Adminis*** 排序文件 e.g. cat filename |sort -u -k1n
sort [-u] [-k1n] filename
sort [-n] filename
*** 输出行码 nl filename
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux~]#cd/tmp
[root@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd
#我可以透过tar-ztvf来查阅tarfile内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux~]#tar-zxvpf/tmp/etc.tar.gz/etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!范例六:在 /home 当中,比 2005/06/01 新的文件才备份 [root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai [root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux~]#cd/tmp
[root@linuxtmp]#tar-cvf-/etc|tar-xvf-
#这个动作有点像是cp-r/etc/tmp啦~依旧是有其有用途的!
#要注意的地方在於输出档变成-而输入档也变成-,又有一个|存在~
#这分别代表standardoutput,standardinput与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!wgethttp://www.sevenapart.com/download/wp.tar.gz
/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事*/
wget-chttp://www.eightapart.com/undone.zip
/*继续下载上次未下载完的文件*/
tarcfzgeek.tar.gztool
/*把tool目录打包且压缩为geek.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB*/
还有一些是VIM里要用到的,也罗列出来吧!
移动类的:
h/j/k/l:左/下/上/右 移一格
w:向后词移动 (前面加数字移动多少个词)
b:向前词移动 (前面加数字移动多少个词)
e:向后移到词末
ge:向前移到词末
$:行末
0:行首
tx:向右查找本行的x并移到那儿(大写时向左)
33G:移到文件的第33行
gg:文件首行
G:文件尾行
33%:文件的33%处
H/M/L:屏幕的首/中/尾行
zt/zz/zb:当前行移到屏幕的首/中/底部
跳转:
”:回到跳转来的地方
CTRL-O:跳到一个“较老”的地方
CTRL-I:则跳到一个“较新”的地方
查找:
/:向下查找(后加关键字)
?:向上查找(后加关键字)
n:下一条符合的记录
编辑:
i:转换到插入模式
x:删除当前字符
.:重复最后一次的修改操作(同PS里ctrl+f执行滤镜)
u:撤销操作
CTRL-R:重做
p:将删除的字符插入到当前位置(put)
退出保存:
:q:退出
:q!:不保存退出
ZZ:保存后退出
:e!:放弃修改重新编辑
退出SSH后,继续运行!
#nohupwgethttp://www.phpv.net/file.tar.gz&
wget是一个Linux环境下用于从WorldWideWeb上提取文件的工具,这是一个GPL许
可证
下的自由软件,其作者为HrvojeNiksic。wget支持HTTP和
FTP协议
,支持代理服务器和断点续传功能,能够自动递归远程主机的目录,找到合乎条件
的文
件并将其下载到本地硬盘上;如果必要,wget将恰当地转换页面中的超级连接以在
本地
生成可浏览的镜像。由于没有交互式界面,wget可在后台运行,截获并忽略
HANGUP信号
,因此在用户推出登录以后,仍可继续运行。通常,wget用于成批量地下载
Internet网
站上的文件,或制作远程网站的镜像。
语法:
wget[options][URL-list]
URL地址格式说明:可以使用如下格式的URL:
http://host[:port]/path
例如:
http://fly.cc.fer.hr/
ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
ftp://username:password@host/dir/file
在最后一种形式中,以URL编码形式为FTP主机提供了用户名和密码(当然,也可以
使用
参数提供该信息,见后)。
参数说明:
wget的参数较多,但大部分应用只需要如下几个常用的参数:
-r递归;对于HTTP主机,wget首先下载URL指定的文件,然后(如果该文
件是
一个HTML文档的话)递归下载该文件所引用(超级连接)的所有文件(递归深度由
参数
-l指定)。对FTP主机,该参数意味着要下载URL指定的目录中的所有文件,递归方
法与
HTTP主机类似。
-N时间戳:该参数指定wget只下载更新的文件,也就是说,与本地目录中
的对
应文件的长度和最后修改日期一样的文件将不被下载。
-m镜像:相当于同时使用-r和-N参数。
-l设置递归级数;默认为5。-l1相当于不递归;-l0为无穷递归;注意,
当递
归深度增加时,文件数量将呈指数级增长。
-t设置重试次数。当连接中断(或超时)时,wget将试图重新连接。如
果指
定-t0,则重试次数设为无穷多。
-c指定断点续传功能。实际上,wget默认具有断点续传功能,只有当你使
用别
的ftp工具下载了某一文件的一部分,并希望wget接着完成此工作的时候,才需要
指定
此参数。
使用举例:
wget-m-l4-t0http://oneweb.com.cn/
将在本地硬盘建立http://oneweb.com.cn/的镜像,镜像文件存入当前目录下一个
名为
oneweb.com.cn的子目录中(你也可以使用-nH参数指定不建立该子目录,而直接在
当前
目录下建立镜像的目录结构),递归深度为4,重试次数为无穷(若连接出现问题
,
wget将坚韧不拔地永远重试下去,知道任务完成!)
另外一些使用频率稍低的参数如下:
-Aacclist/-Rrejlist:
这两个参数用于指定wget接受或排除的文件扩展名,多个名称之间用逗号隔开。例
如,
假设我们不想下载MPEG视频影像文件和.AU声音文件,可使用如下参数:
-Rmpg,mpeg,au
其它参数还有:
-L只扩展相对连接,该参数对于抓取指定站点很有用,可以避免向宿主
主机
的其他目录扩散。例如,某个人网站地址为:http://www.xys.org/~ppfl/,使用
如下
命令行:
wget-Lhttp://www.xys.org/~ppfl/
则只提取该个人网站,而不涉及主机www.xys.org上的其他目录。
-k转换连接:HTML文件存盘时,将其中的非相对连接转换成为相对连接。
-X在下载FTP主机上的文件时,排除若干指定的目录
另外,下面参数用于设置wget的工作界面:
-v设置wget输出详细的工作信息。
-q设置wget不输出任何信息。
如果我们已经在一个HTML文档(或普通文本文档)中存储了所要提取的文件的连接
,可
以让wget直接从该文件中提取信息,而不用在命令行中提供URL地址,参数格式为
:
-ifilename
地址文件也可以不是HTML文档,例如,一个普通的文本文件,其中有需要下载的
URL列
表即可。
我们可以用以下技巧提高下载速度:由于Linux是一个多任务系统,我们可以同时
运行
多个wget进程以提高下载速度,例如,先下载某主页文件(index.html),然后将
该文
件所列出的所有地址分别用一个独立的wget进程进行下载。
至于其他的参数,可参考wget的man手册页,命令为:
manwget
PostinLAMP|NoComments»
DreamHost中shell使用指南
01月28th,2008
DreamHost中shell使用指南
1.BasicInstructions基本操作命令
通常来说,使用”$[Instructions]–help”可以获得以下各个命令[instructions]的帮助,包含其参数列表的定义。
-ls列出当前文件夹下所有内容
$ls-o列出当前文件夹中所有内容,含详细信息,但不列出group
$ls-l同上,含group信息
$ls-a列出当前文件夹中所有内容,包含以”.”开头的文件
$ls-t按更改时间排序
$ls-v按版本先后排序
-cd[dir]进入文件夹
-pwd显示当前路径
-mkdir[dir]新建文件夹
-chmod更改文件/文件夹权限
$chmod[Mode][dir],其中Mode形如”755″或”777″等。
$chmod[Mode][file]
$chmod-R[Mode][dir],递归形式,即将目标文件夹内所有文件均改变权限
Mode还有另一种表达方式,”755″即为”-rwxr-xr-x”,不列举了。
-rm[file]删除文件/文件夹
$rm-f[file]强行删除,忽略不存在的文件,无提示
$rm-r[file]递归删除所有内容
-cp拷贝
$cp[options][source][destination]
其中[options]可以为-f(强行拷贝)或-r(递归拷贝)
-mv重命名或移动
$mv[options][source][destination]
[options]常用:-f(强行移动/重命名),-i(移动/重命名前尝试),-u(更新)
例如
$mvwwwroot/cgi-bin.将/cgi-bin目录移动到当前目录下
$mvcronfile.txtmyfile.txt将cronfile.txt重命名为myfile.txt
2.wget下载工具
wget是一种非交互式的网络文件下载工具,在linux下可以使用该工具快速地从网络上下载所需要的文件而不需要经由本地硬盘中转,而且速度极快。以下是一些使用方法:
wget[参数列表]URL
最简单的用法:
$wgethttp://targetdomain.com/file.tar
wget的常用参数:
·-t[nuberoftimes]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次。比如”-t120″表示尝试120次。当这一项为”0″的时候,指定尝试无穷多次直到连接成功为止,这个设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续下载没有传完的文件;
·-c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/linux的Web/FTP服务器都支持断点续传;
·-T[numberofseconds]:超时时间,指定多长时间远程服务器没有响应就中断连接,开始下一次尝试。比如”-T120″表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常也不少于60,一般设置在120左右比较合适;
·-w[numberofseconds]:在两次尝试之间等待多少秒,比如”-w100″表示两次尝试之间等待100秒;
·-nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;
·-x:与”-nd”设置刚好相反,创建完整的目录结构,例如”wget-ndhttp://www.gnu.org/“,实际的目录结构一级一级建下去,直到所有的文件都传完为止;
·-nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目录下;
·-r:递归下载,在本机建立服务器端目录结构;
·-l[depth]:下载远程服务器目录结构的深度,例如”-l5″下载目录深度小于或者等于5以内的目录结构或者文件;
·-m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设定其他合适的选项以便于站点镜像;
·-np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来,这显然是我们通常不希望的;
·–http-user=username
·–http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;
·-O将数据写入文件中。
3.Crontab定时执行任务
在DreamHost系统下,通过Shell可以建立自己的crontab.具体使用如下:
使用支持shell登录的终端(如fterm或putty),地址栏输入[email protected]:22即可以SSH方式登录至服务器.
常用的crontab命令:
crontab-l显示所有现存cronjob.
crontab-r删除当前cronjobs.
crontab-e编辑当前“crontabfile”.DH推荐使用nano
注意你的crontab包含所有的cronjobs,每个cron一行,断行结尾.一个正常的cron如下所示:
452***/home/user/script.pl
第一个数字是每小时的第几分钟,
第二个数字是每天的第几小时,
第三个数字是每月的第几天,
第四个数字是每年的第几月,
第五个数字是每周的第几天.
使用方式例如:
32****:表示每小时的第32分钟.
12,42****:表示每小时的第12及第42分钟两次
*/15*/2***:表示0:00,0:15,0:30,0:45,2:00,2:15,2:30,…
4318**7:表示每个周日的6:43pm运行命令行.
在DreamHost下使用nano编辑完文件后,使用ctrl+o保存,ctrl+x退出编辑。
4.tar命令
tar命令的使用方法如下:
tar[参数列表][文件名]
参数列表:
-c生成新的备份,并同时覆盖旧的备份文件
-x从备份文件中解压缩
-t列出备份文件内的文件目录
-v显示所有被操作文件列表
-f在指定位置生成备份
-u将不存在于备份中的文件,或将已经被更改的文件加入该备份中。
举例说明:
tarcvffilename.tar/*制作备份*/
tarcvftarfile.tar./filename/*将filename的文件备份到tarfile.tar里面*/
tartvffilename.tar/*列出tar文档的内容*/
tarxvffilename.tar/*从tar文档中导出文件*/
tarzxpvffilename.tar.gz/*从tar.gz文档中导出文件*/
tarzxvffilename.tar.gz/*同上*/
tarxvftarfile.tar./filename/*导出tar文件中的单个文件*/