Web开发中常用的linux命令 详解

https://www.zhihu.com/question/64063454

http://billie66.github.io/TLCL/book/

 这是以自己做的项目为例,也算是一个总结吧

1、当项目部署到服务器的时候,需要启停tomcat。那么就到/tomcat/bin目录下,直接用./startup.sh就可以启动tomcat了。

2、当要查看tomcat后台运行日志的时候,就进入到/tomcat/logs目录下,然后调用tail -f catalina.out就可以看到后台日志了

3、web项目发布后,可能需要重新启停tomcat。那么用到的命令如下:首先,查看tomcat的进程号,用到的命令是ps -ef|grep tomcat 看以查看到进程号,然后用kill -9 进程号,杀掉进程。杀掉后,就相当于停掉tomcat的服务了。然后重新进入/tomcat/bin下面重新启动

4、查看tomcat后台日志的时候,如果不想看了,看以用ctrl+c退出

5、在项目调试过程中,有可能会修改配置文件类。那么看以用vi 文件名进入修改模式。然后在键盘上按下"Insert"键,就可以对文件进行编辑了。编辑完成后,按下"Esc"键,退出编辑模式后,输入:wq命令后,就是退出保存了。如果进入编辑模式后,不想保存退出,那么就用:q!命令。

6、如果要在linux中进行拷贝的话,用的命令格式如下:scp  -r /home/dxlt/push.war root@222.58.127.243:/app/nginx/html/push.war

7、在Linux下进行删除操作,我这里总结了两条  应该够用了

删除文件夹  rm -rf /var/log/httpd/access

删除文件    rm -f /var/log/httpd/access.log


  1. 向web项目日志文件中清空并写入===:echo '===' > /apache-tomcat-6.0.41/logs/catalina.out
  2. 实时观察系统日志:tail -f /apache-tomcat-6.0.41/logs/catalina.out
  3. 停止服务器:进入命令所在bin目录下 ===>执行 sh ./shutdowm.sh
  4. 查看tomcat是否已经关闭:ps -ef|grep java
  5. 直接杀死tomcat:kill -9  7001 (其中7001为pid进程号)
  6. 启动tomcat:sh ./startup.sh
  7. 强制退出命令:ctrl+c 


在之前的Web开发中,经常需要连接服务器,去获取系统的日志信息,查看错误信息,因此需要知道一些常用的Linux操作命令。

初学Linux,记录一些自己平时用到的命令(慢慢补...)。

1、cd 命令

    这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:

[java]  view plain  copy
  1. cd /            #切换到根目录  
  2. cd ./path       #切换到当前目录的path目录中,"."代表当前目录。(cd path效果一样)  
  3. cd ../path      #切换到上层目录的path目录中,".."代表上级目录。  

2、ps 命令

    显示瞬间行程 (process) 的动态。

    常用参数:

[java]  view plain  copy
  1. -A -显示所有进程(等价于-e)(utility)  
  2. -a -显示一个终端的所有进程,除了会话引线  
  3. -N -忽略选择。  
  4. -d -显示所有进程,但省略所有的会话引线(utility)  
  5. -x -显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)  
  6. -p -pid 进程使用cpu的时间  
  7. -u -uid or username 选择有效的用户id或者是用户名  
  8. -g -gid or groupname 显示组的所有进程。  
  9. U  -username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)  
  10. -f -全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.  
  11. -l -长格式(有F,wchan,C 等字段)  
  12. -j -作业格式  
  13. -o -用户自定义格式。  
  14. v  -以虚拟存储器格式显示  
  15. s  -以信号格式显示  
  16. -m -显示所有的线程  
  17. -H -显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)  
  18. e  -命令之后显示环境(如:ps -d e; ps -a e)(utility)  
  19. h  -不显示第一行  

    常用命令:

