文件和用户管理

XShell & FinalShell

可以连接虚拟机,控制虚拟机,方便在一台电脑上对多台虚拟机进行操作。

Linux命令语法

命令 选项 参数

  1. 空格很重要,空格的多少不是很重要
  2. 比如ls -l /

很多命令都有缩写的原因是原来计算机是低级的,用的字符多了反应不过来

用ctrl+l可以给终端清屏


文件和用户管理

文件管理

pwd

显示当前目录

ls

list列出 其中可以用ls -l表示成为长格式的形式(ls-lll是一样的)
列出时第一个字符表示文件类型,其中:

字符类型
-普通文件(文本文件,二进制文件,压缩文件…)
d文件夹
b设备文件(块设备)储存硬盘 ,U盘
c设备文件(字符设备)打印机,终端/dev
l链接文件(淡蓝色)
s套接字文件
p管道文件

cd

change diretory:切换目录
cd 绝对路径 cd /home/alice
cd 相对路径 cd.

touch

创建文件
touch 路径和名字 touch /file1.txt

mkdir

make dir
mkdir 路径和目录名
mkdir -p /aa/b/c(假如在/下面没有aa这个文件夹,用-p【parent】指令可以连创不同级的文件夹)
mkdir /home/a{b,c}(在home下面创造ab和a两个文件夹,ab和ac同级,注意中间不能有空格)
mkdir -v /home/b(创建过程可视化)

cp

copy 复制
cp 源文件 目标文件夹
cp /aaa/b/c/d1 /root/桌面/
cp复制文件夹的时候会略过,这时候就要用-r来确认需要拷贝
cp -r /aaa/b/c /root/桌面/

mv

move 移动 剪切
mv 源文件路径 目标文件路径
改文件名
mv /tmp/a222 /tmp/a333可以把a222文件改名为a333

rm

remove 删除
rm -rf 文件和目录的路径
*是类型通配符
rm -rf /aaa/b*删除以b开头的
rm -rf /aaa/*1删除以1结尾的
rm -rf /aaa/*删除aaa里面所有的
rm -rf /aaa/b1 /aaa/c2可以删除两个

cat

cat 文件路径
cat /1.txt

名字作用
cat全部(大文件出现的时候会直接到最后一行,不方便观察,引出more)
head头部(head -3 /1.txt表示只看头三行)
tail尾部(和head类似)
more翻页(一点一点看[空格可以翻页,回车换行])
grep过滤关键字(grep c /1.txt[查看关键字c])

vim

  1. 重定向ls / > 1.txt将ls / 命令产生的结果放到1.txt里面(其中>是重写,>>是追加
  2. gedit,打开文本编辑器
  3. vim /1.txt直接在终端进行编辑文件

vim分为两个功能阶段,按i进入编辑,按ese进入命令行。

命令行的时候遵循这个表

字母作用
oiaA这四个都是进入插入模式,记住insert也就是i就可以了
yy复制(其中可以加个数字表示几行,如5yy)
p粘贴
dddelete删除
uundo撤销
vvisual可视化,可以解决没有鼠标的烦恼
:进入末行模式
:wq退出编辑
:q退出但是不保存修改
:set nu在前面有一个行号
:set nuno取消设置行号
:set list显示控制字符(如换行符$)
:w另存为
hjkl上下左右
0$行首行尾
gg G页首页尾
3G进入第三行
/查找/后面的部分(n是向下翻,N是向上翻)
:1,6 s/444/55555/g作用是在1到6行的g(全局范围)内,把能找到的444全部s(替换)为55555

shell就是CMD,命令解释器,定义命令,接受命令,执行命令。是一个app,能提供cp,cd,rm等
版本多ashell bshell cshell bash

临时文件

在使用vim命令的时候,如果没有经过:wq指令退出而是由于网络断了等等非人为因素导致的退出,计算机就会自动生成一个临时文件.txt.swp。
在这里插入图片描述

  1. 查看隐藏文件 ls -a / (其中-a代表all)
  2. 不想要的话可以D或者直接用rm删除它即可rm -rf /.1.txt.swp

Linux目录视图

在这里插入图片描述

名字作用
binbinary二进制 执行命令 (普通用户的)
boot启动目录(和计算机启动的)
devdriver驱动 硬件(如键盘鼠标光驱)设备文件
etc配置文件(控制台文件)可以改变网页颜色等等 etc是工作中用的最多的文件夹
home家 装用户自己的文件(别人访问自己的计算机留下的记录)
root超级管理员权限 别人呢进不去(root用户的home)
run运行文件,临时的,用完会删
sbinsuper binary : 超管的命令
tmp临时的
usr应用程序
var日志
绝对路径

例子:/home/aaa/b1
缺点:路径名太长

相对路径
  1. 当前目录 . 或者不打./file1.txt或者file1.txt
  2. 上一级目录 …

举例
mkdir -p /aaa/bbb/ccc/ddd/eee/fff/ggg
需求:
在eee下面建立3个文件
res:

  1. touch /aaa/bbb/ccc/ddd/eee/file1.txt
  2. cd cd /aaa/bbb/ccc/ddd/eee touch ./file1.txt touch file1.txt
    此时要是想在ccc下面建立文件可以touch ../../c1

用户管理

普通用户权限很小,用root权限大,root是超级管理员

用户/组基本概念

  1. 用户基本信息文件/etc/passwd(被分为7个字段
    root: x:0:0:root:/root:/bin/bash
    用户名: x:uid:gid:描述:HOME:shell
名字作用
root:用户名登陆系统的名字
x密码占位符具体内容不在这里
0:UID用户的身份证号(0特权用户 1-499系统用户[就是系统system] 1000+普通用户)
0:GIDGROUP 组的序号
root:描述比如经理manager
/root:家目录登陆系统时,所在目录
bin/bash:登录shell命令解释器
  1. 用户密码信息文件/etc/shadow(被分为9个字段 tumuzi:\$6\$sOv1KNAC37/Lmbbi$CtPpFGFkW4iK447AahYgAM7OXSM6qXXGJYEjlvAFRm3S4iYFFOa0Mmy.pDXyz6Y.RGCgD5JKmuUI76W63kAwr0:18639:0:99999:7:::

用户名(和passwd里的用户名一样):口令(加密后的用户口令字 为空代表没有口令 双叹号表示过期 两部分,加密类型和密码值):最后一次修改时间(历史上的某一天到上次修改时间):最小间隔(两次密码修改之间的最小天数):最大时间间隔(密码有效期 99999代表永久):警告时间(提示用户密码还有几天过期,软规则):不活动时间(用户不登陆系统过期禁用用户):失效时间(有时效性的用户 到了时间用户就不能用了):保留
加密的意义 1、私密性 2、完整性 3、不可否认性
加密的方法(不用细研) MD5 DES 3DES AES DF(散列对数)
口令加密:1、$6$表示用SHA-512
2、$1$ MD5
3、$2$ Blowfish
4、$5$ SHA-256

  1. 组信息文件/etc/group(被分为4个字段
    root: x:0:
    组名:组密码:组ID:组成员

用户/组管理

用户创建文件的时候所有东西都在/home/user01里面

用户
创建用户 未指定选项

useradd user01创建用户

创建用户 指定选项

useradd user02 -u 1503创建用户指定uid
useradd user03 -d /user03创建用户指定家目录
id user01查询用户命令
/var/spool/mail/user01装用户的邮件的文件夹

删除用户

userdel -r user01带上-r才能清除的干净

查找用户

使用id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)
gid是基本组,后面的组是基本组和附加组。

用户密码

passwd user01修改密码(只有在有密码才能登陆新的账号)
普通用户只能改自己的密码,超管随意

组成员管理
其他管理选项

usermod -s /sbin/nologin user02修改登陆SHELL只要不是/bin/bash 也就是bashell就不能登陆
相当于封禁一个用户 不能直接在passwd里面改,会有其他地方不同步

用户组
创建组

groupadd hr创建组
groupadd net01 -g 2000创建组指定组号
对应关系:(passwd和shadow里面没有hr,只有group才有,可以用prep查询)
passwd USER
shadow USER
group GROUP

查找组

grep net01 /etc/group grep 'net01' /etc/group单引号是转义字符,可以不用

删除组

groupdel hr删除组的时候不用加附加条件。
gpasswd -d BBB CCC让CCC不再是BBB的附加组

组的类型
  • 基本组:随用户创建,自动创建的同名组 passwd里面记录的就是基本组 -g
  • 附加组:一个用户加入到除基本组外的另一个组,产生了附加组 -G
  • 组的类型是相对于用户来说的,如果随便创建一个组,那他既不是基本组又不是附加组。基本组只有一个,附加组可以有多个。组一般不配密码
[root@192 etc]# useradd AAA
[root@192 etc]# grep AAA ./group
AAA:x:1003:
[root@192 etc]# grep AAA ./passwd
AAA:x:1002:1003::/home/AAA:/bin/bash
//创建了AAA用户和它的基本组AAA
[root@192 etc]# useradd BBB
[root@192 etc]# grep BBB ./passwd
BBB:x:1003:1004::/home/BBB:/bin/bash
[root@192 etc]# grep BBB ./group
BBB:x:1004:
//创建了BBB用户和它的基本组BBB
[root@192 etc]# groupadd CCC
[root@192 etc]# grep CCC group
CCC:x:1005:
[root@192 etc]# id CCC
id: CCC: no such user
//只创建了CCC这个组而没有CCC这个用户
[root@192 etc]# usermod AAA -g CCC
[root@192 etc]# grep AAA passwd
AAA:x:1002:1005::/home/AAA:/bin/bash
[root@192 etc]# id AAA
uid=1002(AAA) gid=1005(CCC)=1005(CCC)
//把AAA的基本组用-g修改为CCC
[root@192 etc]# tail -3 group
AAA:x:1003:
BBB:x:1004:
CCC:x:1005:
//这时有三个组,其中AAA是空的
[root@192 etc]# id BBB
uid=1003(BBB) gid=1004(BBB)=1004(BBB)
[root@192 etc]# usermod BBB -G CCC,hr
[root@192 etc]# id BBB
uid=1003(BBB) gid=1004(BBB)=1004(BBB),1002(hr),1005(CCC)
[root@192 etc]# grep BBB ./passwd
BBB:x:1003:1004::/home/BBB:/bin/bash
[root@192 etc]# grep CCC ./group
CCC:x:1005:BBB
//用-G让CCC和hr都成为BBB的附加组
[root@192 ~]# gpasswd -d BBB CCC
正在将用户“BBB”从“CCC”组中删除
[root@192 ~]# id BBB
uid=1003(BBB) gid=1004(BBB)=1004(BBB)
//让CCC不再是BBB的附加组
提权(了解)
  1. 普通用户没有特权
  2. 尽量少用root
  3. 普通用户需要执行特殊指令时,使用su切换到超管身份
永久提权

Switching users with su
su - root最好带上减号,知道密码想切哪一个用户都可以
su root

临时提权

Running commands as root with sudo

  1. 使用普通用户登陆服务器时
  2. 完成部分特权指令
  3. 如何分配权限
    先用root将普通用户放入一个组中(比如wheel中)
    然后用普通用户登陆,用sudo useradd usertest就可以用申请到的权力
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值