Linux学习笔记

来源:互联网 发布:js tip 提示框 样式 编辑:程序博客网 时间:2024/04/30 05:36
1.格式化:为磁盘分配文件系统,顺便清空数据。
2.linux默认的文件系统是ext4
3.linux必须的分区:boot分区(存放引导系统文件)、根分区和swap分区(交换分区)
4.swap分区相当于windows里面的虚拟内存



-------------------------------------------------------------------------------------------------------
软件包的安装



1. 源包的安装

***》tar.gz, ****.tar.bz2
1.解压缩: tar -xzvf , gzip -d
2.进入到解压缩后的包 ./configure
3.make
4.make install

2. rpm 软件包安装
*****.rpm, 文件依耐性强,不好解决

1.rpm -ivh ***.rpm

3. yum 源

yum源服务端: 网络服务商供应,或者自己在本地创建yum源,方便安装
本地创建yum源
1. cd /media/CDROM/Packages
2. 安装yum源的生成工具
解决依耐性安装下面的rpm包 *****.rpm is needed
rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm
3. 创建存放yum源的目录,将资源拷贝到此目录中
mkdir /tmp/yumsource
cp -r /media/CentOS_6.4_Final/Packages /tmp/yumsource/
4. 在创建好并复制完的目录中创建数据源
createrepo --data ./


yum源客户端

1.编辑文件
cd /etc/yum.repos.d
ll
rm -rf CentOS-*.repo
touch yyq.repo
vi yyq.repo
[yum-yyq]
name=yumsource
baseurl=ftp:*.*.*.*/
本地服务端地址:baseurl=file:///tmp/yumsource
enabled=1
gpgcheck=0


-------------------------------------------------------------------------------------------------------
磁盘分区,格式化和挂载



1. 添加硬盘,在虚拟机中添加

2. 查看

fdisk -l

3. 对新硬盘进行分区

fdisk /dev/sdb
Command(m for help): m

Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

4. 格式化分区
mkfs -t ext4 /dev/adb1
swapon
swapoff

5. 挂载分区(映射分区与目录)
如果没有目录必须先建立相关的目录
1.临时挂载,本次挂载有效,重启后失效
mkdir /yyq1
mount /dev/sdb1 /yyq1

2.修改配置文件挂载,长期有效
vim /etc/fstab



-------------------------------------------------------------------------------------------------------
LVM逻辑卷管理


1. 创建分区修改分区类型为8e(LVM类型),在分区所在的磁盘上
比如/dev/sdc 下有两个分区 sdc1,sdc2
fdisk /dev/sdc
t
1
8e
t
2
8e
w
修改sdc的1,2分区类型为8e,并保存

2. 创建物理卷PV
pvcreate /dev/sdc{1,2,3,4} 可以一下建立4个PV,不用分开建

pvcreate /dev/sdc1
pvcreate /dev/sdc2

3. 创建卷组VG
vgcreate 卷组名 物理卷1 物理卷2 ...
-s 指定PE的大小单位可以是M,G,T
vgcreate myvg /dev/sdc{1,2,3,4} 可以一下建立4个PV,不用分开建
vgcreate myvg /dev/sdc1 /dev/sdc2
卷组存放在/dev目录下,名字和创建时定义的名字相同

4. 创建逻辑卷LV
创建之前要指定基于的卷组大小,不要溢出
lvcreate -L 逻辑卷大小 -n 逻辑卷名 从哪个卷组创建LV
-l 物理卷个数

lvcreate -L 1G -n mylv myvg
逻辑卷存放在基于的卷组目录下,是个链接文件

5. 格式化创建好的逻辑卷
mkfs -t ext4 /dev/myvg/mylv

6. 挂载
mkdir /mnt/lvm
mount /dev/myvg/mylv /mnt/lvm

7. 查看使用情况
df -h

/dev/mapper/myvg-mylv 1K-块 已用 可用 已用% 挂载点

8. 扩容
1. 如果逻辑卷还有剩余的空间,一定要注意空间大小不能低于要增加的容量
lvextend -L +500M /dev/myvg/mylv
resize2fs /dev/myvg/mylv
2. 我直接lvextend -L 1G /dev/myvg/mylv后
卸载挂载,然后重新挂载后
容量也显示变化了 df


9. 缩容
1. 卸载挂载的目录
umount /dev/myvg/mylv

2. 检测文件系统
fsck -f /dev/myvg/mylv

3. resize2fs -p /dev/myvg/mylv {要减小到的容量,不是减少多少}

4. 重新挂载




-------------------------------------------------------------------------------------------------------
磁盘配额


1. vim /etc/fstab
在第四列加参数,usrquota(针对用户),grpquota(针对用户组)

2 quotacheck -avug /要设定磁盘配额的挂载目录

-v 显示指令执行过程
-c 创建
-a 扫描在/etc/fstab文件里,有加入quota设置的分区。
-d 详细显示指令执行过程,便于排错或了解程序执行的情形。
-g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R 排除根目录所在的分区。
-u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。


如果出现提示 quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.
重新挂载要设置配额的目录 mount -o remount /配额目录

如果出现没有权限
关闭selinux : #setenforce 0
vim /etc/selinux/config ----> selinux=disabled


3. edquota -u 针对用户
edquota -g 针对组

blocks(针对容量)
soft 软限制,发出警告
hard 硬限制,超出将不能再写入
inodes(针对个数)
soft
hard

复制配额限定给其他用户 edquota -p 已设置的用户 -u 要设置的用户

4. quotaon -augv(用户或组) /开启磁盘配额的目录

5. quotaoff -ugv(用户或组) /开启磁盘配额的目录

6. 如果设置失败检查selinux是否强制开启
vim /etc/selinux/config
SELINUX=disabled




-------------------------------------------------------------------------------------------------------
快速创建指定大小的文件


dd if=/dev/zero of=/yyq bs=1024 count=1000




-------------------------------------------------------------------------------------------------------
split 切割命令

split -l 10 passwd pwd
split -b 20k passwd pwd1

-l 按行数来切割
-b 按文件大小来切割 单位:b,k,m,等
PREFIX 前导符,可做为切割文件的前导文字,上面命令的pwd,pwd1就是前导符





-------------------------------------------------------------------------------------------------------
U盘挂载、卸载


1---> fdisk -t : 检查分区和USB设备信息
2---> 在/mnt 下建立usb目录,准备挂载u盘
3---> mount -t rfat/dev/sda1 /mnt/usb
4---> 进入 /mnt/usb 对U盘进行操作
5---> 卸载U盘命令 : umount
如果出现 " device is busy",用可选项 -l 来处理
umount -l /mnt/usb
6---> 删除 usb目录 : rm -rf /mnt/usb







-------------------------------------------------------------------------------------------------------
用户和组管理笔记


1)添加新用户
格式: useradd[参数] 用户名
参数: -u UID //指定用户的UID值
-g 组名 //指定用户所属的默认组
-G 组名 //指定用户附加组
-d 路径 //指定用户主目录
-e 时间 //指定用户帐号有效日期(YYYY-MM-DD)
-s shell类型 //指定默认的shell类型
-m //建立用户主目录
实例:# useradd u2
# useradd -g g2 u2
# useradd -e 2008-08-12 u3
2)设置用户口令
格式:passwd [用户名]
实例:#passwd u2
3)删除用户
格式:userdel [参数] 用户名
参数: -r // 同时删除用户主目录
实例:# userdel u2
# userdel -r u3
4)修改用户信息
格式:usermod [参数] 用户名
参数:-l 新用户名 当前用户名 //更改用户名
-d 路径 //更改用户主目录
-G 组名 //修改附加组
-L 用户帐号名 //锁定用户帐号(不能登录)
-U 用户帐号名 //解锁用户帐号
实例:# usermod -d /abc u3
# usermod -G group2 u3
# usermod -l user3 u3
# usermod -L user1
# usermod -U user1
文件权限
读: r 或 4
写: w 或 2
执行: x 或 1
权限设置的方法
(1)chmod
功能:设置用户的文件操作权限
格式:chmod [操作对象] [操作符] [权限] 文件名
命令中各选项的含义为:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文 件属主有相
同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
实例: # chmod o+w /home/abc.txt
# chmod u-w /home/abc.txt
# chmod o-rx /home/abc.txt
# chmod o=rx /home/abc.txt





-------------------------------------------------------------------------------------------------------
chmod 改变关键字


chmod a+ 关键字 文件名或者目录 // 3个都改
chmod a- 关键字 文件名或者目录
chmod u+ 关键字 文件名或者目录 // 当前用户
chmod u- 关键字 文件名或者目录



八进制关键字:

• 无权限 r 可读 w 可写 x 可执行
• x: 对于文件,x代表有执行权限.对于目录,x代表有打开权限
• w: 对于文件,w代表有新增,修改文件的权限;对于目录,具有删除,移动目录内文件的权限
• r:对于文件,r代表具有读取文件内容的权限;对于目录,具有浏览目录的权限
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7

