一、文件操作指令
<一>常用的文件操作命令
1.ls指令
-a 列出目录下所有文件,包括以.开头的隐藏文件。 例:ls -a
-d:将目录文件像文件一样显示,而不是显示其下文件
-i:输出文件的i结点索引信息
-k:以k字节的形式表示文件的大小
-l:列出文件的详细信息
-n:用数字的UID,GID代替名称
-F:在每个文件名后附上一个字符以说明该文件的类型
-r:对目录反向排序
-t:以时间排序
-s:在l文件名后输出该文件的大小
-R:递归列出所有子目录下的文件
-1:一行只输出一个文件
2.pwd
功能:显示用户当前所在目录
3.cd
功能:改变工作目录。将当前工作目录改变到指定的目录下
4.touch
功能:创建一个不存在的文件,如果这个文件存在则更改文档或目录的日期时间
用法:touch+文件名
可以同时创建多个文件:touch test haha.c main
5.mkdir
功能:在当前目录下创建一个新的目录
6.rmdir和rm
功能:删除目录
选项:
rm -f :即使文件属性为只读,亦可直接删除
rm -i:删除前逐一询问确认
rm -r:删除目录及其下所有文件
rmdir :删除一个空目录
指令可结合使用:rm -rf 目录
7.man
功能:访问Linux手册页
可查询指令的使用方法:man cal (查询cal)
8.cp
功能:复制文件或目录
选项:
-f :强行复制文件或目录,不论文件或目录是否存在
-i:覆盖文件之前先询问用户
-r:递归处理,将指定目录下的文件与子目录一并处理
9.mv
功能:移动文件目录或者给文件 或者目录改名字
选项:
-f :如果文件存在,直接覆盖
-r:若文件存在,会询问是否覆盖
10.cat
功能:查看文件内容
选项:
-n:对输出所有行编号
-b:对非空输出行编号
-s:不输出多行空行
11.more
功能:显示部分文件内容,只能向下浏览,不能回退
选项:
-n:对输出的所有行
q:退出more
12.less
功能:显示文件内容相对于more可以随意浏览文件
/字符串:当前位置向下搜索
?字符串:当前位置向上搜索
-i:忽略搜索时的大小写
-N:显示行号
q:退出
13.head
功能:显示开头某个数量的文字区块
显示前3行:head -n3 文件名
14.tail
功能:和head用法一致,显示文件末尾内容
15.date
功能:显示时间和修改时间
选项
date+%Y:%m:%d 显示时间
date -s +时间 :设定时间
date+%s:时间戳
16.cal
功能:用于查看时间信息
cal :显示一个月的日期
cal 2017 :显示一年的日期一行输出三个月
17.find
功能:用于在文件树中查找文件,并做出相应的处理
18.grep
功能:在文件中搜索字符串,将找到的行打印出来
选项:
-i:忽略大小写的不同
-n:顺便输出行号
-v:反向选择,显示没有所搜索字符串内容的哪一行
19.zip
功能:将目录或文件压缩成zip格式
将test2目录压缩: zip test2.zip test2/*
解压到tmp目录:unzip test2.zip -d /tmp
20.tar
功能:打包/解包,不打开它,直接看内容
tar -c 文件与目录
-c:建立一个压缩文件的参数指令;
-x:解开一个压缩文件的参数指令!
-t:查看tarfile里面的文件!
-v:压缩过程中显示文件!
-f:使用档名,(注:在f之后要立即接档名,不要再加参数!)
-C:解压到指定目录
21:bc
功能:进行计算
22:uname
功能:用来获取电脑和操作系统的相关信息
使用:uname -a 或 uname -all
23.热键
(1)Tab:具有命令补全和档案补齐的功能
(2)Ctrl+c:停掉当前程序
(3)Ctrl+d:表示键盘输入结束
24.shutdown
功能:关机
选项:
-h:将系统的服务停掉后关机
-r:将系统的服务停掉后重新启动
-t sec:-t后加秒数,过几秒后关机
25.创建与删除一个用户
(1)创建一个用户:
useradd -m user1 (user1为用户名)
设置密码:passwd user1 (需要root 权限)
(2)删除一个用户:
userdel -r user1
<二>创建一个简单的makefile文件
1.先创建几个要被包含的文件
2.对add.c add.h sub.c sub.h main.c 进行编写。
3.创建一个makefile文件
4.对makefile文件进行编写
格式为: (注:命令前只有一个tab)
目标:依赖文件
tab 命令
5.执行指令make
6.生成 .o文件和可执行文件 main
7.运行main
8.一个简单的makefile文件就完成了。
二、Linux编译器-gcc/g++使用
1.要使用-gcc/g++首先要有gcc 与g++
(1)一般Linux系统上都自带gcc,然而g++需要自己安装
(2)如何安装g++:
< a.>首先进入管理员权限:($表示当前为普通管理权限;#表示当前为管理员权限)
输入命令:su 然后回车;输入密码 ----->进入管理员权限(注:在输入密码时不显示密码)
<b.>输入命令: yum install g++
如果显示:
不能安装, 则输入命令:yum install gcc-c++
当显示:Complate---->表示安装成功
(我们可输入which g++来查看)
---------》
三、gdb调试命令
想要使用gdb进行调试首先要有gdb工具。我们可以通过命令进行安装
进入管理员权限:输入指令--->yum install gdb (回车等待)
可通过 which gdb 查看是否安装成功
使用gdb进行调试:
<一>启动调试:1.要使用gdb调试,必须在源代码生成二进制程序的时候,加上 -g 选项 例:gcc -g test.c -o test
2. 生成可执行文件 a.out 然后输入命令: gdb a.out (回车后进入gdb调试状态)(有时可以)
<二>开始调试
1. list 显示代码 (缩写l)l fab 从fab处显示
2. s是逐语句调试,进入函数内部调试
3. n是逐过程调试,单步调试(不进入函数内)
4. break + 行号 -----设置断点
5. print + 变量名 -----打印变量
6. r 运行程序,跳转到断点处
7.start开始运行程序
8.info break 查看断点信息
9.finish 执行到当前函数返回,然后停下来等待命令
10.set var 修改变量的值
11.continue(简写为c):从当前位置开始连续而非单步执行程序
12.run :从开始连续而非单步执行程序
13.delete breakpoints:删除所有断点
14.delete breakpoints n:删除序号为n的断点
15.disable breakoints:禁用断点
16.enable breakpoints:启用断点
17.display 变量名:跟踪查看一个变量,每次停下来都显示它的值
18.undisplay:取消对先前设置的那些变量的跟踪
19.until X(行号):跳至X行
20.breaktrace(简写bt):查看各级函数调用及参数
21.info (i)locals:查看当前栈帧局部变量的值
22.quit(简写q):退出调试