一、常用操作命令:
1.文件内容显示命令:
(1)cat:cat [选项] [文件名]
用来串接文件或显示文件的内容,也可以从标准输入设备读取数据并将其结果重定向到一个新的文件中,达到建立新文件的目的。
选项如下:
1)-n:由1开始对所有输出的行数进行编号;
2)-b:和-n类似,但不对空白行编号;
3)-s:当遇到有连续两行以上的空白行,将其替换为一行空白行;
4)-E:在每行结束处显示$。
(2)more:more [文件名]
显示输出的内容,然后根据窗口的大小进行分页显示,在终端底部打印出“--More--”及已显示文本占全部文本的百分比。
选项如下:
1)-f或<空格>:显示下一行;
2)<回车>:显示下一列;
3)-q或-Q:推出more;
4)+num:从第num行开始显示。
也就是说,当文件比较大时,文本内容会在屏幕上快速显示,more命令则解决了这个问题,一次只显示一屏的文本。
输入命令后显示文本内容第一页,按回车键显示下一行,按F或空格键显示下一页,按CRTL+B返回上一屏,按Q退出。
(3)less:less [文件名]
less命令与more相似,区别在于还可以利用pageup、pagedown来回翻页显示文件。
选项如下:
1)-m:显示读取文件的百分比;
2)-M:显示读取文件的百分比、行号以及总行数;
3)-N:每行前输出行号;
4)-s:把连续多个空白行作为一个空白行显示。
(4)head:head [选项] [数字] [文件名]
显示文件的前n行,不带选项时默认显示前10行。
选项如下:
1)-n:显示文件的前n行;
2)-c:显示问价的前c个字节。
(5)tail:tail -n [数字] [文件名] 或 tail-[数字] [文件名]
显示文件的最后n行,默认为10行。
(6)echo:echo [选项] [文件名]
输出字符串到基本输出。
选项如下:
1)-n:不输出末尾的换行符;
2)-e:启用反斜杠转义(\n);
3)\a:发出警告声;
4)\c:最后不加上换行符号。
(7)od:od [选项] 字符串
用于输出文件的八进制、十六进制或其他格式编码的字节。
选项如下:
1)-a:表示ASCII码的名字;
2)-b:按照三个数值位的八进制数进行解释;
3)-c:选择ASCII码字符或者时转义字符;
4)-d:选择无符号2字节单位。
2.目录内容显示命令:
(1)ls:列出目录的内容。
(2)pwd:显示当前工作目录的完整路径。
3.目录变更命令cd:cd [目录]
改变当前工作目录。目录名称可以是绝对路径或相对路径。
(1)cd ..返回上一级目录。
(2)cd ~返回主目录。
4.文件创建命令touch:touch [选项] [文件名]
生成空文件和修改文件存取时间。
选项如下:
(1)-d:以yyyymmdd的形式给出要修改的时间;
(2)-a:只更改存取时间;
(3)-c不建立任何文档;
(4)-m:只更改变动时间;
(5)-r:把指定文档或目录的日期时间统统设成参考文档或目录的日期时间。
5.文件删除命令rm:rm [选项] [文件名]
删除一个目录中的若干文件或子目录。
选项如下:
-i:在删除前提示,需要确认。
6.目录创建命令mkdir:mkdir [选项] [文件名]
创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
选项如下:
(1)-p:依次创建目录,需要时创建目标目录的上级;
(2)-m:设置权限模式,在建立目录时按模式指定设置目录权限;
格式:mkdir -m [三位参数] [目录名]
参数的三位分别代表:目录所有者的权限;组中其他人对目录的权限;其他人对目录的权限。
对目录读权限参数为4;对目录写权限参数为2;执行权限参数为1;同时具有读、写和执行权限参数为7;有读和写权限参数为6。
(3)-v:每次创建新目录都显示执行过程信息。
7.目录删除命令rmdir:rmdir [选项] [文件名]
删除空目录。
选项如下:
(1)-p:当子目录被删除后其父目录也为空时,将父目录一并删除;
(2)-v:显示详细的步骤。
8.复制命令cp:
将文件或目录复制到另一文件或目录中。
语法格式有两种:
(1)cp [选项] [源文件或目录] [目的文件或目录]
(2)cp [选项] 源文件组 目标目录
选项如下:
(1)-b:将要覆盖的文件做备份;
(2)-i:覆盖前查询,提示是否覆盖已存在的目标文件;
(3)-f:强制复制文件,若目标文件无法打开,则将其移除并重试;
(4)-p:保留源文件或目录的属性,如日期;
(5)-R:复制所有文件及目录;
(6)-a:不进行文件数据复制,只对每一个现有目标文件的属性进行备份;
(7)-H:跟随源文件中的命令行符号链接;
(8)-l:硬链接文件而不复制文件本身;
(9)-L:总是跟随源文件中的符号链接;
(10)-n:不要覆盖已存在的文件;
(11)-P:不跟随源文件中的符号链接;
(12)-s:之创建符号链接而不复制文件。
9.改名或移动命令mv:mv [选项] [文件名]
将文件或目录改名,或将文件由一个目录移入另一个目录。
选项如下:
(1)-f:禁止交互模式;
(2)-i:交互模式;
(3)-n:不要覆盖已存在的文件;
(4)-u:只在源文件比目标文件新或目标文件不存在时才进行移动;
(5)-v:显示详细的步骤。
10.su命令:su [选项] 用户名
超级用户root向普通或虚拟用户切换不需要密码,反过来需要密码。
选项如下:
(1)-l:如同重新登录,如果没有指定用户名,默认为root;
(2)-p:切换当前用户时,不切换用户工作环境,此为默认值;
(3)-c:以指定用户身份执行命令,执行命令后再变回原用户;
(4)-:切换当前用户时,切换用户工作环境。
11.sudo命令:(super user do)sudo [选项] 命令
以超级用户root的身份执行命令。
选项如下:
(1)-h:列出帮助信息;
(2)-V:列出版本信息;
(3)-l:列出当前用户可以执行的命令;
(4)-u:以指定用户的身份执行命令。
二、vi编辑器:
1.Linux下的三种常用编辑器:
Vi,nano,gedit。
2.启动vi编辑器:
vi [文件名]
3.vi编辑器的三种工作模式:
(1)命令行模式:
该模式中,用户可以输入各种合法的vi命令,管理文档。
(2)输入模式:
该模式中,用户能在光标处输入内容或通过光标键移动光标,可以按Esc键返回命令模式。
(3)末行模式:
在命令行按下“:”键进入末行模式,末行命令执行后将自动回到命令模式;在末行模式输入过程中,可按退格键将输入的命令全部删除,再按一下退格键即可回到命令模式。
4.vi编辑器三种工作模式之间的转换:
(1)从命令行模式转到输入模式按a、i键;
(2)从输入模式转到命令行模式按Esc键;
(3)从命令行模式转到末行模式按:键。
5.光标操作命令(略)
6.文本操作命令(略)
7.文本修改命令(略)
8.其他命令(略)
三、nano编辑器:
nano是UNIX和类UNIX系统中一个轻量级文本编辑器。
四、gedit编辑器:
gedit是Linux桌面上一款小巧的文本编辑器,外观简单,仅在工具栏上有一些图标和一排基本菜单,由于是图形界面因此使用方便。
五、gcc编译器:
gcc是由GPL许可证发行的自由软件,被大多数类UNIX操作系统采纳为标准编译器,可处理C、C++、Fortran、Pascal、Java及各类处理器架构上的汇编语言。
1.gcc编译流程:
(1)预处理:
主要处理C语言源文件中的#ifdef、#include以及#define等命令,忽略掉不需要预处理的输入文件,生成中间文件*.i。
(2)编译:
编译就是把高级语言变成计算机可以识别的语言。输入的是中间文件*.i,编译后生成的是汇编语言文件*.s。
(3)汇编:
汇编程序是指把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。
(4)链接:
将生成的目标文件与其他目标文件链接成可执行的二进制代码文件。
2.gcc优化选项(略)
3.gcc显示警告和出错信息(略)