在介绍命令前,先介绍几个相关目录:
/代表根目录。
./代表当前目录,一般会将/省去。
. . 代表上一级目录
Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或文件。
家目录:一般普通用户,家目录是/home/用户名。如/home/dutian
root用户,家目录是/root
如何普通用户切换到root用户:su root passwd:
如何从root用户到普通目录:exit
1.ls命令
语法:ls[选项][目录或文件]
功能:对于目录,该命令列出目录下的所有子目录与文件。对于文件,列出文件的文件名,权限及其他信息。
解释下目录和文件,在Linux中一切皆文件,而目录就是Windows下我们所说的文件夹,但在linux中我们称之为目录。
常用的选项:
-a:列出目录下的所有文件,包括以“.”开头的隐藏文件。
-l:列出文件的详细信息。包括文件的权限等。
-d:将目录像文件一样显示,而不是显示其下的文件。
-t:以时间排序
-1:一行只输出一个文件。
2.pwd 指令
语法:pwd
功能:显示用户当前所在的目录
3.cd指令
语法:改变工作目录,将当前工作目录改变到指定的目录下。
如:
cd ..:返回上层目录。
cd /home/dutian/main/:绝对路径
cd ../day01/:相对路径
cd ~:进入用户家目录。
cd -:返回最近访问目录。
4.touch指令
语法:touch [选项] 文件…
功能:touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者创建一个不存在的文件。
5.mkdir指令
语法:mkdir [选项]目录名
功能:在当前目录下创建一个目录。
例如:
mkdir -p test1/test :递归建立多个目录。test目录在test1目录下。
6.rmdir指令与rm指令
语法:rmdir [-p] [目录名]
使用对象:具有当前目录操作权限的所有使用者
功能:删除目录
-p:当子目录被删除后如果父目录也变成空目录时,就连父目录一起删除。
rm命令可以同时删除目录或文件。
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录。
-f:即使文件属性为只读,也可删除。
-i:删除前逐一询问确认。
-r:删除目录及其下所有文件,
7.man指令
语法:man [选项] 命令
功能:查找命令的功能
8.cp指令
语法:cp[选项]源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地时一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
-f:强行复制文件或目录,不论文件或目录是否已经存在。
-i:覆盖文件之前先询问用户。
-r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
1.复制文件
2.复制目录
(1)复制时如果源是一个目录,目标是不存在,则cp指令执行会创建目标目录,且会把第一个目录里面的内容,复制到新建的这个目标目录下
(2)复制时如果源是一个目录,目标是一个已经存在的目录,则cp指令执行会把整个源目录当作一个子目录一样拷贝到目标目录底下。
9.mv指令
语法:mv [选项] 源文件或目录 目标文件或目录
功能:1给文件或目录改名 2.移动
当第一个参数是文件,第二个参数文件,即给文件改名
当第一个参数是文件,第二个参数之前不存在,即给文件改名
当第一个参数是目录,第二个参数是之前不存在的,即给目录改名
当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
将目录test1移至目录22中。
10.cat/tac指令
语法:cat[选项][文件]
功能:查看目标文件的内容
-b:对非空输出行编号
-n:对输出的所以行编号
-s:不输出多行空行。
.
11.more指令
语法:more[选项][文件]
功能:在显示器上阅读文件的过滤器。用于分页显示文本,back往上翻,enter向下翻。
-n:对输出的所有行编号
q退出more
ls -l | more:列出当前目录中的文档,并把输出送给more命令作为输出,more命令分页显示文件列表。
ls -l / | more :显示根目录下的文档。
12**.less指令**
less和more类似但是有搜索功能,按/进入搜索状态 n找下一个,N找上一个
13.head指令
head指令用来显示开头某个数量的文字区块,head用来显示档案的开头至标准输出中。
语法:head[参数]…[文件]…
功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
-n<行数>显示的行数。
14.tail指令:
tail命令从指定点开始将文件写到标准输出。tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
语法:tail[参数][文件]
-f:循环读取
-n<行数>显示行数
因为下面例子中涉及到管道与输出重定向,下面来解释两个概念。
管道:标识符为“|”,作用为:将两个命令隔开,管道符坐便命令的输出就会作为管道符右边的输入。连续使用管道意味着第一个命令的输出会成为第二个命令的输入,第二个命令的输出称为第三个命令的输入。
输出重定向:>:是定向输出到文件,如果文件不存在就创建文件,如果文件存在,就将其清空。>>:将输出内容追加到目标文件中,如果文件不存在,就创建文件,如果文件存在,则将新的内容追加到那个文件的末尾。
有一个文件共有100行内容,取出第50行的内容。
seq 1 100 >test //生成1到100的序列输入到test内。
seq为linux下的一个预设的外部命令。
方式1:head -n50 test>tmp //将前50行输入到tmp中
tail -n1 tmp //得到中间的行
方式2:head -n50 test | tail -n1
15.时间相关的指令:
date显示时间:date +%Y:%m:%d
时间戳:date+%s:表示从1970年1月1日开始所经过的秒数,不考虑闰秒。
16:Cal指令:显示日历
17.find指令
用法:find pathname -options
功能:用于在文件树中查找文件,并作出相应的处理。
18.grep指令
语法:grep[选项]搜索字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来。
-i:忽略大小写
-n:输出行号
-v:反向选择
19.zip/unzip指令
语法:zip 压缩文件.zip目录或文件
功能:将目录或文件压缩成zip格式。
-r:递归处理,将指定目录下的所有文件和子目录一并处理。
zip -r test2.zip ./* 将当前目录下的所有文件和文件夹压缩成test.zip文件。
解压到tmp目录:unzip test2.zip -d /tmp
20.tar指令:打包、解包。