(第四篇)Linux命令初识之常用系统管理命令
1.hostname
【命令作用】用于显示和设置系统的主机名称(但是不会永久保存,重启后会恢复)
【命令语法】hostname(选项)(参数)
【常用选项】
-a:显示主机别名(alias name)
-d:显示DNS域名
-i:显示主机的ip地址
【参数说明】需要指定查看,设置的主机名
【命令示例】
显示主机的ip地址
# hostname -i
2.uname
【命令作用】用于显示当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
【命令语法】uname(选项)
【常用选项】
-a:详细显示全部的信息
【参数说明】无
【命令示例】
显示当前系统详细相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)
uname -a
3.date
【命令作用】显示或设置系统时间与日期
【命令语法】date(选项)(参数)
【常用选项】
【参数说明】
【命令示例】
4.clear
【命令作用】清除当前屏幕终端上的任何信息
【命令语法】clear
【常用选项】无
【参数说明】无
【命令示例】
清除当前屏幕终端上的任何信息
# clear
5.users
【命令作用】显示当前登录系统的所有用户的用户列表
【命令语法】users(选项)
【常用选项】无
【参数说明】无
【命令示例】
显示当前登录系统的所有用户
# users
6.groups
【命令作用】输出指定用户所在的组的组成员
【命令语法】groups(选项)(参数)
【常用选项】无
【参数说明】需要指定要打印所属工作组的用户名
【命令示例】
显示ruan用户所属的组
# groups ruan
7.sudo
【命令作用】以其他身份来执行命令,默认的身份为root
【命令语法】sudo(选项)(参数)
【常用选项】
-l:列出目前用户可执行与无法执行的指令;
-u<用户>:以指定的用户作为新的身份
【参数说明】需要运行的指令和对应的参数
【命令示例】
# sudo -u userb ls -l --指定用户执行命令
# sudo -l --列出目前的权限
8.exit
【命令作用】退出目前的shell,并返回给定值
【命令语法】exit(参数)
【常用选项】无
【参数说明】返回值:指定shell返回值
【命令示例】
# exit --退出当前shell
9.reboot
【命令作用】重新启动正在运行的Linux操作系统
【命令语法】reboot(选项)
【常用选项】
-f 强制重新开机
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
【参数说明】无
【命令示例】
重新开机
# reboot
强制开机
# reboot -f
10.poweroff
【命令作用】关闭计算机操作系统并且切断系统电源
【命令语法】poweroff(选项)
【常用选项】-f --强制关闭操作系统
【参数说明】
【命令示例】
强制关闭计算机
# poweroff -f
11.halt
【命令作用】关闭正在运行的Linux操作系统
【命令语法】halt(选项)
【常用选项】无
【参数说明】无
【命令示例】
关闭正在运行的Linux操作系统
# halt
12.shutdown(root权限)
【命令作用】系统关机(必须在root下)
【命令语法】shutdown(选项)(参数)
【常用选项】-h 将系统关闭
【参数说明】
设置多久时间后执行shutdown指令
要传送给所有登入用户的信息
【命令示例】
现在关闭计算机
shutdown -h now
13.history
【命令作用】显示指定数目的指令命令
【命令语法】history(选项)(参数)
【常用选项】-c --清空当前历史命令
【参数说明】显示最近的n条历史命令
【命令示例】
显示最近使用的20条历史命令信息
# history 20
启动模式
centos7的修改方法变了,记录如下,仅供后期参考:
1、查看/etc/inittab文件
2、由文件说明可以看出,centos只有两种启动模式:
multi-user.target: analogous to runlevel 3 #命令行模式
graphical.target: analogous to runlevel 5 #图形模式
3、通过systemctl get-default 命令获取当前模式:
4、通过systemctl set-default multi-user.target 命令,修改启动模式:
Linux系统用户账号的管理(windows多用户、Android学生模式)
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
CentOS 7 和其他版本的Linux一样,都具有相应用户的配置文件及目录
/etc/passwd //用户账户信息,可以看出用户名称
/etc/shadow //用户账户加密后信息,包括但不限于/etc/passwd中的信息
/etc/group //组账户信息,可以看出组名称
/etc/gshadow //组账户安全信息,包括但不限于/etc/group中的信息
/etc/default/useradd //账户创建时默认值
/etc/skel/ //包含默认文件的目录,具体作用尚不清楚
/etc/login.defs //安全性的默认配置,与上面/etc/default/useradd有区别
我们看一下比较重要的配置文件/etc/default/useradd,内容如下:
# useradd defaults file
GROUP=100 //起始GID值
HOME=/home //家目录位置
INACTIVE=-1 //有效时间,负值为永久,正数代表天数
EXPIRE=
SHELL=/bin/bash //shell路径
SKEL=/etc/skel //默认配置文件路径
CREATE_MAIL_SPOOL=yes //是否创建邮件池,具体作用待以后学习
1、添加新的用户账号使用useradd命令,其语法如下:
useradd 选项 用户名
参数说明:
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
指定新账号的登录名。
最简单的创建用户
执行如下命令:
useradd test
passwd test #添加密码
这样一个用户名为test的用户已经创建好了。我们看一下属性。
执行命令:id test //查看用户信息
我们发现test的uid=1000,gid=1000,位于test用户组,说明缺参数的新建用户,会默认新建一个与用户名同名的用户组并加入其中,我们也注意到UID、GID的值与默认的配置文件中保持一致,可见配置文件是生效的,同样也可以再新建一个用户,看一下UID、GID的值,会看到是1001.可以尝试一下。我们可以切到/home目录下,会看到用户目录,与配置文件设定一致。
例题:新建一个UID=501,GID=600,30天有效期,家目录为/home/test5的用户test4.
命令 :
groupadd -g 600 test3 //创建GID=600的用户组test3
useradd -u 501 -g 600 -f 30 -m -d /home/test5 test4
当我们再次打开用户文件/etc/passwd或者id test4会看到我们自己的配置。
实例1
# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
实例2
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
这里可能新建组:#groupadd group及groupadd adm
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
2、删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
当我们创建用户/组有错误时,可能会删除用户/组,然后再重新创建。我们使用userdel命令来删除用户。
执行命令:
[root@localhost home]# userdel test
[root@localhost home]# useradd test
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
出现这个问题是因为我们删除用户时,系统为了安全起见并没有删除相关的文件以及目录。
我们查看一下userdel参数:
-f, --force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
-h, --help 显示此帮助信息并推出
-r, --remove 删除主目录和邮件池
-R, --root CHROOT_DIR chroot 到的目录
-Z, --selinux-user 为用户删除所有的 SELinux 用户映射
删除一个已有的用户账号使用userdel命令,其格式如下:
3、修改帐号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
禁止登录:
usermod -s /sbin/nologin test //-s 指定shell
修改用户名:
usermod -l test88 test //-l 新的用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
4、用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
# passwd -d sam
此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
# passwd -l sam
Linux系统用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
1、增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
实例1:
# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2:
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
groupdel 用户组
例如:
# groupdel group1
此命令从系统中删除组group1。
3、修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
实例1:
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
实例2:
# groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。
4.身份切换
su命令让用户切换用户(switch user)ID
[yxkong@localhost ~]$ su –help
su命令通过常用字符串调用,例如:su-,指明用户应该作为新用户有效登录。
例如:
su 用户名 只是临时使用对应的用户的Shell,用完后直接 su 当前登录名可以退回来
[yxkong@localhost ~]$ su root
密码:
[root@localhost yxkong]# #新Shell称为用户root的Shell,在这个shell上启动的任何进程都属于root,这个Shell称为非登录Shell。root并没有完全登录,
su – 用户名 该用户作为新用户完全登录,和原来的用户没有任何关系了
5、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
$ newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
6.newgrp命令,也称作sg,让用户切换主要组(switch primary group)ID
用法:
[yxkong@localhost ~]$ sg --help
用法:sg 组 [[-c] 命令]
[yxkong@localhost ~]$ id
uid=1000(yxkong) gid=1000(yxkong) 组=1000(yxkong),0(root),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[yxkong@localhost ~]$ sg root
(第四篇)Linux命令初识之常用系统管理命令的更多相关文章
- Linux下提权常用小命令
有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...
- Linux课程---5、常用文件命令和目录命令(创建文件命令)
Linux课程---5.常用文件命令和目录命令(创建文件命令) 一.总结 一句话总结: touch file1 1.管道符|有什么用? 将前一个命令的结果作为后一个命令的输入:比如查看文件前3行:ca ...
- Linux 环境下一些常用的命令(二)
11. chown命令 "chown"命令就是改变文件拥有者和所在用户组.每个文件都属于一个用户组和一个用户.在你的目录下,使用"ls -l",你就会看到像这样 ...
- 【linux之路】常用的命令
用bash插入代码 1.查看ubuntu的版本号 lsb_release –a //linux标准基础(Linux Standards Base):release发布 2.查看Ubuntu的内核 un ...
- 第五十四篇 Linux相关——远程连接SSH
No.1. SSH(Secure Shell)安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄漏问题 SSH客户 ...
- mac 终端 常用命令,MacOS 常用终端命令大全,mac 在当前目录打开终端
MacOS 常用终端命令大全:目录操作dircmp——比较两个目录的内容——dircmp dir1 dir2文件操作pg分页格式化显示文件内容——pg filenameod——显示非文本文件的内容—— ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- Linux常用系统管理命令(top、free、kill、df)
top -c #任务管理器 free -m #查看内存使用情况 kill -9 2312 (说明:强制杀死进程 kill -9 pid ) df -h #查看磁盘 ...
随机推荐
- SQL 实习
一. tem表 group by 分组后,有三个编号,找出最下的订单时间,比较选出时间段内的数据.注意group by 和 having的用法. group by 的用法 不用聚合函数的时候,每类出现 ...
- Spring Boot 中自定义 SpringMVC 配置,到底继承谁哪一个类或则接口?
看了这篇文章,写的非常的言简意赅,特此记录下: 1.Spring Boot 1.x 中,自定义 SpringMVC 配置可以通过继承 WebMvcConfigurerAdapter 来实现. 2.Sp ...
- 多源第k短路 (ford + 重新定义编号) / 出发点、终点确定的第k短路 (Spfa+ 启发搜索)
第k短路 Description 一天,HighLights实在是闲的不行,他选取了n个地点,n各地点之间共有m条路径,他想找到这m条路径组成的第k短路,你能帮助他嘛? Input 第一行三个正整数, ...
- Round 1A 2020 - Code Jam 2020
Problem A. Pattern Matching 把每个字符串分成第一个之前,最后一个之后,中间的部分 三个部分 每个字符串的中间的部分可以直接拼接 前后两个部分需要判断下是否合法 #inclu ...
- 关于微信小程序的一点经验
2018年的11月份,自己做微信小程序相关的项目已经有四个月,这四个月自己走过很多弯路,也学到了不少经验,下面就一一总结: 一,微信小程序的radio组件是可以改变按钮样式的(比如大小,颜色等等) 改 ...
- spring04
今天设计到的内容是是spring的sqel和ioc的生命周期和bean的后置处理器 具体的测试文件如下: <?xml version="1.0" encoding=" ...
- CVPR 2020论文收藏(转知乎:https://zhuanlan.zhihu.com/p/112337176)
CVPR 2020 共收录 1470篇文章,根据当前的公布情况,人工智能学社整理了以下约100篇,分享给读者. 代码开源情况:详见每篇注释,当前共15篇开源.(持续更新中,可关注了解). 算法主要领域 ...
- 浏览器判断兼容IE
很多时候IE浏览器的兼容性问题总是让人很头疼,或许是样式的或许是脚本的.总之因为IE的低版本问题会引发各种各样的问题出来. function isUnderIE10() {//IE 6,7,8,9 i ...
- 并查集---体会以及模板&&How Many Tables - HDU 1213
定义&&概念: 啥是并查集,就是将所有有相关性的元素放在一个集合里面,整体形成一个树型结构,它支持合并操作,但却不支持删除操作 实现步骤:(1)初始化,将所有节点的父亲节点都设置为自己 ...
- 数据结构和算法(Golang实现)(14)常见数据结构-栈和队列
栈和队列 一.栈 Stack 和队列 Queue 我们日常生活中,都需要将物品排列,或者安排事情的先后顺序.更通俗地讲,我们买东西时,人太多的情况下,我们要排队,排队也有先后顺序,有些人早了点来,排完 ...