Linux常用命令查问
http://linux.51yip.com/
*$
为可选命令
通用
系统管理员sudo
$ sudo command
文件治理
展现文件ll&du
# 显示文件详情信息(非文件夹),~/.bash_profile增加LL命令:alias ll='ls -alhF'$ ll file# 显示各文件(文件夹)大小(磁盘空间)$ du -sh *
创立文件touch
$ touch fileName.txt
解压缩tar
# 解压以gzip压缩的文件到指定目录下$ tar -zxvf pkg.tar.gz -C /path# 以gzip压缩指定目录下的指定文件$ tar -zcvf pkg.tar.gz /path/file.txt
其余文件格式的解压缩:https://blog.csdn.net/kingsch...
分页展现|more
# 空白键(space)往下一页显示,按 b 键就会往回(back)一页显示$ command |more # 每页显示n行$ command |more -n# 从第n行开始展现$ command |more +n
罕用文件查看操作
$ tail -n 100 filename #查看前100行$ tail -f #tai$ head -n 100 filename #查看后100行$ sed -n ‘5,10p’ filename #查看文件的第5行到第10行$ wc -l filename #查看文件里有多少行$ cat filename | grep "xxxx" -C 50 #显示高低50行
搜寻grep
$ grep "str" filename #习惯搜寻的字符串加上双引号# grep "$a" file #援用变量a,查找变量a的值# grep '$a' file #查找“$a”字符串$ grep -r "str" * #在当前目录及其子目录下搜寻,-r和*配合应用$ grep -i "str" filename #不辨别大小写$ grep -n "str" filename #显示行数$ grep -c "str" filename #统计呈现的次数$ grep -v "str" filename #显示不匹配的行$ grep -e "reg" filename #正则匹配
查找文件find
$ find / -name "*jdk*" #根目录下查找文件名中有jdk的文件$ find . -name "*.in" #从当前目录开始查找所有扩大名为 .in 的文本文件
查找环境变量中的文件which
$ which -a jdk
包治理
yum(Redhat/Centos/Fedora)
# 基于rpm包治理,从指定的服务器主动下载rpm包并且装置,主动解决依赖性关系,一次装置所有依赖的软件包# 装置rpm包的命令是“rpm -参数” # 装置$ yum install pkgName# 更新源$ yum update pkgName$ yum upgrade pkgName# 显示所有曾经装置和能够装置的程序包$ yum list $ yum list pkgName# 显示安装包信息$ yum info pkgName$ yum remove pkgName$ yum search pkgName
换源:https://blog.csdn.net/sinat_3...
apt-get(Debian/Ubuntu)
# 基于deb包治理,主动从互联网的软件仓库中搜寻、装置、降级、卸载软件或操作系统# 装置deb包的命令是“dpkg -参数”# 移除的同时革除配置$ apt-get purge pkgName# 下载软件包的源码$ apt-get source pkgName# 列出已装置的所有软件包$ dpkg -l$ apt-cache search pkgName$ apt-cache show pkgName
换源:https://www.cnblogs.com/bigco...
brew(MacOS)
下载homebrew:https://www.cnblogs.com/bigco...
tar(SourceCodePkg)
tar、rpm、deb:
https://blog.csdn.net/liu8650...
https://blog.csdn.net/bandaoy...
$ tar -zxvf pkg.tar.gz -C /path$ cd /path/pkg # 指定软件装置目录*$ ./configure -prefix=/path# 编译$ make# 装置$ make install# 删除装置时产生的临时文件 $ make clean# 卸载*$ make uninstall
Shell
文件门路
Shell通配符(匹配文件名)
罕用于find、ls、cp 、mv
Shell正则(匹配字符串)
罕用于vi,grep,awk,sed
后盾执行命令&
# 前面的命令在该行命令执行实现并返回前就能失去执行,不加为阻塞式执行$ command &
连贯多个命令&&
$ make && make install #前一个命令执行胜利(返回true),执行后一个命令
执行文件命令source&.&./xx.sh&sh
https://www.maixj.net/ict/lin...
$ sh -c 'command string' #sudo sh -c 'command string'能够让command string所有命令都有sudo权限
输入到文件>
追加到文件>>
查看命令参数详情man
$ man top
查看磁盘空间df
$ df -h
查看以后零碎信息uname
$ uname -a
查看当前目录绝对路径pwd
$ pwd
传递命令参数|xargs
为什么有xargs: http://www.ruanyifeng.com/blo...
应用:http://linux.51yip.com/search...
$ ls |grep .php |xargs -i mv {} {}.bak #将当前目录下php文件,改名字
罕用
抓包tcpflow
$ sudo yum install tcpflow# 跟踪以后机器上的流量,keyInfo能够是某个接口名$ sudo tcpflow -cp | grep keyInfo# 监听eth0端口上的流量*$ sudo tcpflow -cp -i eth0
参考:http://blog.chinaunix.net/uid...
获取网络数据curl
# url为下载文件时进行内容展现,-v展现残缺http通信过程$ curl -v "url" | more
参考:https://www.cnblogs.com/guixi...
域名解析dig
$ dig www.isc.org
参考:https://www.jb51.net/article/...
远端登入telnet
$ telnet 127.0.0.1 12201
参考:https://www.runoob.com/linux/...
远端登录&文件传输ssh/scp
$ ssh tianhong@10.130.147.226$ scp username@ip:/path/filename /localPath # 下载服务器文件到本地$ scp /localPath/file username@ip:/path/ # 上传文件到服务器
查看本机if地址ifconfig
$ ifconfig | grep "inet " | grep -v 127.0.0.1
批改host文件
$ sudo vi /etc/hosts
查看端口占用lsof/netstat
$ lsof -i:port$ netstat -an | grep port
过程详情
ps aux
$ ps aux | grep keyInfo
R(运行)//过程正在运行或在运行队列中期待。
S(中断)//过程处于休眠中,当某个条件造成后或者接管到信号时,则脱离该状态。
D(不可中断)//无奈中断的休眠状态,过程不响应零碎异步信号,即使用kill命令也不能将其中断。(通常IO过程)
Z(僵死)//过程曾经终止,但过程描述符仍然存在, 直到父过程调用wait4()零碎函数后将过程开释。
T(进行)//过程收到进行信号后进行运行,进行或被追踪。
< //优先级高的过程
N //优先级较低的过程
L //有些页被锁进内存
s //过程的领导者(在它之下有子过程)
l //多线程,克隆线程(应用 CLONE_THREAD, 相似 NPTL pthreads)
+ //位于后盾的过程组;
top
$ top
跟踪过程的零碎调用strace
$ strace -o output.txt -T -tt -e trace=all -p 28979 # 跟踪28979过程的所有零碎调用(-e trace=all),并统计零碎调用的破费工夫,以及开始工夫(并以可视化的时分秒格局显示),最初将记录后果存在output.txt文件外面$ strace -f -e execve myserver # 只关注execve,-f选项通知strace同时跟踪fork和vfork进去的过程,myserver是要启动和调试的程序
过程内线程详情
top -Hp pid
$ top -Hp pid #-H是thread model,-p指定过程pid,具体机器环境可用man top查看参数
各线程运行工夫
$ ps -eLo pid,lwp,pcpu | grep pid
线程堆栈快照pstack
$ pstack pid
pstack原理:https://nanxiao.me/linux-pstack/
pstack+gdb调试死锁:https://www.cnblogs.com/gqtcg...
JDK工具
javap剖析class文件
javap -verbose TestClass
JDK工具: https://zhuanlan.zhihu.com/p/...
性能剖析工具:VisualVM(举荐)、jprofiler
VisualVM:https://blog.csdn.net/qq_3524... (jdk的bin目录下自带)
IDEA也有VisualVM的插件