今天继续和大家分享 (承接上一章)
(40)vim + 文件名 (编辑文件, 如果文件不存在也是可以编辑的, 但是必须保存, 单独使用 vim 是打开 vim 的使用手册, 里面一样可以编辑
文字, 但是保存退出前要这么写 shift+:w(空格)/ 路径 / 文件名)
- [root@localhost boke]# cat file
- 2
- o3
- 2
- o3
- [root@localhost boke]# vim no(我在里面直接 shift+:,q)
- [root@localhost boke]# cat no
- cat: no: No such file or directory
- [root@localhost boke]# vim no(我在里面直接 shift+:wq)
- [root@localhost boke]# cat no
- [root@localhost boke]#
(41)grep -v + 关键字 (过滤出不包含关键字的行)
其他用法: 这里讲的不错 ( http://blog.51cto.com/silgon/204579 )
(42)file + 目录 / 文件名 (查看文件属性)
- [root@localhost boke]# ls
- a a1b b c file file1 no vim
- [root@localhost boke]# file a
- a: directory
- [root@localhost boke]# file no
- no: empty
- [root@localhost boke]# file vim
- vim: ASCII text
- [root@localhost boke]#
(43)strings +data 类型文件 (查看数据类型文件, 格式不怎么好看)
- [root@localhost boke]# file /var/log/wtmp
- /var/log/wtmp: data
- [root@localhost boke]# cat /var/log/wtmp (这种查看会有乱码)
~~~reboot2.6.32-431.el6.x86_64 ??5~~~runlevel2.6.32-431.el6.x86_64 ?155~~~runlevel2.6.32-431.el6.x86_64p°?*~,.tty33LOGIN,.p
- °?..tty44LOGIN..p°?*.tty22LOGIN*.p°?0.tty55LOGIN0.p°?8.tty66LOGIN8.p°??tty7:0ding:0??$+?pts/0/0ding:0.0p?ts/0/0ding
- ?
?(§apts/4ts/4ding192.168.1.1387?d
j pts/1 柔 Z0 pts/2??: 0apts/3Z-?1Σpts/1ts/1ding192.168.1.138-6?3§apts/4{J?
pts/2ts/2ding192.168.1.138K?Σpts/K??ppts/1ts/1ding192.168.1.138
tty1:0ding:0,??
?pts/1/1ding:0.05???fpts/2ts/2ding192.168.1.138(pts/0(?W 腮
- pts/0ts/0ding192.168.1.138.??fpts/2r?npts/0rfpts/0ts/0ding192.168.1.138+?b/([root@localhost boke]# XshellXshellX
- -bash: XshellXshellX: command not found
- [root@localhost boke]# strings /var/log/wtmp
- reboot
- 2.6.32-431.el6.x86_64
- runlevel
- 2.6.32-431.el6.x86_64
- runlevel
- 2.6.32-431.el6.x86_64
- tty3
- LOGIN
- (44)shutdown (关机, 重启命令)
- -h now(立即关机)
- -r now(立即重启)
- (45)poweroff,reboot(也是关机, 重启)
- (46) hostname(查看主机名)
- [root@localhost boke]# hostname
- localhost.localdomain
- (47)who(查看当前那些用户在线上)
- [root@localhost boke]# who
- ding pts/0 2018-04-19 13:39 (192.168.1.138)
- ding tty1 2018-04-19 10:30 (:0)
- ding pts/1 2018-04-19 10:30 (:0.0)
- (48)ll --full-time(显示详细时间)
- [root@localhost boke]# ll --full-time
- total 24
- drwxr-xr-x. 3 root root 4096 2018-04-18 13:03:57.061996611 +0800 a
- -rw-r--r--. 1 root root 0 2018-04-18 12:58:46.195998792 +0800 a1b
- drwxr-xr-x. 2 root root 4096 2018-04-18 13:02:36.033996833 +0800 b
(49)mkdir 与 touch 连用 (例子说明)
- [root@localhost boke]# mkdir {1..3}
- [root@localhost boke]# touch {1..3}/lizi{1..3}
- [root@localhost boke]# tree .
- .
- 1
- ?? lizi1
- ?? lizi2
- ?? lizi3
- 2
- ?? lizi1
- ?? lizi2
- ?? lizi3
- 3
- ?? lizi1
- ?? lizi2
- ?? lizi3
- (50)type,man,--help,info,help,/usr/share/doc(全部是帮助命令)
type: 判断命令是外部的还是内部的
help: 内部命令使用方法
--help: 外部命令使用方法
man: 命令使用方法, 配置文件 (man 一共有 8 个章节, 默认第一章节, 要看配置文件使用 man
5 + 文件 / 一般是存放在 /usr/share/doc)
/usr/share/doc: 存放软件帮助文档
info: 方法, 配置文件 (太详细...)
(51)date(时间, 时间间隔太大的话有可能会造成登录不上机器)
-s(修改时间,"年月日 + 分时秒" 一起修改必须加上双引号)
(52)tzselect,timedatectl(6 系统查看修改时区, 7 系统查看修改时区. 这些都属于系统时间)
- (53)hwclock(硬件时间)
- (54)hwclock --hctosys(硬件时间同步系统时间)hwclock --systohc(系统时间同步硬件时间)
- (55)cal(查看日历, 后面可以输入月份 / 年份)
用户和组
1. 相关文件
(1)passwd----- 用户信息
(2)shadow---- 用户密码策略
(3)gshadow------ 组密码策略
(4)default/useradd------ 创建用户时的一些参数
(5)group----- 组的信息
(6)shells----- 当前支持的 bash(命令解释器)
(7)skel------ 家目录默认参考文件
(8)login.defs----- 创建用户时密码策略, 权限等默认参数
* 以上文件全部在 / etc 目录下
- [root@localhost boke]# vim /etc/passwd
- root:x:0:0:root:/root:/bin/bash
以上以: 作分隔本别代表 (用户, 密码占位符, uid-- 用户唯一标识符, gid--- 组唯一标识符, 用户说明信息, 用户家目录, 用户使用的
- shell)
- [root@localhost boke]# vim /etc/shadow
- root:$1$Aj.ZRFcN$mt8l5V.YExG0HtFPb7iWo/:17632:0:99999:7:::
以上以: 作分隔本别代表 (用户, 加密后的密码, 最近一次修改密码的时间 --- 从 1970-1-1 开始往后多少天, 密码最短有效期, 密码最长有
效期, 密码过期的前几天警告, 密码失效日期宽限几天给你修改, 账户失效日期, 保留位)
- [root@localhost boke]# vim /etc/group
- root:x:0:
以上以: 作分隔本别代表 (组名, 组密码占位符, gid, 该组的成员 --- 以, 作为分隔)
- [root@localhost boke]# vim /etc/gshadow
- bin:::bin,daemon
以上以: 作分隔本别代表 (组名, 组密码, 组的管理员, 该组成员!!! 代表无效)
uid 类型范围
6 系统 7 系统
超级用户 0 0
系统用户 1-499 201-999
普通用户 500-60000 1000-60000
65535 最大支持数 (这里强调下, 65535 是个数, 不是范围! 也就是说你创建用户可以给他指定 65536!!)
(1)useradd,groupadd + 用户名 + 选项 (创建用户 / 组)
- -u(指定 uid)
- -g(指定 gid 或组名 -- 默认组)
- -G(指定附属组)
- -d(指定家目录)
- -s(指定 shell)
(2)id + 用户 (查看用户信息)
(3)passwd + 用户名 (给用户添加密码, 用户初创建 root 要给密码才能登陆, 普通用户自己改密码要知道原来的密码, 还要符合一定规
则)
(4)echo 密码 |passwd --stdin 用户 (批量给用户设置密码, 就是快了一些, 但是密码明文不安全)
(5)group + 用户名 (用户属于那些组)
(6)usermod + 选项 + 参数 (6 系统里面只能这样, 7 系统无所谓, 修改现有的用户)
- -u (修改 uid)
- -g(修稿默认组)
- -G(指定附属组, 多个用, 分隔)
- -d(修改家目录)
- -s(修改 shell)
- -aG(添加附属组, 不覆盖原来的)
(7)groupmod -g gid 组名 (修改组的 gid)
(8)groupadd -n 新组名 老组名 (修改组名)
(9)gpasswd 组名 (修改组密码)
(10)userdel -r 用户 (删除用户, 如果不加 - r, 邮件, 组都还存在)
(11)groupdel 组名 (删除组, 如果组里面包含着用户, 那时不可以删除的, 你得把用户移出去或删除才行)
(12)chage + 用户 (向导方式修改用户密码策略)
(13)chsh + 用户 (修改用户 shell)
用户切换
su - + 用户 (标准切换用的是被切换用户的环境变量)
su + 用户 (这个理论上讲应该是当前用户的变量, 但是我切换过去是可以用的被切换用户变量)
su -l + 用户 (与 su - 一样)
su -m + 用户 (使用当前变量, 这里是正确的)
su -c 命令 + 用户 (接指令)
(当前用户变量可以用 env 查看, 全部变量用 set 查看)(除了 root,su 到任何用户都需要密码: 这样不 ××× 全)
sudo(相较于 su, 安全, 方便管理)
有了 sudo 普通用户在不切换到 root 用户也可以执行一些 root 可执行的事情, 具体能执行多少事情看 root 在他的控制文件里怎么写的, 接来
下去看看
- [root@localhost ~]# visudo
- ## Allow root to run any commands anywhere
- root ALL=(ALL) ALL
以上从 root 开始介绍 (那个用户 在哪里 以谁的身份 执行什么命令 -- 命令必须是绝对路径 --- 绝对路径可以用 which + 命令查看. 命
令前面有! 代表不执行)
这里我添加这条
- root ALL=(ALL) ALL
- tom ALL=(root) /usr/sbin/useradd
- [root@localhost ~]# su -m tom
- bash: /root/.bashrc: Permission denied
bash-4.1$ sudo useradd haha
We trust you have received the usual lecture from the local System
- Administrator. It usually boils down to these three things:
- #1) Respect the privacy of others.
- #2) Think before you type.
- #3) With great power comes great responsibility.
- [sudo] password for tom:
- bash-4.1$ if haha
- ^C
- bash-4.1$ id haha
- uid=503(haha) gid=503(haha) groups=503(haha)
sudo -u 用户 + 命令 (一般是 root 给你其他人身份时使用)
sudo -k (清楚密码缓存)
来源: http://www.bubuko.com/infodetail-2567987.html