- 0 r 4 w 2 x 1 (权限值相加)

-rwxr--r--. 1 root root 25 4月 13 21:48 yyq
最前面的 - 代表一般文件
d代表目录
b代表块设备:硬盘..
c代表字符设备:鼠标,键盘..
l代表链接文件:link
第一个三位代表用户拥有者对这个文件的操作权限

第二个三位代表组拥有者

第三个三位代表其他用户

数字代表这个文件的链接数,有几个路径或者符号链接到这个文件

数字后面第一个是用户,第二个是组拥有者

chmod 777 /test
chmod 700 /test/mm


-------------------------------------------------------------------------------------------------------
ACL权限

1. 设置访问控制列表权限给 文件或目录

setfacl [-bkRd] [{-m|-x}acl参数] 目标文件名

`b: 删除所有的ACL参数
`k: 删除默认的ACL参数
`R: 递归设置ACL参数,包括子目录
`d: 设置默认的ACL参数

-m: 设置参数
-x: 删除参数


1. 针对用户
setfacl -m u:yyq:rwx /tmp/yyq.txt


2. 针对组
setfacl -m g:root:rw /tmp/yyq.txt

3. 针对有效权限mask(掩码)
setfacl -m m:rw /tmp/yyq.txt

4. 针对默认权限
setfacl -m d:[ug]:用户或组:[rwx] /tmp/yyq.txt


2. 查看权限

getfacl /tmp/yyq.txt



-------------------------------------------------------------------------------------------------------
vi学习笔记


三个模式|----命令模式 |>> n<space>: n代表数字,光标向右移动这一行的n个字符
| |>> 0: 移动到这一行最前面的字符
| |>> $: 移动到这一行的最后面
| |>> nG: 移动到指定数字n的行
| |>> gg: 移动到最上面一行
| |>> G: 移动到文件最后一行
| |>> n[Enter]: 光标向下移动n行
| |>> /word: 向下查找字符串word
| |>> ?word: 向上查找字符串word
| |>> ------n: 向下搜寻 N: 向上搜寻
| |>> x:从光标位置开始向后删除
| |>> X:从光标前一位置开始向前删除
| |>> dd:剪切整行
| |>> ndd:从光标所在行剪切n行
| |>> yy:复制一行
| |>> nyy:从光标所在行向下复制n行
| |>> p:粘贴在光标下一行
| |>> P:粘贴在光标上一行
| |>> J:将光标下一行合并到光标所在行
| |>> u:还原操作
| |>> Ctrl + r:重新操作
| |>> .:重新操作上一个命令,不包括u和Ctrl+R
| |>> v: 选择文本块,结合方向键选择
| |>> V:按行选择文本块
| |>> Ctrl + V:选择矩形文本块
| |>> ZZ:保存退出
|
|
|----编辑模式 |>> i:光标所在位置进行编辑
| |>> I:光标移动到行首进行编辑
| |>> a:光标下一位置进行编辑
| |>> A:光标移动到行尾进行编辑
| |>> o:光标下一行新插入一行并将光标置于新行行首
| |>> O:光标上一行新插入一行并将光标置于新行行首
| |>> s:删除光标所在位置字符进行编辑
| |>> S:删除光标所在行并在行首开始编辑
| |>> r:置换光标所在位置字符一次
| |>> R:从光标位置开始置换光标所在位置字符
|
|
||----末行模式 |>> set nu: 设置行号
| |>> set nonu: 取消行号
| |>> sp [filename]: 同vi编辑器中打开新文件,分割窗口.sp为打开同文件
| |>> ------Ctrl +w down/up: 移动到不同窗口(上,下)
| |>> ------Ctrl +w q: 关闭这个窗口
| |>> w:保存
| |>> w[filename]:保存为另一个文件
| |>> r[filename]:
| |>> wq:保存退出
| |>> n1,n2 w[filename]: 将n1到n2行保存为另一个文件
| |>> !command: vi中运行其他命令
| |>> n1,n2 s/word1/word2/g: 将n1到n2行的word1置换为word2
| |>> 1,$ s/word1/word2/g: 将1到最后行的word1置换为word2
| |>> 1,$ s/word1/word2/gc:将1到最后行的word1置换为word2并询问
| |>> n1,n2 y: 复制n1到n2行
| |>> n1,n2 d :删除n1到n2行







-------------------------------------------------------------------------------------------------------



系统服务管理


1. 安装系统服务
yum install

2. service 服务名 start/restart

3. chkconfig --level 35 服务名 on
4. 查看服务列表
chkconfig --list


