马哥笔记07_01~~~07_04

vim 显示行号:est number

也就显示行号:vim ~/.vimrc

添加:set nu

echo $1 使用空格隔开参数,

例如:echo user1,user2 中的“user1,user2”看做一个参数

例子:带参数的sh脚本,!!!!(逗号隔开各参数)

运行格式:./SOMESHELL.sh OPTION1,OPTION2

例子功能:输入用户名,如果用户存在,就显示用户已存在,如果用户不存在,就差创建用户,并用用户名作为密码。

#!/bin/bash

#

echo $1

for I in `echo $1 | sed ‘s/,/ /g‘`; do           ///////把逗号转化为空格;

if id $I &> /dev/null; then

echo "$I exists."

else

useradd $I

echo $I | passwd --stdin $I &> /dev/null

echo "add $I finished."

fi

done

测试:

./addusertest.sh  user1,user2

组合条件测试

例子:让某程序只识别q,Q,quit,Quit作为退出命令的关键字

quitquit.sh

#!/bin/bash

#

if [ $1 == ‘q‘ -o $1 == ‘Q‘ -o $1 == ‘Quit‘ -o $1 == ‘quit‘ ];then

echo "quiting..."

exit 0

else

echo "Unknow commands."

fi

07_03

let I=$[ $I+1 ]

SUM = $ [$SUM+$I]

let SUM+=$I

let I+=1 相当于 let I++

同理:

-=

*=

/=

%=

declare -i EVENSUM = 0

declare -i ODDSUM = 0

grep,egrep,fgrep可以用于文本查找

locate,find文件查找。

locate命令,非实时查找。是根据全系统全系统文件数据库进行(精确查找)。

linux每天会自动把本机所有信息放到数据库中(什么时候存放,取决于你的任务计划)。

手动执行更新文件数据库的命令:

#updatedb

@@@需要很长时间来更新该文件数据库,不过查找的速度很快。

find:实时、精确、慢(遍历指定目录中的所有文件完成查找,速度慢)(支持众多查找标准)

find   查找路径    查找标准  处理运作

@@@查找路径省略后,默认当前目录;

@@@查找标准,默认为指定目录下的所有文件;

@@@处理运作 默认为显示;

示例:

find /etc -name ‘passwd‘

选项:

-name 按名字查找

-iname 不区分大小写查找

-regex PATTERN:基于正则表达式查找            ??????????????

-user  UNAME:根据属主查找

-group GROUPNAME:根据属组查找

-uid UID:根据uid查找

-gid GID:根据GID查找

-nouser:查找无属主文件

-nogroup:查找无属组文件

-size:指定查找大小

#K #M #G

-size [+|-] #K

(无单位的话默认字节)

例子:

find /etc  -name ‘e*‘ -size +10k

查找/etc下大于10k的名字包含e的文件和文件夹

-type:

f:普通文件

d:目录

c:字符

b:块

l:链接文件

p:管道设备

s:套接字设备

例子:find /etc -name ‘e*‘ -type f

在etc内,查找名字包含e的普通文件。

一旦用户被删除,则之前属于该用户的文件都改成属于此用户的ID号(UID)

例如:删除hadoop用户后用

find /tmp -uid 2003

☆组合条件查询

-a且

-o或

-not非

例子:

找当前目录下不是user1也不是user2的文件:

find ./ -not -user user1 -a -not -user user2

或者

find ./ -not\ (-user user1 -o -user user2)

@@@摩根定律:整体取反 等于单个取反  再把里边的符号反过来

07_04

特殊权限

passwd:s

SUID:

运行某些程序时,相应进程的属主是程序文件自身的属主,而不是启动者。

SGID:

运行某些程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组。

sticky:在一个公共目录,每个都可以创建文件,删除掉自己的文件,但不能删除别人的文件。

时间: 2024-11-15 16:39:55

马哥笔记07_01~~~07_04的相关文章

