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