目录
1. ls指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。
常用选项:
- -a 列出目录下的隐藏文件,包括以.开头的隐藏文件
当我们创建以.开头的普通文件时,我们使用ll是无法看见的,这时我们就需要使用-a选项来显示隐藏文件。
- -l 列出文件的详细信息
- -t 以时间来排序
- -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录 -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
- -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
- -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
- -r 对目录反向排序。
- -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
- -R 列出所有子目录下的文件。(递归)
- -1 一行只输出一个文件。
2. pwd命令
语法:pwd
功能:显示用户的当前目录
3. cd指令
语法:cd 目录
功能:从当前目录转至目标目录
常见功能:
- cd - 返回上一次所在的目录
- cd ~ 返回用户家目录
- cd 绝对路径 /cd 相对路径
4. touch指令
语法:touch [选项] [文件名]
功能:新建一个不存在文件,或者修改文档或者目录的文件属性
这里我们只需要了解touch可以新建一个不存在的文件即可
5. mkdir指令
语法:mkdir [目录名]
功能:新建一个不存在的目录
以d开头的是目录,以-开头的是普通文件
6. rmdir和rm指令
rmdir是和mkdir相对应的一个命令,mkdir用来创建目录,rmdir用来删除目录
6.1 rmdir指令
语法: rmdir [-p] [目录名]
功能: 删除空目录
6.2 rm指令
语法: rm [选项] [文件或者目录名]
功能: 删除文件或者目录
常用选项:
- rm -r
如果一个目录中有子目录或者文件,那么rmdir就不能够删除该目录
这里我们使用rm -r 就将其删除
- rm -i 删除前进行询问
- rm -f
当我们没有带选项-f时,系统会询问是否删除受保护的文件,当带上-f时,表示force(强制删除)
7. man指令
Linux中有很多指令,我们不可能都记得住,因此我们需要一个手册来帮助我们查询所需的指令,这里我们就需要使用man来帮助我们。
语法:man [选项] [命令]
man手册分为8章:
1. 是普通的命令
2. 系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
3. 是库函数,如printf,fread
4. 是特殊文件,也就是/dev下的各种设备文件
5. 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6. 是给游戏留的,由各个游戏自己定义
7. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8. 是系统管理用的命令,这些命令只能由root使用,如ifconfig
我们以后主要使用的是前三章的手册
如果我们想查询printf,那我们怎么做呢?
当我们输入man 3 printf
8. cp指令
语法:cp [选项] [文件或者目录]
功能:赋值文件或者目录
常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
9. mv指令
mv是move的缩写,表示移动文件或者目录
语法:mv [选项] 文件或者目录
常用功能:
- 移动文件或者目录
- 更改文件或者目录名
10. cat指令
语法:cat [选项][文件]
功能:查看目标文件的内容
这里使用了cat和tac分别打印除了文件的内容,区别是一个是倒着打印
11. more指令
语法:more [选项] [文件]
功能:类似与cat
more默认打印出一整面 ,可以通过空格或者回车来向下阅读
基本选项:
- -n 对输出的所有行编号
退出时,按q即可退出
12. less指令
语法:less [选项] [文件名]
功能: less和more功能类型,不过less可以随意浏览文件,而more只能向下浏览
13. head指令
语法:head [选项] [文件名]
功能:默认将文件中的10行进行打印
常用选项:
- -n 显示打印前n行
14. tail指令
语法与head类似,只不过head是从头打印,而tail是从尾部打印
语法:tail [选项] [文件名]
功能:默认将文件中的10行进行打印
常用选项:
- -n 显示打印前n行
学习了获取头部和尾部,如果我们要打印[30001,30020]区间里的数,我们该如何操作呢?
这里我们使用了 | 管道这个概念,在计算机世界中最重要的就是数据,而管道就是存储运输数据的地方
15. 输入输出重定向
15.1 > 输出重定向
将字符串输出在文件中,但是会将文件中原来的数据覆盖
那如何能不覆盖呢?
15.2 >> 追加重定向
会在尾部增加你输出的值
16. 时间相关的指令
16.1 date显示
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
我们可以通过这两种方式来打印当前时间
16.2 时间戳
什么是时间戳?
格林威治时间1970年01月01日00时00分00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总秒数
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
17. Cal指令
语法:Cal [选项] [月份] [年份]
功能:查看日历相关的信息
18. grep指令
语法:grep [选项] [搜寻字符串名] [文件名]
功能: 在文件中找到字符串,并打印所在的一行信息
常用选项:
- -i 忽略字符串的大小写
- -n 显示行号
- -v 反向选择,将所有符合条件的不打印