实训期间,学习了linux下部分shell命令进行的一些操作,使用的是RHEL6系统,以下为整理的笔记:
一、shell简介
linux下当记不清楚或根本不知道一个命令的意思时,请用man help命令:
1、man是manual(操作说明)的简写,用于得到外部命令的帮助信息。
例如 man time,可知道time的命令的作用。
2 、help命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息
目录:
mkdir(mkdir -p(用于创建多级目录) 路径 目录名)
find /root -name "*.log" //查找后缀为log的文件
find / -user student //查找拥有者为student的文件
tar -czvf 存放路径/文件名.tar.gz 源文件
tar -cjvf
文件类型:
boot(引导程序) etc(配置文件) dev(linux系统硬件) root(管理员家目录)
home(家目录) bin sbin(可执行程序) block (设备)
重定向:
查找信息不输出 直接传到指定文件夹,例如:
find /-user oyy -type f 2> aa.txt >bb.txt 把错误的信息放到aa.txt 正确入b
find /-user oyy -type f &> /dev/null 不在终端显示 也不在文件显示,
vim文本编辑器:
末行模式 <<-- 命令模式 -->>输入模式
esc返回命令模式:
复制:yy 10yy(复制10行,下同)
粘贴:p 10p
删除:dd 10dd
撤销: u
保存退出: ZZ
输入模式: i,a,o,s
末行模式:
:w --保存
:q --退出
:wq --保存退出
:q! --不保存退出
:w 文件名 --另存为
:wq! --强制保存退出,只有root能用
:数字 --进入指定行
:set nu --编译器
二、用户组和组账号
超级用户 root0
普通用户 500~60000
程序用户 1~499
用户配置文件信息 :
/etc/passwd
/etc/shawow
添加用户:
useradd [选项] 用户名
-u: uid号
-g: 附加组
-s: shell
设置更改用户口令:
passwd 用户名
编辑用户信息:
usermod [选项] 用户名
-u
-s
更改密码权限:
chage[选项] 用户账号名
删除用户账号:
userdel [选项] 用户名
添加组账号:
groupadd [-g GID] 组账号名
例1:
现雇佣一组顾问从事某一项目,为每位顾问创建用户账户,并将这些账户添加到作为补充组。
名为consultant,组ID为40000的组中。这些账户应在91天后终止时过期,且每个月都必须更改密
码以下是顾问姓名及其相应用户名的列表,账户的初始密码均为default
sspade bboop dtracy
对应shell命令为:
groupadd -g 40000 consultants
useradd -G consultats bboop
passwd bboop // echo "default" |passwd --stdin bboop
chage -M 30 -E 2016 3-30 bboop
例2:
增加usergrp组,GID号为6000
增加user1用户,UID号为6000,密码为空,并将其附属组加入usergrp中
新增user2用户,密码为password,并将用户的附属组加入root组合usergrp组。
用户的主目录为/user2目录。
新增user3,用户,不为用户建立并初始化宿主目录,用户不允许登录到系统的shell。
对应的shell命令:
groupadd -g 6000 usergrp
useradd user1 -u 6000 -G usergrp
passwd user1 -d --使密码为空
useradd user2 -G root,usergrp -d /user2
ehco "passwd" |passwd --stdin user2
useradd user3 -M -s /sbin/nologin
例3:
设置用户密码的密码期限
设置user1用户,在下次登录时必须强制更改密码
设置user2用户,密码30天必须修改密码,密码在2016年1月10日过期。
对应的shell命令:
chage -d 0 user1
chage -M 30 -E 2016 1-10 user2
文件的对于不同用户的权限信息:
所有者 所属组 其他用户
权限: r w x -
对应数值: 4 2 1 0
exp: -rw-r--r--. 1 root root 41179 Dec 28 21:41 install.log
6 4 4 权限
drwxr-xr-x. 2 root root 4096 Dec 28 15:54 Music
7 5 5 权限
设置文件/目录权限:
chmod 命令
格式1:chmod [ugoa主 组 其他 所有][+-=增加 去除 设置权限][rwx] 文件或目录
格式2:chmod nnn(3位八进制) 文件目录
-r 递归修改
设置文件/目录归属:
chown命令
属主 chown 属性 文件/目录
属组 chown:属性 文件/目录
-r(递归修改)
chown 属主:属组 目录/文件
例:
根据以下要求完成对文件、目录权限的设置
1、添加group1,添加用户aa、bb并加入group1组
2、新建文件/abc.txt
3、设置用户aa对文件拥有读、写和执行权限
4、设置组group1内成员对文件拥有读权限
5、设置除除属主和属组外其他人对文件没有任何权限。
6、新建目录/abc
7、设置用户bb对目录拥有读、写执行权限
8、设置group1内成员对目录拥有读和执行权限
9、设置除属主和属组外其他人对目录没有任何权限
对应shell命令:
groupadd group1
useradd -G group1 aa
useradd -G group1 bb
echo "redhat" |passwd --stdin aa
echo "redhat" |passwd --stdin bb
touch /abc.txt
ls -l /abc.txt
chown aa:group1 /abc.txt
chmod 740 /abc.txt
mkdir /abc
chown bb:group1 /abc
chmod 750 /abc
ACL 访问控制列表,针对电一使用者设置权限:
设置
setfacl -m u:username:rw filename
setfacl -m g:groupname:rw filename
查看
getfacl filename
例:
根据以下要求完成对文件、目录权限的设置
1、添加group1,添加用户aa、bb并加入group1组
2、新建文件/abc.txt,要求root为属主和属组
3、设置用户aa对文件拥有读、写和执行权限
4、设置组group1内成员对文件拥有读权限
5、设置除除属主和属组外其他人对文件没有任何权限。
6、新建目录/abc,要求root为属主和属组
7、设置用户bb对目录拥有读、写执行权限
8、设置group1内成员对目录拥有读和执行权限
9、设置除属主和属组外其他人对目录没有任何权限
对应shell命令:
groupadd group1
useradd -G group1 aa
useradd -G group1 bb
echo "redhat" |passwd --stdin aa
echo "redhat" |passwd --stdin bb
touch /abc.txt
ls -l /abc.txt
chown root:root /abc
chown root:root /abc.txt
setfacl -m u:aa:rwx /abc.txt
setfacl -m g:group1:r-- /abc.txt
setfacl -m o::--- /abc.txt
setfacl -m u:bb:rwx /abc
setfacl -m g:group1:r-x /abc
setfacl -m o::--- /a
使用附加权限:
1.set位权限
为可执行文件(有x的权限)设置,权限字符‘s’其他用户执行该文件时相当于属主执行
suid:表示对属主用户增加set位权限
guid:表示对属组内的用户增加set为权限
如果suid设置在目录上,则改目录下新建文件的所属组自动为该目录
2.粘滞位权限
设置字符为t,不能删除
chmod mnnn 可执行文件
m=4 suid 属主
m=2 sgid 属组
m=1 粘滞位
例:
研究生需要名为/opt/reasearch 的协作目录,只有组profs grads中的成员能新建文件,新建文件有如下权限:
(1) 目录应该归 root所有 属主
(2) 新文件应归grads所有
(3) profs 自动对新文件有读写权限
(4)interns 自动对新文件有只读权限
(5)其他用户无任何权限
对应shell命令:
mkdir /opt/research
groupadd profs
groupadd grads
groupadd interns
useradd -G profs user1
useradd -G grads user2
useradd -G interns user3
chown root:grads /opt/research/
chmod 2770 /opt/research/
setfacl -m g:profs:rwx /opt/research
setfacl -m g:interns:r-x /opt/research
三、磁盘分区
分区:fdisk
linux 将硬盘、分区等设备表示为文件
/dev/sda5:
硬盘所在目录:dev
hd:ide设备
sd:串行设备
硬盘顺序:a b c d
数字5:所在分区
一个硬盘允许4个主分区,允许3个主分区和一个扩展分区
格式化:mkfs
挂载:vim /etc/fstab
mount /dev/sdb1 /test (临时挂载)
mount -a (根据fstab中信息永久挂载)
vim /etc/fstab
umount /test
mount -a 重新挂载
df -hT
普通分区
fdisk -l 查看分区
fdisk /dev/sdb (之后按 m查看帮助) 进行分区
partx -a /dev/sdb :如出现warning提示内核busy,传递内核
mkfs -t ext4 /dev/sdb1 格式化
vim /etc/fstab 打开fstab 写挂载信息
/dev/sdb1 /test/ext4 defaults 0 0
磁盘名 挂载路径 挂载格式
mount -a 开始挂载
df -hT 查看分区信息
umont /test 卸载
新建交换分区(虚拟内存)
fdisk
fdisk /dev/sdb (之后按 m查看帮助) 进行分区
partx -a /dev/sdb :如出现warning提示内核busy,传递内核
mkswap /dev/sdb3 格式化
vim /etc/fstab 写挂载信息
/dev/sdb3 swapswap defaults 0 0
磁盘名 挂载路径 挂载格式
swapon -a 生效
swapon -s 查看
swapoff /dev/sdb3 卸载
exp:
mkdir /mnt/test
mkdir /mnt/data
fdisk /dev/sdb(分区p模式)300M
fdisk /dev/sdb(分区e模式)剩余全部
partx -a /dev/sdb 改内核
mkfs -t ext4 /dev/sdb1 格式化
vim /etc/fstab 写挂载信息
/dev/sdb1 /mnt/data ext4 defaults 0 0
mount -a 生效
fdisk /dev/sdb(分区l模式) 256M
fdisk /dev/sdb(分区l模式) 500M
partx -a /dev/sdb
mkfs -t ext4 /dev/sdb5 格式化
vim /etc/fstab
/dev/sdb5 /mnt/test ext4 defaults 0 0
mkswap /dev/sdb6 格式化
vim /etc/fstab
/dev/sdb6 swap swap defaults 0 0
swapon -a
swapon -s
<span style="font-family: 宋体;font-size:18px; white-space: pre;"></span><p>删除:</p><p> <span> </span>partx -a /dev/sdb) 有<span style="font-family: Calibri;">warning </span>就改内核</p><p><span> </span>swapoff /dev/sdb6</p><p><span> </span>umount /dev/test</p><p><span> </span>umount /dev/data</p><p><span> </span>vim /etc/fstab</p><p><span> </span>fdisk /dev/sdb </p>
四、卷组
LVM(卷):
屏蔽了底层磁盘布局,便于动态调整磁盘容。
/boot 分区用于存放引导文件,不能用LVM。
PV(physical volume 物理卷) :普通分区
VG(volume group卷组):一个或多个物理卷组成的整体
LV(logical volume 逻辑卷):卷组中分割出来的一部分空间,用于建立文件系统
PV VG LV
scan 扫描
create 创建
display 显示
remove 删除
reduce 缩减 X
extend 扩展 X
pvcreate 设备名
vgcreate -s 8M 卷组名 物理卷名1 物理卷名2 物理卷名3 ...
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/
exp:
扩展容量
lvextend -L +400M(1200M) /dev/wgroup/wshare
resize2fs /dev/wgroup/wshare
缩减容量
umount /mnt/wshare/对要减小的文件系统 解除挂载
fsck -f /dev/wgroup/whare 验证结构是否清理
resize2fs /dev/wgroup/wshare 512M
lvreduce -L -200M /dev/wgroup/wshare
mount -a
df -hT
扩展组
pvcreate /dev/sdb2
vgextend wgroup /dev/sdb2sdb2物理卷 加入wroup 卷组中
缩减组
pvremove /dev/sdb2
umount /dev/sdb2
vgreduce wgroup /dev/sdb2
五、nas(cifs、nfs)
1. windows - linux (cifs)
mount /dev/cdrom /dvd/ 挂载光盘
vim /etc/yum.repos.d/dvd.repo
yum install samba -y 安装samba
service smb restart 重启服务
useradd harry 新建用户
smbpasswd -a harry 蛇密码
setup 关防火墙
ifconfig
setenforce 0 安全性调为0
useradd susa
smbpasswd -a susa
net use
net use \\10.7.33.128
---------------------------------以下命令为新建一个新的文件进行共享----------------------------------
mkdir /test
cd /test
vim test.txt
vim /etc/samba/smb.conf
[test]
path = /test
public = yes
writable = yes
service smb restart
setfacl -m u:harry:rwx /test/ 让harry具有可写权限
2. linux - linux (nfs)
yum install nfs-utils
service nfs restart
mkdir /nfs
vim /nfs/nfs.txt
vim /etc/exports
/nfs *(rw,sync)
可以访问的名字 可以访问你的主机(sync:同步)
yum install rpcbind
yum install nfs-utils rpcbind
service rpcbind restart
service nfs restart
ls -ld /nfs/
chmod 1777 /nfs/
ls -ld /nfs/
-------------------------------另一台主机--------------------------------------------------------------------------
yum install nfs-utils
mkdir /mnt/nfs
mount 10.7.33.128: /nfs /mnt/nfs/
另一台主机的共享文件 当前主机文件
{永久挂载
vim /etc/fstab
//10/7/33/128/test/mnt/testcifsusername=harry,passwprd=qwe0 0
10.7.33.128:/nfs/mnt/nfsnfsdefaults0 0
mount -a
}
cd /mnt/nfs
ls
ipconfig
showmount -e 10.7.33.128 排错命令
6、san网络
硬盘共享
---------------------------------------------服务器----------------------------------------------------------------
10.7.33.126
<span style="font-size:18px;"><span style="color:#0c0c0c;">fdisk /dev/sdb (sdb1 3000M sdb2 2000M)
mkdir /dvd 配yum源装软件
vim /etc/yum.r /dvd.repo
</span><span style="color:#3333ff;">[dvd]
name=dvd
baseurl=file:///dvd
gbgcheck=0</span><span style="color:#0c0c0c;">
mount /dev/cdrom /dvd
yum install scsi-* scsi-target-utils
vim /etc/tgt/targets.conf
</span><span style="color:#3333ff;">#Sample
<target iqn.2016-01.com.example:server(server随便取名字).target1>
backing-store /dev/sdb1 共享的硬盘
(161行)
initiator-address 10.7.33.129 只有该主机能访问
(initiator-address 10.7.33.0/24 只有该网段能访问)
</target>
<target iqn.2016-01.com.example:server.target2>
backing-store /dev/sdb2 共享的硬盘
(161行)
initiator-address 10.7.33.130 只有该主机能访问
(initiator-address 10.7.33.0/24 只有该网段能访问)
</target> </span><span style="color:#0c0c0c;">
service tgtd restart
chkconfig tgtd on 开机自启
setup 关防火墙
setenforce 0</span></span>
---------------------------------------------客户机---linux---------------------------------------------------------
10.7.33.129<span style="font-family: Calibri;"> </span>
<span style="color:#0c0c0c;">
mkdir /dvd 配yum源装软件
vim /etc/yum.r /dvd.repo
</span><span style="color:#3366ff;">[dvd]
name=dvd
baseurl=file:///dvd
gbgcheck=0</span><span style="color:#0c0c0c;">
mount /dev/cdrom /dvd
yum install iscsi-*
man iscsiadm
</span><span style="color:#33cc00;">Example 中Discover 第一条 </span><span style="color:#0c0c0c;">
iscsiadm --mode .................................10.7.33.128 --discover
</span><span style="color:#33cc00;">Example 中Discover 第二条 login</span><span style="color:#0c0c0c;">
iscsiadm --mode node --targetname iqn.2016-..(服务器名)--portal 10.7.33.128:3260
--login
fdisk /dev/sdb(sdb1 全内存)
mkfs -t ext4 /dev/sdb1
mkdir /data
</span><span style="color:#33ff33;">mount /dev/sdb1 /data 手动挂载
umount /data/ 手动卸载</span><span style="color:#0c0c0c;">
blkid 查看uuid
vim /etc/fstab 永久挂载
</span><span style="color:#3333ff;">UUID=[sdb1的uuid号]/dataext4_netdev0 0</span><span style="color:#0c0c0c;">
mount -a</span>
---------------------------------------------客户机---windows-----------------------------------------------------
10.7.33.130
sicsi发起程序->目标->登陆
安装模拟器(关闭防火墙,杀毒软件)
7、orcacle的安装
配ip
vim /etc/host
自己定义ip oracle-1
vim /etc/sysconfig/network-scripts/ifcfg-eth0
HOSTNAME=oracle-1
service network restart
setup
vim /etc/sysconfig/network
SELINUX=disabled
ping oracle-1
groupadd oinstall
groupadd dba
useradd -G oinstall,dba orcle
passwd oracle
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01 -R
vim /home/oralce/.bash_profile
export PATH
export ORACLE BASE
cd /mnt
unzip linux......
unzip linux........
du -sh database/
显示2.4G
以普通用户登录
cd /mnt/database
./runInstaller
Install database software only
single
English
root用户登录
装yum源
19个软件
yum install gcc libaio glibc compat-libstdc++-33 elfutils-libelf -devel glibc-devel glibc-devel
glibc-headers gcc c++ libaio-devel libgcc libstdc++
vim /etc/sysctl.conf
按要求修改添加以下参数
sysctl -a |grep sem
sysctl -a |grep file-max
sysctl -a |grep ip_local
sysctl -a |grep rmem
sysctl -a |grep wmem
sysctl -a |grep aio
sysctl -p
vim /etc/security/limits.conf
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
cd /u01/app/oracle/product/11.2.0/dbhome_1/bin
./sqlplus/ as sysdba
. oraenv
orcl
/u01/app/oracle/product/11.2.0/dbhome_1/bin
dbca
未完待续。。