这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战
安装
作用
常见命令
- 命令的本质:是软件 是用C写的软件
- 命令的组成:
- 命令名字 [子命令] [-参数名] [-参数名] [-参数名]
- 命令名字 [子命令] [-参数名1参数名2参数名3]
- 命令执行机制
sudo提权 从普通管理权限上升到超级管理员权限 可以放在很多命令之前
apt-get [子命令] 软件名
- 子命令update:更新镜像源,就从源中将所有的最新的软件的名字下载到本地,相当于下载了一个目录
- 子命令install:安装软件
- 根据本地镜像源的目录判断是否有要安装的软件 如果没有就报错告知没有该软件
- 从远程源中下载该软件
clear清屏cd 目录路径进入某个目录
pwd当前所在位置ls 目录路径查看某个目录下的内容
- 参数l:显示目录中的内容的详细信息
touch 文件路径在任意地址下创建一个文件rm 文件路径删除某一个文件
mkdir 目录路径创建一个目录cp 操作文件 目的地路径复制一个文件
cat 文件路径查看一个文件的文件内容*代表 通配符 即任意内容 比如*.out就是以.out结尾的所有文件以及文件夹
- echo zi
用户和用户组的操作
要在root权限才可
/目录下部分文件的作用
/etc/passwd --用户及其属性信息
/etc/group --组及其属性信息
/etc/shadow --用户密码及其相关属性
/etc/gshadow --组密码及其相关属性
root@wwx-one:~# useradd test 添加一个新用户
这个命令做的事
它会完成以下几项操作:
- 在 /etc/passwd 文件中创建一行与 test 用户相关的数据:[root@localhost ~]# grep "test" /etc/passwd
test:x:500:500::/home/test:/bin/bash
可以看到,用户的 UID 是从 500 开始计算的。同时默认指定了用户的家目录为 /home/test/,用户的登录 Shell 为 /bin/bash。 - 在 /etc/shadow 文件中新增了一行与 test 用户密码相关的数据:[root@localhost ~]# grep "test" /etc/shadow
test:!!:15710:0:99999:7:::
当然,这个用户还没有设置密码,所以密码字段是 "!!",代表这个用户没有合理密码,不能正常登录。同时会按照默认值设定时间字段,例如密码有效期有 99999 天,距离密码过期 7 天系统会提示用户“密码即将过期”等。
- 在 /etc/group 文件中创建一行与用户名一模一样的群组:[root@localhost ~]# grep "test" /etc/group
test:x:500:
该群组会作为新建用户的初始组。 - 在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息:[root@localhost ~]# grep "test" /etc/gshadow
test:!::
当然,我们没有设定组密码,所以这里没有密码,也没有组管理员。
- 默认创建用户的主目录和邮箱:[root@localhost ~]#ll -d /home/test/
drwx------ 3 test test 4096 1月6 00:19 /home/test/
[root@localhost ~]#ll /var/spod/mail/test
-rw-rw---- 1 test mail 0 1月6 00:19 /var/spool/mail/test
注意这两个文件的权限,都要让 test 用户拥有相应的权限。 - 将 /etc/skel 目录中的配置文件复制到新用户的主目录中。
用户
- 增
- useradd 参数 用户名
- 参数:
- -c 指定一段注释性的描述
- -d 目录 指定用户的目录 如果该目录不存在则与-m同用新创建
- -g 指定用户所属的用户组
- -G 指定用户所属的夫附加组
- -s shell文件 指定用户的登录shell
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
root@wwx-one:~# useradd test 添加一个新用户
root@wwx-one:~# cd ..
root@wwx-one:/# cd home //但是在查看home目录下的用户文件时显示为空
root@wwx-one:/home# ls
root@wwx-one:/# vi etc/passwd
////////////////////////////////////////////////////////////////////////////////
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin
syslog:x:102:106::/home/syslog:/usr/sbin/nologin
messagebus:x:103:107::/nonexistent:/usr/sbin/nologin
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
uuidd:x:105:109::/run/uuidd:/usr/sbin/nologin
ntp:x:106:111::/nonexistent:/usr/sbin/nologin
sshd:x:107:65534::/run/sshd:/usr/sbin/nologin
_chrony:x:108:117:Chrony daemon,,,:/var/lib/chrony:/usr/sbin/nologin
test:x:1000:1000::/home/test:/bin/sh
test2:x:1001:1001::/home/test2:/bin/sh
~
~
~
///////////////////////////////////////
可以看到添加用户是成功的
//原因 虽然是添加了一个新用户 但是没有加-m 系统就只会添加 不会创建用户目录 这样就不能给该用户设置密码
//解决
root@wwx-one:~# userdel test
root@wwx-one:~# useradd -m test
root@wwx-one:~# cd ..
root@wwx-one:/# cd home
root@wwx-one:/home# ls
test //用户目录出现
//此时我们为test用户设置密码(注意要回到/root目录)
root@wwx-one:~# passwd test
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully //成功
root@wwx-one:~# cd .. //回到/目录
root@wwx-one:/# vi etc/shadow //查看用户密码及 相关属性
test:$6$XVnMUrBw$W7xqlY0I5sGHdNDGOPAESB41fGqLPJS5PrAiE2Pr.QRqi4G9YJSqS.pTJ.2g4x8/RXz2hCziZIMJsylqU3PYT0:18754:0:99999:7:::
可以看到设置密码后的变化
- 删
- userdel 参数 用户名
- 参数:
-
-r 把用户的主目录一起删除
-
改
- usermod 参数 用户名
- 参数(其他参数和增的差不多)
- -l 新用户名
用户组
- 增
- groupadd 参数 用户组名
- 参数
-
-g GID 指定新用户组的组标识号(GID)。
-
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
-
删
- groupdel 用户组名
从系统中删除组
- 改
- groupmod 参数 用户组名
- 参数
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
其他
- 终端(shell)认知:root@TCJ2020:~/tcj2020#
- root:当前用户的用户名
- @以及后面的::链接符号
- TCJ2020:主机名
- ~/tcj2020:当前所在位置
-
#: 代表当前用户是超级管理员,如果是普通管理员是$
-
用户以及用户组的权限描述:
-rwxr-xr--
- 第1位:
-该内容是文件d该内容是目录 - 第2-4位:当前用户的权限
r读取w写入
x执行- 以上三个表示的权限顺序不能错位
-没有该权限
- 第5-7位:同一用户组其他用户的权限(权限的描述同上)
- 第8-10位:其他不同用户组的用户的权限(权限的描述同上)
支持多汗数
用多个源文件编写程序
std 在ners 的一个目录里
函数的括号
变量不能和函数名同
:sp同时打开多个文件
ctrl+w 跳转倒下米纳斯
set nu 显示行号
9dd
wqa保存所有
当前文件夹有个加号证明有新定西加入
gcc 文件 文件 -哦 文件
<>预装的苦 在环境变量里面查找
相当把整个函数包含进来
“”项目的库(相对路径)
-o编译后的文件名称
编译会很慢,所以分开编译
注释//
cp拷贝
cat.o
加头文件 叫做预处理指令
作业:整理 用户用户组
自己整理20分钟