一.Linux本质上是一个内核。
二.sda5含义:
物理磁盘sd,虚拟盘vd。有多块磁盘,可以标识为abcde...。因为服务器都会有RAID,所以安装系统时,看到的磁盘,可能是RAID阵列上的虚拟盘。数字是分区编号。
-
分区
-
windows分区
-
C盘 100G 安装系统
-
D盘 500G 安装程序
-
E盘 剩余空间的一半 常用文件
-
F盘 剩余空间 不常用文件
-
Linux服务器分区
-
/boot 500M
-
/home 如果没有大量数据就不要单分
-
/var 分区
-
其他分区:如果某个分区有大量数据需要写入,就应该单分
(当/ 分区快满时,要想扩容是不可能的只能重装,但是可以将大的文件夹的数据放到另一个磁盘里,然后,再将改磁盘挂载到这个目录下)
-
分区类型
-
MBR: 最多4个分区(4主或3主+1扩展),最大2.2T左右容量
-
GPT:可以支持128个主分区,磁盘容量可以达到EB级
-
格式化
-
ext3/ext4: 适合小文件
-
xfs:适合大文件
-
常用命令
-
命令行提示符是PS1定义的
[root@node6 ~]# PS1='u@ W $'
root@19:26:55 ~ #PS1='[u@h W]$ '
-
查看内核的版本号:
[root@node6 ~]# uname -r
-
创建目录
[root@node6 ~]# mkdir -m 777 -pv /tmp/aaa/bbb
-
touch:创建空文件或重置时间(access/modify/change)
[root@node6 ~]# stat /etc/hosts
modify(更改时间):内容改变(modify改变change肯定变,change改变,modify不变)
change(改动时间): 只改属性
[root@node6 ~]# touch /etc/hosts (如果文件存在,内容时不会变,只是文件的stat状态变了)
[root@node6 ~]# stat /etc/hosts
-
查看文件内容
[root@node6 ~]# cat -n /etc/passwd
[root@node6 ~]# tac /etc/passwd (sed '1!G;h;$!d' /passwd)
[root@node6 ~]# more /etc/passwd
[root@node6 ~]# less /etc/passwd
[root@node6 ~]# head /etc/passwd
[root@node6 ~]# tail -3 /etc/passwd
[root@node6 ~]# head -5 /etc/passwd | tail -1
-
命令
别名 > 函数 > 内部命令 > 外部命令
[root@node6 ~]# alias
函数
[root@node6 ~]# function lh(){
> ls -lh $*
> }
[root@node6 ~]# lh
内部命令:好像是操作系统与生俱来的功能一样,不需要有文件与之对应
外部命令:必须有一个程序文件
[root@node6 ~]# type cd
[root@node6 ~]# type ls
[root@node6 ~]# enable 列出所有的内部命令
7.软件包管理:yum
http://mirrors.aliyun.com
http://mirrors.163.com/
8.网络参数:
(1) nmtui
(2) nmcli
(3) nm-connection-editor
(4) RHEL5/6 => setup
(5) /etc/sysconfig/network-scripts/ifcfg-ethX
-
创建用户user1...userN的脚本
-
运行脚本,默认创建5个用户
-
用户也可以通过位置参数提供创建用户的数目
-
用户初始密码是123456
-
用户在第一次登陆的时候,必须改密码
思路:先把核心代码编写出来,再考虑怎么样创建多个用户。
创建计数器,记录已经创建了几个用户。判断user1存在吗?不存在则创建,计数器加1,已存在跳过,计数器不要增加。
[root@node6 bin]# vim adduser.sh
counter=0
if [ -z "$1" ]; then
num=5
else
num=$1
fi
while [ $counter -lt $num ]
do
let n++
id user$n &> /dev/null
if [ $? -ne 0 ]; then
useradd user$n
echo 123456 | passwd --stdin user$n &> /dev/null
chage -d0 user$n
echo -e "create user${n}... 33[32;1m[DONE] 33[0m"
let counter++
fi
done