打开终端时,我们输入信息的左边就是命令提示符,例如:
Linux命令提示符结构:
普通用户boy:boy@boy-virtual-machine:/$
根用户root:root@boy-virtual-machine:/#
@前面的是当前用户名boy,@后面到:的是主机名boy-virtual-machine,/是当前的目录,最后一个符号$表示当前的用户是普通用户,如果是root用户则为#。
由三个部分组成:command [-option] [parameter]
command
即为当前执行的命令,[-option]
为命令对应的选项,根据实际的命令搭配使用,[parameter]
为参数。
说明:
① [ ]中括号表示 该部分可选,可有可无,需要根据命令的实际需要而添加
② 命令、选项、参数都以空格分隔,不管几个空格都算一个空格
③ 命令输入完毕后,按回车“Enter”键启动
Linux下的根目录为“/”,从根目录下出发可以找到任意目录、任意文件。从根目录开始表示目录或文件的方法称为“绝对路径”。比如:
/home/book
/home/book/1.txt
/bin/pwd
有时候使用绝对路径太过麻烦,可以使用相对路径。假设当前正位于/home/book目录下,那么:
./1.txt 表示当前目录下的1.txt,即 /home/book/1.txt;“.”表示当前目录
../book/1.txt 表示当前目录的上一级目录里,book子目录下的1.txt
“/home/book/..”就是”/home”目录,”..”表示上一级目录
使用相对路径时:
.表示当前目录
..表示上一级目录
$ cd - // 进入上次目录, 比如先进入a目录再进入b目录,执行此命令后即回到a目录
$ cd ~ // 进入家目录
make directory创建新的文件夹/目录
-p
参数是创建带子目录的文件夹。
list
列出当前目录下的内容
cd可以带的参数较多:-l -a - h
-l
:long,带上这个参数可以显示出完成的文件信息。
-a
:all,显示所有的文件包含隐藏文件。
-h
:human readable,按照K/M/G的形式显示当前的文件大小。
$ cp -rfd dir_a dir_b
参数说明:
-r:recursive,递归地,即复制所有文件
-f:force,强制覆盖
-d:如果源文件为链接文件,也只是把它作为链接文件复制过去,而不是复制实际文件
remove删除
也可以用rm删除文件夹,需要加上参数-rf:rm -rf dirx
cat 命令用于连接文件并打印到标准输出设备上。
cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
使用find命令查找文件一般的格式:find 目录名 选项 查找条件
举例,按照名字查找文件:$ find /home/book/dira/ -name " test1.txt "
说明:
a) /home/book/dira/指明了查找的路径。
b)“-name”表明以名字来查找文件 。
c)“test1.txt”,就指明查找名为“test1.txt”的文件。
举例,按照后缀查找所有的txt文件,同样使用name参数:
$ find /home/book/dira/ -name " *.txt "
举例,查找dira文件夹/文件:find /home/book/dira/ -name "dira"
注意:
1) 如果没有指定查找目录,则为当前目录。
$ find . -name " *.txt " //其中.代表当前路径。
$ find -name " *.txt " //没加路径,默认是当前路径下查找。
2) find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
$ find /home/book -mtime -2 //查找/home目录下两天内有变动的文件。
grep是查找文件中符合条件的字符串,一般格式:
grep [选项] [查找模式] [文件名]
grep选项非常多,介绍一些常用的选项:
grep -rn “字符串” 文件名 r(recursive):递归查找 n(number):显示目标位置的行号 字符串:要查找的字符串 文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录。举例:
//在test1.txt中查找字符串abc grep -rn "abc" 在当前目录递归查找字符串abc
$ grep -n "abc" test1.txt
注意:可以加入-w全字匹配。
可以在grep的结果中再次执行grep搜索,比如搜索包含有ABC的头文件,可执行如下命令:
$ grep “ABC” * -nR | grep “\.h”
上述命令把第1个命令“grep “ABC” * -nR”通过管道传给第2个命令。即第2个命令在第1个命令的结果中搜索。
压缩的目的: 在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。 接收到文件后,解压即可。
压缩的类型有2种:有损压缩、无损压缩:
a. 有损压缩:如mp4视频文件,在压缩过程中减少了很多帧的数据,但是对观看者而言没有影响。当然mp3音乐文件也是有损压缩。
b. 无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现任何差异。
后面讲解的都是无损压缩。
单个文件的压缩(解压)使用gzip 和bzip2 ,多个文件和目录使用tar。
gzip常用选项:
-l(list) 列出压缩文件的内容。
-k(keep) 在压缩或解压时,保留输入文件。
-d(decompress) 将压缩文件进行解压缩。
举例:
1) 查看压缩文件
$ gzip -l pwd.1.gz
2) 解压文件
$ gzip -kd pwd.1.gz //该压缩文件是以.gz结尾的单个文件
3) 压缩文件
$ gzip -k mypwd.1 /得到了一个.gz结尾的压缩文件
注意:
1)如果gzip不加任何选项,此时为压缩
压缩完该文件会生成后缀为.gz的压缩文件,并删除原来的文件。
所以,推荐使用gzip -k来压缩源文件,这样会保留原来的文件。
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。
3)gzip只能压缩单个文件,不能压缩目录。
常用选项:
-k(keep) 在压缩或解压时,保留输入文件;
-d(decompress) 将压缩文件进行解压缩;
压缩实例:
$ bzip2 -k mypwd.1 得到一个.bz2后缀的压缩文。
解压实例:
$ bzip2 -kd mypwd.1.bz2
注意:
1)bzip2不加任何选项也同样是进行压缩,使用bzip2压缩文件输出的文件后缀。为.bz2,使用-k参数可以保留压缩/解压的输入文件。
2)bzip也只能压缩单个文件,不能压缩目录。
tar可以进行多个文件的压缩
tar常用选项:
-c(create):表示创建用来生成文件包 。
-x:表示提取,从文件包中提取文件。
-t:可以查看压缩的文件。
-z:使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-j:使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-v(verbose):详细报告tar处理的信息。
-f(file):表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定目录。
举例,tar打包、gzip压缩:
1)把目录dira压缩、打包为dira.tar.gz文件:
$ tar -czvf dira.tar.gz dira
2)使用-t
选项查看压缩文件:
$ tar tvf dira.tar.gz
3) 解压文件,可以用-C
指定解压到哪个目录:
$ tar xzvf dira.tar.gz //解压到当前目录
$ tar xzvf dira.tar.gz -C /home/book //解压到/home/book。
举例,tar打包、bzip2压缩:
1)把目录dira压缩、打包为dira.tar.bz2文件
$ tar cjvf dira.tar.bz2 dira
2)查看压缩文件
$ tar tvf dira.tar.bz2
3)解压文件,可以用-C 指定解压到哪个目录
$ tar xjvf dira.tar.bz2 //解压到当前目录:
$ tar xjvf dira.tar.bz2 -C /home/book //解压到/home/book
总结:
tar的-j
和-z
选项分别是使用bzip2和gzip工具压缩/解压,一般需要加上-f
,压缩时需要加上压缩后的文件名。
可以压缩多个文件,压缩目录。
类似windows的ipconfig,查看网络、设置IP。
ifconfig常用选项:
-a :显示所有网卡接口
up:激活网卡接口
down:关闭网卡接口
address:xxx.xxx.xxx.xxx,IP地址
设置IP地址:
ens160
是设置的网卡名,后面即为对应的IP地址。
$ sudo ifconfig ens160 192.168.1.137
使用方法:
file filename
查找命令或者应用程序所在的位置。
使用方法:
which 命令名/应用程序名
whereis 命令名/应用程序名。
参考百问网的教程和菜鸟教程:
https://book.100ask.net/source/chaptertwo/ELADCMSecondEditionChapterTwo.html#id3
https://www.runoob.com/linux/linux-tutorial.html