7.man指令(重要)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 语法: man [选项] 命令
- -k 根据关键字搜索联机帮助
- num 只在第num章节找
解释一下,面手册分为8章:(注意!一旦查找到,就不会继续往下查
)
-
1 是
普通的命令
-
2 是
系统调用
,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
-
3 是
库函数
,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
举例说明:man printf
1.man 1 printf (从第一条开始查
) 和
man printf (从默认位置开始查
)输出结果一致
2.man 3 printf (跳过前两条,从第三条------库函数中查询
)
8.cp指令(重要)
-
语法:cp [选项] 源文件或目录 目标文件或目录
-
功能 :
复制文件或目录
-
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
小知识:
1.echo指令:将指令后的内容以字符串形式打印(默认打印到显示器)
2.echo hello world >
log.txt(输出重定向
)
">"符号可以把原本打印至显示器的路径改为 `打印至特定文件`
(如果打印至的文件不存在,则会在当前路径下创造一个同名文件
)
(如果存在则会 先清空,再写入数据
)
3. >
log.txt(相当于清空文件
)
4.echo hello world >>
log.txt(连续输入,不清除原文件内容
)
cp指令使用实例:
1.cp src dst
将log.txt拷贝至上一层目录(原先的log.txt依然存在
)
2.cp -rf src_dir dst_dir (src_dir为树型结构,即存在子目录)
-r:代表递归方式
-f : 代表强制执行
3.cp src dst_dir/新的名称
d1拷贝至前一个目录,并改名为dd1
9.which指令(重要)
which指令可以简略介绍其他指令
举例说明(which ls)
-
- alias------别名 ,意思是ls是
由ls(原来的指令)
和自动填充颜色
组成的
- alias------别名 ,意思是ls是
-
- /usr/bin/ls 指的是
ls(原来的指令)所在的位置
- /usr/bin/ls 指的是
分别使用ls和ls(原来的指令)的效果
10.mv指令(重要)
mv命令是move的缩写,可以用来 移动文件或者将文件改名
(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
- 语法 : mv [选项] 源文件或目录 目标文件或目录
- 功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
- -f :force 强制的意思,如果目标文件已经存在,
不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就
会询问是否覆盖
1.mv src dst_dir
将src直接转移之dst_dir目录底下
2.mv src newname(没用过的新名字)
可用于改名
将 d1 改名为 dd1
11.cat(适合用于查询小文件)
语法 :cat [选项][文件]
功能 : 查看目标文件的内容
常用选项:
- -b 对非空输出行编号
- -n 对所有输出行编号
- -s 不输出多行空行
建立一个大程序
这里可以看到使用cat命令会导致刷屏,所以 cat只适合应用于小文件查找
12.less指令(重要)(适合查询大文件)
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
/字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- **
q:quit
**退出
less在查看之前不会加载整个文件。
,按住键盘上向下的箭头可以下翻,反之可以上翻
输入 /9999,后会帮你直接找到有"9999"的文件位置
提问:那么我们如何拿到2000-2020区间的数据呢?
解答:head -2020 log.txt |
tail -21
这里的|
是 管道
的意思,相当于:将|
前的指令调用后,再作为输入 调用后面的指令
13.时间相关的指令
date显示:
date 指定格式显示时间: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]
举例说明:
1.date(无选项)
2.date +%Y:%m:%d
注意:
- 1.要有
'+'
- 2.年月日输出完后要有
'_'
才能输出小时分钟和秒
3.date +%s (时间戳)
14.Cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。
命令格式 : cal [参数][月份][年份]
功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),
如有两个参数,则表示月份和年份
常用选项:
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
15.find指令:(灰常重要) -name
举例说明:
1.find 路径 -name 文件名
2.find 路径 -name *.c(查找当前目录下所有.c 文件)
16.grep指令
语法 : grep [选项] 搜寻字符串 文件
功能 : 在文件中搜索字符串,将找到的行打印出来
举例说明:
1.grep '字符串' 文件
找到log.txt中所有含999的行
2.grep '字符串' ./*
找到当前目录下所有有main的行,并且 显示所在文件位置
!!!!!!!!!!!!!!!