linux 命令

linux 命令 程序学习更新中ing

linux 的命令格式一般基于下面的格式

​ 命令 [-选项] [参数]

比如 rm -rf *

一. 文件处理命令

1. ls 命令

用法

选项参数意思
-a文件或目录显示所有包括隐藏文件/文件夹
-l文件或目录详细显示
-d文件或目录查看目录(只有目录)/文件夹属性
-h文件或目录文件大小可以一眼看出来多大

ll -al 显示的字段解析

[root@localhost ~]# ls -al
总用量 32
dr-xr-x---.  2 root root  167  727 22:43 .
dr-xr-xr-x. 17 root root  224  721 04:48 ..
-rw-r--r--.  1 root root    0  727 22:42 .aaa.txt
-rw-------.  1 root root 1257  721 04:49 anaconda-ks.cfg
-rw-------.  1 root root  937  720 23:17 .bash_history
-rw-r--r--.  1 root root   18  1229 2013 .bash_logout
-rw-r--r--.  1 root root  176  1229 2013 .bash_profile
-rw-r--r--.  1 root root  176  1229 2013 .bashrc
-rw-r--r--.  1 root root  100  1229 2013 .cshrc
-rw-r--r--.  1 root root  129  1229 2013 .tcshrc
-rw-------.  1 root root  943  720 23:17 .viminfo
				|	  | 	|         |			|
			   所有者  |   大小(KB)   最后修改   文件名称
			         所属组	
权限简称数字权限文件目录
r4读权限查看文件读取目录 rx 一般是同时 不可能可以读取进入不了
w2写权限修改文件创建、删除文件 文件的删除权限的由来
x1执行权限执行文件进入目录

上面的除第一个都解释了 下面来解释第一个参数

-rw-------

第1个字符:

  • -表示文件类型 (- 二进制文件 d 目录 l 软链接文件)

后面9个字符:表示 所有者U 所属组G 其他人O 对应的权限 每个角色对应三个字符

权限有三种 r:Read W:write x:Execute

2. mkdir

mkdir

make directories ,所有用户都有权限执行

用法

参数 + 命令意思
目录 [一个或者多个目录]创建目录
-p 目录 [一个或者多个目录]递归创建目录

3. cd

cd

change directory 的功能 ,所有用户都有权限执行

用法

参数 + 命令功能
目录切换到指定目录
回到上一级目录

4. pwd

print working directory 显示当前路径

5. rmdir

romove empty directories 移出空文件夹 一般很少使用 因为是空文件件

用法

rmdir + 目录

6. cp

cp copy 所有用户都可以执行

用法

参数 + 命令功能
-rp 原来文件/目录 目标目录复制目录、文件
-r复制目录 会把文件的时间修改为最新的时间
-p保留文件属性
文件1 文件2 文件3 目标目录复制文件到目录
文件名 文件名复制文件 并改名
6.1 scp

复制远程文件到本地 、或者本地复制到远程

复制远程192.168.141.132:/usr/local/sbin/run  到本地/usr/local/sbin/run
scp root@192.168.141.132:/usr/local/sbin/run /usr/local/sbin/run

如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

7. mv

move 的意思 移动文件或者文件夹 方法参数类似于

如果是相同文件夹内的操作===改名

用法

参数 + 命令功能
原来文件/目录 目标目录剪切目录、文件
文件1 文件2 文件3 目标目录剪切文件到目录
文件名 文件名剪切文件 并改名

8. rm

remove 删除

用法

参数 + 命令功能
原来文件删除 文件
-f系统不用询问直接删除
-r 目录删除目录下所有 会一个个询问子文件、目录建议使用 -rf
-rf 目录删除目录下所有 不会询问是否删除

9. touch

用法

参数 + 命令功能
文件名正常文件名
“文件名”带空格的文件名 不建议使用

10. cat

查看文件

用法

参数 + 命令功能
文件名查看文件
-n查看文件 携带行号

11. tac

tac 和 cat 相反

用法

