Linux常用命令

来源:互联网 发布:知乎 张艺兴 编辑:程序博客网 时间:2024/05/21 18:33

1、软件安装卸载
(1)软件下载: Wget是一种软件下载工具
(2)软件安装:

Ap-get是ubuntu下面的软件安装方式,基于debain

Yum是redhat、centos下面的软件安装方式,基于linux,能够从指定的服务器自动下载RPM包并且安装
yum -y install 包名(支持*):自动选择y,全自动
yum install 包名(支持*):手动选择y or n
yum remove 包名(不支持*)
rpm -ivh 包名(支持*):安装rpm包

(3)软件卸载

rpm -e 包名(不支持*):卸载rpm包

2、系统管理命令

查看IP地址、物理地址:ifconfig(不是windows中的ipconfig)
查看cpu参数:lscpu
查看内存状态:cat /proc/meminfo 或者 free -m
查看shell启动进程所占资源:ulimit –a
查看最大进程数:ulimit –u(max user process)

查看进程(ps)
(1)显示所有当前进程:ps -ax(-a 代表 all。同时加上x参数会显示没有控制终端的进程)
(2)less命令分页展示当前进程?:ps –ax|less
(3)根据用户过滤进程:ps –u goago
(4)通过cpu和内存使用来过滤进程:ps –aux|less(显示列会比之前多,信息量更多,希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源,默认的结果集是未排好序)
(5)根据 CPU 使用来升序排序:ps –aux –sort –pcpu|less
(6)根据 内存使用 来升序排序:ps –aux –sort –pmem|less
(7)根据进程名称查看详细信息:ps –f -C java(使用-C参数,后面跟你要找的进程的名字)

查询Java或tomcat进程
Ps -ef (-e表示查看所有进程,-f表示全格式:UID,PID,CMD等)
Ps -ef | grep tomcat(在查询出来的进程基础上进行搜索匹配,有哪些Tomcat进程)

查询端口是否被占用
Netstat -apn (查看所有的进程和端口使用情况,最后一列是PID/Program Name)
在基础上,查看某个进程运行着什么程序:ps –ef | grep pid
直接查看端口被占用情况
Netstat -apn | grep 8080

监控系统资源使用状态
查看进程内存使用情况:Top –p pid

查询域名解析情况
nslookup xxx.com

3、文件操作
(1)新建文件:cd test / mkdir hello / cd hello / vim helloworld.sh
(2)重命名文件:mv A B 将文件A重命名为B
(3)移动文件:mv /root/pom.xml /usr/springbootexample/ 将pom.xml文件移动到
(4)编辑文件:在一般模式底下输入: i, I, a, A 为在本行当中输入新字符(出现 –Insert- )
井!bin/sh (指定文件类型,默认由bin目录下bash程序解释执行)
Str=”helloworld”(无分号/变量无类型,可重复使用)
Echo str (输出变量值)
(5)保存并退出:由编辑模式跳回一般模式(esc)/
(6)如何存盘、离开、不保存强行退出、存盘后离开、强制存盘后离开?(:w / :q /:q! / :wq / :wq!
(7)赋予执行权限(可选):chmod +x helloworld.sh
(8)执行:sh helloworld.sh / ./helloworld.sh
(9)删除文件:rm –i filename(-i 删除前逐一询问确认)
(10)删除目录:rm –rf directoryname/filename

直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
注:在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了

(11)列举目录内文件

ls –a列出该目录下所有文件和目录,包括隐含文件
ls –c 列出文件的修改时间,并排序
ls –l 列出所有文件详细信息(包括最新修改时间等)
ll是 ls –l的别名

(12)文件权限说明
这里写图片描述

4、查找文件(find)与搜索文件内容(grep)

Find + pathname(.表示当前目录,/表示根目录,/mnt表示自定义目录)+ -name + filename(可以包含通配符:’.xml’或”.xml”) + -print + -ok(或-execute)
示例:当前目录为tomcat2(默认当前目录,.可以省略,mac上不能省略?
查找当前目录下名称为server.xml文件:find . –name server.xml
查找当前目录下所有以.xml结尾的文件:find . –name ‘*.xml’

Grep搜索文件内容
Grep ‘关键词’ filename (会搜索出全部匹配内容并打印)
Grep –r ‘关键词’ directory (递归的对目录下的所有文件(包括子目录)进行 grep)
Grep -o ‘关键词’ filename(-o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出)

Find和Grep区别?
Find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等
grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(pattern)进行匹配查找

在搜索(Grep)基础上进行统计
在筛选基础上进行统计行数量:grep -o “消费集群” | wc -l
Wc用来计算行数和其他信息
Wc -m filename :显示一个文件的字符数
Wc -l filename :显示一个文件的行数
Wc -L filename :显示一个文件中的 最长行的长度
Wc -w filename :显示一个文件的字数

5、查看文件内容

(1)head tail sed
查看文件前5行:head -5 /etc/passwd
查看文件末尾:tail -10 /etc/passwd
动态监测文件末尾:tail -f /var/log/messages ,参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!

批量替换文件中字符串
Sed –i ‘s/o/q/g’ test.log
命令解读:-i∶直接修改读取的档案内容

(2)cat more less
more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能

(3)分页搜索查看大文件Log
Less -p “key” filename
在此基础上:
n:重复前一个搜索
N:反向重复前一个搜索
g:跳到文件开头,再使用f或B来翻页
N:跳到文件末尾,再使用f或B来翻页

6、上传下载文件

下载文件(sz)
Sz filename1
Sz filename1 filename2
Sz dir/*

如何下载文件夹(先打包成压缩包,再进行下载)
tar zcvf tarName.tar.gz filedirname

上传文件(rz)
输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录

7、切割文件

切割文件(支持按行或大小分割)
split -b 100m 1111.log (按照字节分隔)
split -l 1000000 1111.log(按照行数分隔)

8、JVM相关命令

查看JVM进程ID:jps
查看JVM堆内存状态:jmap -heap pid
查看JVM状态:jstat
查看线程转储(排查线程死锁用到):jstack

原创粉丝点击