[原]那些年整理的Linux常用命令,简单明了
查询相关
find
按规则查找某个文件或文件夹,包括子目录
find . -name '*.sh'
-- 以.sh结尾的文件find . -name '*channel*'
-- 包含channel字符的文件find . -name 'build*'
-- 以build开头的文件find . -name 'abc??'
-- abc后面有两个字符的文件
grep
查找内容包含指定的范本样式的文件,Global Regular Expression Print
grep -n pattern files
-- 规则 -n表示显示行号grep -n 'PostsActivity' AndroidManifest.xml
grep -n '\d' AndroidManifest.xml
grep 'aapt' build-channel.xml
-- 文件中包含字符串的所有地方grep -n 'aapt' build-channel.xml
-- 文件中包含字符串的所有地方,并显示行号ps -e | grep java
-- 所有java进程ps -e | grep -i qq
--所有qq进程,不区分大小写find . -name '*channel.xml' | xargs grep -n 'aapt'
-- 在以channel.xml结尾的文件中查找包含‘aapt’关键字的地方ls | grep 'channel'
-- 包含channel关键字的文件
which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
which zip
which grep
查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
tail -f test.log
,循环查看文件内容,Ctrl+c来终止tail -n 5 test.log
,显示文件最后5行内容tail -n +5 test.log
,从第5行开始显示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
more +3 test.log
,显示文件中从第3行起的内容more -5 test.log
,设定每屏显示行数ls -l | more -5
,每页显示5个文件信息more +/day3 test.log
,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
less
less [options] [file...]
与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
less test.log
,查看文件ps -ef | less
,查看进程信息并通过less分页显示history | less
,查看命令历史使用记录并通过less分页显示less test1.log test2.log
,浏览多个文件,n和p切换文件
watch
watch [options] command
每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变
watch -n 60 date
,执行date命令每分钟一次,输入^C 退出watch -d ls -l
,查看目录变化watch -d ’ls -l | fgrep joe’
,想找joe用户的文件watch -d 'ls -l|grep scf'
,监测当前目录中 scf' 的文件的变化watch -n 10 'cat /proc/loadavg'
,10秒一次输出系统的平均负载watch -n 1 -d netstat -ant
,每隔一秒高亮显示网络链接数的变化watch -n 1 -d 'pstree | grep http'
,每隔一秒高亮显示http链接数的变化
文件相关
vi
vi file
- 按i键,进入编辑模式
按esc键,进入命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
chmod
change mode,变更文件或目录的读、写、运行权限
chmod [-cfvR] [--help] [--version] mode file...
mode:权限设定字串
,格式如下 : [ugoa...][[+-=][rwxX]...][,...]u
表示该档案的拥有者,g
表示与该档案的拥有者属于同一个群体(group)者,o
表示其他以外的人,a
表示这三者皆是+
表示增加权限、-
表示取消权限、=
表示唯一设定权限。r
表示可读取,w
表示可写入,x
表示可执行,X
表示只有当该档案是个子目录或者该档案已经被设定过为可执行。chmod也可以用数字来表示权限
,语法为:chmod abc file,如chmod 777 file其中a,b,c各为一个数字
,分别表示User、Group、及Other的权限。 r=4,w=2,x=1chmod 777 file
,等同于 chmod a=rwx filechmod ug=rwx,o=x file
,等同于 chmod 771 filechmod 4755 filename
,可使此程序具有root的权限ls -l
可以查看列出当前用户的文件权限
zip
zip -r filename.zip filesdir
zip -r test.zip ./*
,把当前所有文件压缩到test.zipzip -r test.zip test
,把test文件所有文件及目录,要是到test.zipzip -d test.zip test.txt
,删除压缩文件中test.txt文件zip -m test.zip ./test.txt
,向压缩文件中test.zip中添加test.txt文件zip -r test.zip file1 file2 file3 filesdir
,处理多个文件和目录,空格隔开
unzip
unzip zip-file
,解压到当前目录unzip -d dst-dir zip-file
,解压到指定的目录,-d后为指定目录unzip -n zip-file
,不覆盖已经存在的文件,-n为不要覆盖原有的文件unzip -n -d dst-dir zip-file
,解压到指定的目录,不覆盖已经原有的文件unzip -o -d dst-dir zip-file
,-o不必先询问用户覆盖原有文件unzip -l zip-file
,仅查看压缩文件内所包含的文件
tar
tar cvf test.tar test
,把test下所有文件和目录做备份
tar czvf test.tar.gz test
,把test下所有文件和目录做备份
并进行压缩
tar xzvf test.tar.gz
,把这个备份文件还原
并解压缩
tar tvf test.tar | more
,查看
备份文件的内容,并以分屏方式显示在显示器上tar czvf test.tar.gz test --exclude=test/svn
,备份压缩
并排除
目录
touch
内存相关
ps
显示瞬间行程(process)的动态,ps [options] [--help]
linux上进程有5种状态:
- 运行(正在运行或在运行队列中等待)
- 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
- 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
- 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
top
动态观察程序的变化,top [-d] | top [-bnp]
top -d 2
,每两秒钟更新一次top -b -n 2 > /tmp/top.txt
,将top的信息进行2次,然后将结果输出到/tmp/top.txttop -d 2 -pid 10604
,仅观察PID=10604的程序- top命令介绍
free
free [options]
free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一
free -m
,以MB为单位显示内存使用情况free -g
,以GB为单位显示内存使用情况free -s 10
,周期性的查询内存使用信息
kill
kill [-s signal_name] pid...
发送指定的信号到相应进程,The kill utility sends a signal to the processes specified by the pid operand(s)
kill -l
,列出所有信号名称kill -l SIGKILL
,得到指定信号的数值,SIGKILL=9kill -9 pid
,强行中止进程,强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。kill -HUP PID
,停止和重启进程,该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。kill -l PID
,以优雅的方式结束进程,-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。ps -ef | grep vim
,查找进程
网络相关
ping
ping [参数] [主机名或IP地址]
确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。
ping -b 192.168.1.1
,ping网关ping -c 10 192.168.1.2
,ping指定次数ping -c 10 -i 0.5 192.168.1.2
,时间间隔和次数限制的pingping -c 5 www.baidu.com
,通过域名ping公网上的站点
netstat
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat -a
,列出所有端口netstat -nu
,显示当前UDP连接状况netstat -apu
,显示UDP端口号的使用情况netstat -i
,显示网卡列表netstat -g
,显示组播组的关系netstat -s
,显示网络统计信息netstat -l
,显示监听的套接口netstat -n
,显示所有已建立的有效连接netstat -e
,显示关于以太网的统计数据netstat -r
,显示关于路由表的信息netstat -at
,列出所有 tcp 端口netstat -ap | grep ssh
,找出程序运行的端口netstat -pt
,在 netstat 输出中显示 PID 和进程名称netstat -anpt | grep ':16064'
,找出运行在指定端口的进程
telnet
telnet[参数][主机]
执行telnet指令开启终端机阶段作业,并登入远端主机。
telnet 192.168.120.206
service xinetd restart
,启动telnet服务
ifconfig
ifconfig [网络设备] [参数]
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
ifconfig -a
显示全部接口信息ifconfig -s
显示摘要信息(类似于 netstat -i)
工具命令
svn
svn co path --username name --password password
svn co -path -dirname
svn add file
svn update -r m path
svn update -r 200 test.php
,更新到某个版本
cvs
cvs history -ca | grep username | grep 01-01
cvs history -ca | grep username | grep kp | grep 2012-10-'[1 2][0-9]'
ant
Ant -arguments [target1,target2,target3,target4......]
Ant构建文件能够将项目编译,打包,测试。若没有指定任何参数, Ant会在当前目录下检索build.xml文件,如果找到了就运行该文件,如果没有找到了会,会提示没有找到相关的build.xml文件。
ant -h
,表示提供ant命令参数任务ant -projecthelp | -p
,显示当前build.xml的主要任务,例如显示clean、releaseant -version
,显示当前ant版本ant -diagnostics
,诊断当前ant的所有的配置ant -debug | -d
,检索当前构建文件配置情况ant -quiet | -q
,显示当前构建文件无依赖任务ant -emacs | -e
,调用编辑当前构建文件编辑器ant -lib [path]
,调用当前项目中jar,class文件ant -logfile |-l
,调用运行当前项目中*.log文件ant -buildfile |- f | -file
,调用运行类似build.xml的文件ant -propertyfile [name]
,调用运行指定的属性文件ant -find | -s file
,检索运行指定的构建文件ant -autoproxy
,使用系统自动代理构建文件ant-main class
,设置系统类库文件中主要类ant -nice number
,设置主类线程允许的线程数
maven
mvn archetype:create
,创建 Maven 项目mvn compile
,编译源代码mvn test-compile
,编译测试代码mvn test
,运行应用程序中的单元测试mvn site
,生成项目相关信息的网站mvn clean
,清除目标目录中的生成结果mvn package
,依据项目生成 jar 文件mvn install
,在本地 Repository 中安装 jarmvn eclipse:eclipse
,生成 Eclipse 项目文件mvn -Dmaven.test.skip=true
,忽略测试文档编译
adb
adb kill-server
adb start-server
adb devices
adb uninstall file
adb uninstall -k file
,-k 参数,为卸载软件但是保留配置和缓存文件adb push <本地路径> <远程路径>
,可以把本机电脑上的文件或者文件夹复制到设备(手机)adb pull <远程路径> <本地路径>
,可以把设备(手机)上的文件或者文件夹复制到本机电脑adb reboot
,重启adb
[原]那些年整理的Linux常用命令,简单明了的更多相关文章
- linux常用命令简单介绍(netstat,awk,top,tail,head,less,more,cat,nl)
1.netstat netstat -tnl | grep 443 (查看443端口是否被占用) root用户,用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程P ...
- Linux常用命令简单总结
Liunx常用命令 1. 文件及目录管理 1.1. ls:显示目录 参数及说明 空:补显示隐含文件 -a:显示所有文件 -l:显示详细列表 1.2. chgrp:设置文件组(root权限) 用法示例 ...
- 我自己整理的 Linux 常用命令
1.查看文件安装路径: 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址). 这里以 xsp 为例.比如说我安装了xsp,但是不知道文件都安装在哪些地方.放在哪些文件夹里,可以用下 ...
- 整理了Linux常用命令变量
查看信息命令 ls 查看当前目录下面的所有文件 -a 显示所有文件(包括隐藏文件) -l 显示所有文件(包括文件的详细信息) 格式: ls 参数 目录路径(绝对/相对) cd 切换目录 格式: cd ...
- 爆肝整理:Linux常用命令,建议收藏!
目录管理命令:mkdir.rmdir mkdir命令 rmdir命令 文件管理命令:cp.mv.rm cp命令 mv命令 rm命令 文件查看命令:cat.tac.head.tail.more.less ...
- linux 常用命令--------雪松整理
linux 常用命令--------雪松整理 博客: http://hi.baidu.com/quanzhou722/blog错误在所难免,还望指正!========================= ...
- Linux常用命令整理 - imsoft.cnblogs
su 用户名 在不退出登陆的情况下,切换到另外一个人的身份如果用户名缺省,则切换到root状态会提示输入密码,密码不回显的. 在用su命令切换root用户时,使用“-”选项,这样可以将root的环境变 ...
- NO9 Linux快捷键整理及最常用命令
Linux快捷键整理及最常用命令 常用快捷键: Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c ...
- Linux常用命令和快捷键整理:(2)常用快捷键
前言: Linux常用快捷键和基本命令整理,先上思维导图: linux常用命令请见:https://www.cnblogs.com/yinzuopu/p/15516499.html 基本快捷键的使用 ...
随机推荐
- Scalaz(57)- scalaz-stream: fs2-多线程编程,fs2 concurrency
fs2的多线程编程模式不但提供了无阻碍I/O(java nio)能力,更为并行运算提供了良好的编程工具.在进入并行运算讨论前我们先示范一下fs2 pipe2对象里的一些Stream合并功能.我们先设计 ...
- java Byte[] to String(hex)
1. 字节数组转换成16进制字符展示 2.代码 package com.goodfan; public class ByteArrayToString { private static char[] ...
- java实现链表
单链表 package com.voole.linkedlist; public class Test { public static void main(String[] args) { Linke ...
- svg.js教程及使用手册详解(一)
做毕设的时候,因为要使用到画图和自定义动画,所以接触到了SVG.网上关于SVG和Canvas的对比很多,具体的辨析这里就不赘言.网上关于SVG的所谓教程基本上都是SVG本身,但是却没有一个针对svg. ...
- 基于mybatis-generator-core 1.3.5项目的修订版以及源码剖析
项目简单说明 mybatis-generator,是根据数据库表.字段反向生成实体类等代码文件.我在国庆时候,没事剖析了mybatis-generator-core源码,写了相当详细的中文注释,可以去 ...
- gulp压缩css文件跟js文件
越到最后啊 就越发现,真的很理解那句话 就是自己多学一点一点知识,就少一句问别人的东西 这是多么痛苦的领悟 今天需要压缩css跟js文件 然后不懂啊 就问别人啊 就问啊问啊 然后再上网了解啊了解啊 用 ...
- Css动画总结
transform: transition: animation:
- 深入理解Javascript中构造函数和原型对象的区别
在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...
- 钉钉js依赖库学习
看别人用的依赖库的好处在于,你知道有什么可以用,什么可以借鉴.(钉钉——协作桌面应用) PS:人最怕是不知道,而不是你不会. 1. jQuery 钉钉使用了1.9.1版本的jQuery,jQuery作 ...
- MYSQL进阶,新手变司机
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...