[java]  view plain  copy
  1. 1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。  
  2. 2)ps -A 显示所有进程。  
  3. 3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。  
  4. 4)ps -e 此参数的效果和指定"A"参数相同。  
  5. 5)ps e 列出程序时,显示每个程序所使用的环境变量。  
  6. 6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。  
  7. 7)ps -H 显示树状结构,表示程序间的相互关系。  
  8. 8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。  
  9. 9)ps s 采用程序信号的格式显示程序状况。  
  10. 10)ps S 列出程序时,包括已中断的子程序资料。  
  11. 11)ps -t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。  
  12. 12)ps u  以用户为主的格式来显示程序状况。  
  13. 13)ps x  显示所有程序,不以终端机来区分。  

    最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作:

    ps -ef | grep java命令    查找java的相关进程。


3、find 命令

1)根据文件名无错误查找

find / -name httpd.conf         查找“/”目录下,名称为“httpd.conf”的文件

2)根据文件名模糊查找

find / -name '*abbit*';            查找“/”目录下,名称中包含“abbit”的文件


4、pwd 查看当前目录

5、ll,ls查看当前目录下所含文件

6、vim 编辑器

e.g.       vim  webconfig.properties          进入编辑模式

i:改变当前模式为插入模式,可以对文件进行修改

":" :输入命令模式

q:退出。w:写入,修改文件。wq:写入退出。!:强制执行

7、rm删除文件/文件夹命令

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

e.g. 

删除文件夹实例:

rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

删除文件使用实例:

rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件

8、mv 移动/重命名 命令

linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹

例子:将目录A重命名为B

mv A B

例子:将/a目录移动到/b下,并重命名为c

mv /a /b/c


9、cp 复制文件或命令

参数:
     -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同
     -b 或 --backup      删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
     -f 或 --force       强行复制文件或目录, 不论目的文件或目录是否已经存在
     -i 或 --interactive 覆盖文件之前先询问用户
     -l 或 --link        对源文件建立硬链接,而非复制文件
     -p 或 --preserve    保留源文件或目录的属性,包括所有者、所属组、权限与时间
     -P 或 --parents     保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
     -r                  递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
     -R 或 --recursive   递归处理,将指定目录下的文件及子目录一并处理
     -s 或 --symbolic-link  对源文件建立符号链接,而非复制文件
     -S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
     -u 或 --update      使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
     -v 或 --verbose     显示执行过程
     -V <备份方式> 或 --version-control=<备份方式>  指定当备份文件时,备份文件名的命名方式,有以下3种:
                         1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
                         2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
                         3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
     -x 或 --one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
     --help              显示在线帮助
     --sparse=<使用时机>  设置保存希疏文件的时机
     --version           显示版本


示例:
    .复制文件,只有源文件较目的文件的修改时间新时,才复制文件
     cp -u -v file1 file2
    .将文件file1复制成文件file2
     cp file1 file2
    .采用交互方式将文件file1复制成文件file2
     cp -i file1 file2
    .将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
     cp -f file1 file2
    .将目录dir1复制成目录dir2
     cp -R file1 file2
    .同时将文件file1、file2、file3与目录dir1复制到dir2
   cp -R file1 file2 file3 dir1 dir2
    .复制时保留文件属性
     cp -p a.txt tmp/
    .复制时保留文件的目录结构
     cp -P  /var/tmp/a.txt  ./temp/
    .复制时产生备份文件
     cp -b a.txt tmp/
    .复制时产生备份文件,尾标 ~1~格式
     cp -b -V t   a.txt /tmp    
    .指定备份文件尾标    
     cp -b -S _bak a.txt /tmp


1、ifconfig - IP查看管理命令
把IP查看管理命令放在第一个介绍,
是因为知道所安装的linux系统的IP,才有可能可以通过远程ssh登录到系统从而进行学习和管理。
常用它来查看系统的IP,可输入:“ifconfig” 或者"ifconfig -a",然后回车。
注意不是windows下的ipconfig,而是ifconfig!
 
