Linux命令

Linux命令的构成


command [options] [parameters]

其中: command 为命令名,options为选项,parameters为参数, []表示可以有多个选项、参数,也可以无选项或参数。

命令名一般由小写字母组成,Linux命令是大小写敏感的。命令名、选项、参数之间必须用空格分开。选项前一般带有“-”号,可以多个选项合并使用,例如列表命令#ls -la  /etc。


在线帮助命令

man、info和help三种命令可提供在线帮助。

使用方法:

$ man 命令名 ;$ info 命令名 ; $ 命令名 --help

man是一个非常重要的帮助命令,是所有Linux/Unix系统的必备工具。

 帮助页的使用方法(插入演示:#man ls、info ls、ls --help)

退出帮助:q;快速定位关键字:/关键字;继续定位关键字:n;显示下一页:空格键;显示上一页:PageUp键。


文件列表命令 

ls

用于列出目录下的文件和子目录。

-a:列出所有文件和目录。

-c:以更改时间排序,显示文件和目录。

-d:显示目录名称而及其属性。

-i:显示文件和目录的inode编号。

-l:使用详细的长格式列表。

-r:反向排序。

-R:递归处理,将指定目录下的所有文件及子目录一并处理。


显示文本文件内容的命令 

 cat  

一次性显示文本文件内容。

-A:全面显示。

-E:行尾加$。

-n:显示行号(含空行)。


实例

(注意:学会用shift+PageUp/PageDown移动上下屏)

输入输出重定向

ls >file


more 

用于分页显示文件内容。(按空格键继续显示)

-d:屏幕底部提示帮助信息。

-p:清屏后再显示下屏。

- num:每页显示的行数。

+ num:从num行开始显示。

管道技术 

实例

$ls –la |more )


less(与more类似)


head 

显示文件头部。

-c:指定显示字符数。

-n:指定显示的行数,默认为10行。

tail 

显示文件尾部。

-c:指定显示字符数。

-n:指定显示的行数,默认为10行。

-f:实时观察文件尾部分的变化。

(结合实时监测log文件讲解如:

#tail –f /var/log/messages )



查询文本内容的命令 

 grep (egrep或fgrep)命令

-c:只显示匹配行的数量。

-i:不区分大小写。

-n:增加显示匹配行的行号。

-v:只显示不匹配行。

-x:只显示整行匹配的行。

(结合管道技术讲解如:

$ls –la |grep keyword )


查找文件的命令 

find 查找系统中的文件。

-name 文件名:find要查找的文件名。

-perm 权限值:查找所有符合指定权限值的文件,如果权限值前面是“-”或“+”号,则搜索所有含该权限值中特权位的文件。

-size n:查找大小为n个block的文件名。

-user 用户名:搜索所有属主为用户名的文件。

-group 组名:搜索所有属组为组名的文件。

-atime  数字:搜索在[数字]天前访问过的文件。

-mtime  数字:搜索在[数字]天前修改过的文件。


locate或slocate

快速搜索索引数据库中文件,其查找文件速度较find快。但索引数据库的更新在每天的4:02分,查找当天文件需要手工执行命令#updatedb 来更新索引数据库。选项:

-i:不区分大小写。


which 命令名  找出命令在系统中存储位置

$which find



统计、排序和比较文本内容的命令 

 wc

用于统计文本文件中字符、字和行的数量。 

-c:只输出字节数。

-w:只输出单词数。

-l:只输出行数。


 sort 

用于对文本文件中各行进行排序 。

-d:排序时,除了英文字母、数字及空格字符外,忽略其他的字符。

-f:排序时,将小写字母视为大写字母。

-m:将几个排序好的文件合并。

-r:以相反的顺序来排序。



uniq 

用于检查及消去文本文件中连续的重复行。文件要先作sort,然后再执行uniq。 

-c:在每列旁边显示该行重复出现的次数。

-d:仅显示重复出现的行。


 diff 

用于比较两个文本文件的不同点。

-i:忽略大小写。

#diff A B >C 

A是原始文件,B是修改后的文件,C称为A的补丁文件

 patch

把diff生成的补丁文件应用到现有代码上。

#patch A C 

得到修改后的文件B 

#patch -R B C 

可以重新还原到A 



vi文本编辑工具

是基于字符界面的文本编辑工具,也是Linux急救模式的唯一编辑工具。vi功能强大,编辑文件过程中还可以执行输出、删除、查找、替换和块操作等功能。

 vi的工作模式

1)命令模式

所有按键的输入都被视为命令接收,包括’:‘命令。按i、a、o 等命令进入编辑模式 

2)编辑模式  

键入的每一个键都代表一个将要输入到文本中的字符。 按Esc键退出编辑模式,一个好习惯就是编辑过程中多按Esc键 。 

启动和退出vi

$ vi 文件名 

:wq (存盘退出)

:q!    (不保存修改,退出)

光标移动命令 

左方向← 键、右方向→键、向下方向↓键、上方向↑键。

向下翻页PageDown键、向上翻页PageUp键。

:0: 等价于Home键,移至首行。

:$: 等价于End键,移至首尾。

: ^: 移至行首。

:5 移至第5行

进入编辑模式命令 

I:在行首输入。

A:在行尾输入。

O:在光标所在行上插入一新行。

i:在光标所在字符前插入。

a:在光标所在字符后插入。

o:在光标所在行下插入一新行。

删除、修改和取消命令 

X:删除光标前一字符。(backspace)

x:删除光标所在的字符(delete)。

dd:删除光标所在的行。

n dd:删除光标所在的n行。

dw:删除光标所在的一个字。

u:恢复上一次操作。

复制与粘贴命令 

yy:复制光标所在整行到粘贴板。