tac 文件 方向显示文件内容

12. more

用法

more 文件 方向显示文件内容

  • F 翻页

  • q 退出文件浏览

  • Enter 下一行

  • 我的空格是退出

缺点 不可以向上翻页

13. less

less 文件

  • 上箭头 上一行

  • Enter 下箭头 下一行

  • page up 上一页

  • page down 下一页

  • q 退出文件浏览

  • 输入 / 后就是查询的关键词 标记高亮显示

    • n [next 的意思] 下一个关键词

14.head

head 文件前面的数据

用法

参数 + 命令功能
文件名查看文件前面 10行的数据
-n 行数 文件名查看文件前面 指定行数的数据

15.tail

用法

参数 + 命令功能
文件名查看文件后面 10行的数据
-n 行数 文件名查看文件后面 指定行数的数据
-f 文件名动态显示文件末尾内容

16.ln

ln link 类似于快捷方式

软链接(相当于windows的快捷方式)

硬链接(相当于cp -p ,1.两个文件的信息会同时更新,两个文件也是独立的,2.针对的是同一个文件节点 ,通过节点识别是不是硬链接,3.硬盘分区是一致的 4.不能针对目录使用)

用法

参数 + 命令功能
-s 文件 文件.soft(后缀不强制)创建软链接
文件 文件.head(后缀不强制)创建硬链接

二. 权限管理命令

2.1 chmod

change the permissions mode of file

用法

参数 + 命令功能
[{ugoa} {±=}{rwx}] 文件或者目录改变目录/文件权限
[mode=421] 文件或者目录改变目录/文件权限
-R递归改变子目录/文件权限
第一种方式

注释:

ugoa

  • u User 文件的拥有者
  • g 文件所属组
  • o 不是u 也不是 g
  • a 所有人

±=

  • +加权限
  • -减权限
  • = 不管以前的权限 重新赋权

rwx

  • r read 读权限 4 表示 查看
  • w write 写权限 2 表示 修改 删除 对文件有写权限是来自于对目录有写权限
  • x execute 执行权限 最高权限 1 表示 进行目录

实例

[root@localhost sff]# ll
-rw-r--r--. 1 root root   0 729 22:28 quanxian.txt
[root@localhost sff]# chmod u+x quanxian.txt   //所有者加上x  执行的权限 chmod u+x (这里可以多个 `,` 隔开) quanxian.txt
[root@localhost sff]# ll
-rwxr--r--. 1 root root   0 729 22:28 quanxian.txt
第二种方式

rwx

  • r ----------- 4

  • w ------------ 2

  • x-------------- 1

实例 - rwx rw- r-- 5 3 2 6 4 0

​ - 7 6 4 r-x -wx -w- rw- r-- —

[root@localhost sff]# chmod 640 quanxian.txt 
[root@localhost sff]# ll
总用量 0
-rw-r-----. 1 root root 0 729 22:28 quanxian.txt
[root@localhost sff]# 
第三种

修改修改的目录本身和子集目录和文件的权限

[root@localhost sff]# chmod -R 640 test  //  test目录和test 下面的目录文件的权限都变成640

2.2 chown

change file ownership 改变文件所有者

改变文件/目录的所有者只有 root 用户才可以

用法

chown 所有者 文件/文件夹

2.3 chgrp

change file ownership 改变文件所属组

改变文件/目录的所属组只有 root 用户才可以

用法

chown 组名 文件/文件夹

:文件的缺省所属组(默认组)是创建者的缺省组

2.4 umask

the user file-creation mask

用法

umask -S

参数 + 命令功能
-S以rwx形式显示新建文件缺省权限
数字获取默认创建权限
数字修改默认创建权限
[root@localhost sff]# umask -S  #下面会有怎么得到的原理
u=rwx,g=rx,o=rx
[root@localhost sff]# mkdir testumask
[root@localhost sff]# ll
drwxr-xr-x. 2 root root 6 730 22:21 testumask  //可以看到目录的权限和umask 是一样的
[root@localhost sff]# touch test.file
[root@localhost sff]# ll
-rw-r--r--. 1 root root 0 730 22:21 test.file
drwxr-xr-x. 2 root root 6 730 22:21 testumask
#### 文件为什么不一样?
文件会默认去除x 执行权限 所以可以看到每个权限里面都少一个x  可能是安全考虑 对新创建的文件不具有执行权限