备注:如果是CentOs,默认是没有把/sbin路径加到环境变量$PATH中来(查看当前用户的此环境变量的值可用命令:echo $PATH),
可以输入命令的绝对路径来执行它,也就是:“/sbin/ifconfig”。
以下其它命令以此类推。
 
2、man命令和--help参数查看命令帮助文档
在往下介绍之前,先介绍一个非常有用的命令和参数,它们是用来查看命令的帮助文档的。
如想看看ls命令都有哪些详细的参数,如何使用,
可输入:”ls --help“ 或者 ”man ls“ 然后回车,
系统就会打印出跟ls相关的所有使用说明了。
几乎所有命令都可以使用--help参数,或者通过man命令来查看它们的使用方法。
 
说明:在man命令查看某个命令的帮助文档的时候,退出帮助文档则输入字母:”q“即可。
 
3、cd目录切换命令
跟windows的dos命令中的cd一样,是用来切换当前所在的目录。
用法如:
登录linux之后,默认会在当前用户的用户目录下,如用户名为user,则其目录的绝对路径为:“/home/user/”;
如果希望切换到/etc目录,则输入命令:“cd /etc”然后回车即可。
 
4、ls和ll(ls -l)浏览目录和文件命令
对比windows下的此命令dir,就不难理解它的用法了。
需要说明的是Ubuntu下是没有ll(是两个小写的L)命令的,但可以用ls -l命令来代替。 
 
5、find资源查找命令
find相当于windows中的Ctrl + F快捷键打开的文件查找功能。
如想在整个磁盘下查找某个文件test.html,
输入:"find / -name test.html"
查找的文件名中可使用通配符,如:”find / -name *.html“
 
6、sudo和su使用root帐号权限命令
通常平常使用一般都不使用root帐号,
因为它是linux系统的最高权限用户,稍有不慎,则可能造成严重的后果。
偶尔一些操作需要临时用到root帐号的权限怎么办呢?
可在命令前面加上sudo,如用root帐号用vi打开某个apache的配置文件:sudo vi /etc/httpd/conf/httpd.conf
头一回使用sudo会提示输入当前用户的密码,此后在一段时间内使用sudo则不需要再输入密码了。
 
除了使用sudo还可以使用用户切换命令:su来切换到root帐号,
输入命令:”su“ 或者 ”su root“,回车后按提示输入root帐号的密码,即可换成root帐号。
 
7、passwd密码修改命令
在Ubuntu中,初装了系统之后,通常是没有设置root帐号的密码的,
第一次使用root帐号,需要给root设置一个密码才行。
使用命令:”sudo passwd root“,然后回车,
系统会提示两次输入root帐号的新密码,重复两次即可。
以后就可以用新设置的密码来登录root帐号了。
 
8、apt-get和yum软件安装、卸载命令
刚接触linux或者初装的linux系统,难免需要新装一些自己需要的软件。
linux很大的一个魅力就是通常大部分你想要用到的开源软件,
无论是Ubuntu还是CentOs,他们都把这些开源软件收集在了一起, 
而且提供了一个软件管理工具来帮助使用者很方便地下载、安装和配置软件。
Ubuntu提供的工具就是apt-get,而CentOs(Red Hat也是)提供的就是yum了。
这里只介绍如何使用它们来安装一个软件,
如安装apache2,则输入命令:”sudo apt-get install apache2“ 或 ”sudo yum install apache2“
 
9、service服务启动停止管理和ps进程查看命令
linux系统也有跟windows中一样的”服务“的概念:
某个软件在系统启动完成之后自动运行于后台的,那么这个软件就可以称为”服务“。
linux中管理服务的命令是:”service“,通常的服务都会支持三个参数(启动、停止和重启):”start“,”stop“和”restart“。
如重启apache2服务,则输入:”sudo service apache2 restart“
 
通常用:“ps -ef”来查看当前所有的进程;
如果需要过滤一下进程名,可加上grep命令:“ps -ef | grep http”
 
