操作系统的发展
Linux之父:林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ )
Linux优势:
- 服务器领域:免费、稳定、高效
- 嵌入式领域: 可裁剪内核(内核最小可以达到几百KB等特点)
Ubuntu
ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面
-
路径:
- 绝对路径
- 以跟路径开始表示路径,如:
- /home/user
- 以家目录开始的
- ~/user
- 相对路径
- 以当前目录开始描述
- ./demo 当前目录下的demo文件
- …/demo 上一级目录下的demo文件
- demo 当前目录下的demo文件
- 绝对路径
-
用户划分:
- 文件所有者:创建文件的用户
- 文件用户组:与文件所有者同组的用户
[每当创建一个用户的时候,当我们没有给他指定用户组的时候,他会默认创建一个与用户名同名的用户组,一个用户可以同时存在于多个用户组] - 文件其他用户:系统内其他的用户,与文件所有者不同组的用户。
-
权限:
- 读取权限“r”,对于文件,可以读取文本的内容,对于目录,指的是浏览目录的权限
- 写入权限“w”,对于文件,新增或者修改文件内容的权限,对于目录指的是删除或者移动目录内的文件
- 可执行权限“x”,对于文件,执行文件的权限,对于目录,指的是具有进入目录的权限
第1个字母代表文件的类型:“d” 代表文件夹、“-” 代表普通文件、“c” 代表硬件字符设备、“b” 代表硬件块设备、“s”表示管道文件、“l” 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户组、其他用户拥有的权限。
每一个用户都有它自身的读、写和执行权限。
- 第一组权限控制访问自己的文件权限,即所有者权限。
- 第二组权限控制用户组访问其中一个用户的文件的权限。
- 第三组权限控制其他所有用户访问一个用户的文件的权限。
这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。
常用基本命令
1.命令常用方法
Linux命令格式:
command [-options] [parameter1] …
说明:
command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个
例如:
ls -a ./
2.查看帮助文档
- –help
一般是linux命令自带的帮助信息
例如:
ls --help
- man(manual)
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
例:man ls ; man 2 printf
man设置了如下的功能键:
功能键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出man命令
h 列出所有功能键
/word 搜索word字符串
例如:
man ls
- 自动补全:
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
- 历史命令:
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
Linux命令-文件、磁盘管理
- ls 查看文件信息
- ls 列举目录下的所有文件的文件名
- ls -a 查看所有的文件信息,包括隐藏文件
- ls -l 查看文件的详细信息
- ls -lh 显示文件大小的时候以人性化的方式显示
在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。
- 输出重定向命令: > 与 >>
- “>”
- 重定向,可以将命令显示的内容重定向一个文件中,使用此若文件存在则覆盖,若文件不存在,则创建
- “>”
- 重定向,可以将命令显示的内容重定向一个文件中,使用此若文件存在则追加,若文件不存在,则创建
-
显示文件内容/合并文件内容:cat
#显示文件内容(一次性显示,若文件过长会发生滚屏的情况) cat filename #将file1与file2的内容合并到file3文件中 cat file1 file2 > file3
-
touch 创建文件:
touch demo.txt
-
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。more demo.txt
-
管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
ls -lh | more
#通过管道我们可以写两个命令,前面的命令的输出是后面命令输入的内容,最后显示后面命令的输出
-
清屏:clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。注意:这个清除屏幕并不是删除之前的内容,而是让我们的屏幕向上滚动一页。
-
切换工作目录: cd
根目录:/家目录:~
快速回到家目录:
- cd
- cd ~
- cd /home/hfzeng/
-
显示当前路径:pwd
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。 -
创建目录:mkdir
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
mkdir -p a/b/c
-
删除目录:rmdir
可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。
-
删除文件:rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
-
建立链接文件:ln
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
ln 源文件 链接文件 ln -s 源文件 链接文件
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
总结:
1.给目录只能创建软连接,无法创建硬连接,因为不支持。
2.当给文件创建软连接的时候,若源文件与连接文件不在同一个目录下,我们必须使用绝对路径,若使用相对路径,一旦挪动连接文件的位置,则此链接就会失效,使用绝对路径不会出现这种情况。
-
文本搜索:grep
grep一般格式为:grep [-选项] ‘搜索内容串’文件名
在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep‘a ’1.txt。
常用选项说明:
grep常用正则表达式:
-
查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
-
拷贝文件:cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
-
移动文件:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
若目标文件存在并且是目录的情况下,则将源文件移动到指定目录下,若目标文件存在但是不是目录,则源文件覆盖目标文件,
若目标文件不存在,则将源文件进行重命名。
-
归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。tar使用格式
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
-
文件压缩解压:gzip
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
-
文件压缩解压:bzip2
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar -jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
-
文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
例如:#压缩文件 zip myzip * #解压文件到指定路径 unzip -d ./test myzip.zip
-
查看命令位置:which
which ls
-
查看目录结构:tree
sudo apt install tree
-
tail 命令 – 查看文件尾部内容
tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
-
echo命令 – 输出字符串或提取Shell变量的值
echo命令用于在终端设备上输出字符串或变量提取后的值
语法格式:echo 参数
echo "hello"
echo $PATH
- less命令 – 分页显示工具
less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
命令内部操作:
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- wc命令 – 统计文件的字节数、字数、行数
wc命令统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数