第二章 linux常用指令
一、ls指令:查看目录内容
1、作用
ls命令是让linux罗列出该目录下所有的子目录和文件。基于这个基础作用我们可以在后面加一些补充命令来看目录中的文件的一些所需的信息。这里需要解释的是,什么是目录?linux的目录相当于我们windows操作系统中的文件夹。
2、语法
ls 目录名 补充指令(补充指令可以没有,也可以多个同时使用)
目录名其实也可以没有,如果没有写目录名的话,默认看的是当前目录下的具体内容。
那么我们常用的补充指令有:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。
-F 在每个文件名后附上一个字符以说明该文件的类型“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。
-R 列出所有子目录下的文件。
-1 一行只输出一个文件。
3、示例
解读:
其中,那两个文件名为.
的文件就是隐藏文件。
这两个带点的目录常用于相对目录中。
.:代表的是当前目录
…: 代表的是上一级目录
具体如何使用,我们讲在后面的cd命令中进行讲解。
二、pwd命令:查看当前位置
1、作用
print work directory,即打印当前所在路径。
2、语法
pwd
我们Linux的大体目录组成如下图所示:
3、示例
三、cd 指令:进入
1、作用
change directory,改变目录。说简单点,就是从当前目录前往其他目录。
2、语法
cd 目录名
3、常用变型
cd .. 返回上级目录
cd /xxx/xxx/xxx/ 以绝对路径的方式进入指定目录
cd ../xxx/ 以相对路径进入指定目录
cd ~ 进入用户家目录
cd - 返回最近访问目录
这里的绝对路径是相对于根目录的,而相对路径是相对于当前所在目录的。
四、touch指令:创建文件
1、作用
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
2、语法
touch [选项] 文件名
3、常用选项
直接加文件名 新建一个文档
-a 更改存取时间。
-c 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
五、mkdir指令:创建目录
1、作用
make directory,创建一个目录。
2、语法
mkdir 目录名
3、常用选项
mkdir –p xxx/xxx : 递归建立多个目录
六、rm指令:删除
1、作用
删除文件或者目录。但是在删除目录的时候,我们需要添加-r选项。
2、语法
rm [选项] 文件名或者目录名
3、常用选项
-r 删除目录及其下的所有文件
-f 强制删除,即使文件属性为只读也能直接删除
-i 删除前逐一询问确认
七、man指令:手册
1、作用
学到这里,我们发现Linux的命令有很多参数,我们不可能全记住,那么此时,我们可以通过查看联机手册获取帮助。这也就是man指令的作用。
2、语法
man 选项 命令
3、常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按
下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
八、cp指令:复制
1、作用
复制文件或目录。
2、语法
cp [选项] 源文件或目录 目标文件或目录
如果我们写的是:
源文件 + 目标目录,那么就会在目标目录下创建一个同名文件,并且在文件内复制源文件的内容。
如果我们写的是:
源文件 + 目标文件,那么就是利用源文件中的文件内容覆盖目标文件中的内容。但目标文件的名字保持不变。
如果我们想要复制一个目录的话,我们的两个位置都需要写目录名,同时还要加上 -r 的选项。
3、常用选项
-f 强行复制文件或目录,不论目的文件或目录是否已经存在。
-i 覆盖文件之前先询问用户
-r 递归处理,讲指定目录下的文件与子目录一并复制处理。
九、mv指令:剪切
1、作用
mv命令是move的缩写,他的作用是用来移动文件(剪切)或者进行文件改名。
2、语法
mv [选项] 源文件或目录 目标文件或目录
如果写的是目标文件的话,那么就会将目标文件重命名。
如果写的是目标目录的话,那么就会将源文件或目录移动到目标目录的下面。
3、常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
十、cat指令:查看内容
1、语法:
cat 选项 文件
2、作用:
查看目标文件内的具体内容。
3、常用选项:
-b 对非空输出行进行编号
-n 对输出的所有行编号
-s 不输出多行空行
十、more命令:查看内容
1、语法:
more 选项 文件
2、功能:
cat命令是一口气直接输出出来,但是more指令是只输出一部分,我们可以通过键盘控制,让其向下滚动剩余内容,不会一口气全部输出,但是它只能向下滚动,无法向上滚动,因此比起more选项,我们稍后介绍的less更好用。
3、常用选项:
-n 对输出的所有行进行编号
q 退出more
十一、less命令:查看内容(推荐)
1、语法
less 选项 文件
2、功能
less与more类似,less也是将一部分输出到终端,我们可以通过方向键滚动查看内容。
3、常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n: 重复前一个搜索(与 / 或 ? 有关)
N: 反向重复前一个搜索(与 / 或 ? 有关)
q: quit
十二、head命令:
1、语法:
head 选项 参数 文件
2、功能:
显示文件中内容的开头部分,具体行数取决于我们的参数设定,如果不写参数也是可以的,默认输出前十行。
3、选项:
-n 行数 :决定显示的行数
比如:
十三、tail命令:
1、语法:
tail 选项 参数 文件
2、作用:
和head类似,查看的是一个文件的尾部内容,参数由我们的参数决定,如果不写参数,默认是10。
3、常用选项:
-f 循环读取
-n <行数> 显示行数
十四、时间相关的命令:
1、data:
(1)功能1:显示时间
显示具体的时间。
(2)语法1:
date +[OPTION]... [+FORMAT]
我知道看这个语法是不太明白什么意思的,但其实data的使用就像我们的C语言中的printf()
函数。我们先明白下面几个占位符的含义:
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒(00..61)
%d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
然后我们指定一下格式,比如我们将年月日之间用冒号隔开,小时分钟和秒之间用 - 隔开。
date +%Y:%m:%d:%H-%M-%S
如果我们嫌麻烦的话,可以直接使用下面的选项:
%X : 相当于 %H:%M:%S
%F : 相当于 %Y-%m-%d
(3)功能2:设定时间
除了显示时间外,我们还能修改时间。
(2)语法2:
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
2、时间戳:
(1)语法:
时间转化为时间戳:
date +%s
时间戳转化为时间:
date -d@时间戳的数字
十五、cal命令:
1、语法
cal [参数][月份][年份]
2、功能
用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
3、选项
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
十六、find命令:查找
1、作用
在文件树中查找文件,并做出相应的处理(可能是访问磁盘)
2、语法
find 名称 选项
3、常用选项
-name 按照文件名查找文件
十七、grep命令:查找
1、作用:
在文件中查找字符串。
2、语法:
grep [选项] ’字符串‘ 文件
十八、zip/unzip命令:解压
1、作用:
zip是将目录或文件压缩为zip格式,unzip是将zip格式的压缩文件解压。
2、语法:
zip 压缩文件.zip 目录或文件
比如:
将test2目录压缩: zip test2.zip test2/*
解压到tmp目录: unzip test2.zip -d /tmp
3、常用选项
-r 递归处理,将指定目录下的所有文件和子目录一并处理