Linux命令和开发工具
Linux常用命令有文件处理命令、文件管理命令、网络管理命令、通信命令、压缩解压命令以及帮助命令等。
命令格式
command [options] [arguments]
command表示命令的名称 options表示选项,定义命令的执行特性;arguments表示命令作用的对象
rm -r dir :该语句表示的功能表示删除目录dir,其中dir表示命令的名称,表示删除的文件 -r表示选项,表示删除目录中的文件和子目录;dir为命令作用的对象,该对象表示一个目录。Linux操作系统秉持"一切皆文件"的思想,将其中的文件、设备等作为文件来操作。
文件操作命令又可以细分为文件处理命令、文件查看命令、权限管理命令和文件搜素命令。
1.文件处理命令
常用的文件处理命令有ls、cd、pwd、touch、mkdir、cp、mv、rm、rmdir等覆盖了文件的查看、目录切换、删除、复制等功能。
ls:list(列举,列出) ls的参数通常为文件或者目录,用于列举参数的属性信息,其命令格式和常用选项如下:
ls [选项] [参数]
ls常用选型如下:
选项 | 说明 |
-l | 以详细信息的形式展示了当前目录下的文件 |
-a | 显示当前目录下的全部文件 |
-d | 查看目录属性 |
-t | 按照时间顺序列出文件 |
-i | 输出文件的inode编号 |
-R | 列出当前目录下的所有文件信息,并以递归的方式显示各个子目录中的文件和子目录信息 |
ls -a 出现的文件比较多,其中又出的.和..和...其中.和..分别当前目录和上一级目录,而...表示省略。
cd:change directory 更改目录
cd ./p 切换工作路径到当前目录下的p目录中
pwd:print working directory即打印当前工作目录的绝对路径
touch:touch命令的主要功能是将已存在文件的时间标签更新为系统的当前时间。若指定的文件不存在,该命令将会创建一个新文件,所以该命令有个附加功能,即创建新的控文件,touch命令格式如下
touch 参数
mkdir:make directory创建目录
mkdir [选型] 参数
mkdir命令的参数一般为目录或者路径名。
选型 | 说明 |
-p | 若路径中的目录不存在,则先创建目录 |
-v | 查看文件创建过程 |
cp:copy即复制,该命令的功能为将一个或多个原文金复制到指定的目录,其命令格式如下
cp [选项] 源文件或目录 目的目录
选项入下
选项 | 说明 |
-R | 递归处理,将指定目录下的文件机器子目录一并处理 |
-p | 复制的同时不修改文件属性,包括所有者1、所属组、权限和时间 |
-f | 强行复制文件或者目录,无论目的文件或者目录是否以及存在 |
mv:表示move该命令表示用于移动文件或目录.
mv 源文件或目录 目标目录 (记住这个命令可以起到修改文件名字的作用)
rm:该指令功能就是删除目录中的文件或目录。该命令可同时删除多个对象,其命令格式如下:
rm [选项] 文件或目录
若要使用rm命令删除目录,需要在参数前添加-r选项。除了r选项之外,其他选项入下
选项 | 说明 |
-f | 强制删除文件或者目录 |
-rf | 选项-r与-f结合,删除目录中所有文件和子目录,并且不一一确认 |
-i | 在删除文件或者目录时对要删除的内容逐一确认(y/n) |
rmdir:命令的原意表示可删除指定路径中的一个或者多个空目录,若在命令中添加参数-p,此命令将会删除指定目录后检测其上层目录,若该目录的上层目录已经变成了空目录,则将其一并删除。
2.文件查看命令
常用的文件查看命令有:cat more head tail等
3.权限管理命令
根据用户的权限,Linux系统中的用户大体可以分为:超级用户root和普通用户。
根据用户与文件的关系,Linux系统中将用户分为文件或目录的拥护者、同组用户、其他组用户和全部用户
根据用户对文件的权限,将用户权限分为读权限、写权限和执行权限。
权限 | 对应字符 | 文件 | 目录 |
读权限 | r | 可查看文件内容 | 可以列出目录中的内容 |
写权限 | w | 可修改文件内容 | 可以在目录中创建、删除文件 |
执行权限 | e | 可以执行文件 | 可以进入目录 |
su:切换用户 由当前用户切换root用户
exit 推出当前用户,返回之前的用户
常用的权限管理命令由chmod、chown、chgrp等
chmod命令
chmod:change the permission mode of file,其功能为变更文件或目录的权。该命令如下
chmod {augo} {+-=}文件或目录
其a表示所有用户,u表示用户名user,g表示组名group,o表示其他,+表示添加权限,-表示取消权限,=表示设定权限
题目:要求创建一个目录b,为目录b设置权限。要求:用户自己拥有读、写及执行权限,同组用户拥有读和执行权限,其他用组用户拥有读权限
mkdir b
chmod u+x,g+x b
除了上述表达方法之外,还可以用数值的形式表示权限。r: 可读(4), w: 可写(2), x: 可执行(1).
使用数字权限时,可以方便地设置某个文件的所有者权限、所在组权限以及其他人的权限。不同的权限对应不同的数值;读写权限对应的数值为4,写的权限数值为2,执行权限数值为1。简单来说,若设置某个文件的权限为777,则表示所有用户对该文件都有读写权限、写权限和可执行权限。
可使用ls -l/etc显示目录/ect中文件的详细信息
使用ls -l命令查看目录信息的时候,会得到目录文件数量统计和一个由空格划分7个字段列表,该列表每个字段所表示的信息依次为:文件类型与权限、文件硬链接数、文件所有者、文件所有者所属组、文件所占空间、文件最近访问/修改时间、文件名字。
此外:
查看文件的大小
如果那你要查看整个目录每个文件大小可以使用ls -lht如果要查看具体某个文件大小要使用ls -lh 文件名
(1)文件名
列表中每行信息的最后一个字段为该文件的文件名,若文件是一个连接文件,则文件名会有一个->,该符号之后为其所有所指文件的文件名。
(2)文件类型与权限
此部分表示对应第一个字段,共有10个字符组成。
第一个字符 -表示普通文件 d表示目录 l表示一个连接文件b、c、p、s依次表示块设备文件、字符设备文件、命令管道文件和与网络编程相关的socket文件。
第二个-十个字符每三位作为一组分别表示所有者对应权限、所有者所在组对应权限以及其他用户对应的权限。
(3)文件硬连接数
若一个文件不是目录,则该字段表示这个文件所具有的硬链接数。
(4)文件所有者
该字段表示当前文件属于哪个用户
(5)文件所有者所属组
该字段表示当前文件所有者的所属组
(6)文件所占空间
该字段表示文件大小,若文件是一个目录,则其表示的是该目录的大小,而非该目录以及其他的子目录与文件的总大小。
(7)文件最近访问/修改i时间
最近文件被访问或者被修改的时间。
chown命令
chown命令的原意就是change the owner of file,其功能是更改文件或者目录的所有者。默认情况下文件的所有者为创建该文件的用户或在文件被创建时通过命令指定的用户,但在需要时可使用chown对文件的所有者进行修改,该命令如下:
chown 用户 文件或目录
chgrp命令
chgrp命令的原意为change file group,用于更改文件或者目录的所属组,一般情况下,文件或目录与创建该文件的用户属于1同一组,或者在被创建时通过选项指定所属组,但是在需要时,可以通过chgrp命令更改文件的所属组,chgrp的命令格式如下
chgrp [组名] [文件或目录]
4.文件搜索命令
文件搜索命令可以根据文件名或者关键字搜素文件所在路径,或者根据关键字搜素文件内容,常用的文件搜素命令有which、find、locate、grep等。
which命令
在Linux中,所有指令都以文件的形式保存在系统中,使用which命令查看所在的目录,which指令如下:
which 命令
此外,whereis也能找到命令所在的位置。不同的是,which还能找到命令的别名记录,而where可以同时展示命令帮助文档所在的路径。
find命令
find命令可以借助搜素关键字查找文件或者目录,该命令格式如下:
find 搜素路径 [选项] 搜素关键字
其中搜素关键字可以为文件名、文件大小、文件所有者等
选项 | 说明 |
-name | 根据文件名查找 |
-size | 根据文件大小查找 |
-user | 根据文件所有者查询 |
locate命令
locate命令也可以借助搜素关键字查找文件或目录,该命令格式如下:
locate [选项] 搜素关键字
locate 的功能与find -name相同,但是在速度上,locate比find快多了,因为他不是搜素Linux的整个目录,而是搜素数据库/var/lib/locatedb。但是即便你确当某个文件在,locate也不一定搜素到该文件,此时此刻你需要更新数据库,其指令为updatedb。
grep命令
grep命令用于在文件中搜素与字符串匹配的行并输出,该命令如下:
grep 指定字符 源文件
5.网络管理与通信命令
Linux系统中常用的网络管理命令有ifconfig、netstat、ping、write、wall等
ifconfig [参数] ifconfig原意:interface config其功能为配置和显示Linux内核中网络接口的参数
netstat命令用于打印Linux系统中网络系统的状态信息,该命令格式如下
netstat [选项]
选项 | 说明 |
-a | 显示所有端口 |
-at | 列出所有tcp端口 |
-au | 列出所有udp端口 |
ping [选项] [参数] :ping命令用于测试主机之间网络的连通性,默认情况下该命令会一直打印测试结果
选项 | 说明 |
-c | 设置响应次数 |
-s | 设置数据包大小 |
-v | 详细显示指令的执行过程 |
write命令可使当前用户向另外一个用户发送信息,指令如下
write 用户名
wall命令可使用root用户向所有用户发送信息,以快捷键组合Ctrl+D结束,该命令如下 wall [message]
6.压缩解压命令
与Windows平台一样,Linux系统中也可以压缩或解压文件。Linux中常见的压缩文件格式为*.gz,*.zip,*.bz2,每种压缩格式的文件对应不同的压缩解压命令。
(1)gzip/gunzip
gzip命令用于压缩文件,获得.gz格式的压缩包,压缩后不保存源文件。若同时列出多个文件,则每个文件会被单独压缩。gzip命令的格式如下:
gzip [选项] 文件
gunzip [选项] 压缩包包名
(2)zip/unzip
zip命令用于压缩文件或目录,获得.zip格式的压缩包,压缩时会保留源文件,该命令的格式如下:
zip [-r] [压缩包包名] 文件或目录
zip命令的选项-r表示递归处理指定目录与子目录中的所有文件
与zip对应的解压命令unzip,该命令的格式如下:
unzip [选项] 压缩包包名
(3)bzip2/bunzip2
bzip2命令用于创建和管理,bzip2格式的压缩包,该命令的格式如下:
bzip2 [选项] 文件
bunzip2 压缩包名
(4)tar
tar命令用于打包多个目录或文件,该命令通常与压缩命令一起使用,其格式为
tar [选项] 目录
tar常用的选项如下
选项 | 说明 |
-c | 产生,tar打包文件 |
-v | 打包时显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包,同时通过gzip指令压缩备份文件,压缩后的格式为.tar .gz |
-x | 从打包文件中还原1文件 |
7.帮助命令
常用的帮助命令有man、info、whatis、whoami等
man命令
man [选项] 命令/配置文件
man常用选项如下
选项 | 说明 |
-a | 在所有的man帮助手册中搜素 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜素路径 |
info命令
info命令用于调用Linux下的帮助文档
info命令用于调用Linux下的帮助文档,获取帮助信息。相比man文档,该帮助信息更容易被理解,也更友好。info命令格式如下
info [选项] [参数]
选项 | 说明 |
-d | 添加包含info格式帮助文档的目录 |
-f | 指定内容时,使用分页程序 |
-n | 指定首先访问的info帮助文件的结点 |
-o | 输出被选择的结点内容到指定的文件 |
whatis命令
whatis命令用于查询命令的功能,并将查询结果打印到终端,该命令格式如下
whatis 命令名称
whoami命令
whoami命令用于打印当前用户的用户名称
7.Linux常用开发工具
Linux常用的几种开发工具(vi编辑器、GCC编辑器、GBD调试工具)
vi编辑器
vi编辑器共有三种模式,分别是命令模式(command mode)、插入模式(insert mode)和底行模式(last mode)
8.GCC编译器
GCC编译过程分为四个阶段,分别是预处理、编译、汇编、链接。