Linux基础
1、VMware简介
VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统。
VMware主要特点:
- 不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
- 本机系统可以与虚拟机系统网络通信
- 可以设定并且随时修改虚拟机操作系统的硬件环境
建议VMware配置
- CPU:建议主频为1GHz以上
- 内存:建议1GB以上
- 硬盘:建议分区空闲空间8GB以上
VMware实用功能:快照、克隆
2、系统分区
1、磁盘分区
磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。
分区类型:
- 主分区:最多只能有4个。
- 扩展分区:
- 最多只能有1个。
- 主分区加扩展分区最多有4个。
- 不能写入数据,只能包含逻辑分区。
- 逻辑分区,可以写入数据,正常格式化。逻辑分区编号从5开始,前4个编号必须给主分区或扩展分区。
2、格式化
格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTF32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。
3、硬件设备文件名
硬件 | 设备文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom或/dev/sr0 |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/lp[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
分区设备文件名
- 设备文件名
- /dev/hdal(IDE硬盘接口)
- /dev/sdal(SCSI硬盘接口、SATA硬盘接口)
4、挂载
- 必须分区
- / (根分区)
- swap分区(交换分区,内存2倍,不超过2GB)
- 推荐分区
- /boot (启动分区,200MB)
总结:
- 分区:把大硬盘分为小的逻辑分区
- 格式化:写入文件系统
- 分区设备文件名:给每个分区定义设备文件名
- 挂载:给每个分区分配挂载点
3、Linux系统安装
真实机器首次安装系统需要F2进入Boot修改启动顺序CD-ROM Driver,安装完将Hard Driver放在首位,虚拟机不需要这步操作,会智能判断。
1、安装欢迎界面
- “Install or upgrade an existing system” : 安装或升级现有系统
- “Install system with basic video driver” : 安装过程采用基本的显卡驱动
- “Rescue installed system” : 进入系统修复模式
- “Boot from local driver” : 退出安装从硬盘启动
- “Memory test” : 存储介质检测
2、密码原则
- 复杂性
- 8位字符以上、大小写字母、数字、符号
- 不能是英文单词
- 不能是和用户相关的内容
- 易记忆性
- 时效性
3、软件包选择
- Desktop(桌面)
- Minimal Desktop(最小化桌面)
- Minimal(最小化)
- Basic Server(基本服务器)
- Database Server(数据库服务器)
- Web Server(web 服务器)
- Virtual Host(虚拟主机)
- software development workstation(软件开发工作站)
4、远程登录管理工具
网络连接方式(与本机在同一个网段):
- 桥接模式:使用物理网卡VMnet0,占用IP地址,除了连接本机和互联网还可以连接局域网
- NAT模式:使用虚拟网卡VMnet8,可以连接本机和互联网,在无网络的情况也可以使用
- Host-only(仅主机)模式:使用虚拟网卡VMnet1,只能连接本机,在无网络的情况也可以使用
常用ssh工具:secureCRT、Xshell
5、其它概念
1、注意事项:
- Linux严格区分大小写
- Linux中所有内容以文件形式保存,包括硬件
- 硬件文件是/dev/sd[a-p]
- 光盘文件是/dev/sr0等
- Linux不靠扩展名区分文件类型,扩展名为了管理员便于管理
- 压缩包:“.gz”、“.bz2”、“.tar.bz2”、“.tgz”等
- 二进制软件包:“.rpm”
- 网页文件:“.html”、“.jsp”
- 脚本文件:“*.sh”
- 配置文件:“*.conf”
- Linux所有的存储设备都必须挂载之后用户才能使用,包括硬盘、U盘、光盘
- Windows下的程序不能直接在Linux中安装和运行
2、Linux各目录的作用
目录名 | 目录作用 |
---|---|
/bin | 存放系统命令的目录,普通用户和超级用户都可以执行,放在/bin下的命令在单用户模式下也可以执行 |
/sbin | 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境配置,但是有些命令可以允许普通用户查看 |
/user/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
/user/sbin/ | 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。在所有“sbin”目录中保存的命令只有超级用户可以使用,“bin”目录中保持的命令所有用户都可以使用 |
/boot/ | 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置,用来保持所有硬件设备文件 |
/etc/ | 配置文件保存位置,系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部保存在这个目录中,如用户账户和密码,服务启动脚步,常用服务的配置文件等 |
/home/ | 普通用户的家目录,每个用户都有一个默认登录位置(家目录),普通用户的家目录就是在/home下建立一个和用户名相同的目录,如用户aric的家目录就是/home/aric |
/lib/ | 系统调用的函数库保存位置 |
/lost+found/ | 当系统意外崩溃或者机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区备份恢复目录,/boot/lost+found就是/boot分区备份恢复目录 |
/media/ | 挂载目录,系统建议是用来挂载媒体设备,例如软盘和光盘 |
/mnt/ | 挂载目录,早期Linux中只有这一个挂载目录,并没有细分,限制这个目录系统建议挂载额外设备,如U盘,移动硬盘和其它操作系统的分区 |
/miss/ | 挂载目录,系统建议用来挂载NFS服务的共享目录 |
/opt/ | 第三方安装的软件保存位置,这个目录就是放置和安装其它软件的位置,手工安装的源码包软件都可以安装到这个目录中。/usr/local/目录也可以用来安装软件 |
/proc/ | 虚拟文件系统,改目录中的数据并不保存到硬盘中,而是保存到内存中。主要保存系统的内核,进程,外部设备状态和网络状态灯。如/ropc/cpuinfo是保存cpu信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net、是保存网络协议信息的 |
/sys/ | 虚拟文件系统,和/proc目录相似,都市保存在内存当中的,主要是保存于内核相关信息的 |
/root/ | 超级用户的家目录,普通用户家目录在/home下,超级用户家目录直接在 / 下 |
/srv/ | 服务数据目录,一些系统服务启动后,可以在这个目录中保存所需要的数据 |
/tmp/ | 临时目录,系统存放临时文件的目录,该目录下所有用户都可以访问和写入,建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
/usr/ | 系统软件资源目录,主要usr不是user的缩写,而是“Unix Softwre Resource”的缩写,所以不是存放用户数据,而是存放系统软件资源的目录。系统中安装的软件大多保存在这里 |
/var/ | 动态数据保存位置,主要保存缓存、日志、软件运行所产生的文件 |
3、服务器注意事项
- 远程服务器不允许关机,只能重启
- 重启时应该关闭服务
- 不要在服务器访问高峰运行高负载命令
- 远程配置防火墙时不要把自己踢出服务器
- 指定合理的密码规范并定期更新
- 合理分配权限
- 定期备份重要数据和日志
Linux常用命令
1、文件处理
1.1、命令格式与目录处理
命令格式:命令 [-选项][参数]
例子: ls -la /etc
说明:
1)个别命令使用不遵循此格式
2)当有多个选项时,可以写在一起
3)简化选项与完整选项 -a 等于 –all
命令名称:ls
命令原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:
ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件爱你
-l 详细信息显示
-d 查看目录属性
- rw-r–r–
- -文件类型(-二进制文件、d目录、l软链接文件)
- rw- r– r–
u g 0
u所有者 g所属组 o其他人
r读 w写 x执行
通过ll查看文件详细信息,ls -lh可以便捷查看文件大小。ls -i 查看文件i节点。
文件详细信息分为7部分:
1. 文件权限
2. 文件引用次数
3. 文件所有者
4. 文件所属组
5. 文件大小
6. 文件最后修改时间
7. 文件名称
1.2、目录处理
命令名称:mkdir
命令原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p [目录名]
功能描述:创建新目录 -p 递归创建
示例:
mkdir -p /tmp/test
命令名称:cd
命令原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd[目录]
功能描述:切换目录
示例:
cd /tmp/test 切换到指定目录
cd .. 切换到上一级目录
命令名称:pwd
命令原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
命令名称:rmdir
命令原意: remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述:删除空目录
命令名称:cp
命令原意:copy
命令所在路径:/bin/cp
执行权限:所在用户
语法:
cp -rp [原文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性
功能描述:复制文件或目录
命令名称:mv
命令愿意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
命令名称:rm
命令原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:
rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件
1.3、文件处理
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容 -n 显示行号
示例:
cat -n /tmp/install.log
命令名称:tac
命令所在路径:/usr/bin/tac
执行权限:所有用户
语法: tac [文件名]
功能描述:显示文件内容(反向列示)
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:
more [文件名]
(空格)或f 翻页
(Enter) 换行
q或Q 退出
功能描述: 分页显示文件内容
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页)
命令名称:head
命令所在路径:/user/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面几行 -n 指定行数,不指定n,默认查询10行
示例:
head -n 10 /home/install.log
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:
显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容
1.4、链接命令
命令名称:ln
命令原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:
ln -s[原文件] [目标文件]
-s 创建软链接 .soft软链接 .hard硬链接
功能描述:生成链接文件
软链接特征:类似快捷方式
1、lrwxrwxrwx l表示link软链接 ,软链接文件权限都为rwxrwxrwx
2、文件大小,只是符号链接
3、箭头指向源文件 issue.soft -> /etc/issue
硬链接特征:
1、拷贝cp -p + 同步更新
2、通过i节点识别,硬链接与源文件i节点相同
3、不能跨分区
4、不能针对目录使用
2、权限管理
2.1、权限管理chmod
命令名称:chmod
命令原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:
chmod [{ugoa}{+-=}{rwx}[文件或目录]]
[mode=421][文件或目录]
-R 递归修改
功能:改变文件或目录权限
权限的数字表示
r:4
w:2
x:1
-rwxrw-r–:764表示
代表符号 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
2.2、其它权限管理
命令名称:chown
命令原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:
chown [用户] [文件或目录]
功能描述:改变文件或者目录的所有者
示例:
# 修改文件temp的所有者为admin
chown admin temp
命令名称:chgrp
命令原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
示例:
# 改变文件temp的所属组为group1
chgrp group1 temp
命令名称:umask
命令原意: the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法: umask[-S] -S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
新创建的文件没有执行权限,文件夹会与umask显示权限相同。
设置默认权限 umask 777-默认权限对应数字,如:umask 022
3、文件搜索
3.1、文件搜索find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法: find [搜索范围][匹配条件]
功能描述:文件搜索, / 全盘搜索
示例:
# 根据文件名搜索, -name -iname不区分大小写
find /tmp -name test
# 根据文件大小搜索, +n大于 -n小于 n等于,大小以数据块计算,一个数据块512字节(0.5K)
find /tmp -size +3
# 根据所属组查找,如查找所属组为shuai的文件
find /tmp -user shuai
# 搜索文件名包含te的文件
find /tmp -name \*te*
# 搜索文件名以te开头的文件
find /tmp -name te\*
# 搜索文件名以test开头后面3个字符的文件
find /tmp -name test???
# 根据时间属性查找,-admin访问时间access -cmin文件属性change -mmin文件内容modify ,(+-=)时间
#如:在/tmp下查找120分钟内被修改过属性的文件和目录
find /tmp -cmin -120
# 多条件查找,-a两个条件同时满足 -o两个条件满足任意一个即可
find /tmp -size +3 -a -size -100
# 查找文件并显示其详细信息,-exec/-ok命令{}\;对搜索结果执行操作,ok是询问确认
find /tmp -name test -exec ls -l {} \;
# -type根据文件类型查找, f文件 d目录 l软链接文件
find /etc -name init* -a -type d
# -inum根据i节点查找
find . -inum 928490 -exec rm {} \;
3.2、其它搜索
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
updatedb更新资料库,如果放在/tmp下无法进行更新,locate查找不到
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which命令
功能描述:搜索命令所在目录及别名信息
示例: which ll
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
示例: whereis rm
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字符串] [文件]
功能描述:在文件中搜索字符串匹配的行并输出 -i不区分大小写 -v排除指定字符串
示例:
grep -i mysql /root/install.log
# 查看是跳过以#开头的行
grep -v ^# /etc/inittab
4、帮助
命令名称:man
命令原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法: man [命令或配置文件]
示例:
man rm
man services # 不需要写全路径名
man1:命令的帮助
man5:配置文件的帮助
优先显示命令的帮助,如果同名时要看配置文件,如:man 5 passwd
whatis 命令,得到命令的简短信息,如:whatis ls
apropos 配置文件,查看配置文件简短信息,如:apropos service
命令 –help,找到命令选项
info,也可以获取命令相关信息
命令名称:help
命令所在路径:Shell内置命令
执行权限:所有用户
语法:help 命令
功能描述:获得Shell内置命令的帮助信息
5、用户管理
命令名称:useradd
命令所在路径:/usr/sbin/useradd
执行权限:root
语法:useradd用户名
功能描述:添加新用户
示例:useradd shuai
命令名称:passwd
命令所在路径:/usr/binpasswd
执行权限:所有用户
语法:passwd 用户名
功能描述:设置用户密码
示例:passwd shuai
命令名称:who
命令所在路径:/usr/bin/who
执行权限:所有用户
语法:who
功能描述:查看登陆用户信息
tty:本地终端
pts:远程终端
命令名称:w
命令所在路径:/usr/bin/w
执行权限:所有用户
语法:w
功能描述:查看登陆用户详细信息
6、压缩解压
命令名称:gzip
原意:GNUzip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip [文件]
功能描述:压缩文件,只能压缩文件,不能压缩文件
压缩后文件格式: .gz
命令名称:gunzip
原意:GNUzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [文件]
功能描述:解压缩.gz文件
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:
tar 选项[-zcf] [压缩后文件名][目录]
-c 打包
-x 解包
-v 显示详细信息
-f 指定文件名
-z 解压缩
功能描述:打包目录
压缩后文件格式: .tar.gz
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法: zip 选项[-r] [压缩后文件名] [文件或目录] -r 压缩目录
功能描述:压缩文件或目录,会保留源文件,解压命令unzip
压缩后文件格式: .zip
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法:bzip2 选项[-k][文件] -k 产生压缩文件后保留源文件
功能描述:压缩文件,解压缩命令 bunzip2
压缩后文件格式: .bz2
示例:
tar -cjf test.tar.bz2 temp # 与tar命令一起使用
7、网络
指令名称:write
指定所在路径:/usr/bin/write
执行权限:所有用户
语法:write<用户名>
功能描述:给用户发信息,以Ctrl+D保存结束
指令名称:wall
指令原意:write all
指令所在路径:/usr/bin/wall
执行权限:所有用户
语法: wall [message]
功能描述:发广播信息
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
语法:
ping 选项 IP地址
-c 指定发送次数
功能描述:测试完了连通性
命令名称:ifconfig
命令原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
语法: ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息
示例:
# 设置网络ip,临时更改
ifconfig etho 192.168.134.10
命令名称:mail
命令所在路径:/bin/mail
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件
命令名称:last
命令所在路径:/usr/bin/last
执行权限:所有用户
语法:last
功能描述:列出目前与过去登陆系统的用户信息
命令名称:lastlog
命令所在路径:/usr/bin/lastlog
执行权限:所有用户
语法:lastlog
功能描述:检查某特点用户上次登陆的时间
示例:
lastlog
命令名称:traceroute
命令所在路径:/bin/traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机间的路径
命令名称:netstat
命令所在路径:/bin/netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t : TCP协议
-u : UDP协议
-l : 监听
-r : 路由
-n : 显示IP地址和端口号
示例:
netstat -tlun # 查看本机监听的端口
netstat -an # 查看本机所有的网络连接
netstat -rn # 查看本机路由表
命令名称:setup
命令所在路径:/usr/bin/setup
执行权限:root
语法:setup
功能描述:配置网络,redhat专有
命令名称:mount
命令位置:/bin/mount
执行权限:所有用户
命令语法:mount [-t 文件系统] 设备文件名 挂载点,卸载umount,挂载之后要卸载
示例:
mount -t iso9660 /dev/sr0 /mnt/cdrom/
8、关机重启
8.1、shutdown
语法:shutdown [选项] 时间
选项: -c:取消前一个关机命令 -h:关机 -r:重启
8.2、其它关机命令
- halt
- poweroff 直接断电,不建议使用
- init 0
8.3其它重启命令
- reboot
- init 6
8.4、系统运行级别
- 0 :关机
- 1 :单用户
- 2 :不完全多用户,不含NFS服务
- 3 :完全多用户
- 4 :未分配
- 5 :图片界面
- 6 :重启
cat /etc/inittab
修改系统默认运行级别
id:3:initdefault
runlevel:查询系统运行级别
8.5、退出登录
logout