pwd:显示当前所在的目录(并且是绝对路径)
拓展:绝对路径与相对路径
绝对路径:
相对路径:以./或者../开头的路径是相对路径
./pwd:去执行当前文件夹下的pwd程序,当前路径是bin,pwd文件会显示当前的路径。
假设当前路径是/home/lxm/ask,并且lxm目录下面除了ask之外还有vedios,那么执行了cd ../vedios/之后当前路径就会变成/home/lxm/vedios。
ls:显示当前目录下的文件
ls 目录名(目录名必须是绝对路径):指定显示目录名下面的内容
ls -l(l是long的缩写):显示目录名下面更详细的文件信息(文件属性 链接数 文件所有者 文件所属用户组 文件大小 最后修改时间 文件名 )
ls -a(a是all的缩写):显示目录名下面的所有文件(.xxx是隐藏文件)
ls -al(或者ls -la):显示目录名下面所有文件的详细信息
ls -h(h是human-able的缩写):将文件大小以K(KB)、M(MB)、G(GB)表示
cd:切换路径
cd ..返回到上一级路径
cd ../..返回到上上级路径
cd+Tab键的妙用:
比如想跳到当前目录下的100ask_stm32mp157_pro-sdk目录下,但是又由于目录名很长,不建议手动输入全称,可以输入cd 1之后按下TAB键就会自动补全名称。
下图是进入下一级路径
mkdir:创建文件夹或者目录
mkdir -p 父目录/子目录:连续创建多级目录(父目录和子目录),如果父目录或者子目录不存在或者都不存在,则需要加入-p参数。
-p(parents的缩写)
rmdir:删除文件夹
注意:rmdir不能删除非空目录
如何删除非空目录呢?rm -r
mv(move的缩写):修改文件(目录)名、移动路径
1、mv 旧文件名 新文件名 =====>修改文件名
2、mv 旧目录名 新目录名 ======>修改目录名
3、mv 文件名 目录名 =======>修改路径 将当前路径下的文件名移动到目录名下面
home虽然是目录名,但不是当前目录,因此会误以为是新建目录名或文件名
mv 文件名 ~
touch:新建文件
同一目录无法创建同名的文件
linux的文件名是区分大小写的,如BABA和baba是不同的文件
cp:复制文件(目录 )
cp 源文件名 目标文件名
tes2文件里面的内容跟test1文件里面的内容完全相同。
cp 源文件名 目标目录名
cp -i 文件名 目标目录名 如果目标目录名下面有同名的文件名,加入-i参数就会要求你确认是否覆盖同名的文件
cp -r 源目录名 目标目录名 :复制源目录下的所有内容到目标目录下面
其中,-r参数是递归复制
cat:显示文件里面的内容到终端。
cat file1 将file1的内容打印到标准输出中
cat file1 file2 将file1和file2的内容打印到标准输出中
cat -n file1 显示内容并在内容前显示行号
gedit:编辑文件
rm:删除 文件 (目录)
rm -r 目录名
rm -i 文件名
删除文件,删除前要求你确认是否同意删除,其中y表面同意删除,n表示取消删除。
rm -ir 目录名 删除目录名,删除前要求你确认是否同意删除,其中y表明同意删除,n表明取消删除
clear:清除屏幕的所有显示内容
clear 刷新屏幕,保留历史命令操作记录
说明:此命令本质上只是让终端先后翻一页,当向上滚动鼠标时,还是可以看到之前命令的操作记录
reset:重新初始化屏幕,清除历史命令操作记录
gcc :编译c文件
桌面上有一个hello.c文件,我们需要将其编译一下,需要定位到该路径下面
编译完成之后就会生成编译文件
man(man就是manual(手册)的缩写,使用的最多):提供命令、API、概念、配置文件等帮助信息
man man:查看man手册的说明,man手册一共有9册,每一册专注一个方面,当同时在几个手册里包含时,需要指定哪本手册,以确定具体的含义。
man ls 当没有指定使用哪一页时,默认使用第1页
man 1 ls
man 1 gcc : gcc是一个应用程序,在Linux中一般使用gcc编译器来编译C/C++语言的程序
man 2 open 查看系统调用open的man手册说明
info(info是information的缩写)
info ls
help
如:ls -help
find
目的:查找符合条件的文件
格式:find 目录名 选项 查找条件
举例:
1)find /work/001_linux_basic/dira/ -name "text.txt"
说明:
a)/work/001_linux_basic/dira/指明了查找的路径
b)-name表明以名字来查找文件
c)"text.txt",表明查找名为text.txt的文件
同理:
find /work/001_linux_basic/dira/ -name "*.txt"
查找指定目录下面所有以.txt结尾的文件,其中*是通配符。
find /work/001_linux_basic -name "dira"
查找指定目录下面是否存在dira这个目录,dira是目录名。
注意:
1)如果没有指定查找目录,则为当前目录。
find . -name "*.txt" 其中.代表当前路径
find -name ".txt" 都是一样的功能
2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
find /home -mtime -2 查找/home目录下两天内有变动的文件
grep
目的:使用grep命令来查找文件中符合条件的字符串
格式:grep [选项] [查找模式] [文件名]
查找字符串时希望显示如下内容:
1)所在的文件名 -----grep查找时默认已经显示目标文件名
2)所在的行号 -------使用-n选项
grep -rn "字符串" 文件名
r(recursive):递归查找
n(number):显示目标位置的行号
字符串:要查找的字符串
文件名:要查找的目标文件,如果是*则表示查找当前目标下的所有文件和目录
注意:
1)可以加入-w全字匹配。
file
目的:识别文件类型
格式:file 文件名
linux下一切皆文件
举例:
file ~/.bashrc 为ASCII编码的text类型
file ~/.vimrc 为UTF-8 Unicode编码的text类型
file ~/pictures/* 如图形文件JPEG/PNG/BMP格式
file ~/100ask/ 为directory表明这是一个目录
file ~/bin/pwd 出现ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/* 出现character special(字符设备文件)、block special(块设备文件)等
which和whereis
目的:查找命令或应用程序的所在位置
格式:which 命令名/应用程序名
在终端上执行pwd实际上是去执行了/bin/pwd
举例:
which pwd 定位到/bin/pwd
which gcc 定位到/usr/bin/gcc
whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz
gzip和bzip2单个文件的压缩和解压
压缩的目的:在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。接受者接受文件后,解压即可。
压缩的类型:1)有损压缩:如MP4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而已,也没有影响,当然mp3音乐文件也是有损压缩。
2)无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。
单个文件的压缩(解压)使用gzip和bzip2
多个文件和目录使用tar
gzip的常用选项
-l(list) 列出压缩文件的内容
-k(keep) 在压缩或解压文件时,保留输入文件
-d(decompress) 将压缩文件进行解压缩
1)查看
gzip -l 压缩文件名
比如:gzip -l pwd.1.gz
2)解压
gzip -kd 压缩文件名
比如:gzip -kd pwd.1.gz
该压缩文件是以.gz结尾的单个文件
3)压缩
gzip -k 源文件名
比如:gzip -k mypwd.1
得到了一个.gz结尾的压缩文件
注意:
1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,并删除原有的文件,所以说,推荐使用gzip -k 来压缩源文件。
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。
3)gzip只能压缩单个文件,不能压缩目录。
提示:
man pwd会解压 /usr/share/man/man1/pwd.1.gz这个文件,然后读取该文件中固定的格式的一些信息,然后显示到终端中。
mypwd.1和pwd.1这两个文件压缩前是一样大的,压缩后不一样大了,因为压缩后的文件名称不一样。
gzip只能压缩文件,不能压缩目录。
bzip2来压缩单个文件
bzip2的常用选项
-k(keep) 在压缩或解压时,保留输入文件
-d(decompress) 将压缩文件进行解压缩
1)压缩
bzip2 -k 源文件名
比如:bzip2 -k mypwd.1
得到一个.bz2后缀的压缩文件
2)解压
bzip2 -kd 压缩文件名
bzip2 -kd mypwd.1.bz2
注意:
1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,并删除原有的文件,所以说,推荐使用bzip2 -k 来压缩源文件。
2)相同的文件内容,如果文件名不同,压缩后的大小也不同。
3)bzip2只能压缩单个文件,不能压缩目录。
单个文件的压缩使用gzip或bzip2,
压缩有两个参数:1)压缩时间 2)压缩比
一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩。
mypwd.1源文件大小为1477字节,
gzip压缩后mypwd.1.gz是877字节,
bzip2压缩后mypwd.1.bz2是939字节。
myls.1源文件大小7664字节,
gzip压缩后myls.1.gz是3144字节,
bzip2压缩后myls.1.bz2是3070字节。
tar常用选项
-c(create)表示创建用来生成文件包
-x:表示提取,从文件包中提取文件
-t可以查看压缩的文件
-z使用gzip方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩。
-j使用bzip2方式进行处理,它与"c"结合就表示压缩,与"x"结合就表示解压缩。
-v(verbose)详细报告tar处理的信息
-f(file)表示文件,后面接着一个文件名
-C <指定目录> 解压到指定目录
1、tar打包、gzip压缩
1)压缩
tar -czvf 压缩文件名 目录名
如:tar czvf dira.tar.gz dira
注意:
tar -czvf与tar czvf是一样的效果,所以说,后面统一取消-。
2)查看
tar tvf 压缩文件名
如:tar tvf dira.tar..gz
3)解压
tar xzvf 压缩文件名
tar xzvf 压缩文件名 -C 指定目录
如:tar xzvf dira.tar.gz 解压到当前目录
如:tar xzvf dira.tar.gz -C /home/book 解压到/home/book
2、tar打包、bzip2压缩
1)压缩
tar cjvf 压缩文件名 目录名
如:tar cjvf dira.tar.bz2 dira
2)查看
tar tvf 压缩文件名
如:tar tvf dira.tar.bz2
3)解压
tar xjvf 压缩文件名
tar xjvf 压缩文件名 -C 指定目录
如:tar xjvf dira.tar.bz2 解压到当前目录
如:tar xjvf dira.tar.bz2 -C /home/book 解压到/home/book