用户管理
新增用户
- 新增用户命令:
useradd 选项 用户名
# 说明
- 选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
- 用户名:
指定新账号的登录名。示例:
# 创建一个用户名为zs的用户,并在home目录下为其创建一个叫zs的目录作为该用户的主目录
useradd -d /home/zs -m zs
Linux默认会给每个新添加的用户生成一个组(如果新增时不指定组)通过 id 用户名或者 cat /etc/passwd 命令可以查看用户的信息

创建一个用户ls,分配到1000组
useradd -g 1000 ls
增加用户账号会在/etc/passwd文件中为新用户增加一条记录

删除账号
#删除账号ls
userdel -r ls-r 删除用户ls在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录
修改账号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
# 选项与新增基本相同
usermod 选项 用户名示例
# 修改zs账号的主目录和用户组
usermod -d /home/zhangsan –g 1000 zs用户可令(密码)管理
passwd 选项 用户名
# 选项
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令超级管理员可以修改其他账号的口令,普通用户只能修改自己的口令
实例

可以无视密码规则,输入两次密码一样就可以
切换账号
su - 账户名示例

root账号切换普通账号不需要口令
用户组管理
新增用户组
groupadd 选项 用户组
# 选项
- g GID指定新用户组的组标识号(GID)
- o 表示新用户组的GID可以与系统已有用户组的GID相同示例
# 创建一个名称是testgroup的组,如果不指定组ID,默认会在最大组标识号上自增1
groupadd testgroup
# 指定组标号
groupadd -g 10000 testgroup可以通过 cat /etc/group 命令查询现有的组
删除用户组
groupdel testgroup修改用户组
groupmod 选项 组名
# 修改组名为zs的组标号为1003
groupmod -g 1003 zs
#选项与新增一致用户组切换
newgrp 组名如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换
文件属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
属性查看
ls -l
#或者
ll
文件类型
d:是目录 -: 是文件 l: 表示为链接文档(link file) b:表示为装置文件里面的可供储存的接口设备(可随机存取装置) c:表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
属主和属组
属主:文件所有者 属组:文件属于哪个用户组
说明:文件的属主和属组的作用是给文件规定不同对象权限用的。比如你可以规定文件属主(所有者)对该文件有什么权限,文件属组(某一用户组)对该文件有什么权限。
修改属主和属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名-R 表示递归,目录下的所有文件也跟着改
示例1
chown zs data
示例2:
chown -R root:root ls
可以看到 ls 目录的属主和属组有原来的 ls : zs 改成了 root : root ,同时 ls 目录下的文件也改了。
文件权限
Linux的文件权限有形如 “rwxr-xr—” 九个字母决定。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute),- 字符表示,则没有执行权限。其中三个字母为一组,九个字母从前到后分成三组分别对应不同角色对其拥有的权限,三组对应的角色顺序为 owner/group/others (属主/属组/其他),字母顺序不可变,r第一w第二x第三,如果没有权限就用字符 - 代替。
示例:
“rwxr-xr—” 分成三组:rwx(属主),r-x(属组),r—(其他)。表明该文件,属主有读写执行权限,属组有读和执行权限,没有写权限,其他用户有读权限,没有写和执行权限。
文件权限修改
Linux文件属性有两种设置方法,一种是数字,一种是符号。符合即rwx 符号与数字对应:r : 4,w : 2,x : 1,- : 0 所以“rwxr-xr—”的权限值:rwx = 4+2+1 = 7,r-x = 4+0+1 = 5,r— = 4+0+0 = 4,即 rwxr-xr— = 754
修改语法
chmod [-R] 权限值 文件或目录示例
下图中把text.txt的权限右 rw-r—r— (644) 改成 rw-rw-r— (664),即给属组赋上写的权限
#方式一
chmod 664 test.txt
# 方式二
chmod u=rw,g=rw,o=r test.txt
文件与目录管理
mkdir(创建目录)
mkdir 目录名
#创建一个名为test的目录
mkdir test
#一次创建多级目录
mkdir -p test/test1/test2rmdir(删除空目录)
rmdir 目录名
#删除test目录
rmdir testcp(复制文件目录)
cp 老文件 新文件
#复制test.txt到zs目录下
cp test.txt zs
#复制test.txt到zs目录下同时改名成test2.txt
cp test.txt zs/test2.txt
#复制test目录下的所有东西到zs目录下
cp -r test zsrm(删除文件目录)
# 删除文件test.txt
rm test.txt
#删除test目录, 这个命令很危险,删除前请确认好
rm -rf testmv(移动文件)
mv 文件 新地址
#把test.txt文件移动到zs目录下
mv test.txt zs
#把test目录移动到zs目录下,并改名为test2
mv test zs/test2cat(查看文件内容)
#查看test.txt的内容
cat test.txthead(查看前几行)
#查看前10行
head -n 10 test.txttail(查看后几行)
#查看文件后3行
tail -n 3 test.txt
#实时动态查看文件后10行,Ctrl+C退出
tail -f -n 10 test.txtfind(查找)
find 搜索路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-type:按照类型搜索
-size: 按照大小搜索
示例
[root@centos home]# find /var/log/ -name "*.log"
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
...
[root@centos home]# find /home -type d
/home
/home/ls
/home/data
/home/zs
#在home目录下搜索大于10k的文件
[root@centos home]# find /home -size +10k
/home/ls/QQ9.7.12.29103.exe
/home/ls.tar.gz
/home/.test2.txt.swp
grep(查找内容)
[root@centos home]# grep "你好" test.txt
你好张三
u 撤销你好
w 保存不退出你好
q 不保存退出你好
! 强制性操作你好
#-i忽略大小写
[root@centos home]# grep -i "SET" test.txt
命令行模式下 :set nu显示行数,:set nonu 不显示行数
#查询出现次数
[root@centos home]# grep -c "你好" test.txt
5
#查询行号
[root@centos home]# grep -n "你好" test.txt
2:你好张三
12:u 撤销你好
13:w 保存不退出你好
14:q 不保存退出你好
15:! 强制性操作你好
wget(远程下载)
#下载腾讯QQ
wget https://dldir1.qq.com/qqfile/qq/PCQQ9.7.12/QQ9.7.12.29103.exetar(压缩打包命令)
#把zs目录打包成zs.tar.gz
tar -zcvf zs.tar.gz zs/
#解压zs.tar.gz
tar -zxvf zs.tar.gzgzip(压缩打包命令)
#压缩test.txt
gzip test.txt
#解压
gzip -dv test.txt.gz磁盘管理
df命令
列出文件系统的整体磁盘使用
将系统内所有的文件系统列出来

列出某个目录的容量

du命令
检查磁盘空间使用量
查看当前目录下文件占用的磁盘空间
[root@centos home]# du -h
202M ./ls
0 ./data
404M .
递归列出所有文件
[root@centos home]# du -ah
4.0K ./ls/.bash_logout
4.0K ./ls/.bash_profile
4.0K ./ls/.bashrc
0 ./ls/names.txt
4.0K ./ls/.bash_history
4.0K ./ls/index.html
202M ./ls/QQ9.7.12.29103.exe
202M ./ls
0 ./data
202M ./ls.tar.gz
404M .
查看具体目录
[root@centos home]# du -h /home
202M /home/ls
0 /home/data
404M /home
fdisk
用于磁盘分区
#列出所有分区信息
fdisk l