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

7.dpkg-reconfigure locales 命令可以设置系统字符集;

8.localectl set-locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN设置locale参数;

9.sudo locale-gen zh_CN.UTF-8 生成相关的locale

10.更新启动项grub:sudo update-grub【会自动检测所有磁盘里有哪些系统,然后将这些系统作为启动项写入到grub里】

参数英语对照

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里粘贴了两次,想撤销上一次粘贴内容。

原文地址:https://www.cnblogs.com/silentdoer/p/8643203.html