linux基础目录信息
/opt:附加应用程序的安装目录。通常用于第三方软件。
/bin:存放基本二进制文件,即系统命令。例如ls、cp、mv等都在这个目录下。
/mnt:临时挂载文件系统的挂载点
/sbin:存放系统二进制文件,通常是系统管理员使用的命令,如fdisk、ifconfig等。
/media:用于挂载可移动煤体,如CD-ROM、DVD、USB驱动器等。
/etc:存放系统配置文件。大多数系统服务和程序的配置文件都存放在这里。
/boot:包含Linux内核和引导程序文件,这些文件是系统启动时必需的。
/dev:包含设备文件。这些文件代表道接到系统的硬件设备,如/dev/sda(第一个SATA硬盘)。
/lib:存做共享库文件,这些库文件被系统命令和程序使用。
/proc:是一个虚拟文件系统,提供系统运行时的信息,如进程、内存、CPU等。
/selinux:安全相关的文件,特别是SELinux (SecurityEnhanced Linux)。
/sys:与/proc类似,它提供了一个接口来获取和设置内核和硬件设备的信息。
/srv:服务相关的数据目录,用于存放由系统提供的服务的数据。
/var:包含经常变化的文件,如日志文件/var/log和/war/mail以及/var/run(存放运行中的进程的临时文件)。
/mnt:临时挂载文件系统的挂载点
/tmp:存放临时文件。这些文件通常在系统重启时被刷除。
/root:系统管理员(root用户)的主目录。
/usr:用户相关的应用程序和文件。这是用户级的bin"目录,包含用户程序和库。
/home:用户的主目录。每个用户都有一个与他们用户名相同的目录。
/usr/bin:用户级的可执行命令。
/usr/lib:存放库文件。
/usr/local:存放本地安装的程序和文件,与系统默认安装的程序分开。
文件类型
- - 普通文件(文本文件、二进制文件、压缩文件、电影、图片。。。)
- d 目录文件
- b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda,/dev/sda1
- c 设备文件(字符设备)打印机,终端 /dev/tty1
- l 链接文件(淡蓝色)
- s 套接字文件
- p 管道文件
文件管理命令
语法:
命令 选择 参数
ls -l / #显示根目录下所有文件详细信息
ls -a #查看所有文件,包括隐藏文件
改变目录
cd 绝对路径或相对路径
#绝对路径,从根开始描述
cd /home/alice
#相对路径,根据当前路径来进行寻路,
# . 当前目录 .. 上一级目录
cd .. #回到上一路径
cd ./test #去到当前路径下的test文件夹,./可省略 等同于 cd test
创建文件
touch file.txt#在当前文件创建文件
touch file3 file4#创建多个文件
touch /home.file5.txt#创建指定路径下面创建文件
touch /home/file7 file8#在home路径下创建file7文件,在当前路径下创建file8文件
创建目录
mkdir -v(详细) -p(递归,没有上一级时自动创建) 目录名称
mkdir -v /home{dir6,dir7}#在home目录下创建两个目录,并显示详细信息
mkdir /home/{dir4/{dir6,dir7},dir5} #在home下面创建dir4和dir5,并在dir4下创建两个目录
复制
cp -r 递归,可以拷贝目录 -v 显示详细信息 -f 强制 -n 静默
cp -rv 源文件1 原文件2 目标文件#将多个文件拷贝到同一个目录下
移动
mv 原文件 目标文件路径
删除
rm -r 递归 -f强制 文件或目录路径
rm -rf /home/* #删除home目录下的所有文件,但是**不会删除隐藏文件**(.开头为隐藏文件)
查看文件内容
cat 查看全部信息
more 翻页查看,回车一次多显示一行,空格会进行翻页
less 查看文件 file 的内容
head 查看头部信息
tail 查看尾部信息
grep 过滤关键字
tail -1000 text#查看text文件最后1000行数据
tail -f text #动态查看text尾部内容,例如查看日志会实时显示最新日志
head -1000 text#查看text文件头1000行数据
修改文件内容
- 重定向
ll -a > list.txt
- 图形编辑器 gedit
- vi和vim:vim是vi的升级版。
非正常退出(特殊情况,比如说关机断电等)系统会自动生成一个隐藏文件./text,是已./开头的文件,ls -a可以查看到
#插入模式
hjkl #上下左右移动光标
0 $ #跳转到行首行尾
gg G #跳转到页首页尾
3G #跳转到第3行
#末行模式
/st #在文件中查找包含st的字符,n下一个,N上一个
:set nu #设置行号显示
:set nonu #取消行号显示
#命令模式
y #复制
d #删除
p #粘贴
u #撤销
用户管理
/etc/passwd:放系统的用户信息
/etc/shadow:用户密码信息文件
/etc/group:组信息文件
[root@learn home]# head -1 /etc/passwd
root : x : 0 : 0 : root : /root : /bin/bash
用户名 :密码 :uid :gid :描述 :家目录 :shell路径
用户名:登录系统使用的名字
密码:密码占位符,具体信息不在此显示
uid:用户的身份证号。0是特权用户;1-499是系统用户;1000+普通用户。创建第一个普通用户uid是1000
gid:用户的组号group
描述:对用户账号的描述,一般描述直接使用用户名
家目录:登录系统时用户所在的目录
shell路径:命令解释器
[root@learn home]# head -1 /etc/shadow
root:$6$wS4I/gnESmDgn7cYf0 : :0:99999:7 : : :
1 :2 :3 :4:5 :6 :7 :8 :9
1.登录名:
2.密码:
6
6
6开头是SHA-512加密的,
1
1
1开头是MD5加密的,
2
2
2是Blowfish加密的,
5
5
5是SHA-256加密的。如果是空代码改账号被锁定了
3.最后一次修改时间,起点是1970年1月1日。(纪念意义)
4.最小间隔时间:两个密码之间修改需要的最小天数
5.最大间隔时间:密码保持有效的最大天数。99999代表无限制
6.警告时间:密码开始警告用户到密码正式失效的天数
7.不活动时间:用户不登陆系统超过多少天就会被封禁
8.失效时间:用户账号有效时间,不管登录不登陆到期就会被封禁
9.保留字段
[root@learn home]# head -1 /etc/group
root:x :0 :
组名:组密码 :组ID :组成员
用户
创建用户
如果创建一个用户时,未指定任何选项,系统会创建一个和用户相同组
useradd user01 #创建用户
useradd user01 -u 1503 #创建用户并指定uid
uesradd user01 -d /aaa #创建用户并指定家目录
id user01 #查看用户
uid=1000(user01) gid=1000(user01) 组=1000(user01)
#用户ID 组ID 组信息(可以包含附加组)
ls /var/spool/mail/user01 #查询用户邮件相关信息
删除用户
userdel user01#删除用户
用户密码
passwd #修改当前用户密码
passwd 用户#管理员权限可以修改其他用户密码
其他选项管理
usermod -s /sbin/nologin user01#修改登录shell
用户组
基本组:随用户创建,组名和用户名相同,有且唯一。在/etc/passwd可以查看
附加组:用户加入的其他组,可以有多个
命令
useradd 创建用户
usermod 修改用户
groupadd 创建组
-u 指定用户的UID
-g指定用户的基本组
-G指定用户的附加组
/etc/passwd查看用户信息,可以看到基本组
/etc/group查看用户的附加组信息
groupadd hr#创建组
groupadd hr -g 2000#创建组并指定gid为2000
grep 'hr' /etc/group#查看组信息
groupdel hr#删除组
#例子
useradd AAA#创建用户AAA
grep AAA /etc/passwd#查看用户信息
useradd BBB#创建用户BBB
grep BBBB /etc/passwd#查看用户信息
groupadd CCC#创建组CCC
grep CCC /etc/group#查看组信息
usermod AAA -g CCC#修改用户AAA基本组为CCC
grep AAA /etc/passwd#查看用户信息
usermod BBB -G CCC#修改用户BBB附件组为CCC
grep CCC /etc/group#查看组信息
权限
在linux中ll查看文件详细信息:
drwxr-xr-x 2 root root 48 2023-11-20 16:34 file.txt
类型和权限 链接 属主 属组 大小 创建时间 文件命令
类型和权限:第一个d是文件类型,后面9个字符是属主u、属组g、其他人o
权限对象
权限三类对象:
属主:u
属组:g
其他人:o
特殊对象:所有人:a(u+g+o)
权限类型
读:r=4
写:w=2
执行:x=1
更改权限
修改文件或者目录权限:
chmod 对象(u、g、o、a)赋值符(±=)权限类型(r、w、x) 文件/目录
修改文件或者目录属主属组:
chown 用户名.组名 文件
chogrp 组名 文件
chmod 777 file.txt#将文件权限修改为任何人可读可写可执行
chown user.user file.txt#修改文件属主为user、属组为user
chown user file.txt#修改文件属主为user
chown .user file.txt#修改文件属组为user
提权
永久提权:su
临时提权:sudo
sudo执行过程:将当前用户切换到超级用户下执行命令,执行完成后退回到当前用户
sudo配置
vim /etc/sudoers
## Allows people in group wheel to run all commands。允许wheek用户组在不输入该用户密码情况下使用所有命令
%wheel ALL=(ALL) ALL
useradd user01 -G wheel