Linux Bash命令总结
Bash命令
一:man命令,是manual 手册的意思,如man ps表示查看ps命令的手册,man man查看man命令的手册;也可以通过man xx查看是否有xx命令。
二:cat命令,用来一次性显示所有的文本信息,一般和管道符一起用,如rpm -qa|cat -n,-n表示同时显示行号
三:more命令,用来分页显示文本信息,适用于那些很多内容的,如rpm -qa|more -3,-3表示一页为3行,如果没有则一页占
一屏;其中按下空格键翻页,按enter键进一行;网上说的向上翻页个人试了没用,也没看到可以显示行号;按q或Ctrl+C退出。
可以通过rpm -qa|cat -n|more来间接实现more显示行号。
四:history命令,用来显示以往用过的命令,在bash里还可以通过!3来再次执行第三个历史命令;通过history -c清除历史命令。
五:reboot命令,重启电脑
六:ping命令,似乎跟windows一样
七:ifconfig命令,类似windows的ipconfig,如果不知道哪个网卡是活动的,可以看RX和TX值,越高说明是用的多的,即当前网卡。
八:wget命令,通过web请求下载网络资源,不过这个是要先知道资源的url,而如果已经知道url其实可以复制到浏览器上执行下载任务,
不过它很灵活,可以递归下载,指定下载目录(-P选项),过滤某些下载和设置下载速率等等。wget可以下载时指定断点续传和指定下载路径及更名:wget -c URL -O ~/音乐/mm.mp3;指定下载目录为音乐,更名为mm.mp3;
九:mv命令,即move,用于剪切文件同时还可以更名,注意对于路径的匹配是可以用通配符的,如mv jdk* ~/Downloads/jdk8x64.rpm;则将当前
目录下符合jdk*的二进制文件移动到~/Downloads目录下并更名为jdk8x64.rpm;(这个适合匹配单个文件,如果是多个文件则第二个target参数只能是目录)
十:cp命令,即copy,复制文件同时还可以更名,如cp test.txt /usr/local/target/aa.txt
十一:rm命令,remove,删除文件(注意linux里所有的都是文件,如果该文件是个目录文件可以通过 -r指定为 递归删除),如rm test.txt
十二:egrep命令,grep的升级版(等同于grep -E,是扩展正则,E可以在其它选项前或后如-Ei或-iE都可以),可以用正则表达式;妥妥的神器,之前一直想找本机有没有安装jdk然后用rpm -qa|more找的要死,
后来用rpm -qa|egrep -i "^.*(?:java|jdk|jre).*$"一下子就找出来了,注意这里用了管道符,如果是从文件里找则后面再跟文件路径。
十三:cd命令,change directory,跟windows一样,..上级.当前目录,对于.开头的文件表示是隐藏文件~表示是当前用户的家目录(user.home)
十四:find命令,这个和grep不一样的是这个是用来找文件的,而且可以使用通配符,如*代表任意字符串;一般用于查看某目录是否有某些文件;如
find /etc -name "host*";表示查找/etc目录下名字是匹配host*的文件并显示,路径如果不写则是当前工作目录,而且注意这个查找默认是递归查找,即会找出目录
也会继续从子目录里找。
十五:ls命令,似乎可以理解为list,显示目录下的所有文件(包括目录),不包括隐藏文件,如果要同时显示隐藏文件要ls -a
十六:touch命令,用来创建空白文件的,如touch test.txt表示在当前目录下创建空白test.txt,文件名也可以用绝对路径或其它相对路径在其他目录里创建文件。
最简单的就是touch test.txt,在当前工作目录创建test.txt文件。
十七:mkdir命令,make directory;如mkdir a表示在当前工作目录创建名为a的目录,目录名还可以是绝对路径;如果要递归创建多级目录必须用mkdir -p a/b/c这种格式。
十八:shutdown和poweroff,两个似乎都可以用来关机,前面的如果要立刻关机要shutdown now,后面的直接poweroff即可。
十九:file,用来查看文件的属性信息,如file /usr/bin/firefox;会看到显示此文件信息为可执行文件
二十:su,是switch user的意思,如su - silentdoer表示要切换用户到silentdoer,注意中间的-表示完全切换(如环境变量也换成silentdoer的)
二十一:sudo,可以理解为super do,即超级管理员来做后面的操作,如sudo remove test.txt
二十二:rpm -qa,表示搜索全部已安装的rpm包,对于yum则是yum list installed,但是只能显示是通过yum安装的。
二十三:yum search xx,搜索yum仓库中带有xx的包信息(:前面的字符串),然后可以通过yum info 全名 查看这个包的具体信息;最后可以通过
yum -y install 全名 安装这个包(加-y表示安装过程中的提示都选yes)(也可以直接下载rpm包然后用rpm命令或图形界面双击安装)。
二十四:tar命令,重要;一般压缩文件或目录用:tar -czvf xx.tar.gz 源文件,这里c表示压缩和x相对,z表示用gzip压缩或解压,v显示压缩或解压进度,f表示要提供目标文件名且要在参数最后;
解压一般用:tar -xzvf xx.tar.gz -C 解压目录;这里-C不指定则解压到工作目录,这里-C可以换成-O实现解压到其它目录的同时更名(需要>符号,如tar -xzvf xx.tar.gz -O > /tmp/newFolderName(似乎只适用于文件而不能是文件夹,如果是文件则>可以省略)。
二十五:netstat命令,可以用来查看系统里的端口占用情况,最常用的如:netstat -anlp | grep 8080可以显示8080端口被哪个进程监听(tcp),a为all,n为numberic,l为listening,p为program(pid)
Bash的编辑快捷键:
一:在bash里复制粘贴可以右键bash看到这两个选项;等同于通过Ctrl+Shift+C复制,Ctrl+Shift+V粘贴
(Ctrl+Y也可以粘贴,这两个不一样,一个数据来自linux的复制缓存,一个是bash的复制缓存,还有个Shift+Insert,但是这三个粘贴命令的数据来源似乎都不同)。
home键光标回到命令行首,end键光标去命令行尾。
Ctrl+左右键可以让光标跳一定字符数而快速左右移动。
Ctrl+C可以跳出本次命令编辑,也可以中断正在执行的命令。
Ctrl+L清屏。
Ctrl + U: 简介光标位置到行首的内容(包括自身),以后可用Ctrl+Y粘贴
Ctrl + K: 剪切光标位置到行尾的内容(包括自身),以后可以用Ctrl + Y粘贴
Ctrl + W: 剪切从光标位置到当前单词的起始位置,以后可以用Ctrl + Y粘贴
Alt + D: 剪切从光标位置到当前单词末尾位置,以后可以用Ctrl + Y粘贴
输入exit可以关闭当前管道的Terminal。
!!:执行上一条命令,所以快速sudo的方法是sudo !!(特别适用那些执行操作后发现没有权限,然后再次sudo !!)
还有一些可以参考:https://www.cnblogs.com/wangtao1993/p/6060888.html
其它
1.在桌面右键打开的Terminal的工作目录是~,而到具体目录右键打开的Terminal工作目录则是当前目录。
2.Ctrl+Alt+F2进入全屏的bash界面;Ctrl+Alt+F1退出全屏bash界面。
3.按下Win+H隐藏当前窗口(win键在linux里叫Super键)
4.按下Win+Tab可以动态选择要活动的窗口/程序。
5.可以在设置面板通过对Keyboard的Hide all normal windows设置为Win+D实现windows一样的功能,即隐藏当前所有窗口和显示win+D而隐藏的窗口。
6.在Keyboard里设置Super+L;Super+R;Super+E
参数英语对照
1:-r有递归的意思,recursive,可以用来删除目录及子目录;
2:-f有强制的意思,force,比如强制删除不提示;
3:-i有安装的意思,install
4:-a有全部的意思,all
5:-q有查询的意思,query;还有access
6:-l有location的意思,如rpm -ql 包名可以查询出安装的rpm包在哪。
7:-v重要选项,用来显示执行执行的情况,否则都不知道自己的指令是否执行完或进度如何;(应该是verbose的意思,即冗余的,也就是说要尽可能多的输出)
8:-h用来格式化结果(包括一些值的转换如byte转成显示多少G什么的)
希望有但没看到的功能
1.只通过键盘选中bash中的内容
2.撤销上次更改,比如bash里粘贴了两次,想撤销上一次粘贴内容。
Linux Bash命令总结的更多相关文章
- 转: windows 10使用原生linux bash命令行
转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- win10开启 linux Bash命令(win10内置了linux系统支持)
win10开启 Ubuntu linux Bash命令(win10内置了linux系统支持) 第一步: 先在设置→更新和安全→针对开发人员中选择"开发人员模式",点击后会下载&qu ...
- Win10系统开启Linux Bash命令行
Win10系统开启Linux Bash命令行 导读 在Build2016上微软为了拉拢开发者发了个大招,那就是Win10一周年更新集成原生Linux Bash命令行功能,这将允许开发者或用户在Wind ...
- 【转】Linux(BASH)命令搜索机制
原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...
- 在Windows中运行Linux bash命令的几种方法
如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本. 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 ...
- Linux Bash命令杂记(tr col join paste expand)
Linux Bash命令杂记(tr col join paste expand) tr命令 tr命令可以将输入的数据中的某些字符做替换或者是作删除 tr [-ds] STR d: 删除输入数据的中的S ...
- Linux Bash命令杂记(cut sort uniq wc tee)
Linux Bash命令杂记(cut sort uniq wc tee) 数据流重定向 标准输入(stdin):代码为0,使用<或<<: 标准输出(stdout):代码为1,使用&g ...
- Python调用Linux bash命令
import subprocess as sup # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了 # 3.5版本之后官方推荐使用sup.run ...
随机推荐
- 17 hashlib模块
1.HASH的基本概念 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值. 这种转 ...
- 泛型集合与DataSet相互转换
一.泛型转DataSet /// <summary> /// 泛型集合转换DataSet /// </summary> /// <typeparam name=" ...
- tensorflow笔记之softmax_cross_enropy
tf.nn.sparse_softmax_cross_entropy_with_logits() 当正确结果只有一个时,可以加速计算,比如MNIST数字识别,每张图片中仅包含一个数字,所以可以使用这个 ...
- iOS Hardware Guide
来自U3D文档 Hardware models The following list summarizes iOS hardware available in devices of various g ...
- 【转】Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱
来自:Luajit-2.1.0-beta1的发布和生成arm64用bytecode的解脱 前情提要:由于苹果要求2015年2月1日上架的新app必须支持64位的arm64,旧的app也得在6月1日支持 ...
- Oracle创建表语句(Create table)语法详解及示例
创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字 ...
- Python 3 学习笔记(1)
Python 3.6 运算符 + - * / 四则运算 % 求余 **乘方 // 用于整除 字符串 字符串用单引号或双引号括起来. 三引号(单引号或双引号均可)表示多行字符串,行末加反斜杠表示换行不算 ...
- python 形参
def fun(x="dx",y="dy"): print "fun------" print x print y fun()fun(&qu ...
- oracle查询锁表
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = ...
- visual code golang配置
前言 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org), 导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang ...