RedHat学习笔记Word格式文档下载.docx
《RedHat学习笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《RedHat学习笔记Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
/var包含系统守护进程所使用的信息,包括DNS配置、DHCP租期、邮件缓冲文件、HTTP服务器文件等等
/usr/local包含那些相对系统来说“本地化”的内容
/root根用户的主目录
/opt是安装许多非系统文件的地方
备份命令:
Tar<
选项>
<
-cf备份文件或设备>
备份路径>
恢复命令:
Tar<
-xf备份文件或设备>
-C恢复路径>
选项包括:
-M分卷处理
-p保留权限
-Tfilename制定备份文件列表
-NDATE备份指定日期之后修改的文件
-z用GNU的gzip压缩文件或解压
-Z用compress压缩文件或解压
-j用bzip2压缩文件或解压
举例说明:
Tar–cWMf/dev/fd0/usr/local
备份系统/usr/local下的所有内容,同时进行写入校验
Tar–cvf/dev/st0–N03/12/2005/
备份/目录下自03/12/2005修改过的文件到磁带设备/dev/st0中
Tar–cpf/dev/st0/--exclude=/proc
保持文件权限备份/目录(不包括/proc)到磁盘设备/dev/st0中
Tar–xpf/dev/st0–C/
恢复备份到/
Tar–xpf/dev/st0etc/passwd
从备份中恢复指定的文件etc/passwd
tar-xvfa.tar-C./test/
解压a.tar到test文件夹下,提前必须建立test文件夹
Linux系统中的权限
RWX
R代表4
W代表2
X代表1
例:
chmod777/tmp
Tmp文件夹的属性变成Drwxrwxrwx
特殊权限s和t属性相当于x属性
SetUID:
4
SetGID:
2
Stickbit:
1
数字要加载最前面
chmod4777tmp
Tmp文件夹的属性变成Drwsrwxrwx
特殊情况:
Chmod4677tmp
文件夹tmp属性变成DrwSrwsrwx
chmod1777tmp
Tmp文件夹属性变成Drwsrwxrwt
Chmod4766tmp
Tmp文件夹属性变成drwsrwSrw-
Chmod1666tmp
文件夹tmp属性变成drwSrwSrwT
因为stickbit属性是目录中的文件只有该目录的文件所有者才能删除。
第一个三位组中有s,第二个三位组中肯定有s属性
Umask补码介绍
当我们登陆系统之后创建一个文件或文件夹总是有一个默认的权限,这个权限的来源就是Umask干的事情。
Umask对于文件夹来说最大数字是7
Umask对于文件来说最大数字是6
在/tmp目录下面
Umask0022
解释:
最大权限是777
则该目录新建文件夹的权限就是777-022=755也就是rwxr-xr-x
则该目录新建文件的权限就是666-022=644也就是rw-r—r—
设置UMASK值一般可以在/etc/profile/etc/bashrc$[HOME]/.bash_profile$[HOME]/.profile或$[HOME]/.bashrc中设置umask值
一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。
如果希望永久性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile或.bashrc文件中。
在字符界面下刻录光盘
1:
检测刻录设备
Cdrecord–scanbus
2:
生成ISO文件
Mkisofs–r–o<
ISO文件名>
备份路径名>
mkisofs–r–o/tmp/muhome.iso/home
将/home目录下面所有的文件和文件夹制作成ISO文件,放到/tmp目录下,名字叫muhome.iso
3:
刻录光盘
Cdrecord–v<
speed=刻录速度>
dev=刻录机设备号>
cdrecord–vspeed=8dev=0,0/tmp/myhome.iso
挂载U盘
Fdisk–L
Mkdir/media/usb
Mount–tvfat/dev/sda/media/usb
如果显示
device
is
busy,
可以用如下命令进行卸载
fuser
-km
/mnt/udisk
umount
挂载cdrom
mkdir/mnt/cdrom
mount-oro/dev/cdrom/mnt/cdrom或者mount/dev/sr0/mnt/cdrom
#cdPackages进入rpm安装包目录
#rpm–ivhcreaterepo-0.9.8-4.el6.noarch.rpmdeltarpm-3.5-0.5.20090913git.el6.i686.rpmpython-deltarrpm-3.5-0.5.20090913git.e16.i686.rpm安装库包
createrepo–g/DVD/Server/repodata/8b9d3760efbb81b0e5db8a1f368bc5491eaa0a63014a1aba05c2a113a8545e24-comps-rhel60Server.xml/DVD/Packages把光盘目录/DVD下rpm包目录做成仓库
yuncleanall
yumupdate
yuminstall在线安装软件
yumlocalinstall脱机安装软件
cat/proc/meminfo校验内存使用
suuser切换用户
sudopasswduser更改用户密码
lspci-tv罗列PCI设备
lsusb-tv显示USB设备
yumgroupinstall"
XWindowSystem"
安装系统桌面
Desktop"
2:
文件和目录
cd/home进入'
/home'
目录'
cd..返回上一级目录
cd../..返回上两级目录
cd进入个人的主目录
cd~user1进入个人的主目录
cd-返回上次所在的目录
pwd显示工作路径
ls查看目录中的文件
ls-F查看目录中的文件
ls-l显示文件和目录的详细资料
ls-a显示隐藏文件
ls*[0-9]*显示包含数字的文件名和目录名
tree显示文件和目录由根目录开始的树形结构
(1)
lstree显示文件和目录由根目录开始的树形结构
(2)
mkdirdir1创建一个叫做'
dir1'
的目录'
mkdirdir1dir2同时创建两个目录
mkdir-p/tmp/dir1/dir2创建一个目录树
rm-ffile1删除一个叫做'
file1'
的文件'
rmdirdir1删除一个叫做'
rm-rfdir1删除一个叫做'
的目录并同时删除其内容
rm-rfdir1dir2同时删除两个目录及它们的内容
mvdir1new_dir重命名/移动一个目录
cpfile1file2复制一个文件
cpdir/*.复制一个目录下的所有文件到当前工作目录
cp-a/tmp/dir1.复制一个目录到当前工作目录
cp-adir1dir2复制一个目录
Cp–r/usr/test/usr/test1成批复制(子目录也被复制)
Cp/bin/ls.复制/bin下面的ls文件到当前目录“.”表示当前目录
ln-sfile1lnk1创建一个指向文件或目录的软链接
lnfile1lnk1创建一个指向文件或目录的物理链接
Touch创建一个新文件
设置开机模式:
Vi/etc/inittab
Id:
initdefault:
修改5为3即为开机文本模式
Shutdown–rnow
在Linux的系统下如何才能修改IP信息
以前总是用ifconfig(过时的命令)修改,(查看IP别名用ipaddrshoweth)重启后总是得重做。
如果修改配置文件,就不用那么麻烦了~
A、修改ip地址
即时生效:
#ifconfigeth0192.168.0.20netmask255.255.255.0
启动生效:
修改/etc/sysconfig/network-s/ifcfg-eth0
B、修改defaultgateway
#routeadddefaultgw192.168.0.254
C、修改dns
修改/etc/resolv.conf
修改后可即时生效,启动同样有效
D、修改hostname
#hostnamefc2
修改/etc/sysconfig/network
新启动网络配置
/etc/init.d/networkrestart
前提:
Redhat系统
ip,掩码:
编辑/etc/sysconfig/network-script/ifcfg-eth0
IPADDR=192.168.0.1
NETMASK=255.255.255.0
网关:
编辑/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xx
GATEWAY=192.168.0.100
DNS:
编辑/etc/resolv.conf
NAMESERVER=202.96.209.5
注意:
上述IP地址都要改成与你的网络配置相对应的IP地址。
Linux下修改网卡IP和网关
建议通过终端字符方式下来修改
一修改IP地址
vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.1.255
IPADDR=192.168.1.33
NETWORK=192.168.1.0
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet
~
vi/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
IPADDR=192.168.2.34
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
二修改网关
vi/etc/sysconfig/network
HOSTNAME=Aaron
GATEWAY=192.168.1.1
三重新启动网络配置
Wget网络下载软件包
useraddtest-u501-gusers-d/home/test-s/bin/bash-N-m
chown命令的用法比较简单。
这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”floatboat了:
chownfloatboat/home/floatboat/thefileisrootcreate.txt(假定该文件是由root创建的)
修改一个目录的所有者也是类似的:
chownfloatboat/home/newboat
当然,如果这个目录还有子目录及文件需要同时送给floatboat,chown也是支持-R参数的:
chown-Rfloatboat/home/newboat
Newgrp组名改变当前用户到另一个组里面
密码:
$1$开头是通常是MD5加密的
!
、*开头的用户通常的不可用的账户
Head–n5/etc/xxx显示头5行信息
Tail–n5/xxx/xxx显示头5行信息
Cat–nxxx加编号显示信息
Aliascls=”clear”系统别名更换cls替换clear命令
取消unalias
Declare–x变量名xx将XX变量变成系统变量
临时修改系统内核参数
例ECHO命令
Echo15000>
/proc/sys/fs/file-max修改系统进程能打开的文件数
Echohostname>
/proc/sys/kernel/hostname修改主机名
查询、修改系统可调参数SYSCTL命令(较专业)
Sysctl–wkernel.hostname=ABOBO修改主机名为abobo
Sysctl后面的kernel.hostname相当于/proc/sys/kernel/hostname
sysctlnet.ipv4.ip_forward相当于/proc/sys/net/ipv4/ip_forward
-w参数是写入
Sysctl–wnet.ipv4.ip_forward=1
sysctl–a|grepkernel
进程管理
Ps–auxf进程ID|more
Ps–auxf用户名|more
Kill杀死进程
Kill-9进程强制杀死进程
Chkconfig–level345httpdon设置httpd运行级别一般设为3
Chkconfig–list守护进程名字查看某个守护进程
Chkconfig–listrsyslog查看rsyslog进程
0停机。
不要把系统默认的运行级别设为0,否则系统将不能正常启动。
1单用户模式。
用于root用户对系统进行维护,不允许其他用户使用主机。
2多用户模式。
在该模式下不能使用NFS。
3完全多用户模式。
主机作为服务器使用时,通常在该运行级别。
4未分配使用。
5图形登录的多用户模式。
6重新启动。
DHCP服务器的设置
安装dhcp服务包
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sampleDHCP配置路径
Chkconfig–adddhcpd
Chkconfigdhcpdon
Chkconifg–level3on
SAMBA服务------实现linux与windows的互访
/etc/samba/smb.conf
Serure=user用户验证模式
Sercure=share不用用户验证模式
系统用户变成samba用户
Useradduser10
Passwduser10
Password
Smbpasswd–auser10
Servicesmbrestart
完成!
SHELL脚本介绍
脚本的格式:
1.创建包含bash命令的文本文件。
文件的第一行必须是
2.#!
/bin/bash
3.使文件可执行(使用chmod)
4.将文件放置在用户的¥PATH的目录中,其中举例说明
5.~/bin用于用户的私有程序
6./usr/local/bin本地开发,由系统上的其他人使用的脚本
7./usr/local/sbin本地开发,由root使用的脚本
二:
引用和转义
弱引用→双引号变量扩展和命令扩展在双引号内仍起作用
强引用→单引号保留字符串中所有字符的文字值,同时禁用所有扩展
[root@wolftmp]#echo"
canihavaa$fruit"
canihavaa
[root@wolftmp]#echo'
canihavaa$fruit'
canihavaa$fruit
thecurrenttimeis'
"
$(date+%r)."
thecurrenttimeis上午09时43分54秒.
thecurrenttimeis"
'
$(date+%r).'
thecurrenttimeis$(date+%r).
3:
转义→反斜杠(\)它保留了下一个字符的文字值。
如\$PATH是确切的字符串$PATH,而不是PATH变量的内容
[root@wolftmp]#echomake\$\$\$fast\!
make$$$fast!
4:
for语句
语法:
forvarinitem1item2item3;
docommand1;
command2;
done
#!
/bin/bashshell脚本开头
foriin*.conf;
doi:
变量名字(此例中i就表示*.conf)do后面的语句将被执行
ls$i
cp$i$i.bak
done语句执行完成(此例中就是将*.conf备份成*.conf.bak文件)
执行脚本的模式./xxx或bashxxx
if语句
ifcommand;
thencommand;
elsecommand3;
fi
if后面的命令的退出值如果为0(可以执行),则运行then之后的命令列表,直到任一个else。
如果if后面值为false(非0),则if运行else与fi之间的命令
IF语句的结尾是Fi
0:
在指定的文件中找到了模式
在指定的文件中未找到模式
>
一些其他错误(无法打开文件、错误的表达式等等)
非0或0程度字符串运算符:
test–{n|z}STRING
字符串比较运算符:
==!
=<
=>
=
数字比较运算符:
-eq-ne-lt-gt-le-ge
文件状态运算符:
test–{e|f|d|r|w|x|s}FILE
逻辑运算符:
-o-a!
Iftest“$USER”!
=’root’;
then
Echoyouarenotloggedinasroot
Fi
读取输入和位置参数
交互式输入:
Read–p‘Enteryourname:
’
文本处理工具
Diff命令:
比较两个文件的内容
参数:
-c显示上下文周围的行
-u使用统一输入格式
-r从指定的目录开始对文件执行递归式的比较
Grep命令:
显示文件中与其匹配的行
-i:
执行不区分大小写的搜索
-n:
前置返回行的行号
-r:
对文件执行递归式搜索,从命名目录开始
grep‘conf’1.sh显示结果如下
do
mv$i2.conf
wc命令:
显示文件内有多少行字符
wc–l显示行数
ls/tmp|wc–l显示tmp目录下有多少个文件
chage命令:
更改用户的最小、最大密码期限和密码警告期限
chage–m10–M20–W15root更改密码最小期限为10天,最大期限为20天,第15天警告用户要更改密码。
Shell脚本实例:
批量建立删除用户
/bin/bash/shell脚本开头
Foruin$(catusernames.txt)/定义变量u,提取usernames.txt文件里面的内容
Do/执行
Echo“useradding$u”/输出显示结果的格式
Useradd–r$u/功能命令
Done/完成
Usernames.txt
Test1
Test2
Test3
Test4
……
执行顺序
Make&
&
makeinstall第一个执行完,成功了再执行后一个
Make||makeinstall第一个执行不成功,执行后面一个
清理系统日志
#清理日志脚本,版本2
LOG_DIR=/var/log
ROOT_UID=0#UID为0的时候,用户才具有root用户的权限
#要使用root用户来运行
If[“$UID”–ne“$ROOT_UID”]
Then
Echo“mustberoottorunthisscript”
Exit1
Cd$LOG_DIR||{
Echo“cannotchangetonessarydirectory.”>
}#有逻辑判断是,执行多个命令,命令最好在大括号内执行
Cat/dev/null>
messages&
Echo“Logscheanedup.”#messages内有文件,执行echo内容
Exit0
#退出之前返回0表示成功,返回1表示失败
高级网络配置
网络接口绑定
概念:
多块网卡绑定成一块,增大网络带宽、提高冗