`
Josh_Persistence
  • 浏览: 1632728 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

Linux 企业实用命令 - 不断更新中

阅读更多

公司很多服务器都是Linux服务器,实际开发过程中,都是在Windows平台上进行开发,最终在部署到Linxu服务器上,在这过程中就会碰到许多常用的Linux命令。在这里这是写一个备份,避免忘记,以后会不停的更新相关有用的命令。

 

一、 判断本地Windows机器能否和远程的Linux服务器连通

       在本地的windows的linux command中输入: ping huhu-89e4.cloud.slc.vip.com

 

二、从本地windows机器登录远程的linux服务器:

      比如登录服务器huhu-89e4.cloud.slc.vip.com, 用户名是test,密码是admin

      则在本地的windows的linux command中输入:ssh test@huhu-89e4.cloud.slc.vip.com, 如果能够连接上远程服务器,则command会自动提示输入密码,输入密码既可以连接上。

 

三、从本地Windows机器断开与远程Linxu服务器的连接:

     在本地的windows的linux command中输入:  exit

 

四、拷贝log。将远程Linux服务器上的log拷贝到本地C盘目录c/Users/swang6 下。

       方法1:在本地拷贝:

                  假设当前本地Windows Command所在的路径是:c:/Users/swang6

在本地Windows Command中执行:scp nginx.conf test@huhu-9e4.cloud.slc.vip.com:/usr/local/nginx/conf

 然后按提示输入连接远程Linux机器的密码即可。     

其中 test是连接远程的user, huhu-89e4.cloud.slc.vip.com是远程机器的host,拷贝的文件是nginx.conf,

该文件在远程host下所在的目录是: /usr/local/nginx/conf。

 

需要注意的是,有时出现类似文件不存在的错误可能是当前访问的用户(test)没有对/usr/local/nginx/conf

的访问权限,所以一种比较common的做法是:

1)windows中确保所在目录是c:/Users/swang6 (拷贝的文件将会被默认放在当前目录下),一般改目录都是远程机器可以访问的目录。

2)可将远程的文件先拷贝到/tmp目录下或者/home/test目录下。

 

再如将远程的mmseg4j-core-1.9.1.jar拷贝到当前的window目录下

scp -P 2022 joshwang@diandi.im://usr/local/solr/apache-tomcat-7.0.54/webapps/solr/WEB-INF/lib/mmseg4j-core-1.9.1.jar .

 

           方法2:在远程拷贝:

                    用SSH登录到远程Linux服务器后,并进入远程服务器的log所在的目录,然后执行:

                     scp XX.log swang6@10.249.74.114:/c/Users/swang6

然后按提示输入连接本地windows机器的密码即可。

      其中swang6为登录本地windows系统的用户名,本地的ip为10.249.74.114

 

 

总结:在本地windows中的C盘的Users/{username}目录下, 我们都可以执行如下命令:

 

1、 将远程的linux系统中的文件拷贝到本地windows系统:

 

scp root@192.168.1.157:/root/solr5/server/solr/universal/conf/stopwords.txt .

表示将远程的stopwords.txt拷贝到本地的C:/Users/{username}下

 

2、将本地的stopwords.txt拷贝到远程的linux系统中

 

scp stopwords.txt root@192.168.1.157:/root/solr5/server/solr/universal/conf

 

3、将远程的mmseg4j-core-1.9.1.jar拷贝到当前的window目录下,如果scp的端口不是22,而是2022的情况下:

scp -P 2022 joshwang@diandi.im://usr/local/solr/apache-tomcat-7.0.54/webapps/solr/WEB-INF/lib/mmseg4j-core-1.9.1.jar .

 

 

五、查看某个端口被哪个service占用

netstat -an | grep 8080 :查看8080端口当前被哪个service占用及其专用的状态。

netstat命令用于查看整个Linux系统的网络情况

-a:显示所有连接中的socket

-n:直接使用IP地址,而不通过域名解析器。

 

六、查看tomcat占用的进程的ID:

ps- aux | grep tomcat或者ps -ef | grep tomcat.

au:现实角详细的咨询

aux:显示所有包含其他使用者的线程。

 

得到tomcat的进程id后,如果需要查看该tomcat占用的端口号,可以用命令:netstat -anp | grep pid

157 $  bin  netstat -anp | grep 16622
tcp        0      0 :::8909                     :::*                        LISTEN      16622/java
tcp        0      0 ::ffff:127.0.0.1:8015       :::*                        LISTEN      16622/java
tcp        0      0 :::8888                     :::*                        LISTEN      16622/java
unix  2      [ ]         STREAM     CONNECTED     679387 16622/java
unix  2      [ ]         STREAM     CONNECTED     678915 16622/java

 

可以看到tomcat的http端口是8888

 

七、Linux中执行sh文件的区别,即./a.sh 和a.sh的区别。

问题:在当前目录下有一个a.sh,如果需要执行a.sh,则需要使用命令./a.sh,直接执行a.sh就不行。

原因:

1 首先你应该理解这个过程:
你现在运行的是shell,那么你在和shell对话的过程,其实就是shell解释你的输入过程,那么,shell如何知道你的输入有意义呢,我们预先在shell的变量path里面增加了shell的搜索路径,你只要一输入解释,shell就会去先在路径下找有没有你输入的命令的应用

 2 正如上面所说:

如果你的当前的路径"."不含在变量PATH里面,首先,shell就根本找不到你输入的这个命令:a.sh
也就是你自己说发现的那样,根本无法执行。但是你如果把你的路径"."加到你的PATH变量里面,ok,显然你可以执行了,和你加不加./没关系
3 如果再严谨考虑一下
如果不加./,那么很有可能在路径变量path里面有一个和你一样的命令也叫a.sh
所以,最好的解法方法是:
在环境变量里面最前面加一个点号".",即将当前目录加入到环境变量里面。
export PATH=$PATH:.
即./a.sh表示的是执行当前目录下的a.sh,而a.sh表示执行的是%PATH%\下的xx.sh文件。
 
八、Linux下如何查看目标主机192.168.0.1开放哪些端口?
nmap -PS 192.168.0.1(目标主机IP)
 
九、Linux find: 在clssses目录下查找一个是否存在一个SyncContorller.clsss
find classes -name SyncConctorller.class
如果需要在根目录下查找,使用find / -name SyncConroller.clsss.
十、Linux中查找链接的源文件
ls -l 链接文件名
如果是硬链接:则使用ls -li链接文件名
 
十一、查看Linux操作系统的类型:  
uname -a
 
十二、 在ubantu上安装vim
使用命令:apt-get install vim
 
十三、使用 -xdev的find命令:
有时使用linux的find命令时,如find / -name http.conf,会出现类似下面的exception:
find /run/user/1000/gvfs' permission denied
解决方法是:
find  / -xdev -name http.conf
 
十四、查询文件中的内容:
grep -i 'the_text'  the-file-name
 
十五、vi/vim中查询内容
vi "file_name"
/the text 
需要注意的是the text区分大写。
十六、locate命令:
locate .metadata 或者是sudo locate .metadata可以找到.metadata所在的目录。
 十七、
1、# uname -a   (Linux查看版本当前操作系统内核信息)
2、# cat /proc/version (Linux查看当前操作系统版本信息)
 十八、linux设置其他用户可以访问本用户下的文件夹的权限

情景:

    oracle用户下安装了数据库软件,现有一用户term需要使用oracle下的某些文件。

    最简单的方法:将oracle用户的目录设置为其他用户可读即可:chmod  -R 775 /home/oracle/xxx.(-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更))

 

十九、重启命令:

1、reboot

2、shutdown -r now 立刻重启(root用户使用)

3、shutdown -r 10 过10分钟自动重启(root用户使用)

4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)

关机命令:

1、halt   立刻关机

2、poweroff  立刻关机

3、shutdown -h now 立刻关机(root用户使用)

4、shutdown -h 10 10分钟后自动关机

1
4
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics