复习
Posted xmtxh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习相关的知识,希望对你有一定的参考价值。
区分服务
音频
视频
基础命令:
1.目录管理命令 pwd cd ~ - . .. 路径: 相对路径 绝对路径:以/开头,唯一性 mkdir 创建空目录 -p:递归创建目录树且该选项不会报错 rmdir 删除空目录
需求:定期备份某文件到指定目录/opt/backup
rm -rf /opt/backup &>/dev/null
mkdir -p /opt/backup
ls list directory -a 列出所有文件,包括隐藏文件 -l 长格式--long -h human,人性化,体现在文件大小使用K,M,G -d 目录本身 -i inode 后三个选项必须和-l组合使用 -lhi
du -s 目录本身 -h human,人性化,体现在文件大小使用K,M,G -a 查看占用的block,4K*block tree -L level指定目录的级别 -d 只看目录
2.文件管理命令
cat 查看文件全文,适合小文件 more 分页查看文件全文,无法反复看 less 分页查看文件全文,可反复看 head 从头看,默认10行 -n 行号 -c 字符 tail 从尾看起,默认10行 file 查看文件类型,ls -l
文件创建
touch 默认创建空文件 刷新已存在文件或目录的时间戳
文件管理
cp -i 提示信息 -r 递归、对目录进行操作 -f 强制 -p 保留源文件属性 -t 源文件和目标位置替换 mv -t 源文件和目标位置替换 rm -i 提示信息 -r 递归、对目录进行操作 -f 强制
系统有别名,都加了-i
cp和rm默认对-i是生效的
mv默认对-i的效果出现在目标已存在
1.取消系统定义的别名
2.转义符
3.-f,但是对cp不生效(系统别名中的-i优于-f)
用户管理
创建 useradd -u,-g,G,-d,-s,-M ***** -s:主要就是/bin/bash,sbin/nologin -M:创建不给家目录,如果用户已创建,直接删除家目录,效果一样 -u:指定uid,centOS6中,默认500以上是普通用户,CentOS7中,默认1000以上是普通用户 -g,G:指定基本组和附加组,可以是组名,也是gid,基本组只能有一个,其他都是附加组 -d:如果需要在创建时指定家目录的路径,一定注意指定目录无需提前创建 修改 usermod -u,-g,-G,d,-s,-L,-U 迁移用户家目录,从/home/a5迁移到/a5 删除 userdel -r: 删除家目录 用户密码管理 passwd -d:清空密码 -l:lock锁定密码 -u:unlock解锁密码
组管理
groupadd groupmod groupdel 删除的是基本组,必须保证组内没成员,才能删除 gpasswd -a 给指定组添加指定用户 -M 给指定组指定组成员 -d 删除组成员 基本组操作 使用usermod -g 修改/etc/passwd 附加组 使用usermod -G 使用gpasswd 修改/etc/passwd 用户组管理其他命令 chage -d -d 0 强制要求用户登陆后修改密码 -m -M -W -E -I chsh
权限
ugo user rwx 421 group rwx 421 other rwx 421 chmod ugo +-= rwx chmod nnn
文件权限
r:可以读取文件内容
w:可以修改文件内容
x:可以自动执行文件内容
目录权限
r: 可以使用ls列出目录内容
w: 可以对目录里的文件进行增删改
x: 可以使用cd进入目录
特殊
set uid user chmod u+s chmod 4nnn set gid group chmod g+s chmod 2nnn sticky other chmod 0+t chmod 1nnn
功能:
1.都是对x权限生效
2.s-uid,让用户再执行可执行文件(命令、脚本)时,可以使用该文件所属用户的身份来执行,在user权限出现一个小写s
3.g-uid,让用户再执行可执行文件(命令、脚本)时,可以使用该文件所属组的身份来执行,在group权限出现一个小写s
4.sticky,对目录生效,可以让每个用户在该目录下只能处理自己创建的文件或目录,在other权限出现一个小写t
5.如果文件没有x权限,那么通过ls -l展现出来的都是大写
注意事项:特殊权限会有安全隐患,要控制,建议通过sudo提权来实现
fcal
文件访问控制列表
基于在不灵活的传统ugo权限上来实现的
比如现在有a,b,c三个用户,如果希望这三个用户的权限都不一样,传统的ugo权限满足不了
getfacl 获取文件访问列表 setfacl 设置文件访问列表 -m u:username:rw -m u:groupname:rw 文件所属 chown user[.:]group filename
磁盘
inode:描述文件的属性
包括权限、所属、时间
block:最小存储单元
一个文件至少占用1个block
一个block最多被一个文件占用
block越大,分区越大
默认:4k,4096B
使用du -a,查看每个文件占用block
查看磁盘block size和inode size
EXT: tune2fs -l /dev/sda3 dumpe2fs /dev/sda3 Block size: Inode size: XFS: [root@xiaoming ~]# xfs_info /dev/sda1 meta-data=/dev/sda1 isize=512 agcount=4, agsize=65536 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
修复磁盘
EXT*: fsck -t ext4 -y /dev/sda3 XFS: xfs_repair /dev/sda3
案例:正在使用的文件丢失后,如何恢复
1.查看文件被哪个进程使用 [root@xiaoming ~]# lsof /var/log/messages COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 909 root 6w REG 253,0 130328 17272680 /var/log/messages [root@xiaoming ~]# lsof | grep messages rsyslogd 909 root 6w REG 253,0 130328 17272680 /var/log/messages in:imjour 909 1175 root 6w REG 253,0 130328 17272680 /var/log/messages rs:main 909 1177 root 6w REG 253,0 130328 17272680 /var/log/messages 2.通过文件描述符查看文件内容 [root@xiaoming ~]# ll -l /proc/909/fd/ 总用量 0 lr-x------ 1 root root 64 1月 13 09:07 0 -> /dev/null l-wx------ 1 root root 64 1月 13 09:07 1 -> /dev/null l-wx------ 1 root root 64 1月 13 09:07 2 -> /dev/null lr-x------ 1 root root 64 1月 13 09:07 3 -> anon_inode:inotify lrwx------ 1 root root 64 1月 13 09:07 4 -> socket:[20509] lr-x------ 1 root root 64 1月 13 09:07 5 -> /run/log/journal/5851965d6fb040528da4c97075c15063/system.journal l-wx------ 1 root root 64 1月 13 09:07 6 -> /var/log/messages l-wx------ 1 root root 64 1月 13 09:07 7 -> /var/log/secure l-wx------ 1 root root 64 1月 13 09:07 8 -> /var/log/cron l-wx------ 1 root root 64 1月 13 09:07 9 -> /var/log/maillog 3.删除文件 [root@xiaoming ~]# rm -f /var/log/messages 4.查看删除文件后,进程使用状态 [root@xiaoming ~]# lsof | grep messages 5.恢复 [root@xiaoming ~]# cat /proc/909/fd/6 > /var/log/messages [root@xiaoming ~]# cp /proc/909/fd/6 /var/log/messages [root@xiaoming ~]# tail /var/log/messages Jan 13 09:07:48 xiaoming systemd: Started System Logging Service. Jan 13 09:07:48 xiaoming systemd: Reached target Multi-User System. Jan 13 09:07:48 xiaoming systemd: Starting Update UTMP about System Runlevel Changes... Jan 13 09:07:48 xiaoming systemd: Started Update UTMP about System Runlevel Changes. Jan 13 09:07:48 xiaoming systemd: Startup finished in 1.656s (kernel) + 2.711s (initrd) + 8.713s (userspace) = 13.081s.
案例2:大日志文件,影响服务器的运行状态,使用rm删除无效,使用重定向输出"> /var/log/access_log"
find / size +10G -name "*.log" -delete lsof | grep delete
磁盘的操作
分区 fdisk 格式化 常规分区 mkfs.ext4 mkfs.xfs swap分区 mkswap swapon 挂载 mount RAID 提高磁盘的可靠性,读写性能 0 1 5 10 50 LVM 逻辑卷管理 动态的分区 pv物理卷 pvcreate /dev/md0 /dev/sad1 vg卷组 vgcreate it /dev/md0 /dev/sda /dev/sda1 lv逻辑卷 lvcreate -L 10G -n edu it 扩容 vgextend it lvextend -L +5G /dev/it/edu resize2fs (EXT4) xfs_growfs (XFS)
链接
ln [-s] source destination 软连接(符号链接) 链接文件有新的inode,但是不占用block 硬链接 共用一个inode,但是各自都有block块 不适合对目录做硬链接 不能跨分区做 源文件和链接文件都是单独个体
归档(压缩)和查找
归档: 把不经常使用的,但是又很重要的,收集起来,存放到指定位置,一般会压缩后归档 tar 创建 查看 恢复 .tar c[pv]f tf x[v]f .tar.gz czf tf xf .tar.bz2 cjf tf xf .tar.xz cJf tf xf gzip,bzip2,xz的特点 只要压缩功能,且只能针对一个文件,不能对目录操作 zip/unzip
which whereis locate 依赖数据库,需要先更新数据库 find 实时查找 find [path] options cation expression -name -iname -time -size -type -user -group -perm ... action -print -ls -delete -exec 多条件查找 -a 默认 -o -not ! find和xargs联合使用 参考笔记
rsync 同步数据
实时同步
一边更新(增删改),另一边马上更新
异步同步
每隔一段时间同步一下
与 && -a cmd1 && cmd2 if [ expr1 && expr2 ];then cmd1 else cmd2 fi 或 -o || cmd1 || cmd2 非 -not ! ! expr1 打印root和普通用户 $3=0 || $3>=1000
以上是关于复习的主要内容,如果未能解决你的问题,请参考以下文章
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段