1. 目录与路径
1.1 目录的相关操作
- . 代表此层目录
- .. 代表上一层目录
- - 代表前一个工作目录
- ~ 代表『目前使用者身份』所在的家目录
- ~account 代表 account 这个使用者的家目录
1.2 关于执行文件路径的变量: $PATH
shell命令之所以可以执行,是由于PATH环境变量。
echo $PATH:列出path的路径
假设有个新命令X在一个新的路径/xxx/test下,为了使用该命令,可以有2种方法:
- 将新路径加入PATH:PATH = "$PATH":/xxx/test,而后就可以使用X命令
- 使用绝对路径使用命令x:/xxx/test/X
2.常用命令
2.1 文件与目录管理:
- cd [相对路径或绝对路径]:切换目录
- pwd:显示当前目录
- mkdir 目录名称:新建一个新的目录
- rmdir 目录名称:删除一个空的目录
- ls [-al] 目录名称:查看文件与目录
参数:-a:显示全部文件,包括隐藏文件
-l:列出文件属性与权限等数据,在许多distribution中将“ll”设置成“ls -l”。
- cp [-air] 源文件 目标文件:复制文件或目录
参数:-i:若目标文件存在,会询问是否覆盖
-r:递归持续复制,用于目录的复制
-a:不改变文件的属性和权限。
- rm [-ir] 文件或目录:移除文件或目录
参数:-i:删除前会询问是否删除
-r:递归删除,用于目录的删除(非常危险的参数!!)
- mv [-fi] 源文件 目的地:移动文件或目录(可用于重命名,即移动到相同目录并更改名字)
参数:-f:目标文件若以存在,会直接覆盖
-i:目标文件若以存在,会询问是否覆盖。
2.2 文件内容查看
- cat [-n] 要查看的文件:由第一行开始显示档案内容
参数:-n:打印出行号,连空白行也会有行号
- tac 要查看的文件:从最后一行开始显示,可以看出 tac 是 cat 的倒着写
- nl 要查看的文件:显示的时候,顺道输出行号
- more 要查看的文件:一页一页的显示档案内容
- less 要查看的文件:与 more 类似,但是比 more 更好的是,他可以往前翻页
- head [-n number] 要查看的文件:查看文件前几行
参数:-n:后面接数字,表示显示几行
- tail [-fn number] 要查看的文件:查看文件后几行
参数:-n:后面接数字,表示显示几行
-f:表示持续监测文件,直到按下[ctrl]+c才会结束
- od 要查看的文件:以二进制的方式读取档案内容
- file 要查看的文件: 查看文件类型
2.3 命令与文件的查询
在 Linux 底下也有相当优异的搜寻系统,通常 find 不很常用的,因为速度慢之外,也很操硬盘,通常我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜索,因为 whereis 与 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没有实际的搜寻硬盘,比较省时间。
- witch [-a] 要查询的命令:查询指定命令
参数:-a:将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的命令
- whereis [-bmsu] 文件或目录名:寻找特定文件
参数:-b :只找二进制的文件
-m :只找在说明文件 manual 路径下的文件
-s :只找 source源文件
-u :没有说明档的文件
- locate [-ir] 要查询的关键字:寻找特定文件
参数:-i:忽略大小写
-r:后面可接正则表达式
- find [PATH] [option] [action]:寻找特定文件
2.4 压缩与解压缩
在Linux中,常见的压缩文件扩展名有:
*.Z compress命令压缩的文件(已经不流行了,可以被gzip替换) *.gz gzip命令压缩的文件 *.bz2 bzip2命令压缩的文件 *.tar tar命令打包的数据,并没有压缩过 *.tar.gz tar命令打包的数据,并经过gzip的压缩
*.tar.bz2 tar命令打包的数据,并经过bzip2的压缩
- gzip [-cdtv#] 文件名:压缩或解压缩指定文件(*.gz,*.Z)
参数:-c:将压缩的数据输出到屏幕上
-d:解压缩的参数
-t:检验压缩文件的一致性
-v:显示压缩比等信息
-#:压缩等级,-1最快,-9最慢,默认为-6
- bzip2 [-cdkzv#] 文件名:压缩或解压指定文件(*.bz2)
参数:-c:将压缩的数据输出到屏幕上
-d:解压缩的参数
-k:保留原文件
-v:显示压缩比等信息
-#:压缩等级,-1最快,-9最慢,默认为-6
- tar -jcv -f filename.tar.bz2 filename:压缩filename
- tar -jtv -f filename.tar.bz2:查询压缩文件filename
- tar -jxv -f filename.tar.bz2 -C 解压目录:解压filename.tar.bz2到指定目录
参数:-j:通过bzip2进行压缩,此时文件名最好为*.tar.bz2
-c:新建打包文件
-v:在压缩或者解压缩的过程中,显示正在处理的文件名
-t:查看打包的文件有哪些文件名
-x:解打包或者解压缩参数
-f:-f后面接被处理的文件,最好单独写一个参数
-C(大写):解压缩时指定解压目录
2.5 vi,vim命令
vi 是 linux 下极为普遍的一种文本编辑器。vim 是 Vi IMproved 的缩写,表示更好的 vi,可以看做vi的高级版本,目前大部分distributions都以vim替代vi的功能了。vi一共分为三种模式,分别是一般模式、编辑模式与命令行模式。
一般模式:可以进行删除、复制、粘贴等操作,但无法编辑文本内容。
编辑模式:主要用于编辑文本内容
命令行模式:通过输入命令进行查找,保存,退出等操作。
vi,vim常用命令如下:
一般模式:
h 光标向左移一个字符 j 光标向下移一个字符 k 光标向上移一个字符 l 光标向右移一个字符 Ctrl+f 屏幕向下翻一页 Ctrl+b 屏幕向上翻一页 Ctrl+d 屏幕向下翻半页 Ctrl+u 屏幕向上翻半页 + 光标移动到下一行的第一个非空字符 - 光标移动到当前行的第一个非空字符 n空格(n代表数字) 光标向当前行向右移动n个字符 0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分) $ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分) H 光标移动到当前屏幕最上方的那一行的第一个非空字符 M 光标移动到当前屏幕最中间那一行的第一个非空字符 L 光标移动到当前屏幕最下方的那一行的第一个非空字符 G 光标移动到该文章最后一行的第一个非空字符 nG(n代表数字) 光标移动到该文章第n行的第一个非空字符 n 光标从当前行向下移动n行的第一个非空字符 /word 在光标之后查找word字符串 ?word 在光标之前查找word字符串 :s/word1/word2/g 在光标当前行查找word1,并替换成word2 :n1,n2s/word1/word2/g 在第n1行与第n2行之间查找word1,并替换成word2 :%s/word1/word2/g 整个文章查找word1,并替换成word2
x,X x为向后删除一个字符,X为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 D 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1G 删除光标所在行到第一行的所有数据 dG 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1G 复制光标所在行到第一行的所有数据 yG 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除光标所在行向下n+1行 p,P p为复制的数据粘贴在光标的下一行,P为复制的数据粘贴在光标的上一行 J 将光标所在行与下一行的数据结合成一行 u 恢复前一个动作 二、编辑模式 i,I i为在当前光标所在处插入输入的文字,I为在光标所在行第一个非空字符插入输入的文字 a,A a为在当前光标所在处下一个字符插入输入的文字,A为在光标所在行最后一个字符的下一个字符处插入输入的文字 o,O o为在光标所在行的下一行行首开始插入字符,O为在光标所在行的上一行行首开始插入字符 r,R r为替换光标所在那一个字符,R为一直替换光标所指的文字,直到退出 Esc 退出,回到一般模式 三、命令行模式 :w 将编辑的数据保存到硬盘文件中 :w [filename] 将编辑后的数据保存到硬盘的另一个文件中 :r [filename] 在编辑数据时,读入另一个文件中的数据,即将filename文件中的内容加到光标所在行下一行 :wq 保存并退出 :q 退出,适用于未修改的文件 :q! 强制退出,适用于修改文件后不保存退出 :set nu 显示行号 :set nonu 取消行号 :n1,n2 w [filename] 将n1到n2行的内容保存到名为filename的文件中
2.6 进程查看与删除
2.6.1 查进程
ps命令查找与进程相关的PID号:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
常用的查询进程方法:
ps -aux|grep java
ps -ef|grep java
显示出所有的java进程,grep 表示搜索 。
2.6.2 杀进程
使用kill命令结束进程:kill 进程号
常用:kill 9324
参考:
《鸟哥的Linux私房菜》
http://www.cnblogs.com/kkgreen/archive/2012/03/19/2406518.html
http://www.jb51.net/LINUXjishu/143474.html