1:Linux 下解压.tar.gz 和.gz文件
tar -zxvf java.tar.gz
解压到指定的文件夹 tar -zxvf java.tar.gz -C /usr/java
gzip -b java.gz
也可用zcat 命令,然后将标准输出 保存文件
zcat java.gz > java.java
2: linux 下 查看某进程然后杀掉
kill -9 $(ps -ef | grep XXX | grep -v grep |awk '{print $2}')
ps (processStatus):显示所有进程状态;
|:表示将前一个表达式的出参当作下一个表达式的入参
grep XXX :过滤XXX进程;
grep -v grep:过滤掉含有‘grep’字段的条目;
awk'{print $2}':按行,以空格分段的字符串,显示第二行;
$(expression):获取表达式返回值,用于给kill命令杀进程
3:什么是Linux shell?
Linux shell(壳层)为了区分(内核)kernel ,是指“为使用者提供操作界面”的软件(命令解析器)它接收用户命令,然后调用相应的应用程序。
作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;
作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
4: linux 如何设置环境变量
临时环境变量 : export PATH="0 .
当前用户的环境变量 : 在用户的home 目录下 的 .bashrc / .cshrc.user 文件添加命令。
所有用户的永久变量 : 修改profile文件,输入vi/etc/profile 或者 /etc/bashrc ,将环境变量添加。
后2种方法
在最末尾加入source /etc/bashrc或者. /etc/bashrc
5 : linux 后台执行命令的2种方式。
command & : 后台运行,你关掉终端会停止运行
nohup command & : 后台运行,你关掉终端也会继续运行
5.1 nohup 命令
nohup 是 no hungup 的缩写,意思是不挂断 。
我们在使用 Xshell 等工具,远程执行 Linux 脚本时,有时候会由于网络问题,导致客户端失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup 指令来运行指令,使程序可以忽略挂起信号继续运行。
语法格式: nohup command [arg...] [&]
只使用 nohup ,即 nohup command [arg...] ,
无法标准输入(即控制台无法输入),标准输出 和 错误信息保存到 nohup.out文件里面,关闭客户端后,命令仍然会运行。
执行 nohup sh test.sh 脚本命令后,终端不能接收任何输入,标准输出 和 标准错误 会输入到当前目录的nohup.out 文件。即使关闭xshell 退出后,当前session依然继续运行。
5.2、只使用 &
只使用 &,即 command [arg...] [&] ,
可以标准输入(控制台可以输入内容,可以交互),但无法将 标准输出 和 错误信息 输入到文件中。关闭客户端后,命令会就马上停止。
例如: 执行 sh test.sh & 脚本命令后 ,关闭 xshell,对应的任务也立刻停止。
5.3、nohup 和 & 一块使用(推荐使用)
nohup 和 & 一块使用 ,即 nohup command [arg...] &,
可以标准输入(即控制台能输入文本进行交互),也能将 标准输出 和 错误信息 输出信息保存到 nohup.out 中,关闭客户端后命令仍然会运行。
例:
执行 nohup sh test.sh & 命令后,既能标准输入,就是终端能够接收任何输入,也能将 标准输出 和 错误信息 的日志输入到 nohup.out 文件,即使关闭xshell,退出当前session依然继续运行。
例:
nohup ./startWeblogic.sh & ,即使退出ssh界面,命令仍然在后台执行,并且将日志打印到 nohup.out 文件中。
5.4、总结
nohup command [arg...] [&]
1
运行 nohup command [arg...] 命令,忽略所有挂断信号;
如果想在 后台运行命令 ,则需要在后面加上& ,即 nohup command [arg...] & 。
nohup 命令默认输入日志到当前目录的 nohup.out 文件中,也可以使用 >file.log 重定义日志文件。
如果当前目录的 nohup.out 文件不可写,则重定向到 $HOME/nohup.out 文件中。
二、nohup、 & 、 >(推荐使用)
上面提到的日志文件是 nohup.out ,如果将日志输入到其他文件中时,这时用到了 重定向 ,语法格式是 > 日志文件名。
nohup、 & 、 > 三者一块使用的 语法格式 :
nohup command >file 2>&1 &
1
上面命令可以拆分成三部分 nohup command & 、 >file 和 2>&1 。
nohup command & :上面已经说过,就是后台运行命令;
file :将日志(即 标准输出(1)) 输出到 file 文件中 。
参数说明:
1) > :重定向的符号,
2) file :日志文件名称。
3) >file : 将日志 重定向 写入到 file 文件中。
2>&1 是将 错误信息(2) 重定向到 标准输出(1) 。
而 标准输出(1) 是输入到 file 文件中,所以 错误信息(2)、 标准输出(1) 都 写入到 file 文件中。
相关的参数说明:
/dev/null 表示空设备文件。不输出任何的日志时,使用此参数。
0 表示 stdin (standard input) 标准输入,
1 表示 stdout (standard output) 标准输出,
2 表示 stderr (standard error) 标准错误信息;
2>error :将 错误信息(2) 重定向 到 error 文件中 ;
2>&1 : 将 错误信息(2) 重定向 到 标准输出(1) ;
2>&1 >file :错误信息(2) 重定向 到 标准输出(1) ,而 标准输出(1) 输入到 file 中,也就是 错误信息(2) 、标准输出(1) 都输入到file 中,等于 1>file 2>&1 。
例子:
nohup starMailWeb.sh >mail.log 2>&1 &
1
后台运行 starMailWeb.sh ,并且将 标准输出(1)、标准错误(2) 等日志 写入到 mail.log 文件中。
三、知识扩展
3.1、清空 nohup.out
如果命令一直运行下去,nohup.out会一直自己增长下去,如果你的服务器硬盘不给力的话,很容易把应用也挂掉(硬盘没空间 ,啥都玩不转),但是又不能一味的直接删。因为直接删除,可能会造成应用无法打印后续的错误日志,该问题常见于weblogic服务器,jboss服务器等这些大型中间件,这个在生产环境上要尤为注意。
因此就有了我们不停止服务直接,清空nohup.out文件的方法。
下面是两个种不用停止WEB服务就可以清空nohup.out的命令。
第一种:cp /dev/null nohup.out
第二种:cat /dev/null > nohup.out
1
2
3.2、解决 nohup.out 文件过大
nohup 的重定向,一劳永逸解决 nohup.out 文件过大的问题
以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录
//只输出错误信息到日志文件
nohup ./program >/dev/null 2>log &
//什么信息也不要
nohup ./program >/dev/null 2>&1 &
————————————————
6 linux 创建用户
在root 用户下, useradd hongyual
passwd 123456
删除用户 userdel hongyual
7: linux 运行脚本的方式
start.sh
运行: ./start.sh 或者 sh start.sh
start.sh 会报错 test.sh: Command not found.
原因: 直接运行start.sh 会从PATH 环境变量种查找,发现没有这个环境变量名称。会报错。
./ 是为了告诉系统程序就在当前目录下。
8: linux 脚本开机时自动运行
/etc/rc.local 编辑这个文件
所有你想启动的脚本或服务,把他们启动的命令放入/etc/rc.local这个文件中即可。
启动的时候注意下启动顺序,比如说nfs和rpcbind(Portmap)服务。