(目录)
一些Linux命令和Shell内外部命令
命令提示符
- 命令提示符 :[当前登陆系统用户名@主机名 当前所在目录名]# 文件夹位置~为当前用户的宿主目录(家目录)(与用户一一对应) #为管理员登录 $为普通用户登录
用户/主机相关
-
切换用户(切换为root用户需要密码)
操作 结果 su 用户名 仅切换用户 su - 用户名 切换后进入该用户的家目录 useradd 用户名 创建用户在/home/ -
主机
操作 结果 hostname 主机名 更改主机名(不加主机名则显示当前主机名,su后生效,重启后重置) hostnamectl set-hostname 主机名 修改主机名,永久更改,su后生效 vim修改/etc/hostname修改主机名 修改主机名,重启后生效,需要先删主机名,只有第一行有效
查看版本
-
版本
操作 结果 cat /etc/redhat-release 查看安装的发行版本 cat /etc/centos-release 查看安装的发行版本 cat /etc/*release 一次性显示所有release结尾版本 uname -r 查看内核版本
网卡相关
-
网卡IP配置文件位于 /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet ### 设置网卡类型,此处为以太网 DEVICE=ens33 ### 设置网卡名称 ONBOOT=yes ### 设置网卡是否在Linux操作系统重启时激活 BOOTPROTO=static ### 设置网卡的配置方式,“static”表示静态IP地址,“dhcp”表示动态获取地址 IPADDR=192.168.80.3 ### 设置网卡的IP地址 NETMASK=255.255.255.0 ### 设置网卡的子网掩码(也可用24) GATEWAY=192.168.80.2 ### 设置网卡的默认网关地址 DNS1=192.168.80.2 ### 设置DNS服务器的IP地址
-
临时设置网卡(network服务重启即失效)
ifconfig ens33 192.168.80.80 netmask 255.255.255.0
-
设置虚拟网卡
ifconfig ens33:0 192.168.80.81/24(id号从0开始)
-
重启所有网卡(生产环境要慎重)
systemctl restart network
-
关闭一个网卡 ; 打开一个网卡(两命令合一次输入,重启单个网卡,虚拟网卡会失效)
ifdown ens33 ; ifup ens33
-
临时禁用某个网卡(可用ip addr看到该网卡)
ifconfig ens33 down
-
重新激活网卡(与上条命令共用无法实现ip修改)
ifconfig ens33 up
网络相关(都需要重启网络服务)
-
添加静态路由条目
- 临时:route add -net 192.168.3.0/24 gw 192.168.80.2 dev ens33 (单张网卡时可省略dev ens33) net:添加网段 gw:设置下一跳 dev:指定网卡
- 临时:route add -host 192.168.4.1 gw 192.168.80.2 dev ens33 host:目标主机或ip地址
- 临时:ip route add 192.168.15.0/24 via 192.168.80.2 dev ens33 via:指定下一跳
-
删除静态路由条目
- route del -net 192.168.3.0/24
-
永久添加路由
-
vim /etc/sysconfig/static-routes ### 打开配置文件
any net any gw 192.168.80.2 ### 默认路由 gw:网关 any net 192.168.3.0/24 gw 192.168.80.2 any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2 any host 192.168.100.100 gw 192.168.80.2
-
vim /etc/sysconfig/network-scripts/route-ens33 ### 打开配置文件
default via 192.168.80.2 dev ens33 #默认路由,另一种格式0.0.0.0/0 192.168.14.254 dev ens33 10.211.6.0/24 via 192.168.80.2 dev ens33 192.168.100.200 via 192.168.14.254 dev ens33
-
-
查看路由表
route -n
-
测试网络
ping traceroute ### 静态跟踪 mtr ### 动态跟踪
开关机器
- 重启
- reboot
- init 6
- shutdown -r 10(10分钟后重启,立即now)
- 关机
- poweroff
- init 0
- shutdown -h 10(10分钟后关机,立即now)
- 取消设定的关机
- shutdown -c
一个实用小知识
-
给命令行提示字符加颜色
PS1="\[\e[1;34m\][\u@\h \W]\\$\[\e[0m\]" ### 阿拉伯数字指定颜色编号
-
单个符号更改
PS1="[\e[1;35m][[\e[1;34m]\u[\e[1;36m]@[\e[1;34m]\h [\e[1;31m]\w[\e[1;35m]][\e[1;36m]\$[\e[0m] "
[\e[1;35m][ ====> 定义左边的"[" [\e[1;34m]\u ====> 定义用户名 [\e[1;36m]@ ====> 定义"@" [\e[1;34m]\h ====> 定义第一个点(.)之前的主机名 [\e[1;31m]\w ====> 定义目录完整路径 [\e[1;35m]] ====> 定义"]" [\e[1;36m]\$ ====> 定义"#"或"$" [\e[0m] ====> 一段不显示字串的结束
Shell
定义
- linux系统中运行的一种特殊程序
- 在用户和内核之间充当翻译
- 用户登录Linux系统时,自动加载一个Shell程序
- Bash是Linux系统中默认使用的Shell程序
- 位于/bin/bash 接收用户输入的命令 - 解释命令 - 传递给系统内核执行
内部命令&外部命令
-
内部命令
集成于Shell解释器程序内部的一些特殊指令,也称内建(Built-in)命令,属于Shell的一部分,没有单独对应的系统文件,自动载入内存,可以直接使用
-
外部命令
Linux系统中能够完成特定功能的脚本文件或二进制程序,属于Shell解释器程序之外的命令,每个外部命令对于了系统中的一个文件,必须知道其文件位置,由Shell加载后才能执行/bin,/usr/bin,/usr/local/bin等
-
help和enable可判断命令为内或外部命令(help 参数)(命令 enable) type可查询到指令的内外部命令信息:有路径是外部命令,内部则会告知内嵌(cd是特殊的内部命令,有对应的路径)(type 参数)
-
通用的命令行使用格式(区分大小写) 命令字 + 空格 + 选项(非必需) + 空格 + 参数(非必需)
-
命令字:是整条命令中最关键的一部分
唯一确定一条命令
-
选项:命令的扩展功能
短格式选项 "-" 引导 (多个单字符可组合一起使用也可连接)
长格式选项 "--" 引导 (不可组合但可连接)
-
参数:命令字处理的对象
可以是文件名,目录名或用户名等
个数可是0或多个
选项参数大多可以不分前后顺序
-
-
编辑命令行的辅助操作
- Tab:自动补全
- 反斜杠\:强行换行(仅视觉换行)
- Ctrl + U:清空至行首
- Ctrl + K:清空至行尾
- Ctrl + L:清屏(clear)
- Ctrl + C:取消本次命令编辑
- Ctrl + A:切换到行首
- Ctrl + E:切换到行尾
-
获得命令帮助方法
-
内部命令help:(help cd)查看Shell内部命令的帮助信息
-
命令的--help:( ls --help )适用于大多数Linux外部命令
-
使用man阅读手页:(man ls)
使用上下和enter滚动一行
PgUp和PgDn和空格翻页
q退出
“/”查找内容,n向下查找,N向上查找
-