10、chkconfig服务管理命令(非系统自带,需另行安装)
 这里的服务管理跟上面的服务启动、停止和重启管理不一样,
上面的service命令可以看成是一个软件的启动、停止和重新启动管理,
而chkconfig则是对服务本身的管理,如设置某个服务开机自动运行,或者设置某个服务不开机运行,甚至从服务中删除。
此工具可通过:”sudo apt-get install chkconfig“或”yum install chkconfig“来安装。
如在CentOs中将apache2设置开机自动启动:”chkconfig --level 2345 httpd on“
注意:apache2的服务名有可能不是apache2,而是httpd。
可用命令:chkconfig --list来查看所有的服务
 
11、vim文本编辑工具
 vi(vim)可以看成类似windows中自带的记事本软件,它是一个纯文本编辑器,但它的功能远远强大过记事本。
由于vim过于强大,这里只介绍它的基本用法:
用它打开一个文件test.html,输入:”vi test.html“,
后面跟的参数可以是一个或者多个文件的绝对路径或相对路径(详细介绍可看这篇:)。
在vim中,输入字母:“i”进入编辑模式,i表示insert;
在编辑模式中按Esc键退出编辑模式;
字母“H”,“J”,“K”,“L”分别表示光标“左”,“上”,“下”,“右”移动;
输入冒号字符:“:”,即按键:“shift + 分号;”,进入命令模式;
在命令模式输入:“w”然后回车,即保存文件;
在命令模式输入:“x”然后回车,即保存文件并退出vim;
在命令模式输入:“q”然后回车,或者按Shift + Z + Q 即不保存文件并退出vim;
其它常用操作,可查阅vim的相关资料。
 
 
12、chmod文件和目录权限管理命令
linux中的文件的权限包括读、写、执行三种,分别对应:“r” 、“w”、“x”;
如给某个脚本文件test.sh添加执行权限,可输入:“chmod +x test.sh”
其中加号“+”代表添加此权限,减号“-”代表去掉此权限。
如果想将目录test以及其中的所有文件,设置为任何人都能读写和执行,
则输入命令:“chmod -R 777 test”
其中读r的数值为:4,写w的数值为:2,执行x的数值为:1。
 
13、cp, mv, rm文件和目录复制、移动(重命名)和删除命令
 复制文件或目录命令:cp,如复制test.html为test2.html,输入:“cp test.html test2.html”;
移动文件或目录命令:mv,如移动test.html到上一级目录,输入:“mv test.html ../”;
删除文件或目录命令:rm,如删除文件test.html,输入:“rm test.html”;
如果上述三个操作是针对目录,则需要加-R参数。
 
14、scp远程复制命令
常常会用到将一个文件从一台linux服务器复制到另一台服务器,
使用scp远程复制命令则非常的方便快捷。
如讲本机的一个文件test.html复制到另一台IP为192.168.1.102的机器目录/usr/test目录下,
则可输入:“scp test.html root@192.168.1.102:/usr/test/”,然后回车,
按提示输入102这台机器的root帐号的密码确认即可。
 
15、wget远程资源访问、下载命令
如果从web上下载一个文件到本机,
可输入: “wget http://www.qq.com/qq.exe”,然后回车确认,
它会将qq.exe文件下载到当前目录,名命名为qq.exe。
 
16、ssh远程登录命令
 如果从一台linux服务器通过ssh远程登录到另一台机器,
这种情况通常会在多台服务器的时候用到。
因为常常会为服务器架设一个防火墙,在外网不能直接访问某一台服务器,
要能访问,则需要先连接到防火墙外面的一台机器,然后再通过它连接上防火墙内的服务器。
如用root帐号连接一个IP为192.168.1.102的机器,输入:“ssh 192.168.1.102 -l root”,
回车后输入root帐号的密码再回车确认即可。
如果该服务器的ssh端口不是默认的22端口,是自定义的一个如1234,则可在命令后面加参数-p,
如:“ssh 192.168.1.102 -l root -p 1234”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值