n yy:复制光标所在n行到粘贴板。

yw:复制光标所在一个字到粘贴板。

y^:复制光标至行首到粘贴板。

y$:复制光标至行尾到粘贴板。

p:粘贴到光标后。

P:粘贴到光标前。

查找与替换命令 

:[range] s/patern/string/[c,g,i]

其中:[range]指定查找范围,如全部查找:1,$。

patern指定查找字符串

string指定新替换串

c每次替换前询问是否确认

g表示不询问,全部替换

i不区分大小写。

例如, :1,$ s/oldstring/newstring/g

其他命令

:w newfile――另存文件为newfile。

:! Command――不退出vi执行shell命令――command。

:r filename――将文件filename读入编辑区。

:set number――设置行号。

:ce――本行文字居中。

:ri――本行文字右对齐。

:le――本行文字左对齐。



复制、移动和删除文件的命令 

$ cp[选项] 源文件  目标文件

用于复制文件和目录。 

-f:强行复制文件或目录,不作任何提示。 

-i:覆盖已有文件之前先询问用户。

-p:保留源文件或目录的属性。

-r:递归处理,将指定目录下的文件与子目录一并处理。

-R:同-r。

-v:显示命令执行过程。 

mv  ($ mv [选项] 源文件  目标文件)

-b:覆盖目标文件之前作备份,备份文件会在字尾加上一个备份字符串“~”。

-f:强行复制文件或目录,不作任何提示。 

-i:覆盖已有文件之前先询问用户。

-v:显示命令执行过程。 

rm  

用于删除文件或目录。

-f:强制删除文件或目录。

-i:删除既有文件或目录之前先询问用户。

-r:递归处理,将指定目录下的所有文件及子目录一并处理。

-v:显示命令执行过程 

(讲解root用户使用rm –rf 删除系统目录的危险性:

#rm –rf /home/test )



文件链接命令 

ln  ($ ln [选项] [源文件或目录] [目标文件或目录])

用于建立文件或目录的的软、硬链接。

-f:强行建立文件的链接,不论文件是否存在。

-i:覆盖既有文件之前先询问用户。

-s:对源文件建立符号链接,而非硬链接。 



查询和修改用户工作目录的命令 

 pwd 

用于显示用户的工作目录。


cd   ($ cd  [目标目录])

用于改变用户的工作目录。



建立和删除子目录的命令 

mkdir 

用于建立子目录。

-m:建立目录时同时设置目录的权限。

-p:若所要建立目录的父目录目前尚未建立,则会一并建立父目录。

rmdir 

删除空子目录。但是,删除包含文件的目录要用rm –rf 命令。



了解磁盘空间的命令 

du ($ du  [选项] [目录])

用于了解目录或文件所占磁盘空间。

-a:递归地显示目录中各文件及子目录中各文件占用的数据块数。

-b:以字节为单位显示。

-k:以1024字节为单位显示。

-c:最后一行加入总计占用的数据块总数。


df  ($ df  [选项] [目录])

用于显示磁盘文件系统的使用情况。

-a:显示全部文件系统。

-h:以1024字节为单位显示。

-i:显示inodes信息。

-T:同时显示文件系统类型信息。



显示变量内容和文件属性的命令 

echo  (echo[选项] [信息内容] )

用于在显示器上显示信息。

-n//输出文本后不换行。

[信息内容]可以是字符串或变量。

$ echo “abcd”

file ($ file[选项] 文件名)、stat

用于显示文件的属性信息。

$ file file

$ stat file

 touch($ touch[选项] 文件名)

用于建立空文件或修改文件时间。

-a:只改变文件存取时间。

-m:只修改文件的的修改时间。

-r:指定参考文件,使文件的日期设置与参考文件的日期一致。


例:(1)将文件的存取时间设为当前时间。

$touch –a file

(2)建立空文件。

$touch file1



系统通信命令 

write ($write  [用户名][字符串])

用于向在线用户发布信息,但不能向非在线用户发信息。

输入Ctrl+D结束发布的信息。

#useradd test    //建立test用户

#passwd test    //给test用户授权密码

wall  (wall  [字符串])

用于向所有在线用户发布信息,适合所有系统用户。

输入Ctrl+D结束发布的信息。

mesg ($ mesg  [y/n])

用于设定允许或拒绝接收由普通用户发来的write、 wall和talk通信信息,但对root的信息无效。

例如:$mesg n 

 


内核及用户信息查询命令 

uname 

用于显示内核信息。

-a:以如下顺序显示所有内核信息。

-s:内核名

-n:网络主机名

-r:内核版本

-v:发布日期

-p:处理器型号

-i:硬件平台


finger  $ finger  [用户名] 

用于显示系统用户的配置信息。

whoami 

用于显示当前登录用户的信息。

id ($ id [用户名])

用于显示当前登录用户的信息。

who  ($ w或who )

显示所有系统在线用户信息 。



清屏及内存与磁盘同步命令 

clear

清屏命令

sync 

用于把内存信息写入硬盘,实现同步。关机或重启时,系统自动执行该命令。



其他基本操作命令 

cal  ($ cal  [选项] [month[year]])

用于显示日历。

-j:以1月1日起的天数显示。

date ($ date  [格式串])

用于显示或设定系统的日期与时间。

其中: [格式串]为MMDDhhmm[[CC]YY][.ss]的格式。

MM为月份,DD为日期,hh为小时,mm为分钟,CC为年份前面两位数字,YY为年份后面两位数字,ss为秒数。

su (su – 用户名)

更换用户身份命令。

$su root      $su – root   $su peng

gcc   文件名  (C及C++编译命令)

   -o 指定目标文件名


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。