Linux常用命令使用

来源:互联网 发布:touchwin编程软件下载 编辑:程序博客网 时间:2024/06/08 07:22

1.wget

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。

命令格式:wget [options] [URL]

2.scp(服务器之间的互相拷贝)

scp 命令是 SSH 中最方便有用的命令了。试想在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。

你可以在一台服务器上以 root 身份运行scp servername:/home/ftp/pub/file1 ./ 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下了。

当然你也可以用 scp /tmp/file2 servername:/boot 把本机上的文件 /tmp/file2 送到另一台机器的 /boot 目录下。而且整个传送过程仍然是用 SSH 加密的。   

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。 与rcp 不同的是,scp 在需要进行验证时会要求你输入密码或口令。

其通用格式,可以简记为,scp -r 源文件 目标位置:表示将源文件拷贝到目标位置。其中-r选项,是在拷贝目录时使用。

(1)scp -r live/ zhaolincheung@db-feiyan.db01.baidu.com:/home/bugfixpcui/app/search/video/

将本地 live目录传送到另一台zhaolincheung@db-feiyan.db01.baidu.com机器的/home/bugfixpcui/app/search/video/目录下。

(2)scp -r ala-common/ zhaolincheung@db-feiyan.db01.baidu.com:/home/bugfixpcui/app/search/video/

将本地ala-common目录传送到另一台zhaolincheung@db-feiyan.db01.baidu.com机器上的/home/bugfixpcui/app/search/video/目录下。

(3)scp zhaolincheung@192.168.11.22:/home/abc/file1.php ./

表示将远程机器192.168.11.22上/home/abc/file1.php文件拷贝到当前目录。其中执行后需要输入用户zhaolinchueng的密码才可以。

3.ps aux

常用ps命令参数 进程查看命令,需掌握一些最常用的命令参数就可以了。最常用的三个参数是u、a、x。
a 显示终端上的所有进程,包括其他用户的进程。x 显示没有控制终端的进程。u user 用户名。

4.cp:拷贝目录

cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中

5.mv:更改目录或文件名

mv /home/abc /home/abcd

6.find:查找某目录下包含某关键词的文件

find . -name '*.*' | grep "*.*"

7.rm:删除目录

rm -rf 目录名

8.tail:查看文件最后的几行

tail 文件名:表示查看文件的后10行。

其中有一个很好用的参数" -f ",使用此参数时,tail 不会回传结束信号,除非我们去自行去中断它;相反的,它会一直等待一段时间,一直到他发现资料自它最后一次被读取后,又被加入新的一行时,即它将会以一定的时间实时追踪该档的所有更新。eg: tail  -f  file

tail的另一个参数是-n N,使用此参数是查看最后N行。如:tail -n 100 file :表示查看文件file的后100行。

9.rz和sz:linux和windows之间互传文件

rz -be:上传windows的东西到linux中。运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器。

sz:将linux中的文件下载到windows中。文件会下载到secure crt中的默认下载目录。如下所举例:

sz -be ui.tar.gz:表示将ui.tar.gz下载到自己的本机中。

注:

配置上传下载目录:选择某个"session 标签"->"会话选项"->"终端"->"X/Y/Zmodem",之后就会看到上传和下载目录,可以在这里设置。

10.mysql:连接MySql数据库

(1)命令格式如下:mysql -hhost -uusername -ppassword -Pport

其中mysql需要在usr/local/bin目录下有可执行文件。否则,需要使用mysql安装目录的绝对路径下的mysql命令。

绝对路径的使用方法为:/mysql安装目录/mysql -hhost -uusername -ppassword -Pport 

如:/usr/local/webserver/mysql/bin/mysql -hhost -uusername -ppassword -Pport

(2)给出一个使用示例:/usr/local/webserver/mysql/bin/mysql -h192.168.112.123 -usean -prewq1234 -P3306 --default-character-set=utf8

表示连接主机为192.168.112.123、用户名为sean、密码为rewq1234、端口号为3306的mysql数据库,默认字符集utf-8。

(3)连接上mysql后,可以使用下面简单的命令查看所包含的数据库、数据库下所包含的表、表的结构.

显示所有数据库的命令:show databases;
使用某个数据库:use 数据库;  
显示某个数据库中的表的结构:show create table 表名;

