目录
一、初始Linux
1. Linux的起源
- Unix:Dennis Ritchie和Ken Thompson发明了C 语言,而后写出了 Unix的内核
- Minix:MINIX是一种基于微内核架构的类UNIX计 算机操作系统,由 Andrew S. Tanenbaum发明
- Linux:Linux内核 芬兰赫尔辛基大学的 研究生Linus Torvalds基于Gcc、 bash开发了
- Linux发行版:Linux发行版 因为Linux的内核是 开源的,在之后各个 公司开始通过Linux 的内核开发不同发行 版本的Linux
2. Linux是什么?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、 支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和 64位硬件。
- Linux内核:是一个Linux系统的内核,而不是一个操作系统
- Linux操作系统:红帽操作系统(RedHat),乌班图(Ubuntu)等 才是操作系统的名字,他们都使用Linux内核,我们 常常把它们笼统的称为Linux操作系统。
3. Linux内核版本
在Linux下通过终端 输入 uname -r 可以得到Linux的内核版本
4. Linux的应用
- 服务器 :Linux做服务器操作系统是它的强项, 市面上90%的服务器都是Linux https://toolbar.netcraft.com/site_ report
- 移动终端:底层是Linux的安卓系统的移动端的穿戴设备,Linux作为核心系统是首选
- 大数据:大数据需要大量的计算,需要消耗大量的内存和CPU的资源。对于没有图形界面的Linux来说,无疑是最好的选择
- 云计算:云计算将是未来数据和用户虚拟系统的管理,就需要使用Linux作为服务器
5. 终端
Linux 的终端就是控制台, 是用户与内核交互的平台, 通过输入指令 来控制内核完成任务操作。
6. Shell
shell是linux的外壳。是一个内核的解释器,让我们跟内核交流翻译的工具。、
- 命令的解释:可以解析我们给shell终端的命令,来控制操作系统做相关的功能。
- 保护操作系统:可以帮助我们通过一条简单的命令来调用系统函数或者系统接口,来依次完成我们需要的功能,不会导致调用错误或者其他问题导致系统不能正常使用。
7. Linux目录结构
/:
根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。/bin:
存放基本用户命令的二进制文件,如常用的命令ls、tar、mv、cat等。/sbin:
存放系统管理员命令的二进制文件,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。/boot:
存放启动 Linux 操作系统所需的引导文件和内核镜像。/etc:
存放系统配置文件。如:
/etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息. /etc/fstab 启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表. Linux下,也包括用swapon -a启用的swap区的信息. /etc/login.defs login 命令的配置文件.
/home:
用户主目录,也叫家目录。- /var: 存放变化文件,如日志、缓存等,这个路径就重要了!不论是登入、各类服务的问题发生时的记录、以及常态性的服务记录等等的记录目录。
/tmp:
临时文件目录,一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。/dev:
设备文件,在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。/proc:
虚拟文件系统,提供关于系统内核和进程的信息。/sys:
包含与系统硬件相关的信息。/usr:
用户程序目录。/usr/bin 存放应用程序 /usr/share 存放共享数据 /usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件 /usr/local:存放软件升级包,用于存放本地安装的软件,通常由系统管理员手动安装的软件会被放置在这里。 /usr/share/doc: 系统说明文件存放目录 /usr/share/man: 程序说明文件存放目录
/root:
超级用户 root 的主目录。/lib 和 /lib64:
共享库文件,存放/bin 和/sbin 目录下的二进制文件需要的共享库文件和内核模块。/opt:
存放可选的应用程序包,通常由第三方软件安装。/mnt:
用于挂载临时文件系统,管理员可以手动挂载其他设备或分区到这个目录。
二、基本命令
1. 基本的命令格式
命令字 【命令选项】【命令参数】 命令选项: -xxx xxx是什么作用 命令参数: 路径,或者文件名 空格用来做分隔符
2. shutdown 关机命令
关闭系统使用Shutdown命令,确保用户和系统的资料完整。只有root用户才能使用这个命令。一般的用户是不允许执行这个命令的。
shutdown [选项] 时间 [消息] 选项:-r 表示重启-h表示系统服务停滞(halt)后,立刻关机 -f表示快速重启 时间: 为shutdown指定时间。 消息:表示系统的广播信息
3. pwd 当前工作目录
显示当前工作目录
pwd [选项] [文件或目录] 选项: 无 文件或目录: 无
4. ls 查看目录内容
执行ls指令可列出目录的内容,包括文件和子目录的名称。
ls [选项] [文件或目录] 选项:-l : 每列仅显示一个文件或目录名称。 -a 或--all : 下所有文件和目录。 -i 或--inode: 显示文件和目录的inode编号。 文件或目录:制定的目录或这文件,如果没有这一项,默认当前目录。
ls -l 以列的方式显示
ls -a 显示所有包括隐藏目录
ls -all
5. cd 改变工作目录
在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录
cd [选项] [文件或目录] 选项: 无 文件或目录: 绝对路径:一定由根目录 / 写起 相对路径:相对于某一路径,其中.代表当前目录,..代表上一级目录 ~:表示家目录
cd /home 到home目录下
- 切换到上一级目录
cd ..
到当前用户的家目录
cd ~
6. uname 显示系统重要信息
会显示出关于系统的重要信息,如内核名称,主机 名,内核版本,处理机类型等
uname [选项] [文件或目录] 选项: -r:内核版本 -n: 主机名 -a: 所有信息 文件或目录: 无 备注: 查看发行版的版本 cat /etc/redhat-release
uname -a 显示所有系统重要信息
uname -r 内核版本
uname -n 主机名
7. touch 改变文件的时间(创建文件)
使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。注意的是如果文件不存在则创建文件。
touch [选项] [文件或目录] 选项: -t:使用指定的时间,而非现在的时间 文件或目录: 要改变的文件的路径。
- 在当前文件夹创建文件
- 在指定文件夹创建文件
- 创建多个文件
8. mkdir 创建目录
创建目录
mkdir [选项] [文件或目录] 选项: -p:递归创建目录,嵌套目录 文件或目录: 跟目录的路径 注意:文件名大小写敏感,不可超过255字符, 不可以使用/,建议不要~ \ < > ( ) $ * ? " '
- 在当前文件夹创建目录
mkdir dir1
- 在当前文件夹创建多个目录
mkdir dir2 dir3
- 在指定文件夹创建目录
mkdir /home/dir4
- 创建一个嵌套的目录
mkdir aa/bb/cc/dd/ee
9. cp 拷贝文件或目录
将文件和目录从一个目录拷贝到另一个目录
cp [选项] [源文件或目录] [目的文件或目录] 选项: -i:在拷贝过程中询问是否要拷贝 -f:在拷贝过程中不询问直接拷贝 -r:拷贝目录中的所有文件和目录 文件或目录: 源文件或目录:指的是需要拷贝哪个文件的路径 目的文件或目录:指要把源文件或目录拷贝到哪里的路径
cp aaaa aa 将aaaa文件拷贝到aa文件夹
- cp 只能拷贝文件 加了 -r可以拷贝目录
cp -r dir1 dir2 aa 将dir1 dir2 拷贝到aa
10. rmdir 删除空目录
删除空的文件目录
rmdir [选项] [目录] 选项: -p:删除指定目录上的所有目录 文件或目录: 要删除的文件目录的路径
rmdir dir4 删除dir4空目录
- 不能删除文件
- 不能删除非空目录
11. rm 删除文件或目录
删除文件或目录,执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
rm [选项] [文件或目录] 选项: -i:删除时询问是否要删除 -f: 删除时不询问直接删除 -r: 递归删除目录下的所有文件或目录 文件或目录: 文件或目录:所要删除的文件或目录的路径
rm bbbb 删除bbbb文件
- 无法删除目录
rm aa 无法删除目录
rm -r aa 删除aa目录下的所有文件或目录 会询问是否删除
rm -rf aa 不询问直接删除
【注意】
- rm 危险命令
- 除了y之外的任何字母都表示不删
12. mv 移动或更名
可移动文件或目录,或是更改文件或目录的名称
mv [选项] [源文件或目录] [目标文件或目录] 选项: -i:在移动时有覆盖是询问是否要覆盖 -f: 在移动时有覆盖不询问直接覆盖 文件或目录: 源文件或目录:要移动或更名的文件或目录 目标文件或目录:如果有不是当前路径的路径 就是要移动,如果是当前路径下就是更名
mv q4567 /home/ 将q4567 移动到home下
mv aaaa aaaamv 将aaaa更名aaaamv
13. tar
是要是用来打包或这解包,压缩或这是解压缩的一 个命令,常常用作备份文件使用,或将许多文件打成一个包并压缩。
打包
tar [选项] [目标包名] [源文件或目录] 选项: -c:创建一个包 -f: 定义目标包 目标包名: 要打成的包名 源文件名或目录名: 哪些文件要被打成包
tar -cf dabaowenjian.tar ./* 将所有文件和文件夹打包
查看
tar [选项] [包名] 选项: -t:查看 包 里面的文件! -f: 定义目标包 目标包名: 查看xxx.tar 的包的路径
tar -tf /home/dabaowenjian.tar 将tar包打开
添加
tar [选项] [包名] [源文件或目录] 选项: -r:将文件追加到包中 -f: 定义目标包 包名: 查看xxx.tar 的包的路径 源文件或目录: 要添加的文件或这目录
tar -rf dabaowenjian.tar zkt.txt 追加zkt.txt文件
解包
tar [选项] [包名] 选项: -x:将包 解包 -f: 定义目标包 包名: 查看xxx.tar 的包的路径
tar -xf /home/dabaowenjian.tar 解包
压缩
tar [选项] [压缩名] [源文件] 选项: -c:打包 -z:将打包的文件用gzip格式压缩 -v:显示过程- f: 定义目标包 压缩名: 指定压缩的名字 源文件: 要打包压缩的文件
tar -czf /home/dabaowenjian.tar.gz ./* 压缩
解压缩
tar [选项] [包名] 选项: -x: 解包解压 -z:以gzip的格式进行解压 -v:显示过程 -f: 定义目标包 包名: 查看xxx.tar 的包的路径
tar -xzf /home/dabaowenjian.tar.gz 解压缩
14. man手册
是Linux下的帮助指令,通过man指令可以查看 Linux中的指令帮助、配置文件帮助和编程帮助等信 息。
man [选项] 命令名 选项: -a:在所有的man帮助手册中搜索; -f:等价于whatis指令,显示给定关键字的简短描述信 息;
man ls 通过man手册查看ls
按q退出 linux
man man 查看用户命令 man 的帮助手册。