SSH常用命令

By | 2019-03-13
目录操作:
Shift+inset /*粘贴选项,插入所复制*/


rm -rf mydir /*删除mydir目录*/


cd mydir /*进入mydir目录*/


cd - /*回上一级目录*/


cd .. /*回父目录,中间有空格*/


cd ~ /*回根目录*/


mv tools tool /*把tools目录改名为tool */


ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/


cp -a tool /home/vpser/www /*把tool目录下所有文件复制到www目录下 */


文件操作:


rm go.tar /* 删除go.tar文件 */


find mt.cgi /* 查找文件名为mt.cgi的文件 */


df –h /* 查看磁盘剩余空间,好像没这个必要,除非你太那个了 */


解压缩:


tar xvf wordpress.tar /* 解压tar格式的文件 */


tar -tvf myfile.tar /* 查看tar文件中包含的文件 */


tar cf toole.tar tool /* 把tool目录打包为toole.tar文件 */


tar cfz vpser.tar.gz tool /* 把tool目录打包且压缩为vpser.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB */


tar jcvf /var/bak/www.tar.bz2 /var/www/ /*创建.tar.bz2文件,压缩率高*/


tar xjf www.tar.bz2 /*解压tar.bz2格式*/


gzip -d ge.tar.gz /* 解压.tar.gz文件为.tar文件 */


unzip phpbb.zip /* 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的 */


下载:


wget http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz


/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */


wget -c http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz


/* 继续下载上次未下载完的文件 */


转载请注明出处:VPS侦探 http://www.vpser.net


进程管理:


ps -aux /*ps 进程状态查询命令*/


ps命令输出字段的含义:


[list]


[*]USER,进程所有者的用户名。


[*]PID,进程号,可以唯一标识该进程。


[*]%CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。


[*]%MEM,进程使用内存的百分比。


[*]VSZ,进程使用的虚拟内存大小,以K为单位。


[*]RSS,进程占用的物理内存的总数量,以K为单位。


[*]TTY,进程相关的终端名。


[*]STAT,进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。


[*]START,进程开始运行时间。


[*]TIME,进程使用的总CPU时间。


[*]COMMAND,被执行的命令行。


[/list]


ps -aux | grep nginx /*在所有进程中,查找nginx的进程*/


kill 1234 /*1234为进程ID,即ps -aux 中的PID*/


killall nginx /*killall 通过程序的名字,直接杀死所有进程,nginx为进程名*/


Vim操作:


移动类的:


h/j/k/l: 左/下/上/右 移一格


w : 向后词移动 (前面加数字移动多少个词)


b : 向前词移动 (前


面加数字移动多少个词)


e : 向后移到词末


ge : 向前移到词末


$ <End> : 行末


0 <Home> : 行首


tx : 向右查找本行的x并移到那儿(大写时向左)


33G : 移到文件的第33行


gg : 文件首行


G : 文件尾行


33% : 文件的33%处


H/M/L : 屏幕的首/中/尾行


zt/zz/zb : 当前行移到屏幕的首/中/底部


跳转:


" : 回到跳转来的地方


CTRL-O : 跳到一个 “较老” 的地方


CTRL-I <Tab> : 则跳到一个 “较新” 的地方


查找:


/ : 向下查找(后加关键字)


? : 向上查找(后加关键字)


n : 下一条符合的记录


编辑:


i : 转换到插入模式


x : 删除当前字符


. : 重复最后一次的修改操作(同PS里ctrl+f执行滤镜)


u : 撤销操作


CTRL-R : 重做


p : 将删除的字符插入到当前位置(put)


退出保存:


:q : 退出


:q! : 不保存退出


ZZ : 保存后退出


:e! : 放弃修改重新编辑


目录:


1.BasicInstructions/基本


2.wget/下载工具


3.Crontab/定时任务


4.tar/tar.gz/压缩文件


5.查看文件大小


cd[目录名]转换路径


cd .. 返回上级目录


ls显示当前目录下所有文件


rm[-r]-f[][文件名]删除文件,加[-r]可以删除文件下所有子文件,如rm -rf [abc]删除abc文件夹及文件夹下的所有文件


tar -[解压下载的压缩包]


unzip[文件名]解压文件


