1、进程:
ps -ef |grep java
getconf LONG_BIT:查看系统是32还是64位
cat /etc/redhat-release:查看系统版本
uname -r :查看系统的内核版本
2、查看磁盘占用
df -h 显示硬盘空间
du -h * 查看目录下所有文件大小
du -ah 查看目录下所有文件及子文件大小
查看各文件夹大小:du -h --max-depth=1
查看磁盘是否是SSD:
使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。
1 2 3 4 5 6 | $ lsblk -d -o name,rota NAME ROTA sda 0 sdb 0 sdc 0 sdd 0 |
这种方法的优势在于它只列出了你要看的内容,结果比较简洁明了。还是那个规则,ROTA是1的表示可以旋转(机械,HDD),反之则不能旋转(SSD)。
3、进程
查看某一进程的线程占用资源情况:
top -H -p pid
或者ps -T -P pid
查看那个进程占用了xxx端口
lsof -i:xxx(需要安装)或者 netstat –apn | grep 8080
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
查看进程号为xxx的进程在哪里
ps -ef|grep xxx
查看某个进程占用的端口号
netstat -nap | grep pid
查看某个进程占用的端口号18191
netstat -tunlp|grep 18191
ps -ef|grep 23049
查看看进程当前运行的线程数命令为:
pstree -p pid | wc -l
查看某进程的启动时间:
ps -p PID -o lstart
查看某个进程的运行时间:
ps -p pid -o etime
4、nginx、memcached
重启nginx:
./nginx -s stop
./nginx
重启memcached:
kill -9 进程号
./memcached start
5、文件、文件夹
linux 下删除文件夹
方法一:rmdir folderName // 说明:这指适合在folder为空的时候
方法二:rm -rf folderName //推荐使用,说明: -r 向下递归,不管多少级目录,一并删除;-f 直接强行删除,不作任何提示。
拷贝:
cp - r /usr/xu/ /usr/liu/ 将/usr/xu目录中的所有文件及其子目录拷贝到目录/usr/liu中。
创建文件
mkdir aaa
mkdir –p /xxx/aaa(递归创建)
创建文件夹命令
Vi foo.txt
emacs foo.txt
echo “aaa”>foo.txt
cat >foo.txt
清除命令
>foo.txt
6、查找
查找文件或目录路径
find 起始路径 -name 文件名
whereis
which
查找文件中的内容(输出显示出现内容行以及下面num行)
grep 内容 -C num 文件名
cat catalina.bat |grep "set JAVA_OPTS" -C 5|grep "LOGGING_MANAGER" -C 2
grep -C 5 foo file 显示file文件中匹配foo字串那行以及上下5行
grep -B 5 foo file 显示foo及前5行
grep -A 5 foo file 显示foo及后5行
统计行数
cat logs* | grep 返回编码 |wc -l
linux不解压超大日志gz包直接查找特定内容
gzip -dc myfile.gz | grep 'Exception' | more
从后几行查找某字符串
Tail -100 log |grep ‘xxx'
7、压缩解压
解压war
java -xvf xxx.war
压缩
tar -czvf uploadService.tar.gz uploadService/
#压缩
tar -czvf ***.tar.gz
tar -cjvf ***.tar.bz2
#解压缩
tar -xzvf ***.tar.gz
tar -xjvf ***.tar.bz2
zip -r xxx.zip ./*
解压zip文件到当前目录
unzip filename.zip
8、上传、下载
rz 上传 sz下载
9、查看服务在每个级别的运行状态
chkconfig --list
10、输出
一般在shell包括dos下都可能会这样使用。
null是一个名叫null小桶的东西,将输出重定向到它的好处是不会因为输出的内容过多而导致文件大小不断的增加。其实,你就认为null就是什么都没有,也就是,将命令的输出扔弃掉了。
1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出,这样,程序或者命令的正常输出和错误输出就可以在标准输出输出。
一般来讲标准输出和标准错误输出都是屏幕,那为什么还要这么用呢?原因是标准输出的重定向。你的例子是重定向到了null,如果重定向到文件,例如:
dir > out.txt
表示标准输出重定向到out.txt文件。此时如果dir命令出错,那么错误信息不会输出到out.txt文件,错误信息仍然会输出到屏幕——标准错误输出。为了使正确的信息和错误的信息都重定向到out.txt文件,那么需要将错误信息的标准错误输出重定向到标准输出。即命令如下:
dir > out.txt 2>&1
重定向到null是一个道理。
dir > null 2>&1
final:nohup java -jar bms-product-syn.jar >/dev/null 2>&1 &
注:
> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>
这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。
11、修改ip
linux中永久修改ip和子网掩码,可以用命令也可以直接到文件里修改。这里推荐直接到文件中修改。
1、进入网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ethN (ifcfg-ethN是你要修改的网卡,可以用ifconfig查看你要修改的网卡)
2、进入文件进行编辑,更改其中的ip 和子网掩码。
3、重启网路服务,并用ifconfig 查看网卡信息。
service network restart
ifconfig
公网 Linux 查看其公网 IP 地址
公网 Linux 查看其公网 IP 地址,可以使用下面的命令:
curl ifconfig.me
在linux系统中输入上述的命令,可以查看到本机连接的公网信息;
如果该命令无效,可以使用下面一个命令,也同样可以获得对应的信息
curl cip.cc
12、挂载
使用df命令,如df -h,第一列就是你的磁盘的分区或者裸设备,最后一列就是这些设备的挂载点。具体的那个目录在哪个挂在点就是看它的是否有单独挂载,如果没有那么就看上层目录是否有挂载,如果一直都没有,那就是在根下。
13、Socket
每个端口上可以运行许多个进程,每个进程都可以调用同一个端口,但是当有一个进程在占用该端口时,其他进程会等待,等前一个进程释放该端口后才可以由下一个进程调用。
EXAMPLE:拿 80端口举个例子。
80算口是主机开放的http协议的网络端口,浏览网页服务默认的端口号都是80,在同一时刻只有一个请求在占用80端口,其他的请求都在等待。只有像Apache tomcat 这样的应用,他们是一直在监听着一个端口,就是一直在占用着端口,如果Apache 和tomcat都设置的是8080 端口的话,开启服务时会报错,说有一个程序已经占用了该端口,服务无法启动。
只要不是需要一直占用同一个端口号的进程都可以共享一个端口。
14、修改最大文件数:
ulimit 命令的格式为:ulimit [options] [limit]
具体的 options 含义以及简单示例可以参考以下表格。