Linux基础命令
背景
最近在补Linux相关基础,看的书是《Linux命令行与Shell脚本大全》,内容只记录了自己不熟的地方,算是对以前知识的回顾。
内容
命令行操作
在命令行上操作,时常会因为输入错误而需要重新输入,此时如果删除重新来则会很不方便,可以通过以下方式:
1 | 直接重新开启一行输入行 |
在命令的使用过程中,最常用的莫过于man
和--help
了,然而有时其输出内容之多,一屏幕显示不下,则此时可以:
1 | 向上滚动 |
有时命令行的输入内容很长,在输入的过程中发现一开始输错了,此时可以:
1 | # 快速移动到行首 |
有时候,需要退出时常用的是Exit
,除此之外,也有快捷键
1 | Ctrl + D |
基本bash
常见的Bash命令,首推ls
:
1 | 最常用 |
然而这并不是它牛逼之处,它一个牛的地方就在于它这个路径/文件
支持元字符过滤(这个适用于Linux中所有的指令):
1 | *:表示0个或多个字符 |
然后就是复制命令:cp
,cp命令中有个遗忘的地方就是目录的复制。
1 | 递归复制整个目录的内容 |
在Windows中,有快捷方式和文件的概念,在Linux中也是类似的:软连接、硬连接
,软连接相当于快捷方式,硬连接相当于复制文件。
1 | 创建软连接 |
如果想查看文件的类型,则:
1 | 通过tree查看 |
同样也可以通过文件的inode编号
查看:
1 | Linux下给不同文件定的编号,一样则表示是同一个文件 |
如果对于一个文件,我们不确定其到底是什么类型的文件,则可以:
1 | file会打印出系统所知道的关于该文件的类型、运行平台等信息 |
对于查看文件内容的命令,有:cat、more、less、tail、head
,但是此处要讲的是cat命令中比较常用的两个参数
1 | -n:打印输出内容的所有行数 |
更多命令
对于Linux而言,如果想查看进程管理器后台,可以通过ps
查看,其中常用的参数
1 | -e:显示运行在系统上的进程 |
然而ps
只是打印了某一时刻的进程信息,如果需要实时查看则有top
和htop
两种方式,其中htop
显示更加友好,但可能需要单独安装
1 | top |
如果有某项进程服务需要结束,则可以通过kill
的方式
1 | 杀死进程,-9表示将进程无条件退出,这里的数字都代表着系统发送给进程的信号 |
kill
只支持通过进程ID的方式杀死进程,当我们需要通过进程名杀死进程时,则可以使用killall
命令
1 | 支持通配符方式,一杀一大片 |
在linux中,任何磁盘都是通过挂载的方式纳入文件管理系统的,如果需要手动挂载某个磁盘到文件系统的指定路径下,则可以使用mount命令:
1 | -t:表示挂载磁盘的类型:vfat(windows长文件系统)、ntfs(win中常用的高级文件系统)、iso9660(CD-Rom文件系统) |
如果需要卸载已挂载的磁盘,则可以使用umount
1 | umount [磁盘路径/设备名] |
如果该设备正在使用,则不允许卸载,此时可以通过lsof
命令查看哪个进程在占用,然后将其kill
掉即可
1 | lsof [磁盘路径] |
当需要查看当前系统下挂载的所有磁盘的使用情况的时候,则可以使用df
:
1 | -h: 友好显示内容 |
那么如果需要查看指定路径下的文件夹占用大小呢?可以使用du
1 | -h: 友好显示内容 |
当我们需要对文件内容进行进行排序输出的时候,这个时候可以使用sort
命令,sort默认将每行的数据当作字符来进行升序排序
1 | sort [option] [文件名] |
其中,option常用的有-b、-n、-M、-k、-t、-r
:
1 | -b:忽略每行开始的空字符 |
当需要在文件中检索指定的数据的时候,就会用到grep、egrep
,egrep
就相当于grep -e
,grep中常用的参数有: -e、-v、-o、-i
1 | -e: 表示利用正则匹配,不过正则之中没有\w、\d之类的元字符,只有.、[]的方式 |
Linux下压缩文件的指令挺多的,如:zip、unzip、gzip、gunzip、tar
,其中最重要的是tar
。
1 | gzip默认默认文件压缩后,会将原文件删除 |
对于zip
和unzip
,则:
1 | -r:将指定路径下的文件和文件夹一并压缩 |
对于tar
,则:
1 | -cvf:创建tar包,tar包本身没带压缩 |
当然,对于tar
压缩得到的包,如果想要查看其内部压缩的内容
1 | -t:表示打印出tar包中的内容 |