-------------------------------------------------------------------------------------------------------



以指定系统运行级别打开服务


# 0 - halt (Do NOT set initdefault to this)
# 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
# 1 - Single user mode
# 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 运行级别2:多用户状态(没有NFS)
# 3 - Full multiuser mode
# 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
# 4 - unused
# 运行级别4:系统未使用,保留
# 5 - X11
# 运行级别5:X11控制台,登陆后进入图形GUI模式
# 6 - reboot (Do NOT set initdefault to this)
# 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

chkconfig --level 235 sshd on


/proc/modules lsmod

/proc 目录存放设备信息






-------------------------------------------------------------------------------------------------------


ssh远程登录


命令: ssh 用户名@主机IP地址


1.输入对应的用户密码登录到远程主机上


2.以公钥形式无密码登录ssh

1 在客户机上生成一对密钥对 :
$ ssh-keygen
~/.ssh/id_rsa ~/.ssh/id_rsa.pub
注意:要使用哪个用户进行远程登录,就用哪个用户生成秘钥对

2 把公钥传送到ssh服务端
ssh-copy-id -i /home/qyx/.ssh/id_rsa.pub root@192.168.4.110
注意:要与哪个远程主机上的用户绑定公钥登录就把公钥传给哪个用户

3 直接使用ssh命令进行登录,如果设置了短语的话,输入短语进行登录

-------------------------------------------------------------------------------------------------------

watch


watch -d -n 1 命令

-d 高亮显示
-n 时间间隔



-------------------------------------------------------------------------------------------------------


查看进程信息


1. ps
2. pstree
3.
4. pgrep -l -U(指定特定用户)


-------------------------------------------------------------------------------------------------------


主机名。IP地址


www . baidu.com.
主机名 + 域名


1. 临时设置主机名,只对本次开机有效
hostname + 主机名

2. 修改系统配置文件,reboot后生效
vim /etc/hosts
--> 127.0.0.1 localhost 自己修改.自己修改
vim /etc/sysconfig/network
--> HOSTNAME=自己设置

3. 用命令hostname查看主机名

4. 临时设置IP地址
ifconfig eth0 192.168.0.234 netmask 255.255.255.0
#也可直接在IP地址后/24设置子网掩码为255.255.255.0(C类)
#/24 3 * 8 位 一个255占一个8位,三个占24位

5. 修改网络设备eth0配置文件修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 设备名
HWADDR=00:0C:29:7C:CC:7A 硬件地址
TYPE=Ethernet 连接类型
UUID=88290131-d292-4c39-9638-719f612ecf5b 唯一UID
ONBOOT=yes 是否开机启动
NM_CONTROLLED=yes network manage,设置为yes时修改配置后实时生效,不需重启网卡

BOOTPROTO=dhcp IP类型,dhcp动态,static静态
#BOOTPROTO=static
#IPADDR=192.168.0.234 要设置的IP地址
#NETMASK=255.255.255.0 要设置的子网掩码
#GATEWAY=192.168.0.1 要设置的网关
#DNS=192.168.0.1 要设置的DNS

6. IP地址修改完重启网卡使之生效
service network restart

7. 用命令ifconfig查看设备状态


-------------------------------------------------------------------------------------------------------


路由



1. 路由转发,查看连通某个网站所经过的路由转发点
traceroute www.tute.edu.cn



2. 查看本机路由情况

route -n

3. nslookup



-------------------------------------------------------------------------------------------------------



PXE 安装系统


1. 网络畅通

2. DHCP服务

3. vsftpd服务

4. pxe服务

1. 安装tftp,并开启服务
yum install -y tftp-server
vim /etc/xinetd.d/tftp,修改 disabled=no
service xinetd start

2. 拷贝相关资源(vmlinuze,images,pxelinux.0)到
/var/lib/tftpboot
cp initrd.img /var/lib/tftpboot/
cp vmlinuz /var/lib/tftpboot/
cp /media/CDROM/isolinux/isolinux.cfg /var/lib/tftpboot/
cp /media/CDROM/isolinux/vesamenu.c32 /var/lib/tftpboot/

yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0

3. 修改dhcp的配置文件,开启pxe
vim /etc/dhcp/dhcpd.conf
subnet{

next-server "tftp服务器地址";
filename "pxelinux.0"
}

4. 编辑default文件
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

default auto
prompt 1
label auto
kernel vmlinuz


5. 记得配置完后关闭服务器的防火墙

6. 拷贝CDROM到 /var/ftp/pub


-------------------------------------------------------------------------------------------------------











1 0