一.
1.linux操作系统的基本结构
--kernel
查看linux内核 /boot/vmlinuz-2.6.el5 uname -a
2.4/2.5实验内核/2.6 网站kernel.org
查看linux内核内容 ls /lib/modules/2.6.28/kernel
--modules 驱动模块
--lib 基础库
--shell shell模块
--tools 应用软件
2.终端控制台
--系统启动可以选择是否图形界面xwindow处于内核外以软件包存在
alt+f1/f2/f3切换终端控制台,默认有6个文本控制台 alt+f7切换到xwindow
从xwindow切换文本控制台ctl+alt+f1/f2/f3
w查看终端登录用户 echo 'this is test tty' > /dev/tty2
踢掉登录控制台用户skill -9 pty/2//tty名称
--启动xwindow startx 启动第二个xwindow start -- :1
xwindow运行时耗费120M内存,服务器一般不开启
二.
--linux安装
boot:linux ks=nfs:192.168.0.254:/var/ftp/pub/ks.cfg安装部署多个Linux系统,通过anaconda程序加载ks.cfg配置文件 /无人值守
Linux text安装文本模式
Linux dd 安装硬盘驱动(sici)所在的磁盘
linux rescue 修复模式 如修复grup文件 grup-install /dev/sda
分区:创建自定应的分区
/boot 系统启动相关:编译内核 initd等
/swap 交换空间 内存1-2倍大小
/ 根分区
/tmp 临时目录
/log 日志目录
分区最多4个主分区(包括主,扩展),第5个为逻辑分区(在第4个分区下)
软raid分区/raid0 raid1 raid5 raid10(可用硬盘,分区来做)
LVM逻辑卷管理 PV-VG-LV
设置网络ip和主机名-设置时区-定制软件包
可使用 clt+alt+f2进入shell命令模式 cltr+alt+f3查看安装参数 cltr+alt+f4查看安装错误信息
三.
文本模式下配置Linux
-system-config-network在窗口配置网络,主机名,DNS服务器
service network restart
配置当前会话的配置信息 ifconfig eth0 ip地址,无需重启服务
-linux下寻求帮助
-shell内部命令 type 命令 shell本身的命令。外部命令通过shell调用
-寻求帮助 help 内部命令/外部命令 --help
-man
-直接通过man查看
man 5 配置文件 man 1 命令 man 2 函数 man 3 库
四.
1.修改主机名 /etc/sysconfig/network HOSTNAME的值重启生效
2.修改Ip地址/etc/sysconfig/network-script/ifc-eth0
3.临时更改hostname tom//ifconfig eth0 192.168.1.113
4.重启网络服务service network restart
5.查看系统类型 内核版本 系统架构平台uname -a
6.显示用户信息 用户id 组id id -u/g
7.显示日期date date +%y%m%d 年月日 date +%F-%T 完整年月日时分秒
如生成日期日志touch `date +%F-%T`.log或者cal显示日历
8.查看文件详细类型file 文件名
9.mount挂载设备 mount /dev/cdrom-hrc,sdb,hdb /目标目录
linux系统结构一颗树有多个树节点,window多颗树
mount 查看系统挂载点
mount -t vfat手动指定u盘文件系统
mount -t iso9660 手动指定光盘文件系统
mount -t cifs //192.168.0.1/tools 挂载共享目录
mount -t cifs -o username=adminstrator //192.168.0.1//tools 指定用户
mount 192.168.0.254:/var //ntfs网络文件系统挂载
制作iso镜像
cat /dev/cdrom > a.iso
mount -t iso9660 -o loop a.iso /mnt
10.查看文件和文件目录 磁盘分区 ll -h du -h df -h
11.关闭/重启系统命令 shutdown -h/r now多人在线/init 0/6
五.
-用户及组管理命令
-useradd test 执行过程-->
/etc/passwd-->/etc/shadow-->/group-->mkdir /home/test
-->cp -r /etc/skel/.* /home/test
-->chown -R test.test|子目录| /home/test
-userdel -r test
删除用户目录
-usermod -G root,mysql,oracle test改变指定所属组
-groupadd -g root -G mysql test||test用户加入root和mysql组
-gpasswd -M test,ttt,sherk root把三个用户加入root组
六.
--查找文件 which/whereis
find 路径 -name 名称||"正则表达式" -exec||执行程序 file||rm||ll {} \;
-ok||交互询问 file||rm||ll {} \;
find 路径 -user [] -a/o||并且或者 -group [] 名称 所属用户,组
find 路径 -type d/c/s文件类型
find 路径 -perm -777 文件权限
--grep
grep 关键词 -R 路径 -i大小写 -a前后几行
七.
--打包压缩
--打包
tar c[创建]v[可视化]f[文件名]r[追加]x[解压]t[只查看]z[解压缩]
tar cvf /tmp/root.tar /ect/test /etc/group
tar rvf /tmp/root.tar 追加打包目录 /etc/passwd /etcshadow
tar xvf /tmp/root.tar
--解压缩
tar cvfz /tmp/root.tar.gz打包压缩 -C指向解压目录
tar xvfz /tmp/root.tar.gz解压归档
八.
--文本处理及正则表达式
--cat more[逐屏查看]less[逐行查看]head[默认头10行]tail[默认尾10行]
tail -f /var/log/messages日志文件 动态查看文件改变变化
sort -n[大小] -r[从大到小]
--正则表达式
--输出重定向
标准输入stdin:0默认为键盘,
标准输出stdout:1默认是终端屏幕, > //清空文件内容 > 文件名
标准错误输出stderr:2默认终端屏幕 2>/dev/null
&>文件名 输入内容,错误消息重定向或者 >文件名 2>&1
>>文件名,不清空
--输入重定向
cat > a.txt <<EEE||EOF 输入内容到a.txt遇EEE或EOF结束
shell脚本常用 cat > b.txt << EOF
install 包名
--管道:前一个命令的输出作为第二个命令的输入
ls /etc/ | wc -l 查看etc文件数
ls -l /etc/ |grep '^d'|wc -l 目录数
ls -l /etc/ |grep '^d'|tee list|wc -l 复制一份到list文件
九.
---网络相关命令
iptables -L查看防火墙内规则
iptables -F清空规则
---内核参数 存在/proc虚拟的文件系统下,运行在内存中实时更新状态
mount -t proc none /mnt查看内核参数
经常需要ls /proc/sys/目录下文件的更改
临时修改
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore _all
sysctl -w net.icmp_echo_ignore _all=1;
永久修改
vi /etc/sysctl.conf 修改变量的值-->sysctl -p//读取文件立即生效 -f 指定参数文件
sysctl -a显示可修改的内核参数
---系统信息的收集
hostname
vi /etc/hosts文件配置主机名 ip地址解析,保留127.0.0.1 localhost.localdomain localhost 192.168.1.100 tom
---系统进程
init初始进程pid=1
ps aux显示前后台进程 killall -9[强行] 进程名
十.
---shell
set查看普通变量 env查看环境变量
echo $PATH查看其变量值
AAA=aaaa设置普通变量
export PATH=$PATH:/添加环境变量
unset 变量名 删除变量
---history查询历史操作命令
.bash_history历史命令记录
.bash_logout用户退出执行操作,可清空历史操作
.bash_profile 用户登录执行
vi ~/.bash_profile 添加变量对当前用户永久有效
---bash中的运算符
*(多个) ?(一个) $ ! [abc] [^ab] {a,b,c}-{1,2,3}(交叉枚举) !$(上一个命令的最后一个参数) $?(上一个命令的执行返回值) &(后台运行)
""(字符串+$PATH(可显示)) ''(字符串屏蔽变量值($PATH)) ``(命令执行结果)
\转义符 ;可连接多条命令 &&(连接多条命令,前一条成功才执行后一条) ||(前一个为false执行后一条,反之)
例子[ -f|-d|-l|-b|-c|-x|-r|-w(文件目录链接设备字符可执行可读可写) /etc/passwwdd ] && echo ok
---bash配置文件
执行顺序 /etc/profile(所有人有效) -->/etc/bashrc(共有) -->~/.bash_profile(当前用户有效) -->~/.bashrc
su - 用户名时执行/etc/profile-->/etc/.bashrc
su 用户名 执行 /etc/.bashrc
十一.
---linux系统执行init,顺序如下
/etc/inittab配置文件
/etc/rc.d/rc.sysinit
/etc/rc.d/rc.x/xxx start|stop(软连接到/etc/rc.d/init.d/xxx)
/etc/rc.d/rc.local
打开 /dev/tty1-6
login-->bash
/etc/profile-->~/.bash_profile
---与bash下的bash.profile不同,其需要bash用户登录才执行脚本