zoukankan      html  css  js  c++  java
  • 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里粘贴了两次,想撤销上一次粘贴内容。

  • 相关阅读:
    Python3 模块基础
    Python3 函数小练习
    Python3 函数进阶3
    Python3 函数进阶2
    Python3 函数进阶1
    Python3 函数实践之简易购物系统
    线程之间的通信
    volatile 关键字
    对象锁的同步与异步
    synchronized 关键字
  • 原文地址:https://www.cnblogs.com/silentdoer/p/8643203.html
Copyright © 2011-2022 走看看