注意 缺省创建文件/目录 的权限

[root@localhost sff]# umask    ##获取默认权限  0
0022      # 0   022
		  #		--- -w- -w-
		  # 777 rwx rwx rwx
		  #     rwx r-x r-x  
          # 比如改成 077            异或运算
          #     077
          # 077 --- rwx rwx
          # 777 rwx rwx rwx    
		  # 700 rwx --- ---   	
[root@localhost sff]# umask
0022
[root@localhost sff]# umask 077
[root@localhost sff]# umask -S
u=rwx,g=,o=
[root@localhost sff]# 

三. 文件搜索命令

3.1 find

文件搜索

用法

find [文件范围] 【匹配条件】

注:数据块 512字节 0.5 k linux 最小数据单元

参数 + 命令功能
目录 -name 文件/目录名按名字搜索文件/文件夹 (准确搜索)/通配符搜索[可能需要加引号包起来]

通配符:* 任意字符 ? 匹配一个字符
目录 -iname 文件/目录名基本功能同上 只是 不区分大小写
目录 -size {±=} 数据块大小+ 大于 -小于 =等于 数据块大小
目录 -user 所有者所有者 查找
目录 -group 所有组所有组 查找
目录 -amin 时间最近时间内访问过的文件
目录 -cmin 时间文件属性 change
目录 -mmin 时间内容 modify
目录 -type {fdl}按文件类型查找 f 文件d 目录l 链接
查找条件 {目录 -type {fdl}/其他上面的} -exec/ok ls-l {} \对执行的结果 执行/【询问执行】ls-l 使用格式{} \
目录 -inum 文件节点删除节点对应的文件

多个条件连接

# 两个条件都满足
[root@localhost etc]# find / -size +104800 -a -size -204800
# 两个条件其中一个满足
[root@localhost etc]# find / -size +104800 -o -size -20 
# 对结果  执行语句
[root@localhost etc]# find / -size +104800 -exec ls -l {} \;

3.2 locate

文件查询 是一个软件 需要安装 命令比较简单

yum install mlocate locate 会建立一个文件索引库 速度很快 updatedb 会刷新文件系统更新索引

用法

参数 + 命令功能
文件/文件夹会自动模糊查询
-i 文件/文件夹不区分大小写

3.3 which

搜索命令所在路径 可以判断所需要什么权限

[root@localhost sff]# which useradd   ##查询命令所在
/usr/sbin/useradd
[root@localhost sff]# which rm   ## 可以看到别名   
alias rm='rm -i'    #注意:linux 系统其实删除是没有确认的  /bin/rm xxxxx. xx  是不会确认的  
	/usr/bin/rm     #直接的rm 指令 会在命令后面添加 -i  来表示询问
[root@localhost sff]#   

3.4 whereis

找到指令路径 帮助文档都会查询出来

[root@localhost sff]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz

3.5 grep

在文件中查询字符串

用法

参数 + 命令功能
字符串 文件在文件中查找字符串并输出
-i 字符串 文件基本功能同上 只是 不区分大小写
-v 字符串 文件在文件中查找没有这个字符串的并输出
-v ^字符串 文件字符串开头的不输出 查看配置文件 ^# 表示# 开头的不输出

四. 帮助命令

4.1 man

单词 manual 使用手册; 说明书; 指南;

用法

用法

参数 + 命令功能
指令查看指令手册
配置文件查看配置文件 配置文件不需要绝对路径

4.2 whatis

查询指令简单的信息

用法

whatis 命令

4.3 help

查询内置命令 shell 的内置命令

用法

