linux学习之旅之linux用户与文件管理
一、用户基础1、普通用户普通用户是Linux系统中除了root用户之外的所有用户。它们的权限受到限制只能访问和操作自己被 授权的文件和目录。普通用户的UID通常大于0且每个用户都有一个唯一的UID和用户名。 Centos6的普通用户是从 500的id开始而Centos7|ubuntu之后的普通用户id是从1000开始的。2、管理员用户rootRoot用户是Linux系统中的超级用户拥有对系统的完全控制权。它可以执行系统中的任何命令访问 任何文件以及更改系统配置。在Linux系统中root用户的用户IDUID是0。3、系统用户配置文件/etc/passwd/etc/passwd:存放系统用户信息 格式 用户名占位符【X】用户id【UID】所属组id【gid】用户描述:家目录:默认Shell xyx :x :1000 :1000 :xyx,,, :/home/xyx :/bin/bash4、系统组配置文件/etc/group/etc/group:存放系统组信息 格式 组名占位符【X】组id[gid]组内成员列表 xyx:x :1000 : 5、系统用户密码配置文件/etc/shadow/etc/shadow存放系统用户密码信息 格式 用户名:加密的密码::::::: xyx:$y$j9T$sxIaubscairy.OCsbjdasdhuhbJ.1w1zyPRSIkamksfnasfgnaskfbscbaUnn2f9:20636:0:99999:7:::6、创建、删除用户创建用户useradd 用户名 -m创建家目录 -d 指定家目录 -s 启动shell/bash终端 -g 指定所属组(非必要不要用) -u 指定用户id 实例useradd xyx -u 1003 -m -d /opt/xyx -s /bin/bash 删除用户userdel 用户名 -r 删除家目录等其他信息 -f 强制删除 实例userdel -rf xyx7、创建、删除用户组创建用户组groupadd 组名 -g 指定组id 实例groupadd xyx -g 1003删除用户组groupdel 组名 -f 强制删除 实例groupdel -f xyx8、用户添加、删除附加组添加附加组gpasswd -a 用户名 组名 -a 添加 -d 删除 实例:gpasswd -a xyx xyx二、文件/导航管理1、ls目录查看ls /etc -l 详细信息 -h 以人类的方式显示 -a 全部显示 -d 查看当前目录 -t 按照时间排序 实例ls -alh /etc/2、cat文件内容查看cat /etc/hosts -n 显示行号 实例 $ cat -n /etc/hosts 1 127.0.0.1 localhost 2 127.0.1.1 ubuntu22043、more\less文件翻译查看more /etc/passwd 多少行开始 enter 下一行 空格 下一页 b 上一页 / 关键字搜索 q 退出 实例 $ more /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinless /etc/passwd↑↓键 每上下一行 b 向上一页 空格 向下一页 实例 less /etc/passwd4、tail\head文件尾头查看tail\head /etc/passwd-n 首尾多少行 默认-n首尾10行 实例 xyxubuntu2204:~$ tail -n10 /etc/passwd nm-openvpn:x:121:127:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin saned:x:122:129::/var/lib/saned:/usr/sbin/nologin colord:x:123:130:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin geoclue:x:124:131::/var/lib/geoclue:/usr/sbin/nologin pulse:x:125:132:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin gnome-initial-setup:x:126:65534::/run/gnome-initial-setup/:/bin/false hplip:x:127:7:HPLIP system user,,,:/run/hplip:/bin/false gdm:x:128:134:Gnome Display Manager:/var/lib/gdm3:/bin/false xyx:x:1000:1000:xyx,,,:/home/xyx:/bin/bash sshd:x:129:65534::/run/sshd:/usr/sbin/nologin5、touch文件创建touch file1.txt{1..10}创建名字1到10的文件 {110}创建名字1和10的文件 xyxubuntu2204:~$ sudo touch {a..d} {1..3} xyxubuntu2204:~$ ls 1 2 3 a b c d6、mkdir目录创建mkdir dir1-p 递归创建没有的上一级目录 实例 mkdir -p /tmp/xyx/xyx1/xyx27、.和./目录. 当前目录..上一级目录实例 cd ../ #进到上一级目录8、pwd显示当前路径pwd实例 $ pwd /home/xyx9、cd目录切换cd /etc/实例 $ cd /etc/10、find查找find /etc/ -name hosts-name 符合这个名字的文件 -size /- 查找大于或小于多大的文件 -mtime 文件多少天的文件 * 忽略匹配 实例 $ sudo find /etc/ -name hosts /etc/hosts /etc/avahi/hosts xyxubuntu2204:~$11、grep查询grep root /etc/passwd-i 忽略大小写 -n 显示行号 实例 xyxubuntu2204:~$ sudo grep -in root /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 40:nm-openvpn:x:121:127:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin12、| 管道符cat /etc/passwd | grep root把左边的内容放到|右边 实例 $ cat /etc/passwd | grep root root:x:0:0:root:/root:/bin/bash nmopenvpn:x:121:127:NetworkManagerOpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin