1.Windows和Linux的区别
a.linux严格区分大小写
b.linux中所有的内容以文件的形式保存,包括硬件
c.Linux不靠扩展名区分文件类型
d.Windows下的程序不能直接在Linux中安装和运行
2.linux系统分区
分区:把硬盘逻辑上分成几个不同的存储空间
分区类型:
主分区:最多只能有4个(磁道->扇区512KB 硬盘为分区表保留了64字节的存储空间,分区参数占据16个字节所有只能分4个)
扩展分区:
最多只能有一个
主分区加扩展分区最多有4个
不能写入数据,只能包含逻辑分区
逻辑分区:理论上最多23个
格式化:(写入文件系统)
FAT16 最大支持2G分区
FAT32 单个文件不超过4G
NTFS 分区大 文件大
ext2 ext3 ext4 linux默认ext4
硬件设备文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘 /dev/sd[a-p]
光驱 /dev/cdrom或/dev/hdc
软盘 /dev/fd[0-1]
打印机 /dev/lp[0-2]
鼠标 /dev/mouse
分区设备名
/dev/hda1 表示第一块IDE硬盘接口的第一个主分区
/dev/sda1 表示第一块SATA硬盘接口的第一个主分区
挂载(给分区分配挂载点的过程,挂载点类似于windows中的盘符)
必须分区:
/(根分区)
swap分区(交换分区或者虚拟内存,一般内存不足4G时,为内存的两倍。超过4G可以等于内存)
推荐分区:
/boot(启动分区,推荐200M,用于系统启动)
linux命令安装VMware Tool
1.输入“mount -t iso9660 /dev/cdrom /mnt/cdrom”将光盘挂载到/mnt/cdrom目录下
2.输入“ls /mnt/cdrom/”查看内容,输入“cp /mnt/cdrom/VMwareTools-9.2.0-799703.tar.gz /root/vm.tar.gz”,
将名为“VMwareTools-9.2.0-799703.tar.gz”复制到/root目录下,并重新命名为vm.tar.gz(不是必须)
3.在根目录下输入“ls”查看文件,输入“tar -xzf vm.tar.gz”将文件解压
4.进入新增目录“vmware-tools-distrib”,输入“./vmware-install.pl”尝试安装,未安装编译环境GCC要安装
5.GCC安装完一直enter就行
anaconda-ks.cfg 安装过程中设置的选项信息
install.log 存储了安装在系统中的软件包及其版本信息
install.log.syslog 存储了安装过程中留下的事件记录
Linux常用命令
命令提示符:[root@localhost ~]# root当前登录用户 localhost主机名 ~当前所在目录(家目录)
#超级用户提示符 $普通用户提示符 root用户根目录下的/root 普通用户 /home/user|test
命令基本格式:
命令 [选项] [参数]
ls -l /etc
ls [选项] [文件或目录] :查询目录内容
选项:
-a 显示所有文件,包含隐藏文件(.开头的文件是隐藏文件)
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode(id号)
ll==>ls -l
权限:
-rw-r--r--. 1 root root 28K 5月 13 00:53 install.log
10位 0位文件类型(-文件 d目录 l软链接文件)
rw- r-- r--
u所有者 g所有组 o其他人
r读 w写 x执行
.TODO
1引用计数(文件调用次数)
root 所有者
root 所属组
28k 文件大小
5月 13 00:5 文件最后一次修改时间
install.log 文件名
目录处理命令:
建立目录: mkdir -p [目录名]
-p递归创建
切换目录:
cd ~ cd进入当前用户的家目录
cd 进入家目录
cd - 进入上次目录
cd . 进入当前目录
cd ..进入上一级目录
pwd print work directory 打印当前目录
文件处理命令:
查看所在目录的位置pwd
删除目录:
rmdir [目录名] 删除空目录(极少使用)
删文件
rm -rf [文件或目录] -r删除目录 -f强制
复制文件:cp
cp [选项] [原文件或目录][目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
mv 剪切[目录]
mv anseon /tmp/an剪切
mv anseon an改名
常用目录的作用:
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关的文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户家目录
/lib系统库保存目录
/mnt系统挂载目录
/media 挂载目录
/misc 挂载目录(空)
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc /sys直接写入内存的(sys不能直接操作,是内存的挂载点)
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关文档内容
/bin /usr/bin 普通用户可操作的命令
/sbin /usr/sbin 超级用户可操作的命令
链接命令:
ln -s[源文件] [目标文件]
-s创建软链接
硬链接特征:
1.拥有相同的i节点和存储的block块,可以看成是同一个文件
2.通过i节点识别
3.不能跨分区
4.不能针对目录使用
软链接特征:
1.类似windows的快捷方式
2.软链接拥有自己的I节点和block块 ,但数据块中只保存原文件的文件名和I节点号并没有实际的文件数据
3.修改任意文件,另一个都改变
4.删除源文件,软链接不能使用
***软连接源文件和目标文件在不同目录下要写绝对路径
文件搜索命令:
locate 文件名(包含就行)
在后台数据库中按文件名搜索,速度很快
/var/lib/mlocate(locate命令所搜索的后台数据库,不同的版本可能名字不一样)
如果文件存在并且没有写错,却搜索不到需要执行updatedb更新数据库
搜索的策略:
/etc/updatedb.conf 配置文件
PRUNE_BIND_MOUNTS yes搜索按照文件中定义的规则
PRUNEFS 搜索时不搜索的文件系统
PRUNENAMES 搜索时不搜索的文件类型
PRUNEPATHS 搜索时不搜索的路径
命令搜索命令(shell命令找不到):
whereis which
whereis
搜索命令所在路径及帮助文档所在位置
选项:
-b :只查找可执行文件
-m:只查找帮助文件
[whoami我是谁 whatis 命令 我是干什么的]
which
搜索命令所在路径及别名(如果有)
PATH环境变量:定义的是系统搜索命令的路径
通过echo $PATH能获得搜索路径
帮助命令
man 命令 manual
获取指定命令的帮助
man -f 命令
等价于:whatis 命令
获取命令的帮助级别
exp: man 1 ls
查看和命令相关的所有帮助
man -k 命令
apropos 命令
选项帮助
命令 --help
shell内部解释器帮助
help shell内部命令
whereis cd 确定是否是shell内部命令
help cd 获取内部命令的帮助
info ls 详细命令帮助
常用压缩格式:
zip: .zip
zip 压缩文件名 源文件名
zip -r 压缩文件名 源目录
unzip 解压
g zip:.gz
gzip压缩源文件会消失
gzip -c 源文件 > 压缩文件(源文件保留)
gzip -r 目录(压缩目录下的子文件,不能压缩目录)
gzip -d 压缩文件
g unzip 解压
b zip2:(不能压缩目录).bz2
bzip2 源文件,不保留源文件
bzip2 -k 源文件,保留源文件
b unzip2 -d 解压
.tar.gz .tar.bz2(解决gz和bz2不能压缩目录的问题)
打包tar
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
tar -cvf gd.tar gd
解压
tar -xvf 打包文件名
选项: -x 解打包
tar -xvf gd.tar
最终做法:
tar -zcvf 压缩成.tar.gz文件
选项:-z 压缩为.tar.gz格式
tar -zcvf gd.tar.gz gd
tar -zxvf 解压缩
tar -zxvf gd.tar.gz
tar -jcvf 压缩成.tar.bz2文件
选项:-j 压缩为.tar.bz2格式
tar -jxvf 解压
指定解压位置
tar -jxvf 文件名 -C 位置
指定压缩位置
tar -jcvf 位置+文件名 文件1 文件2
查看压缩包中的内容:
tar -ztvf gd.tar.gz
关机和重启命令
shutdown [选项] 时间 [&]后台执行
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
其他关机命令(不推荐使用):
halt / poweroff / init 0
其他重启命令:
reboot / init 6
runlevel 查看当前的运行级别
cat /etc/inittab 查看默认运行级别的配置
退出登录
logout
其他常用命令:
挂载命令:
1.查询与自动挂载
mount 查询系统中已经挂载的设备
mount -a 根据配置文件/etc/fstab的内容自动挂载
2.挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t:加入文件系统的类型,可以是ext3,ext4,iso9660等文件系统
-o:指定挂载的额外选项
-o参数
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时是否更新文件的访问时间,默认更新
async/sync 异步/同步 默认为异步
auto/noauto 自动/手动 mount -a 命令执行时,是否自动安装/etc/fstab文件内容挂载,默认自动
defaults 定义默认值,相当于rw,suid,exec,auto,nouser,async这7个选项
exec/noexec 执行/不执行,设置是否允许在文件系统中执行可执行文件,默认exec 允许
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro 读写/只读 文件挂载时,是否具有读写权限,默认rw
suid/nosuid 具有/不具有SUID权限
user/nouser 允许/不允许普通用户挂载,默认nouser 只允许root可以挂载分区
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持
演示仅供了解
mount -o remount,noexec /home 重新挂载/home分区,使用noexec权限
cd /home
vi andy.sh .sh是脚本文件,文件内容中第一行必须是#!/bin/sh
chmod 755 andy.sh 给文件或目录设置权限
./hello.sh 执行脚本文件
实验完要把权限改回来
mount -o remount,exec /home
3.挂载光盘
①建立挂载点(任意已经存在的空目录)
mkdir /mnt/cdrom
②挂载光盘
mount -t iso9660 /dev/sr0 /mnt/cdrom (-t iso9660可以省略)
③卸载
umount 设备名/挂载点 umount /mnt/cdrom(不要在挂载目录卸载)
4.挂载U盘(挂载成功后也只能只读,了解就行)
先查看u盘的设备文件名
fdisk -l
①建立挂载点(任意已经存在的空目录)
mkdir /mnt/usb
②挂载U盘
mount -t vfat /dev/[设备文件名sdb1|sdc1...] /mnt/usb
③卸载
umount 设备名/挂载点 umount /mnt/usb(不要在挂载目录卸载)
用户登录查看和用户交互命令
w 用户名 查看用户的登录信息
命令输出:
USER 登录的用户名
TTY 登录的终端
FROM 从哪个IP地址登录
LOGIN@ 登录时间
IDLE 用户闲置时间
JCPU 和该终端连接的所有进程占用的时间
PCPU 当前进程所占用的时间
WHAT 当前正在执行的命令
who用户名
命令输出:
用户名
登录终端
登录时间(登录IP)
last
默认读取/var/log/wtmp文件中的数据
查询当前登录和过去登录的用户信息
lastlog
默认读取/var/log/lastlog文件中的数据
查看所有用户最后一次登录的时间
用户和用户组
/etc/group 存储当前系统中所有用户组的信息
Group: x: 0: andy,jack
组名称 组密码占位符 组编号 组中用户列表
/etc/gshadow存储当前系统中用户组的密码信息
Group: *: : andy,jack
组名称 组密码 组编号 组中用户列表
/etc/passwd存储当前系统中所有用户的信息
andy :x :500 :500 :* :/home/andy :/bin/bash
用户名 密码占位符 用户编号 用户组编号 用户注释信息 用户主目录 shell类型
/etc/shadow存储当前系统中所有用户的密码信息
andy :*****:17480:0:99999:7:::
用户名 密码
groupadd 组名 添加组
修改组名
groupmod -n newname oldname
修改组编号
groupmod -g 编号 组名
a.linux严格区分大小写
b.linux中所有的内容以文件的形式保存,包括硬件
c.Linux不靠扩展名区分文件类型
d.Windows下的程序不能直接在Linux中安装和运行
2.linux系统分区
分区:把硬盘逻辑上分成几个不同的存储空间
分区类型:
主分区:最多只能有4个(磁道->扇区512KB 硬盘为分区表保留了64字节的存储空间,分区参数占据16个字节所有只能分4个)
扩展分区:
最多只能有一个
主分区加扩展分区最多有4个
不能写入数据,只能包含逻辑分区
逻辑分区:理论上最多23个
格式化:(写入文件系统)
FAT16 最大支持2G分区
FAT32 单个文件不超过4G
NTFS 分区大 文件大
ext2 ext3 ext4 linux默认ext4
硬件设备文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘 /dev/sd[a-p]
光驱 /dev/cdrom或/dev/hdc
软盘 /dev/fd[0-1]
打印机 /dev/lp[0-2]
鼠标 /dev/mouse
分区设备名
/dev/hda1 表示第一块IDE硬盘接口的第一个主分区
/dev/sda1 表示第一块SATA硬盘接口的第一个主分区
挂载(给分区分配挂载点的过程,挂载点类似于windows中的盘符)
必须分区:
/(根分区)
swap分区(交换分区或者虚拟内存,一般内存不足4G时,为内存的两倍。超过4G可以等于内存)
推荐分区:
/boot(启动分区,推荐200M,用于系统启动)
linux命令安装VMware Tool
1.输入“mount -t iso9660 /dev/cdrom /mnt/cdrom”将光盘挂载到/mnt/cdrom目录下
2.输入“ls /mnt/cdrom/”查看内容,输入“cp /mnt/cdrom/VMwareTools-9.2.0-799703.tar.gz /root/vm.tar.gz”,
将名为“VMwareTools-9.2.0-799703.tar.gz”复制到/root目录下,并重新命名为vm.tar.gz(不是必须)
3.在根目录下输入“ls”查看文件,输入“tar -xzf vm.tar.gz”将文件解压
4.进入新增目录“vmware-tools-distrib”,输入“./vmware-install.pl”尝试安装,未安装编译环境GCC要安装
5.GCC安装完一直enter就行
anaconda-ks.cfg 安装过程中设置的选项信息
install.log 存储了安装在系统中的软件包及其版本信息
install.log.syslog 存储了安装过程中留下的事件记录
Linux常用命令
命令提示符:[root@localhost ~]# root当前登录用户 localhost主机名 ~当前所在目录(家目录)
#超级用户提示符 $普通用户提示符 root用户根目录下的/root 普通用户 /home/user|test
命令基本格式:
命令 [选项] [参数]
ls -l /etc
ls [选项] [文件或目录] :查询目录内容
选项:
-a 显示所有文件,包含隐藏文件(.开头的文件是隐藏文件)
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode(id号)
ll==>ls -l
权限:
-rw-r--r--. 1 root root 28K 5月 13 00:53 install.log
10位 0位文件类型(-文件 d目录 l软链接文件)
rw- r-- r--
u所有者 g所有组 o其他人
r读 w写 x执行
.TODO
1引用计数(文件调用次数)
root 所有者
root 所属组
28k 文件大小
5月 13 00:5 文件最后一次修改时间
install.log 文件名
目录处理命令:
建立目录: mkdir -p [目录名]
-p递归创建
切换目录:
cd ~ cd进入当前用户的家目录
cd 进入家目录
cd - 进入上次目录
cd . 进入当前目录
cd ..进入上一级目录
pwd print work directory 打印当前目录
文件处理命令:
查看所在目录的位置pwd
删除目录:
rmdir [目录名] 删除空目录(极少使用)
删文件
rm -rf [文件或目录] -r删除目录 -f强制
复制文件:cp
cp [选项] [原文件或目录][目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
mv 剪切[目录]
mv anseon /tmp/an剪切
mv anseon an改名
常用目录的作用:
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关的文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户家目录
/lib系统库保存目录
/mnt系统挂载目录
/media 挂载目录
/misc 挂载目录(空)
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc /sys直接写入内存的(sys不能直接操作,是内存的挂载点)
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关文档内容
/bin /usr/bin 普通用户可操作的命令
/sbin /usr/sbin 超级用户可操作的命令
链接命令:
ln -s[源文件] [目标文件]
-s创建软链接
硬链接特征:
1.拥有相同的i节点和存储的block块,可以看成是同一个文件
2.通过i节点识别
3.不能跨分区
4.不能针对目录使用
软链接特征:
1.类似windows的快捷方式
2.软链接拥有自己的I节点和block块 ,但数据块中只保存原文件的文件名和I节点号并没有实际的文件数据
3.修改任意文件,另一个都改变
4.删除源文件,软链接不能使用
***软连接源文件和目标文件在不同目录下要写绝对路径
文件搜索命令:
locate 文件名(包含就行)
在后台数据库中按文件名搜索,速度很快
/var/lib/mlocate(locate命令所搜索的后台数据库,不同的版本可能名字不一样)
如果文件存在并且没有写错,却搜索不到需要执行updatedb更新数据库
搜索的策略:
/etc/updatedb.conf 配置文件
PRUNE_BIND_MOUNTS yes搜索按照文件中定义的规则
PRUNEFS 搜索时不搜索的文件系统
PRUNENAMES 搜索时不搜索的文件类型
PRUNEPATHS 搜索时不搜索的路径
命令搜索命令(shell命令找不到):
whereis which
whereis
搜索命令所在路径及帮助文档所在位置
选项:
-b :只查找可执行文件
-m:只查找帮助文件
[whoami我是谁 whatis 命令 我是干什么的]
which
搜索命令所在路径及别名(如果有)
PATH环境变量:定义的是系统搜索命令的路径
通过echo $PATH能获得搜索路径
帮助命令
man 命令 manual
获取指定命令的帮助
man -f 命令
等价于:whatis 命令
获取命令的帮助级别
exp: man 1 ls
查看和命令相关的所有帮助
man -k 命令
apropos 命令
选项帮助
命令 --help
shell内部解释器帮助
help shell内部命令
whereis cd 确定是否是shell内部命令
help cd 获取内部命令的帮助
info ls 详细命令帮助
常用压缩格式:
zip: .zip
zip 压缩文件名 源文件名
zip -r 压缩文件名 源目录
unzip 解压
g zip:.gz
gzip压缩源文件会消失
gzip -c 源文件 > 压缩文件(源文件保留)
gzip -r 目录(压缩目录下的子文件,不能压缩目录)
gzip -d 压缩文件
g unzip 解压
b zip2:(不能压缩目录).bz2
bzip2 源文件,不保留源文件
bzip2 -k 源文件,保留源文件
b unzip2 -d 解压
.tar.gz .tar.bz2(解决gz和bz2不能压缩目录的问题)
打包tar
tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名
tar -cvf gd.tar gd
解压
tar -xvf 打包文件名
选项: -x 解打包
tar -xvf gd.tar
最终做法:
tar -zcvf 压缩成.tar.gz文件
选项:-z 压缩为.tar.gz格式
tar -zcvf gd.tar.gz gd
tar -zxvf 解压缩
tar -zxvf gd.tar.gz
tar -jcvf 压缩成.tar.bz2文件
选项:-j 压缩为.tar.bz2格式
tar -jxvf 解压
指定解压位置
tar -jxvf 文件名 -C 位置
指定压缩位置
tar -jcvf 位置+文件名 文件1 文件2
查看压缩包中的内容:
tar -ztvf gd.tar.gz
关机和重启命令
shutdown [选项] 时间 [&]后台执行
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
其他关机命令(不推荐使用):
halt / poweroff / init 0
其他重启命令:
reboot / init 6
runlevel 查看当前的运行级别
cat /etc/inittab 查看默认运行级别的配置
退出登录
logout
其他常用命令:
挂载命令:
1.查询与自动挂载
mount 查询系统中已经挂载的设备
mount -a 根据配置文件/etc/fstab的内容自动挂载
2.挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t:加入文件系统的类型,可以是ext3,ext4,iso9660等文件系统
-o:指定挂载的额外选项
-o参数
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时是否更新文件的访问时间,默认更新
async/sync 异步/同步 默认为异步
auto/noauto 自动/手动 mount -a 命令执行时,是否自动安装/etc/fstab文件内容挂载,默认自动
defaults 定义默认值,相当于rw,suid,exec,auto,nouser,async这7个选项
exec/noexec 执行/不执行,设置是否允许在文件系统中执行可执行文件,默认exec 允许
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro 读写/只读 文件挂载时,是否具有读写权限,默认rw
suid/nosuid 具有/不具有SUID权限
user/nouser 允许/不允许普通用户挂载,默认nouser 只允许root可以挂载分区
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持
演示仅供了解
mount -o remount,noexec /home 重新挂载/home分区,使用noexec权限
cd /home
vi andy.sh .sh是脚本文件,文件内容中第一行必须是#!/bin/sh
chmod 755 andy.sh 给文件或目录设置权限
./hello.sh 执行脚本文件
实验完要把权限改回来
mount -o remount,exec /home
3.挂载光盘
①建立挂载点(任意已经存在的空目录)
mkdir /mnt/cdrom
②挂载光盘
mount -t iso9660 /dev/sr0 /mnt/cdrom (-t iso9660可以省略)
③卸载
umount 设备名/挂载点 umount /mnt/cdrom(不要在挂载目录卸载)
4.挂载U盘(挂载成功后也只能只读,了解就行)
先查看u盘的设备文件名
fdisk -l
①建立挂载点(任意已经存在的空目录)
mkdir /mnt/usb
②挂载U盘
mount -t vfat /dev/[设备文件名sdb1|sdc1...] /mnt/usb
③卸载
umount 设备名/挂载点 umount /mnt/usb(不要在挂载目录卸载)
用户登录查看和用户交互命令
w 用户名 查看用户的登录信息
命令输出:
USER 登录的用户名
TTY 登录的终端
FROM 从哪个IP地址登录
LOGIN@ 登录时间
IDLE 用户闲置时间
JCPU 和该终端连接的所有进程占用的时间
PCPU 当前进程所占用的时间
WHAT 当前正在执行的命令
who用户名
命令输出:
用户名
登录终端
登录时间(登录IP)
last
默认读取/var/log/wtmp文件中的数据
查询当前登录和过去登录的用户信息
lastlog
默认读取/var/log/lastlog文件中的数据
查看所有用户最后一次登录的时间
用户和用户组
/etc/group 存储当前系统中所有用户组的信息
Group: x: 0: andy,jack
组名称 组密码占位符 组编号 组中用户列表
/etc/gshadow存储当前系统中用户组的密码信息
Group: *: : andy,jack
组名称 组密码 组编号 组中用户列表
/etc/passwd存储当前系统中所有用户的信息
andy :x :500 :500 :* :/home/andy :/bin/bash
用户名 密码占位符 用户编号 用户组编号 用户注释信息 用户主目录 shell类型
/etc/shadow存储当前系统中所有用户的密码信息
andy :*****:17480:0:99999:7:::
用户名 密码
groupadd 组名 添加组
修改组名
groupmod -n newname oldname
修改组编号
groupmod -g 编号 组名