Linux基础及部分命令用法
查看Linux系统的发型版本
CentOS版本
[root@centos7 ~]#cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@centos7 ~]#
当然,CentOS系统也可以用 cat /etc/redhat-release命令查看
如果是RHEL版本,则只能通过cat /etc/redhat-release 命令查看
[root@rhel7 ~]#cat /etc/redhat-release
查看Linux系统内核版本
[root@centos7 ~]#uname -r
3.10.0-957.el7.x86_64
Linux系统的7个运行级别0-6
运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。
0 系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
1 单用户工作状态,root权限,用于系统维护,禁止远程登陆,类似Windows下的安全模式登录。
2 多用户状态,没有NFS支持。
3 完整的多用户模式,有NFS,登陆后进入控制台命令行模式。
4 系统未使用,暂时保留。
5 X11控制台,登陆后进入图形GUI模式,X Window系统。
6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启,等效于reboot、poweroff、halt、shutdown等(这几个关机命令的底层原理稍有差别)。
CentOS6及早期的版本,这些级别定义在/ect/inittab文件中。从CentOS7开始,已改到/etc/systemd/system/default.target(此文件为软链接文件,默认是链接指向/usr/lib/systemd/system目录下的文件)由systemd控制,可通过systemctl查看
[root@centos7 ~]#systemctl get-default
graphical.target
graphical.target 表明系统当前运行在5级别(即GUI图形模式)
centos7中,可通过命令 cat /etc/inittab 查看inittab文件内容的说明得知,
multi-user.target 类似与之前的runlevel 3
graphical.target 类似与之前的runlevel 5
由graphical.target修改为命令模式multi-user.target:
[root@centos7 ~]#systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@centos7 ~]#
查看一下,得到预期效果:
[root@centos7 ~]#systemctl get-default
multi-user.target
[root@centos7 ~]#
重启系统,默认进入命令行界面模式~~
w,who,whoami,who am i 4个命令的区别
w命令:显示系统开机时间,负载,以及登录用户的终端、IP、及正在执行的命令等信息
[root@centos7 ~]#w
12:26:16 up 1:30, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.234.1 10:57 0.00s 1.44s 0.06s w
who命令:与w命令类似,少了负载、正在执行的命令事件等信息
[root@centos7 ~]#who
root pts/0 2019-07-28 10:57 (192.168.234.1)
whoami命名:显示的是当前有效用户的用户名
[root@centos7 ~]#whoami
root
who am i命令:与who命令相同
[root@centos7 ~]#who am i
root pts/0 2019-07-28 10:57 (192.168.234.1)
Linux系统SHELL相关
查看系统当前支持的shell类型
[root@centos7 ~]#cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
查看系统当前使用的shell
[root@centos7 ~]#echo $SHELL
/bin/bash
更改当前系统的shell,如由默认/bin/bash改为/bin/sh:
[root@centos7 ~]#/bin/sh
sh-4.2#
sh-4.2#
exit命令即可退出回到原来的默认/bin/bash
[root@centos7 ~]#/bin/sh
sh-4.2#
sh-4.2#
sh-4.2# exit
exit
[root@centos7 ~]#
以上更改shell是临时生效,修改提交到系统内存中,系统重启将失效。如需要永久修改默认使用的shell,可使用chsh命令:
查看系统当前支持的shell类型
[root@centos7 ~]#chsh -l
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
更改系统默认使用的shell
[root@centos7 ~]#chsh -s /bin/csh
Changing shell for root.
Shell changed.
重启系统,或者用户退出重新登入后,更改后的shell将永久生效。
Linux系统终端命令提示符(PS1)
PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方便操作管理,有时会设定PS1环境变量,如使用不同颜色效果的命令提示符将正式生产环境与测试环境加以区分,防止误操作导致的生产事故等。PS1设置方法如下:
[root@centos7 ~]#PS1="\[\e[1;5;41;31m\][\u@\h \W]\\$\[\e[0m\]"
[root@centos7 ~]#echo $PS1
\[\e[1;5;31;31m\][\u@\h \W]\$\[\e[0m\]
[root@centos7 ~]#
数字1是高亮显示;5是闪烁效果;41是字符背景底色颜色;31是字体颜色。以上只临时生效,如需永久生效,需将$PS1变量值保存在/etc/profile中,建议可以单独建立一个文件存放,如/etc/profile.d/env.sh中(因/etc/profile文件存放的系统全局配置很重要,一旦改错将引起系统故障)。
相关数字代表的功能对应如下图:
Linux登录迎信息
一、登录前欢迎信息
1、Linux登录前的提示信息,是通过 /etc/issue /etc/issue.net这2个文件来显示的。如下图:
2、区别:/etc/issue是本地终端登录时显示。而/etc/issue.net是远程登陆时显示的,而且/etc/issue.net不支持转义字符。
远程登陆是否显示欢迎信息还要看ssh的配置文件,/etc/ssh/sshd_config 的 Banner 字段。
/etc/issue 文件内容详解:
[root@centos7 ~]#cat /etc/issue
Kernel \r on an \m (\r 和\m都是转义字符)
[root@centos7 ~]#
常用的转义字符:
\d 本地端时间的日期
\l 显示第几个终端机的接口
\m 显示硬件的等级(i386/i486/i586/i686....)
\n 显示主机的网络名称
\o 显示 domain name
\r 操作系统的内核版本 (类似 uname-r)
\t 显示本地端时间的时间
\s 操作系统的名称
\v 操作系统的版本
注意:欢迎语句最好不要写 welcome 之类的欢迎内容,最好写“非法用户禁止登录”之类的警告信息。因为在美国曾有黑客因为入侵的主机案件写有“欢迎来访”的语句,在庭审的时候被判无罪。
二、登录后欢迎信息
Linux登录后的欢迎信息,是通过 /etc/motd这个文件来显示的,系统默认此文件内容为空,可以用vim /etc/motd 命令根据个人喜好定制成个性化的内容。效果如下图(修改后需要退出重新登录才能看到修改后效果):
Connecting to 192.168.234.7:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Sun Jul 28 13:32:57 2019 from 192.168.234.1
_oo0oo_
088888880
88" . "88
(| -_- |)
0\ = /0
___/'---'\___
.' \\\\| |//// '.
/ \\\\|||:|||//// \
/_ ||||| -:- ||||| _\
| | \\\\\-///// | |
| \_| ''\---/'' |_/ |
\ .-\__ '-' __/-. /
___'. .' /--.--\ '. .'___
."" '< '.___\_<|>_/___.' >' "".
| | : '- \'.;'\ _ /';.'/ - ' : | |
\ \ '_. \_ __\ /__ _/ ._' / /
====='-.____'.___ \_____/___.-'____.-'=====
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 iii 永不死机
[root@centos7 ~]#