Linux--笔记
软件包分类:源码包和二进制包
RPM安装: rpm -ihv
配置ip: setup(红帽子专有)
yum源安装: yum -y install 包名
yum源卸载: yum -y remove 包名
源码包和rpm包的区别
源码包安装: ./config && make && make install make的作用是生成makefile文件
/etc/passwd : 用户名称:密码标志:UID:GID:用户说明:家目录:登陆后的shell
/etc/shadow : 用户名:加密密码:最后的修改时间:两次修改密码时间间隔:密码有效期:密码修改到期警告天数:账号失效时间:保留
/etc/group : 组名 : 组密码标志:GID:组中附加用户(初始组:用户一登录就拥有用户组的权限)
/etc/gshadow : 组名:组密码:组管理员用户:组中附加用户(附加组:一个用户可以有多个附加组 且拥有这些组的权限)
用户的家目录: 普通- /home/用户名 700
管理员 - /root/ 500
用户的邮箱 : /var/spool/mail/用户名
用户模板目录: /etc/skel
用户添加时修改了6处 useradd usermod userdel passwd chage groupadd groupmod groupdel + option + 用户名
ACL权限:解决目录 u g o 权限不足的情况
查看分区acl权限是否开启: dumpe2fs -h /dev/sda3
永久开启分区acl权限: vim /etc/fstab 在"/"下的 default,acl
查看acl权限:getfacl 文件名
设置acl权限: setfacl -m|-x U:用户名:rwx 目录
setfacl -m|-x G:组名:rwx 目录
SetUID :执行该程序是拥有属主的身份(文件)
二进制程序才能设置SUID权限,命令执行有x权限 ,执行过程中才有效,
chmod 4755 文件名(给vim设置suid权限)
setGID :执行程序时拥有属组的身份;新建目录时默认组为属组(文件+目录)
chmod 2755 文件名
SBIT : 只有目录有效 普通用户有w+x权限(写入权限) (目录)
chattr权限: 防止误操作 限制文件或目录对文件名和数据的操作
sudo权限 : root用户的权限赋予普通用户
文件系统:
主分区 + 扩展分区 <= 4 ;
扩展分区 <= 1 ;
逻辑分区包含于扩展分区 .
主分区1:/dev/sda1
主分区2:/dev/sda2
扩展分区:/dev/sda3
逻辑分区1:/dev/sda5
格式化:写入文件系统
文件系统是:ext4
文件系统查看命令:df -ahTmk
统计目录或文件大小:du -ahs
du命令和df命令的区别:df 看剩余空间准确(所有文件+系统+进程)
du 看文件大小准确(只有文件)
文件系统修复(一般不用):fsck -a 分区设备名
fsck -y 分区设备名
显示磁盘状态命令: dumpe2fs 分区设备名
挂载命令格式: mount [-t 文件系统] [-l 卷标名] [-o 特殊选项] 设备文件名 挂载点
内存和swap查询命令:free
外层应用程序 --> shell命令解释器 --> 内核 --> 硬件
shell:命令行解释器,可以直接调用linux命令[sh]
shell脚本: #!/bin/bash 开头 (变量两端不能有空格)
历史命令: history
别名: (查看)alias; 永久生效(/root/.bash.rc); (删除)unalias 别名;
命令执行顺序:绝对路径,相对路径-->执行别名-->执行bash内部命令-->执行$PATH环境变量定义的目录
标准输入输出: /dev/stdin;/dev/stdout; /dev/stderr
输出重定向: 命令 >> 文件
命令 2>> 文件
输入重定向: 命令 < 文件 (把文件作为命令的输入)
命令 << 标识符 (把标识符之间的内容作为命令的输入)
多命令执行顺序: 命令1 ; $$ || 命令2
变量:计算机的内存单元,存放的值可以改变(字母,数字,下划线组成[不能以数字开头])
变量叠加: "$变量名" ${变量名}
命令的结果赋值给变量: `命令` $(命令)
系统查找命令的路径:$PATH
系统变量:(查看)set; (删除)unset 变量名;
环境变量:(声明)export 变量名=变量值; (查询)env ; (删除)unset 变量名
位置参数变量: $n $* $a $#
预定义变量: $? $$ $!
shell登录信息:(本地终端)/etc/issue
(远程终端)/etc/issue.net
(欢迎界面)/etc/motd
注销时生效的配置文件:~/.bash_logout(环境变量)
~/.bash_history(其他配置文件)
通配符(匹配文件名): ? * [] [0-9] [a-z] [^0-9] 其他特殊符号: '-' "-" `-` $() $[] ${} $(()) # $ \
正则表达式(匹配字符串): * . ^ $ [] [^] \ \{n\} \{n,\} \{n,m\}
Linux服务的分类:
rpm包默认安装的服务
独立服务
启动
(1)/etc/init.d/独立服务名 start|stop|status{restart
(2)/etc/rc.d/init.d/独立服务名 start|stop|status{restart
(3)service 独立服务名 start|stop|status{restart
自启动
(1)chkconfig --leavel 运行级别[一般为2345] 独立服务名 on/off
(2)修改/etc/rc.d/rc.loal
(3)使用ntsysv命令管理自启动(红帽专有)
基于xinetd的服务
启动
(1)vim /etc/xinetd.d/telnet disable=no
service xinetd restart 重启
自启动
(1)chkconfig telnet on
(2)使用ntsysv命令管理自启动(红帽专有)
源码包安装的服务
启动
绝对路径 start|stop|status{restart
自启动
/etc/rc.local
被服务管理命令识别
(举例)ln -s /user/local/apache2/bin/apchaectl /etc/init.d/apache