02-Linux进阶

02

一 检索文件

1 文件内搜索/

<span style="background-color:#ffffff"><span style="color:#262626">/字符串:搜索"字符串"的功能 
<span style="color:red">•</span>   n:继续向后搜索 
<span style="color:red">•</span>   N:向前搜索 </span></span>

2 find

<span style="background-color:#ffffff"><span style="color:#262626">查找目录的位置: find
根据文件名进行查找  find 查找路径  -name 要找的文件名称
根据类型进行查找  find  /  -type  [d | f ] -name "filename"
根据权限进行查找: find  /  -perm  751  [-name "filename"]
根据文件的大小进行查找   find  /  -size  +|-n[c|k|M|G]  +表示大于,-表示小于,c字节,k千字节,M兆,G千兆
根据文件的访问时间: find / -atime +|-n  n表示的是天数 +表示多少天以前,-表示多少天以内
根据文件的变更时间: find  / -ctime +|-n  n表示天数
- 查找mysql的配置文件my.cnf的位置
find / -name my.cnf
- 查找mysql程序的安装目录的具体的位置
find / -name -type d -name my.cnf
- 查找磁盘上大小超过1G的文件的位置
find / -size +1G
- 查找磁盘上三天之内变更过的文件
find / ctime -3
- 查找没有任何权限设置的文件</span></span>

3 whereis

<span style="background-color:#ffffff"><span style="color:#262626">whereis 文件名
案例
whereis passwd</span></span>

在特定的目录下查找二进制文件,系统源文件等

4 grep和管道符 |

grep过滤文件

|管道符: 左侧的命令结果,输出给右侧进行处理。

<span style="background-color:#ffffff"><span style="color:#262626">输出用户主目录下,文件名有a的文件
ll | grep a</span></span>

二 输出和重定向

1 输出

<span style="background-color:#ffffff"><span style="color:#262626">echo 要输出的内容
案例
[root@localhost ~]# echo hellworld
hellworld</span></span>

2 重定向

名称语法
标准输出重定向> >>
标准错误输出重定向2>
标准输入重定向<
1 标准输出重定向

作用:将命令输出的结果写入文件,如果文件不存在会自动创建

<span style="background-color:#ffffff"><span style="color:#262626">> 覆盖重定向,把左侧的内容,整体覆盖到右侧文件中。
>> 追加重定向,把左侧的内容,追加到右侧文件后。</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">ll > file1.txt</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">ll >> file1.txt</span></span>
2 标准错误输出重定向

将命令产生的错误信息输出到指定的文件

<span style="background-color:#ffffff"><span style="color:#262626">xxx 2> file2.txt</span></span>
3 标准输入重定向

将指定文件作为命令的输入源

<span style="background-color:#ffffff"><span style="color:#262626">[root@localhost ~]# grep bbb < a2.txt
bbbbbbbbbbbb</span></span>

三 压缩-解压缩

1.压缩命令

<span style="background-color:#ffffff"><span style="color:#262626">tar -zcvf 压缩后的文件名.tar.gz 被压缩的文件...
案例
tar -zcvf my.tar.gz  a2.txt aaa.txt abc.txt</span></span>

2.解压缩

<span style="background-color:#ffffff"><span style="color:#262626">tar -zxvf 要解压缩的文件
案例
tar -zxvf my.tar.gz</span></span>

四 文件的权限

1、文件权限

image-20210831172347184

通过上图可以看出linux中的权限由四个部分一共10个字符组成

属主:文件的创建者对这个文件拥有的权限

属组:用户组对个文件拥有的权限

其它用户权限:其它用户

image-20240307120802458

image-20210831172457698

2、文件权限管理

1558404421952

<span style="background-color:#ffffff"><span style="color:#262626"><span style="color:#82aaff">chmod 变更文件或目录的权限。</span>
<span style="color:#82aaff">数字模式</span>
<span style="color:#82aaff">    a.txt</span>
<span style="color:#82aaff">    chmod 757 a.txt</span>
<span style="color:#82aaff">字符模式</span>
<span style="color:#82aaff">    使用u标识创建者,使用g标识组员,使用o标识其他人</span>
<span style="color:#82aaff">    所有者拥有全部权限 u+rwx</span>
<span style="color:#82aaff">    同组成员可读写    g+rw</span>
<span style="color:#82aaff">    其他人可读       o+r</span>
<span style="color:#82aaff">    chmod   u+rwx,g+rx,o+rws a.txt</span></span></span>

案例:将文件world.txt的权限修改为只读

<span style="background-color:#ffffff"><span style="color:#262626">chmod 444 world.txt</span></span>

案例:给demo.dat文件赋予所有者、同组成员、其他人都可读可写

<span style="background-color:#ffffff"><span style="color:#262626">chmod 666 demo.dat</span></span>

随堂练习

<span style="background-color:#ffffff"><span style="color:#262626">1、创建一个文件,helloworld.sh
2、文件的内容:hello world!
3、给文件赋权,所有者可读写和执行,同组可读可执行,其他人可读
chmod 754 helloworld.sh</span></span>

五 用户管理

1 账号相关

  • 用户账号user

    • 超级用户:root用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普通用户账号。

    • 普通用户:zhangshan,普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的家目录中拥有完整权限

    • 程序用户:安装程序后自动生成的,在安装 Linux 操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等。

  • 组账号group

    • 基于某种特定联系(如都需要访问 FTP 服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。

    • 每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

    • 当你创建一个账号,则自动会创建一个对应账号名字的用户组

  • uid和gid

    • uid 用户的唯一编号

    • gid 用户组的唯一编号

2 增

<span style="background-color:#ffffff"><span style="color:#262626"># 默认添加新用户
useradd     username  生成新用户,同时在/home生成同名主目录,生成同名组
# 创建用户的时候,指定附加组
useradd  -G  root  username
# 创建用户的时候,不生成主目录
useradd -M username
# 创建用户的时候,给一个初始密码
useradd -p 123456  username

#给新增的账号设置密码
root用户修改其他用户的密码: passwd  username  修改自己的密码,直接输入passwd,然后再输入密码

#账号切换
su 账号</span></span>

3 删

<span style="background-color:#ffffff"><span style="color:#262626">#会删除账号,主目录和邮件池
userdel -r 账号    </span></span>

4 改

<span style="background-color:#ffffff"><span style="color:#262626">usermod  [option]  username
  -d, --home HOME_DIR           用户的新主目录
  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
  -g, --gid GROUP               强制使用 GROUP 为新主组
  -G, --groups GROUPS           新的附加组列表 GROUPS
  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户
  -h, --help                    显示此帮助信息并推出
  -l, --login LOGIN             新的登录名称
  -o, --non-unique              允许使用重复的(非唯一的) UID
  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">#修改附属组
usermod -G a1 abc

#修改过期时间
[root@localhost home]# usermod -e 2024-05-01 abc
[root@localhost home]# cat /etc/shadow |grep chenyun
mayuhang:$6$pmAg2BuW$zIcL/c3AbXGzcIela.NuPAEBe1NluKyOBqAzUCtzUECDI9D04Qx17CHmQTIugLmzP35cOgQwDfN0r6J.CMANU0:19612:0:99999:7::19723:</span></span>

5 查

1. groups命令,查看某个用户所在的用户组
<span style="background-color:#ffffff"><span style="color:#262626">[root@centos7-1 ~]# groups
root</span></span>
2. id命令
<span style="background-color:#ffffff"><span style="color:#262626">[root@localhost home]# id laoyang
uid=1011(laoyang) gid=1011(laoyang) 组=1011(laoyang),0(root)</span></span>
3. w|who|whoami (查询主机的用户登录情况)
<span style="background-color:#ffffff"><span style="color:#262626">[root@localhost ~]# w
 17:49:16 up  3:05,  4 users,  load average: 0.02, 0.07, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      15:05    2:18m  0.03s  0.03s -bash
root     pts/0    192.168.80.1     17:49    1.00s  0.00s  0.00s w
root     pts/1    192.168.80.1     17:49    1.00s  0.00s  0.00s -bash
laoyang  pts/2    192.168.80.1     17:47    1:54   0.01s  0.01s -bash
[root@localhost ~]# who
root     tty1         2023-09-12 15:05
root     pts/0        2023-09-12 17:49 (192.168.80.1)
root     pts/1        2023-09-12 17:49 (192.168.80.1)
laoyang  pts/2        2023-09-12 17:47 (192.168.80.1)
laoyang  pts/3        2023-09-12 17:49 (192.168.80.1)
[root@localhost ~]# whoami
root
[laoyang@localhost ~]$ who am i
laoyang  pts/3        2023-09-12 17:49 (192.168.80.1)</span></span>
4 查看系统的登录日志
<span style="background-color:#ffffff"><span style="color:#262626">lastlog</span></span>

6 用户信息说明

passwd中保存的是跟账号相关的信息

<span style="background-color:#ffffff"><span style="color:#262626">cat   /etc/passwd
root:x:0:0:root:/root:/bin/bash
root: 用户名
x : 代表密码,为了安全,密码放到了/etc/shadow里面
0:uid
0:gid
root:用户全名,备注
/root: 用户的主目录
/bin/bash: 登录shell状态,用户登录之后,使用哪个shell</span></span>

shadow中保存的是账号的密码

<span style="background-color:#ffffff"><span style="color:#262626">cat /etc/shadow
humh:$6$qMCm3/MU$FC4a2DUI.orHtNogFrp/9yGI94afATvYi3/7GeUB6LQrnvXwwz2SzUVy.IhHecsxViIr7e8NYJ5yIq5mk0faj/:19706:0:99999:7:::
humh: 用户名
第二个字段:加密的密码
第三个:密码最近一次修改的时间
第四个:密码的最短的有效时间,如果为0,永久生效
第五个:密码的最长有效天数
第六个:密码过期多久之后,账号禁用,默认7天
第七个:密码过期之后多少天禁用账户
第八个:账号失效的时间,天数是从1970年1月1号还是算
第九个:保留字段</span></span>

六 用户组管理(了解)

1、新增组

<span style="background-color:#ffffff"><span style="color:#262626">groupadd  [-g gid] 组名</span></span>

2、删除组

<span style="background-color:#ffffff"><span style="color:#262626">groupdel  组名</span></span>

3、组成员管理

gpasswd 命令(添加、设置、删除组成员)

<span style="background-color:#ffffff"><span style="color:#262626">-a:添加组成员
-d:删除组成员
-M:指定组中的用户</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">#把aaa这个用户添加到root的用户组里面
[root@localhost home]# gpasswd -a aaa root
正在将用户“aaa”加入到“root”组中
#查看aaa这个用户的信息
[root@centos7-1 home]# id aaa
uid=1005(aaa) gid=1005(aaa) 组=1005(aaa),0(root)</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">[root@localhost ~]# gpasswd -d aaa root
正在将用户“aaa”从“root”组中删除</span></span>
<span style="background-color:#ffffff"><span style="color:#262626">[root@localhost ~]# gpasswd -M aaa,bbb root
[root@localhost ~]# cat /etc/group
root:x:0:aaa,bbb</span></span>

七 用户管理练习

<span style="background-color:#ffffff"><span style="color:#262626">1、创建两个组,dev, secure
2、创建用户Bob,附加到secure,创建用户John,附加到root
3、创建用户hacker,不生成主目录,附加到root组
4、为Bob和John设置初始密码
5、使用root用户创建一个目录demodir, 给目录授权:创建者、所在组、其他人均可读写执行
6、在demodir中使用root用户创建data1, data2, data3文件
7、切换到Bob,编辑data1,并保存
8、切换到hacher,删除data2文件,并且创建一个文件 clickme</span></span>

八 进程

1、什么是进程?

<span style="background-color:#ffffff"><span style="color:#262626">进程就是正在运行的程序,一个程序运行的时候会产生一个到多个进程,进程里面包含一个到多个线程。线程是程序运行的最小单元</span></span>

2、查看进程

<span style="background-color:#ffffff"><span style="color:#262626">#查看所有的进程
ps -ef
#查询相关进程
ps -ef | grep a1</span></span>

image-20240307174227168

UID 用户id

PID 进程的唯一编号

3、结束进程

<span style="background-color:#ffffff"><span style="color:#262626">kill -9 进程的PID</span></span>

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值