11.crontab:定时执行linux下的计划任务

可以使用命令:crontab -e

之后会打开当前用户的计划任务文件,用户可以在这里输入要执行的命令即可。

给一个参考链接:http://blog.csdn.net/21aspnet/article/details/6798179

例如:

(1)首先执行crontab -e

(2)然后输入:0 5 * * * cd /home/seanzhao; sh dingding_insert_db.sh    

表示每天5点0分执行/home/seanzhao目录下的dingding_insert_db.sh脚本。

crontab使用时,遇到过一个问题:当如下写时,第一行的命令可以执行,第二行的命令却不执行,即test1.php文件执行了,但test2.php文件没有执行。
0 5 * * * /usr/local/php/bin/php /data/analys/php/test1.php
30 5 * * * /usr/local/php/bin/php /data/analys/hive/test2.php
后来,将第二行更改为如下,即需要先使用cd进入所要执行的文件的目录才行,这样test1.php和test2.php就都执行了。
0 5 * * * /usr/local/php/bin/php /data/analys/php/test1.php
30 5 * * * cd /data/analys/hive; /usr/local/php/bin/php test2.php

12.vim下的代码缩进设置

代码一般采用每级缩进4格。可以通过在vim命令行状态下输入:set tabstop=4set expandtab这两个命令实现。

其中linux下tab的默认缩进是一个制表符(8个空格),通过set tabstop=4我们设置为制表符为4个空格。

通过set expandtab命令,表示在缩进和遇到 Tab 键时使用空格替代,同时使用set noexpandtab表示 取消该设置。比如按一次tab缩进一个制表符(相当于4个空格的长度),如果设置了set expandtab,则当按tab键的时候,是缩进4个空格,而不是一个制表符,则用户在按回退键时也是在回退空格。也就是说:如果不设置expandtab,缩进时缩进的是制表符;设置了expandtab,缩进时是缩进的空格,而不是制表符。

set shiftwidth=N:是当用户shift+"V"选择一段文本后,按住shift+“<”、shift+“>”时,缩进N个空格。

给一个参考链接:http://www.it300.com/article-15251.html

13.tar:解压和压缩

打包(压缩)当前目录为abc.tar.gz:tar -zcvf abc.tar.gz *

解压某个目录到当前位置:tar -zxvf abc.tar.gz

区别:打包是zcvf(其中c表示create),解压是zxvf(其中x是extract)。

14.php:执行php文件

eg:/usr/local/php/bin/php /home/zhaolincheung/test.php  :执行/home/zhaolincheung/目录下的test.php文件。

15.“>>”和“>”

>>:表示追加文本;eg:tail -f file1 >> result.txt   表示将file1的内容实时追加到result.txt中。

>:表示重写文本;eg: tail -f file1 > result.txt  会首先清空result.txt中的内容,然后才将内容写到result.txt中。

16.curl

curl url:会返回url解析后的内容;

eg: curl  www.baidu.com  :会将www.baidu.com的页面源代码输出到标准屏幕。

curl还可以进行hosts映射,即完成/etc/hosts文件的功能。

如我们有下面一个需求:通过http访问http://bj.ganji.com/jobfairs/jobfairs_im_port.php?action=getIms,获取其返回的数据。但是我们所在的环境和bj.ganji.com不在一个网段,所以这就需要进行一个域名和ip进行映射,如下:

10.3.255.201  http://bj.ganji.com

但如果我们不想更改/etc/hosts文件,此时我们可以通过linux下的curl命令来进行绑定获取,可以如下方式进行hosts映射:

curl -H "Host: bj.ganji.com"  http://10.3.255.201/jobfairs/jobfairs_im_port.php?action=getIms

这样当用户访问http://bj.ganji.com/jobfairs/jobfairs_im_port.php?action=getIms,其实就是访问了http://10.3.255.201/jobfairs/jobfairs_im_port.php?action=getIms,而且会输出返回的数据。

参考链接:http://blog.csdn.net/gggxin/article/details/4394978

php也有curl扩展模块来实现同样的功能,参考链接:http://www.gosoa.com.cn/php-curl-curlopt_httpheader%E8%AE%BE%E7%BD%AEhost