cp -rpf .A/* B 将A文件夹中的所有文件拷贝到其上级目录B中


wget(最爽的一个命令 在linux下可以使用该工具快速地从网络上下载所需要的文件)


1.BasicInstructions基本操作命令


通常来说,使用”$[Instructions]-help”可以获得以下各个命令[instructions]的帮助,包含其参


数列表的定义。


-ls列出当前文件夹下所有内容


$ls-o列出当前文件夹中所有内容,含详细信息,但不列出group


$ls-l同上,含group信息


$ls-a列出当前文件夹中所有内容,包含以”.”开头的文件


$ls-t按更改时间排序


$ls-v按版本


-cd [dir] 进入文件夹


cd.. 退出当前文件夹,返回上级目录


-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]递归删除所有内容


$rm -rf 删除文件夹


-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


cp -rpf .A/* B 将A文件夹中的所有文件拷贝到其上级目录B中


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),地址栏输入username@qiran.org: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, …


43 18 * * 7: 表示每个周日的6:43pm运行命令行.


在DreamHost下使用nano编辑完文件后,使用ctrl+o保存,ctrl+x退出编辑。


4.tar命令


tar命令的使用方法如下:


tar[参数列表][文件名]


参数列表:


-c生成新的备份,并同时覆盖旧的备份文件


-x从备份文件中解压缩


-t列出备份文件内的文件目录


-v显示所有被操作文件列表


-f在指定位置生成备份


-u将不存在于备份中的文件,或将已经被更改的文件加入该备份中。


举例说明:


tar cvf filename.tar /*制作备份*/


tar cvf tarfile.tar ./filename /*将filename的文件备份到tarfile.tar里面*/


tar tvf filename.tar /*列出tar文档的内容*/


tar xvf filename.tar /*从tar文档中导出文件*/


tar zxpvf filename.tar.gz /*从tar.gz文档中导出文件*/


tar zxvf filename.tar.gz /*同上*/


tar xvf tarfile.tar ./filename /*导出tar文件中的单个文件*/


tar -xzf filename.tar.gz 解压


打包文件供下载 将目录./www打包到文件www.tar.gz


QUOTE:


tar czvf www.tar.gz ./www


或者直接更简单的 zip ./www


将当前目录下所有.php文件打包并压缩到文件bak.tar.gz


5.查看文件夹大小


du -s discuz 按KB


du -sh discuz 按M


SSH常用命令linux系统 2009-10-12 21:56:37 阅读205 评论0 字号:大中小


rm -rf mydir /* 删除mydir目录 */


mkdir [dir] 新建文件夹


cd mydir /* 进入mydir目录 */


cd - /* 回上一级目录 */


cd ~ /* 回根目录 */


mv tools tool /* 把tools目录改名为tool */


ln -s tool bac


/* 给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了 */


cp -a tool /home/leavex/www /* 把tool目录下所有文件复制到www目录下 */


rm go.tar /* 删除go.tar文件 */


find mt.cgi /* 查找文件名为mt.cgi的文件 */


df –h /* 查看磁盘剩余空间,好像没这个必要,除非


你太那个了 */


tar xvf wordpress.tar /* 解压tar格式的文件 */


tar -tvf myfile.tar /* 查看tar文件中包含的文件 */


gzip -d ge.tar.gz /* 解压.tar.gz文件为.tar文件 */


unzip phpbb.zip /* 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的 */


tar cf toole.tar tool /* 把tool目录打包为toole.tar文件 */


tar cfz geek.tar.gz tool


/* 把tool目录打包且压缩为geek.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB */


wget http://www.sevenapart.com/download/wp.tar.gz


/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */


wget -c http://www.eightapart.com/undone.zip


/* 继续下载上次未下载完的文件 */


tar cfz geek.tar.gz tool


/* 把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后,继续运行!


#nohup wget http://www.phpv.net/file.tar.gz &


wget是一个Linux环境下用于从World Wide Web上提取文件的工具,这是一个GPL许


可证


下的自由软件,其作者为Hrvoje Niksic 。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 -t0 http://oneweb.com.cn/


将在本地硬盘建立http://oneweb.com.cn/的镜像,镜像文件存入当前目录下一个


名为


oneweb.com.cn的子目录中(你也可以使用-nH参数指定不建立该子目录,而直接在


当前


目录下建立镜像的目录结构),递归深度为4,重试次数为无穷(若连接出现问题


,


wget将坚韧不拔地永远重试下去,知道任务完成!)


另外一些使用频率稍低的参数如下:


-A acclist / -R rejlist:


这两个参数用于指定wget接受或排除的文件扩展名,多个名称之间用逗号隔开。例


如,


假设我们不想下载MPEG视频影像文件和.AU声音文件,可使用如下参数:


-R mpg,mpeg,au


其它参数还有:


-L 只扩展相对连接,该参数对于抓取指定站点很有用,可以避免向宿主


主机


的其他目录扩散。例如,某个人网站地址为:http://www.xys.org/~ppfl/,使用


如下


命令行:


wget -L http://www.xys.org/~ppfl/


则只提取该个人网站,而不涉及主机www.xys.org上的其他目录。


-k 转换连接:HTML文件存盘时,将其中的非相对连接转换成为相对连接。


-X 在下载FTP主机上的文件时,排除若干指定的目录


另外,下面参数用于设置wget的工作界面:


-v 设置wget输出详细的工


作信息。


-q 设置wget不输出任何信息。


如果我们已经在一个HTML文档(或普通文本文档)中存储了所要提取的文件的连接


,可


以让wget直接从该文件中提取信息,而不用在命令行中提供URL地址,参数格式为


:


-i filename


地址文件也可以不是HTML文档,例如,一个普通的文本文件,其中有需要下载的


URL列


表即可。


我们可以用以下技巧提高下载速度:由于Linux是一个多任务系统,我们可以同时


运行


多个wget进程以提高下载速度,例如,先下载某主页文件(index.html),然后将


该文


件所列出的所有地址分别用一个独立的wget进程进行下载。


至于其他的参数,可参考wget的man手册页,命令为:


man wget


用wget创建网站的镜像


使用shell中的wget命令行创建网站镜像的方法。此方法将所有文件(包括图片、CSS等)都下载下来,并把网页中的链接改为相对链接,这样就避免了镜像中的链接仍旧指向原来的网站而不能正常地工作了。


此方法只需一条命令行:


$ wget -mk -w 20 http://www.example.com/


命令行中的20代表间隔20秒下载一个文件,这样可以避免网站的访问过于频繁。你可以调小点,但当你是备份别人的站时,还是为别人的服务器考虑下吧。


利用SSH(Shell)来备份和恢复MySQL数据库的方法


例如:


数据库参数为::


MySQL地址:mysql.dh.net


MySQL名称:mysql_dbname


MySQL用户:mysql_dbuser


MySQL密码:mysql_dbpass


我要把数据库备份为bak.sql


步骤:


同样,使用windows系统自己带的telnet或者去下载一个putty来,登陆以后,一路cd到自己觉得合适的目录下(确认当前目录可写).


输入下面的命令:


CODE:mysqldump -h mysql.dh.net -p mysql_dbname -u mysql_dbuser >bak.sql


然后回车,提示你输入数据库登陆密码,输入完密码后回车,OK! 就把数据库备份到当前目录下了


—————————-


如何恢复bak.sql数据库:::


输入下面命令后回车


CODE:mysql -h mysql.dh.net -p mysql_dbname -u mysql_dbuser


提示你输入密码,输入密码后然后回车


会出现MySQL操作提示符号


然后输入下面的命令


CODE:source bak.sql


请先确认bak.sql这个文件再当前目录下


回车.OK,恢复ing…..


注意:数据库比较大的话,需要会需要点时间(425MB的DZ数据库,我用了2分钟)


实际上,任何支持SSH并且没有屏蔽MySQL/MySQLDUMP/SOURCE命令的空间,都可以用本方法.99%不存在乱码现象,即便数据库版本不一样!!


如果你还有其他的支持远程MySQL的空间的话(一般的cPanel空间的数据库都支持远程的),你可以登陆到DH的SSH以后,远程连接到你的数据库,然后再DH的服务器上给你的远程数据库恢复数据或者备份数据,,,速度哇哇滴……

发表评论

电子邮件地址不会被公开。 必填项已用*标注