help cd ##cd 没有 在bin 下面 而是shell 的内置命令 shell就是命令和内核通信的一个命令解释器

五. 用户管理命令

5.1 添加用户

用法

useradd 用户名

5.2 修改用户密码

用法

passwd 用户 后面输入密码

5.3 查看登录信息

who

[root@localhost xh]# who
root     pts/0        2021-08-10 22:31 (192.168.141.1)
#用户名   表示远程/终端号       登录时间           登录IP
         tty  表示本地登录

w 用户登录详细信息

[root@localhost xh]# w
 22:46:48 up 26 min,  2 users,  load average: 0.00, 0.01, 0.03        ###开机时间  ##用户多少  ### 负载情况
USER     TTY      FROM             LOGIN@   IDLE        JCPU     PCPU                WHAT
								  #登录时间	 #命令空闲时间 #累计时间 	  #上次命令CPU时间     # 执行的指令
root     tty1                      22:43    3:28        0.01s    0.01s       		-bash
root     pts/0    192.168.141.1    22:31    0.00s       0.03s    0.01s        			w

5.4 服务器负载情况

[root@localhost xh]# uptime
 22:47:59 up 27 min,  2 users,  load average: 0.00, 0.01, 0.03

六. 文件压缩命令

1.gz 文件格式

注:只能压缩文件 压缩后原文件不保留

用法

gzip 文件

gunzip 压缩文件(.gz)

示例

[root@localhost tmp]# ls
gzdemo
[root@localhost tmp]# gzip gzdemo  #压缩 gzdemo 文件
[root@localhost tmp]# ls
gzdemo.gz
[root@localhost tmp]# gunzip gzdemo.gz   #解压 gzdemo 文件
[root@localhost tmp]# ls
gzdemo

2. tar

a) 压缩

注:可以打包目录

用法

参数 + 命令功能
-c创建一个新归档
-v列出详细文件
-f指定压缩后文件名
-z打包同时压缩
[root@localhost tmp]# ls
gzdemo  tardir
[root@localhost tmp]# tar -cvf demo.tar tardir/    ##对文件夹tardir/压缩  成  demo.ta
tardir/
tardir/aaa
tardir/bbbb.txt
tardir/sff/
tardir/ccc/
tardir/aaa1/

注意

我们一般linux 使用的文件格式就是上面的打包之后在压缩的 格式为:tar.gz

[root@localhost tmp]# ls
demo.tar  gzdemo  tardir
[root@localhost tmp]# gzip demo.tar 
[root@localhost tmp]# ls
demo.tar.gz  gzdemo  tardir

b) 解压缩

用法

参数 + 命令功能
-x解包
-v显示详细信息
-f指定解压文件
-z解压缩

示例

[root@localhost tmp]# tar -zxvf demo2.tar.gz 
tardir/
tardir/aaa
tardir/bbbb.txt
tardir/sff/
tardir/ccc/
tardir/aaa1/
[root@localhost tmp]# 

3.zip

***windows 和 linux 都支持***的格式

用法

zip 压缩后的文件 文件/文件夹

unzip 解压后的文件/文件夹 压缩文件

4.bzip2

注: 只能选择文件 适用于大文件的压缩

-k 保留原的文件

功能差不多是 用 tar -cjf 压缩文件 文件 一起使用

unbzip2

-k 保留解压后的文件

七. 网络

1.用户间通信 write

write 用户名

输入内容 换行Crtl+D 退出并发送

示例 :

# 发送方
[sff@localhost ~]$ write root
nihap^H^H;
[sff@localhost ~]$ 
# 接收方
[root@localhost demo]# 
Message from sff@localhost.localdomain on pts/1 at 23:31 ...
nihap^H^H;
EOF

2.广播信息 wall

wall 信息

3.ping

ping ip/域名

ping -c 次数 ip/域名

4.ifconfig

ifconfig是net-tools中的一个工具,目前已经废弃,不在维护了。
所以要使用ifconfig,Linux需要安装net-tools 临时修改IP地址 重启后失效

interface configure

