LIUNX

188 阅读6分钟

这是我参与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  添加一个新用户

这个命令做的事

它会完成以下几项操作:

  1. 在 /etc/passwd 文件中创建一行与 test 用户相关的数据:[root@localhost ~]# grep "test" /etc/passwd
    test:x:500:500::/home/test:/bin/bash
    可以看到,用户的 UID 是从 500 开始计算的。同时默认指定了用户的家目录为 /home/test/,用户的登录 Shell 为 /bin/bash。
  2. 在 /etc/shadow 文件中新增了一行与 test 用户密码相关的数据:[root@localhost ~]# grep "test" /etc/shadow
    test:!!:15710:0:99999:7:::
    当然,这个用户还没有设置密码,所以密码字段是 "!!",代表这个用户没有合理密码,不能正常登录。同时会按照默认值设定时间字段,例如密码有效期有 99999 天,距离密码过期 7 天系统会提示用户“密码即将过期”等。
  1. 在 /etc/group 文件中创建一行与用户名一模一样的群组:[root@localhost ~]# grep "test" /etc/group
    test:x:500:
    该群组会作为新建用户的初始组。
  2. 在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息:[root@localhost ~]# grep "test" /etc/gshadow
    test:!::
    当然,我们没有设定组密码,所以这里没有密码,也没有组管理员。
  1. 默认创建用户的主目录和邮箱:[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 用户拥有相应的权限。
  2. 将 /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分钟