Linux常用命令

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

Linux如何查看进程、杀死进程、启动进程等常用命令

原文地址:https://www.cnblogs.com/Jason-Xiang/p/5920370.html