一 检索文件
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、文件权限
通过上图可以看出linux中的权限由四个部分一共10个字符组成
属主:文件的创建者对这个文件拥有的权限
属组:用户组对个文件拥有的权限
其它用户权限:其它用户
2、文件权限管理
<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>
UID 用户id
PID 进程的唯一编号
3、结束进程
<span style="background-color:#ffffff"><span style="color:#262626">kill -9 进程的PID</span></span>