ifconfg 网卡名称 信息

5.mail

mail 用户名 在后面的输入栏中输入数据

6.last

last

最后用户的登录的信息

lastlog

所有用户登录信息 包括之前没有登录过的用户

指定用户查询登录日志

[root@localhost ~]# lastlog -u root
用户名           端口     来自             最后登陆时间
root             pts/0    192.168.141.1    一 816 22:32:34 +0800 2021

7.网络追踪

获取到目标地址之前的所有路由

traceroute 域名/ip

8.netstat

netstat

用法

参数 + 命令功能
-tTCP
-uUDP
-l监听
-r路由
-n显示IP地址和端口号
-tlun (字母顺序无所谓)显示(开放)监听的所有端口
-an查看正在连接的地址IP
-rn显示路由列表
[sff@localhost ~]$ netstat -tlun
##TCP 建立连接需要监听【LISTEN】   UDP 不需要建立连接 所以是不用  
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEn  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*    
[sff@localhost ~]$ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     36 192.168.141.130:22      192.168.141.1:64709     ESTABLISHED
## ESTABLISHED 表示已经建立了连接
tcp        0      0 192.168.141.130:22      192.168.141.1:61945     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN   
[sff@localhost ~]$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.141.2   0.0.0.0         UG        0 0          0 ens33
192.168.141.0   0.0.0.0         255.255.255.0   U         0 0          0 ens33

9.setup

可以设置ip 地址 应用配置 等。。 永久生效 推荐使用

10.mount

文件挂载 不同于window的自动挂载 linux 需要手动挂载目录 文件系统

mount  /dev/sr0  /mnt/cdrom
##挂载  设备号一般固定   挂载目录
umonut   /dev/sr0
##卸载设备号 不能在挂载的目录中使用此命令

八. 关机重启命令

1.shutdown (推荐)

用法

参数 + 命令功能
-h 时间指定时间关机
-r 时间指定时间重启
-c取消前一个关机命令

2.其他关机命令

halt

poweroff

init 0

3.其他重启命令

init 6

reboot

4.系统运行级别

0: 关机

1: 单用户 root 类似于windows安全模式

2: 不完全多用户 不含NFS服务 NFS 网络文件系统(网络文件共享)

3: 完全多用户

4:未分配

5:图形界面

6:重启

5.logout

退出当前用户 特别实在服务器环境弄得

九. 文本编辑器 Vim

在这里插入图片描述

1.插入字符

插入用法

在进入文本后按

命令功能
a光标字符后插入
A光标所在行行尾插入
i光标字符钱插入
I光标所在行行首插入
o光标下插入新行
O光标上插入新行

2.定位字符

命令功能
:set nu显示行号
:set nonu取消行号
gg到第一行
G最后一行
nG (n 表示数字)到第n行
G到第n行
$移到行尾
0移到行首

3.删除字符

命令功能
x删除光标所在字符
nx删除光标后面n个字符
dd删除光标所在行 ndd 删除n行
dG删除光标所在行到末尾内容
D删除当前行到行尾的内容
:n1,n2d (n1,n2 表示行)n1,n2 内行删除

4.复制和剪切

命令功能
yy复制当前行
nyy复制当前行一下n行
dd剪切当前行
ndd剪切当前行一下n行
p/P粘贴行下 行上

5.替换或取消命令

命令功能
r取代光标所在处字符
R从光标开始处开始替换字符
u取消上一步操作

6.搜索和替换命令

命令功能
/string搜索 string 可以先:set ic或者noic 区分大小写
n搜索字符串下一个出现的位置
:%s/old/new/g全文替换指定字符
:n1,n2s/old/new/g一定范围内替换指定字符

7.保存和退出命令

命令功能
:w保存修改
:w new_filenamel另存为指定文件
:wq保存修改并退出
ZZ保存修改并退出 快捷键
:q!不保存修改并退出
:wq!保存修改并退出 只有root和文件使用者可以使用(强制保存)

8. 导入执行结果

:r !命令