马哥笔记第十六天故障排除、trap、sed、awk、bash数组、bash字符串操作

A.故障排除:             紧急救援模式:rescue,相当于一个小型的linux系统和让你切换到硬盘系统中. 1.grub损坏:                         谨慎操作 dd  if=/dev/zero of=/dev/sda count=1 bs=400   不能大于446,否则破坏分区表中数据.这时需要进入救援模式,选择Rescue installed system,选择语言.键盘设置.是否启用网络.继续continue.选择启动shell.使用chroot

马哥笔记04_01~~~05_03

04_01 useradd userdel usermod passwd chsh chfn finger id 组管理: groupadd,groupdel.groupmod.gpaswd 对比: [[email protected] ~]# -bash-3.2$     ---------此用户没有家目录,无法创建环境变量 finger:查看用户账号信息 finger USERNAME chsh:改用户的shell chfn:修改注释信息 04_02 权限管理 r: w: x: 三类用户 u

马哥笔记第十五天系统安装、kickstart、anaconda、dhcp、tftp、pxe

Linux系统安装: 安装前的配置阶段(既可交互式进行,亦可直接读取配置文件自动完成),自动配置文件就叫kickstart文件 建议单独分区:/home./usr.swap./var 不能单独分区:/proc, /sys, /etc, /bin, /sbin, /lib, /media, /mnt, /dev /boot:只能放在标准分区上不支持lvm设备类型. echo $$:特殊变量,获取最后进程的进程号 光盘安装系统时会模拟个MBR,在isolinux目录下会先启动isolinux.bin

马哥笔记09_01~~~08_03

09_01 虚拟文件系统也是内核的功能. 文件系统也是软件. 09_03 虚拟地址->每个进程都认为自己有4G内存(与物理内存同大小). 所以进程是看不到其他进程存在的. 查看当前系统上交换分区 创建交换分区: mkswap /dev/sda8 -L LABEL -a:启用多有定义在/etc/fstab文件中的交换设备 swapon /dev/sda8 swapoff /dev/sda8 回环设备 loopback,使用软件来模拟实现硬件: dd命令: if=数据来源 of=数据存储目标 bs=

马哥笔记08_01~~~08_04

FACL: Filessystem Access Control List 利用文件扩展保存额外的访问控制权限. jerry: rw- set facl -m:设定 u:UID:perm g:GID:perm -x:取消 u:UID g:GID get facl(取消) 文件属性最后带有"+"号,是该文件的扩展属性.如果你复制或者归档等这个文件,新文件的附加属性将会被丢弃,除非你使用特殊命令. 终端类型: console:控制台 pty:物理终端(VGA) tty:虚拟终端(VGA)

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

马哥学习笔记七——LAMP编译安装之MYSQL

1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录. 2.新建用户以安全方式运行进程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data 3.安装并初始化my

马哥Linux学习笔记之四——DNS

1.BIND:Berkeley Internet Name Domain DNS:Domian Name Service 域名解析 2. Http 3.PAM 插入式认证模块 4.SMTP/POP3/IMAP4:Mail Server 5.域名 www.baidu.com这是一个主机名(FQDN,Full Qualified Domain Name,完全限定域名),com是一个域名,baidu.com也是一个域名,域名是好多主机的集合. 域名解析起后面有一个数据库,解析就是一个查询的过程.域名解

马哥学习笔记三十二——计算机及操作系统原理

缓存方式: 直接映射 N路关联 缓存策略: write through:通写 write back:回写 进程类别: 交互式进程(IO密集型) 批处理进程(CPU密集型) 实时进程(Real-time) CPU: 时间片长,优先级低IO:时间片短,优先级高 Linux优先级:priority 实时优先级: 1-99,数字越小,优先级越低 静态优先级:100-139,数据越小,优先级越高 实时优先级比静态优先级高 nice值:调整静态优先级   -20,19:100,139   0:120 ps