大规模Linux集群架构最佳实践:如何管理上千台服务器pdf下载
Linux
文件系统是通过VFS来对每个文件进行连接管理
VFS中类似于一个接口,连接各种文件和操作系统
/etc/passwd
rich:x:501:501:Rich Blum:/home/rich:/bin/bash
用户名:密码:系统用户ID:用户组ID:用户全名:用户默认目录:默认shell
/usr/sbin/useradd ***
-d home_dir 指定登陆目录不同于用户名的目录
-e date 过期时间
-g 组名和gid 用户组
-G group 多个组
-p passwd 密码
/user/sbin/userdel (-r 删除用户目录和用户邮件)
usrmod 修改用户
passwd 修改密码
/etc/group
root:x:0:root
用户组名:组密码:gid:组目录
/etc/sbin/groupadd ***
添加到组
/etc/sbin/usermod -G shared rich 将rich加到shared组
ls -l 查看文件权限
[-][d][l][c][b][n]rwxrwxrwx
-文件d目录l连接c字符设备b块设备n网络 第一个文件所有者,第二个组,第三个任何人
touch新建文件
chmod 加权限 chown所有者 chgrp组
Linux目录
/ 根
/bin 二进制目录,实用程序
/boot 引导目录,存放引导文件
/dev 设备目录
/etc 系统配置文件目录
/home 主目录,存用户目录
/lib 库目录,系统和应用程序库文件
/media 媒体目录,移动媒体常用的挂载点
/mnt 挂载目录,另一个挂载点
/opt 可选目录,存储可选软件包
/root 根主目录
/sbin 系统二进制目录,管理级别实用程序
/tmp 临时目录
/usr 用户安装软件目录
/var 可变目录,用于经常更改的文件,如日志
通过cd更改目录 ..父目录.当前目录
tail/head -f -n
cat -n(显示行号,空行也显示) -b(只显示带文本的行号)
ls -l(硬连接) -s(软连接)
ps
-A 显示所有进程
-N 显示特定参数的结果的补集
-a 显示除会话标题和无终端进程外的所有进程
-d 显示除会话标题外的所有进程
-e 显示所有进程
-C cmdlist 包含在cmdlist中的所有进程
-G grplist grouplist中具有组id的进程
-U userlist userlist中userid拥有的进程
-M 显示关于进程安全的信息
-c 显示关于进程的额外调度信息
-f 显示完整的格式列表
-j 显示做业信息
-l 显示长度列表
top
第一行显示了:当前时间,系统已经正常运行的时间,已经登陆的用户数量,系统平均负载(3个值,5分,10分,15分)
第二行显示了:进程信息
第三行显示了: cpu使用率信息
第四五行显示了:内存和交换内存区的状态
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25828 root 20 0 772m 51m 13m S 2.0 1.3 61:05.41 engine_collecto
PR:进程优先级,NI:进程的nice value
VIRT:进程所使用的虚拟内存总量
RES:进程当前正使用的特理内存量
SHR:进程与其他进程共享的内存量
mount查看
mount -t type device directory (mount -t /dev/sdb1 /media/disk 将sdb1挂载到disk下)
unmount [directory|device]
df查看所有挂载磁盘的使用情况
du显示目录磁盘使用情况 一般用du * -sh 列出目录下文件和文件夹所占空间
sort
-b 忽略空格
-C 不执行排序,不报告数据是否无序排序
-c 不执行排序,但检查数据是否排序,如果未排序则报告
-g 普通数值进行排序
-k 根据位置进行排序 k pos1,pos2,pos3..
-m 合并两个已经执行排序的文件
-n 按字符串数值进行排序
-r 反转排序
grep -v 输出不配置的 -n输入多少行包含 -e 多个匹配
uniq –c 显示输出中,在每行行首加上本行在文件中出现的次数
tar -xzvf x解压,z将输出重定向到zip,v列出文件,f输出结果到文件 (tgz)
-cvf c创建
printenv 查看全局变量
set 本地环境变量
$HOME=$HOME:/bin/abc在**中追加环境变量
export 导入到全局
unset 删除环境变量
定位系统环境变量
登陆时默认shell /etc/profile $HOME/.bash_profile $HOME/.bash_login $HOME/.profile
SOURCE导入
数组
$test={one two three}
$ echo $test --> one
$ echo ${test[2]} --> three
$ echo ${test[*]} -->one two three
unset $test 删除
vim
-a 添加 -dd删除一行 -d$从光标到末 -r替换 :s/**/g替换 :/查找
date +%y%m%d格式化日期
bc浮点数
$?上次执行结果 0成功1未知错误2误用shell 126无法执行127没有找到命令128无效参数130ctrl+c
linux if [文件的时候] -f文件 -d目录 -e文件是否在 -r是否可读 -s有并不为空 -w可写 -x可执行 -O是否拥有 -G是否一组 -nt新 -ot旧
(())双圆括号比较公式[[]]双方括号表示模式
$# 输入参数个数 ${!#}脚本名称 $0完整参数 $*一个参数 $@多个参数
corntab -e修改 分钟 小时 日 月 星期 命令 * * * * * *
sed -s替换 echo "this is a test" |sed 's/test/big_text" --> this is a big_text
sed "d" 删除 插入为i/a
文件系统是通过VFS来对每个文件进行连接管理
VFS中类似于一个接口,连接各种文件和操作系统
/etc/passwd
rich:x:501:501:Rich Blum:/home/rich:/bin/bash
用户名:密码:系统用户ID:用户组ID:用户全名:用户默认目录:默认shell
/usr/sbin/useradd ***
-d home_dir 指定登陆目录不同于用户名的目录
-e date 过期时间
-g 组名和gid 用户组
-G group 多个组
-p passwd 密码
/user/sbin/userdel (-r 删除用户目录和用户邮件)
usrmod 修改用户
passwd 修改密码
/etc/group
root:x:0:root
用户组名:组密码:gid:组目录
/etc/sbin/groupadd ***
添加到组
/etc/sbin/usermod -G shared rich 将rich加到shared组
ls -l 查看文件权限
[-][d][l][c][b][n]rwxrwxrwx
-文件d目录l连接c字符设备b块设备n网络 第一个文件所有者,第二个组,第三个任何人
touch新建文件
chmod 加权限 chown所有者 chgrp组
Linux目录
/ 根
/bin 二进制目录,实用程序
/boot 引导目录,存放引导文件
/dev 设备目录
/etc 系统配置文件目录
/home 主目录,存用户目录
/lib 库目录,系统和应用程序库文件
/media 媒体目录,移动媒体常用的挂载点
/mnt 挂载目录,另一个挂载点
/opt 可选目录,存储可选软件包
/root 根主目录
/sbin 系统二进制目录,管理级别实用程序
/tmp 临时目录
/usr 用户安装软件目录
/var 可变目录,用于经常更改的文件,如日志
通过cd更改目录 ..父目录.当前目录
tail/head -f -n
cat -n(显示行号,空行也显示) -b(只显示带文本的行号)
ls -l(硬连接) -s(软连接)
ps
-A 显示所有进程
-N 显示特定参数的结果的补集
-a 显示除会话标题和无终端进程外的所有进程
-d 显示除会话标题外的所有进程
-e 显示所有进程
-C cmdlist 包含在cmdlist中的所有进程
-G grplist grouplist中具有组id的进程
-U userlist userlist中userid拥有的进程
-M 显示关于进程安全的信息
-c 显示关于进程的额外调度信息
-f 显示完整的格式列表
-j 显示做业信息
-l 显示长度列表
top
第一行显示了:当前时间,系统已经正常运行的时间,已经登陆的用户数量,系统平均负载(3个值,5分,10分,15分)
第二行显示了:进程信息
第三行显示了: cpu使用率信息
第四五行显示了:内存和交换内存区的状态
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25828 root 20 0 772m 51m 13m S 2.0 1.3 61:05.41 engine_collecto
PR:进程优先级,NI:进程的nice value
VIRT:进程所使用的虚拟内存总量
RES:进程当前正使用的特理内存量
SHR:进程与其他进程共享的内存量
mount查看
mount -t type device directory (mount -t /dev/sdb1 /media/disk 将sdb1挂载到disk下)
unmount [directory|device]
df查看所有挂载磁盘的使用情况
du显示目录磁盘使用情况 一般用du * -sh 列出目录下文件和文件夹所占空间
sort
-b 忽略空格
-C 不执行排序,不报告数据是否无序排序
-c 不执行排序,但检查数据是否排序,如果未排序则报告
-g 普通数值进行排序
-k 根据位置进行排序 k pos1,pos2,pos3..
-m 合并两个已经执行排序的文件
-n 按字符串数值进行排序
-r 反转排序
grep -v 输出不配置的 -n输入多少行包含 -e 多个匹配
uniq –c 显示输出中,在每行行首加上本行在文件中出现的次数
tar -xzvf x解压,z将输出重定向到zip,v列出文件,f输出结果到文件 (tgz)
-cvf c创建
printenv 查看全局变量
set 本地环境变量
$HOME=$HOME:/bin/abc在**中追加环境变量
export 导入到全局
unset 删除环境变量
定位系统环境变量
登陆时默认shell /etc/profile $HOME/.bash_profile $HOME/.bash_login $HOME/.profile
SOURCE导入
数组
$test={one two three}
$ echo $test --> one
$ echo ${test[2]} --> three
$ echo ${test[*]} -->one two three
unset $test 删除
vim
-a 添加 -dd删除一行 -d$从光标到末 -r替换 :s/**/g替换 :/查找
date +%y%m%d格式化日期
bc浮点数
$?上次执行结果 0成功1未知错误2误用shell 126无法执行127没有找到命令128无效参数130ctrl+c
linux if [文件的时候] -f文件 -d目录 -e文件是否在 -r是否可读 -s有并不为空 -w可写 -x可执行 -O是否拥有 -G是否一组 -nt新 -ot旧
(())双圆括号比较公式[[]]双方括号表示模式
$# 输入参数个数 ${!#}脚本名称 $0完整参数 $*一个参数 $@多个参数
corntab -e修改 分钟 小时 日 月 星期 命令 * * * * * *
sed -s替换 echo "this is a test" |sed 's/test/big_text" --> this is a big_text
sed "d" 删除 插入为i/a
转载请注明:谷谷点程序 » Linux 简单面试准备总结