9.添加快捷键

:map [按下快捷键] 命令

实例

:map  ^z  u
#把ctrl+Z 映射到 u  【u 是撤销】

十.软件包

1.软件包分类

  • 源码包 开源的代码包 C/C++

    • 开源 任意修改
    • 自由选择功能
    • 编译安装 执行效果好
    • 卸载方便
    • 安装步骤多 易错
    • 编译时间长
    • 报错新手很难解决
  • 二进制包 源代码编译后的二进制RPM格式

    • 安装卸载简单
    • 安装速度快
    • 源码不可看
    • 功能选择不灵活
    • 依赖性 一个包依赖别的包

2.RPM包管理 -rpm

1.包介绍

在linux iso 文件的packages里面有

在这里插入图片描述

示例 httpd-2.4.6-80.el7.centos.x86_64.rpm

httpd 软件名称

  1. 2.4.6 版本

  2. 80 发布次数

  3. el7.centos 适合Linux平台

  4. x86_64 适合的硬件平台

  5. rpm 包扩展名

2.RPM安装

rpm -ivh 包全名称

命令解释介绍
-iinstall安装
-vverbose显示详细信息
-hhash显示进度
–nodeps不检查依赖性 一般不用

3.升级

-U upgrade 升级

4.卸载

-e erase 包名 可以不是全名

3.RPM包管理 -yum

yum

命令解释介绍
-q + 包query查询安装的包
-qaall查询所有的安装的包
-qi+ 包information包的详细信息
-pipackage未安装的包详细
-qllist安装后的文件位置
-qR包名 包的依赖性

4.RPM 的校验

-V (verify)校验RPM 包中的文件
会显示做了修改的文件
cpio 提取包中的一个文件

5.yum

