Linux的基本原则
1)由目的单一的小程序组成,组合小程序完成复杂任务
2)一切皆文件
3)尽量避免捕获用户接口(尽量不和用户进行交互,就是一个程序一但开始运行,就不需要用户进行任何操作)
4)配置文件保存为纯文本格式
命令格式:命令+选项+参数
选项: 多个选项可以组合:-a -b = -ab
参数: 命令的作用对象
命令分为内部命令和外部命令
内部命令:是系统shell自带的命令
外部命令:是安装其他的程序产生的命令
PS:可以通过 type 查看命令是内部还是外部命令
命令举例:ls
选项:
-h → 做单位转换
-a → 显示以隐藏文件
-d → 显示目录自身属性
-r → 逆序显示
-R → 递归显示
-l → 显示文件/文件夹长格式详细信息
文件系统
/ linux操作系统的根目录
/bin/ 基础的用户命令二进制程序, 为所有用户使用
/dev/ 外部挂载的设备,也称为特殊文件
/home/ 普通用户的家目录
/lib/ 基本的共享库和内核模块
/media/ 为了移动设备的挂载点目录,例如光盘、U盘
/opt/ 可选目录,第三方程序的安装目录
/root/ 管理员的家目录
/sbin/ 系统二进制程序,一般为管理命令/bin和/sbin 系统自身启动和运行时可能会用到的核心二进制命令
/sys/ 伪文件系统,该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备
/usr/bin/ 大多数用户使用到的命令;/usr/sbin/ 非核心的系统命令;/usr/local/ 主要存放那些手动安装的软件
/boot/ 系统启动相关的静态文件,如内核、initrd或者initramfs,以及grub(bootloader)
/etc/ 配置文件存放目录
/mnt/ 挂载点目录,额外的临时文件系统
/proc/ 内核及进程信息的虚拟文件系统,内核映射文件,只存在内存中,它以文件系统的方式为访问系统内核数据的操作提供接口
/tmp/ 存放临时文件, /var/tmp
/var/ 经常变化的文件(内容发生变化)
应用程序的组成部分
二进制文件、库文件、配置文件、帮助文件
路径:
绝对路径:凡是以“/”开头的输入路径的方式都是绝对路径
相对路径:凡是以“.”或者“…”开头的都是相对路径
每个绝对路径都可以切割成2部分:
基名: basename /path/to/somewhere 结果为somewhere
目录名: dirname /path/to/somewhere 结果为/path/to
查看服务器基本信息
常用命令 命令含义
cat /proc/cpuinfo → 查看cpu信息
cat /proc/meminfo → 查看内存信息
free → 查看内存使用情况
uptime → 监控CPU情况
cat /etc/redhatrelease → 查看发行版信息
hostname → 查看主机名
ip addr → 查看ip信息
ifconfig → 查看ip信息
netstat → 查看网络连接信息、路由表等,常用来查看端口打开情况
fdisk -l → 查看硬盘信息
df → 查看设备挂载信息
文件查看和处理命令
touch → 创建文件
echo → 将用户输入的内容,显示在屏幕上
cat → 用来显示文件的内容
tac → 倒序查看文件内容
more → 显示文件内容,每次显示一屏
wc → 统计文件的行数\单词数\字符数
du → 统计文件和目录的大小
目录基本操作命令
ls → 查看目录内容
cd → 切换目录
pwd → 查看当前目录位置
mkdir → 创建目录(加 -p 创建多级目录)
rmdir → 删除空目录
rm → 可以删除一个目录中的一个或多个文件或目录
mv → 用来对文件或目录重命名或者将文件从一个目录移到另一个目录中
cp → 用来将一个或多个源文件或者目录复制到指定的目的文件或目录
vim
三种模式:命令模式、插入模式、末行模式
i: 在光标当前位置插入
I: 在光标所在行首插入
a: 在光标所在位置后插入
A: 在光标所在行尾插入
o: 光标所在行下方另起一行插入
O: 光标所在行上方另起一行插入
压缩和归档
压缩文件原理:经过压缩软件压缩的文件叫压缩文件,压缩的原理是把文件的二进制代码
压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。还有的压缩,同样是在二进制数据里,将所有的0删除并记录,压缩成压缩包,解压的过程中,会再次将0补充进去。压缩文件的基本原理是查找文件内的重复字节,并建立一个相同字节的"词典"文件,并用一个代码表示,比如在文件里有几处有一个相同的词"中华人民共和国"用一个代码表示并写入"词典"文件,这样就可以达到缩小文件的目的
打包:即归档,类似于旅游之前收拾行李
压缩:为了减少占用的磁盘空间,可以做备份,在网络上传输时节省网络带宽
windows:压缩软件:winrar,360压缩,好压,7zip,winzip,band压缩
linux:压缩格式:gz ,bz2,xz,zip
压缩软件:gzip bzip2 xz zip
以后常见的压缩包的格式:.zip .tar.gz .tar.bz2 .xz
既能打包又能压缩的软件:tar
常用压缩命令
压缩:zip
压缩后的文件一般以.zip结尾,可以压缩目录
压缩的语法:zip 压缩后的文件名 待压缩文件
(PS: 压缩后不删除原文件)
解压缩:unzip
-d:指定解压路径
压缩目录操作一样
压缩:gzip
默认会删除原文件
-d :解压缩
-#: 指定压缩比
压缩比越小,速度越大
(压缩其实是有级别的:1~9 1级别最低,速度最快,压缩率最低;9级别最高,速度最慢,压缩最高。gzip默认级别是6)
压缩:gzip
原文件消失,生成压缩文件
解压:gunzip
gzip的压缩包,在解压后,压缩包消失,解压后的文件出现
压缩:bzip2
默认情况下,压缩完成,原文件也是消失的,压缩包必须以.bz2结尾的
通常能够生成比使用gzip压缩更小的文件(压缩比较高)
解压:-d
-#:指定压缩比
-k: 保留原文件
压缩: xz somefile
解压:unxz或 xzdec
tar 既可以打包,又可以压缩
tar命令格式:tar 选项 包名 打包的文件或目录
文件搜索
which:用来查找命令的绝对路径
命令别名: alias
设置命令的别名
临时: alias vi=‘vim’
vi /etc/passwd //执行vi时候,实际上执行的是vim(vim有颜色提示)
永久:改文件/root/.bashrc
取消别名
unalias vi
vi /etc/passwd //没颜色了
find: 全局性搜索文件
工作方式:沿着文件的层次结构依次向下搜索,找到符合条件的,打印或者是执行相应的操作,一般情况下,查找范围越大,目录层级越深,查找速度就越慢
语法格式
find 要搜索路径 条件(选项) [动作]
通配符
*代表任意个数的任意字符
?代表单个任意字符
-nouser:孤儿文件 没有所有者的文件
-nogroup:没有所属组的文件