命令解释介绍
list服务器上面可用的包
search 关键字(包名服务器上面查找
install -y 包名安装 -y 自动回答yes
yum -y update 包名注意不加包名的话会升级所有包括内核
yum -y remove 包名卸载包 最好不用 可能依赖的包 也被其他的包依赖

6.源码包安装

准备gcc
下载源码包
./configuration --prefix=/安装位置
用于生成MakeFile文件
make ==>编译过程
如果失败的话可以执行 make clean
make install 会把程序安装到安装位置
安装完成!

十一.用户管理

1.用户配置文件

服务器 对用户的分配和安全有要求

1.用户的密码/etc/passwd

/etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sff:x:1000:1000::/home/sff:/bin/bash

root❌0:0:root:/root:/bin/bash

字段意思
root用户名
x密码标志表示有密码
n用户id数字标识(uid){0:超级用户;0-499 系统用户:>500 普通用户||操作系统以为0 才是超级管理员}
nGID 用户的初始组id
root用户说明
/roothome 目录 普通用户/home/用户名 超级用户/ root
/bin/bash登录之后的shell
2.影子文件 /etc/shadow

存储的加密后的密码

root:$6$KDDYiYn3/n/3.Usy$trmFxiuXQRg0V69wOFfqwTTDFMw6k7ppj/zOEpepS6J.XMU.RtjXhhycmyNIppL.ilApwroT3UoRikCV5D5ki.::0:99999:7:::
bin:*:17632:0:99999:7:::

字段意思
root用户名
密码串用户密码加密后的字符串 SHA512 如果是!! 或者* 表示无密码 不能登录
时间戳1970年后的多少天
n修改密码的时间间隔
999999密码的时效性 强制修改密码周期()
n到期前 提示天数 会从(999999-n)天 开始提示
n密码到期前的宽限时间
时间戳账号有效日期
3.初始组合附加组

初始组:用户一登录就李哥拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户名一样的用户组作为该用户的初始组(不建议修改)

附加组:指用户可以加入其他用户的组 并拥有改组的权限,附加组可以有多个;

4.组信息文件/etc/group 主密码文件/etc/gshadow

/etc/group

root:x:0:  
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:

组名 :组密码标志位:GID 组id:组里面的附加用户

/etc/gshadow

root:::
bin:::
daemon:::
sys:::

组名 :组密码{相当于组长有的密码 控制组内成员的操作}

2.用户管理相关文件

1.用户的家目录

普通用户: /home/用户名/ 所有者和所所属组都是此用户 权限是700

超级用户:/root/ 所有者和所属组都是root 用户 权限是550

2.用户的邮箱

/var/spool/mail/用户名、

3.用户的模板目录

每个新用户默认的文件 在这个文件夹下面添加文件后 后面新添加的用户的家目录里面都会有这个模板文件

/etc/skel

3.用户的管理命令

1.useradd

添加用户

命令解释
用户名添加用户
-u uid指定用户的uid
-d 家目录指定家目录
-c 用户说明手工指定用户的说明
-g 组名手动指定用户的初始组
-G 祖名指定用户的附加组
-s shell手动指定用户的登录shell(命令解释器) 默认时/bin/bash

2.用户默认值文件

/etc/default/useradd

[root@localhost lhh]# cat /etc/default/useradd
# useradd defaults file
GROUP=100    #用户的默认组
HOME=/home   #用户的家目录
INACTIVE=-1  #密码过期宽限时间
EXPIRE=             #密码的失效时间
SHELL=/bin/bash   #默认的shell 命令解释器
SKEL=/etc/skel   #默认的模板文件位置
CREATE_MAIL_SPOOL=yes  ## 是否建立邮箱

/etc/login.defd

[root@localhost lhh]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

[root@localhost lhh]# cat /etc/login.defd
cat: /etc/login.defd: 没有那个文件或目录
[root@localhost lhh]# cat /etc/login.defs
MAIL_DIR	/var/spool/mail    ##默认邮箱地址
PASS_MAX_DAYS	99999   ##密码有效期
PASS_MIN_DAYS	0       ##密码修改间隔   
PASS_MIN_LEN	5       ##密码长度
PASS_WARN_AGE	7  		##密码到期警告
UID_MIN                  1000   #最小uid
UID_MAX                 60000	#最大uid
SYS_UID_MIN               201
SYS_UID_MAX               999

GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999

CREATE_HOME	yes
UMASK           077
USERGROUPS_ENAB yes   
ENCRYPT_METHOD SHA512   #加密模式

2.passwd

为用户添加密码

命令解释
-S查询用户密码状态,root用户可用
-l锁定用户 root 可用 密码文件shadow 密码加!注释了 可以修改来解锁
-u解锁用户 root 可用
–stdin可以通过甘道夫
密码用户添加/修改密码

3.usermod

修改用户的信息 用户已经存在 命令和useradd 差不多 不同的是 这个操作的用户是已经存在的了

命令解释
-u uid修改用户的uid
-c 用户说明修改指定用户的说明
-G 祖名指定用户的附加组
-L临时锁定用户
-U解锁用户
3.chage

主要是修改密码相关的文件

chage -d 0 用户 ===> 用户登录就必须修改密码0

4.userdel

userdel -r 用户名

删除用户的同时会删除家目录

5.id 查看用户信息
[root@localhost Packages]# id sff
uid=1000(sff) gid=1000(sff)=1000(sff)
6.su 切换用户

su - 用户名 注意 - 不可以省略

切换用户同时 把环境变量一起切换

su - root -c " 命令"

不切换用户执行root 的命令

4.用户组管理

1.groupadd

-g GID 指定组id

2.groupmod

-g GID 修改组id

-n 新组名 旧组名

3.groupdel

groupdel 组名 删除组

4.gpasswd

把用户添加或者删除组

-a 用户 组 ==》用户加入组

-d 用户名 组 ==》 用户组里面删除

十二.权限管理

对文件和目录添加acl 权限 需要开启acl权限

setfacl 命令

chattr

sodu 授权命令道用户

十三.文件系统

1.分区

主分区 最多四个

扩展分区 只能一个 也算是主分区的一种 不能存数据或者格式化 必须在划分成逻辑分区才可以

逻辑分区逻辑分区实在爱扩展分区中划分的如果是IDE 硬盘 linux最多支持59个逻辑分区 如果是SCSI硬盘最多支持11g个逻辑分区

分区的设备名称

主分区1 主分区2 主分区3 扩展分区

​ 逻辑分区1 逻辑分区2 逻辑分区3

/dev/sa1 -------------------------------------------------------------------------/dec6

/dev/sa1-sa4 是分给主分区的 逻辑分区只能是5开始的

2.文件系统

ext2 ext 升级版 最大支持12TB和最大2TB 的文件

ext3 提供日志来提升文件系统可靠性 最大支持12TB和最大2TB 的文件

ext4 性能提升 支持IEB 数据 和最大12TB 的文件

3.文件系统查看命令df

命令解释
-a显示所有文件系统信息
-h习惯显示容量KB GB 等
-T显示文件系统类型
-m以MB 为单位显示
-k以KB 为单位显示 这个是默认的

4.统计目录大小du

ll 查看目录只会看下一级的目录的大小 不会深度的看下面层次的大小一起计算

命令解释
-a显示每个子文件磁盘用量。默认和ll 的一样只有子目录的磁盘占用量
-h习惯显示容量KB GB 等
-s统计总的占用量 而不是子目录和子文件的占用量

注意: df 【面向文件系统】 看到可用文件可用大小 是除了程序暂用的空间 还要计算被程序和命令占用的空间 (没有释放的空间)

du 【面向文件的】 只会计算文件或者目录占用的空间

5.文件修复命令fack

系统自启会自动使用 最好不要着急手动执行

6.dumpe2fs

dumpe2fs 分区设备名

数据块 超级块信息

7.挂载 mount

设备映射到目录{相当于windows里面的盘符} 挂载光驱 U盘等

-l 已经挂载的目录

-a 自动挂载

mount -t 文件系统 -L 卷标名

实例 挂载光盘

#建立挂载点
mkdir /mnt/cdrom
# 挂载光盘
mount -t iso9660 /dev/cddrom[或者是dev/sr0]    /mnt/cdrom

#卸载命令
umount /mnt/cdrom
##或者
umount /dev/cddrom[或者是dev/sr0]

实例 挂载U盘

#建立挂载点
mkdir /mnt/urom
# 查看U盘的设备文件名  如下 截了部分
fdisk -l

#开始挂载  默认不支持NTFS
mount -t exFAT /dev/sdb1 /mnt/urom

在这里插入图片描述

8.linux 支持NTFS

  • 修改内核
  • 借助第三方软件 NTFS-3G

9.fdisk分区

# 添加一块硬盘

#查看 硬盘信息  和上面的图信息差不多 
fdisk -l 
# 分区  只能写/dev/sdb  
fdisk /dev/sdb   
#进入分区开始命令行
# 1. l 查看可用分区
# 2. n 开始新建分区  会询问是否是扩展分区e或者是主分区p  选择分区大小
# 3. n 继续分区 开始逻辑分区
# 4. 
# 5.
# 6.
# 7.
命令解释
a设置可引导标记
b标志bsd磁盘标签
c设置DOS操作系统兼容标记
d删除一个分区
l显示已知文件系统 82 =LInux Swap 83 = Linux 分区
m显示帮助菜单
n新建分区
o建立空白DOS分区表
p显示分区列表
q不保存退出
s新建空白SUN磁盘标签
t改变一个分区的系统ID
u改变显示记录单位
v验证分区表
w保存退出
x附加功能 仅专家

10.格式化分区

#格式化分区
mkfs -t ext4 /dev/sdb1

11.自动挂载硬盘

/etc/fstab 文件

添加前面挂载的

##自动分区  注意  写错了会系统崩溃   一般是写完了 会mount -a【这个命令就是工具文件来重新挂载一遍】 来测试是否可以正常挂载
/dev/sdb1    /disk1    ext4   default  1, 2

文件修复

mount  -o remount , re /
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值