Linux基础命令

命令行提示字符

[root@localhost ~]#
[当前登录系统的用户@主机名称 当前所在的目录]#

#表示为管理员登录 $表示为普通用户登录

切换用户
su 用户名 #切换后所在目录不变
su - 用户名 #切换后所在目录变成用户家目录

查看当前主机的完整名称
hostname

临时设置主机名
hostname 主机名

永久设置主机名
hostnamectl set-hostname 主机名

vi /etc/hostname(设置完后需重启系统才生效)
按i键先删除旧主机名,再输入新主机名(只有第一行有效)
按ESC键,再按SHIFT + “:” 组合键,输入 wq ,再按回车键退出

查看当前系统版本信息
cat /etc/redhat-release

cat /etc/*release

查看当前内核版本
uname -r

临时修改网卡IP
ifconfig ens33 192.168.80.3/24

ifconfig ens33 192.168.80.3 netmask 255.255.255.0

永久修改网卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33 #设置网卡的名称
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.80.3 #设置网卡的 IP 地址
NETMASK=255.255.255.0 #设置网卡的子网掩码
GATEWAY=192.168.80.2 #设置网卡的默认网关地址
DNS1=192.168.80.2 #设置DNS服务器的 IP 地址

重启网卡
systemctl restart network #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡

ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)

查看网卡地址
ifconfig

ip a

添加静态路由条目
临时添加路由(重启network服务失效)
方法一:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口

查看路由表条目
route -n

删除静态路由条目
route del -net 192.168.3.0/24

方法二:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]

永久添加路由(重启network服务生效)
方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
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

systemctl restart network

方法二:
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

systemctl restart network

测试网络连接
ping
traceroute (静态跟踪)
mtr (动态跟踪)

重启系统
reboot
init 6
shutdown -r now

关机
poweroff
init 0
shutdown -h 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] ====> 一段不显示字串的结束

/etc/resolv.conf
是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名。最多可以指定3个不同的DNS服务器地址,优先使用第一个 DNS 服务器。对该文件所做的修改将会立刻生效。
nameserver 192.168.80.2 #定义DNS服务器的IP地址

注意:此配置文件与网卡配置文件的DNS1参数作用相同,哪个最后修改或重启,系统就使用哪个配置。

Shell

Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell程序
文件位于 /bin/bash
image.png

Linux命令的分类

内部命令与外部命令的区别

内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in) 指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才 能执行/bin,/usr/bin,/usr/local/bin等

Linux命令行的格式

通用的命令行使用格式(英文字符区分大小写)
命令字 [选项] [参数]
命令字
是整条命令中最关键的一部分
唯一确定一条命令

选项
短格式选项:使用"-"符号引导(多个单字符选项可以组合在一起使用)
长格式选项:使用‘- -’符号引导
参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个

ls的常用选项

-l: 以长格式(Long) 显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。11命令与1s -1功能相同
-a: 显示所有(All) 子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“.."
-d: 显示目录(Directory) 本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human) 的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用
-R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
--color: 在字符模式中以颜色区分不同的文件。默认已开启
通常情况下,深蓝色表示目录,白色表示一 般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
-i: 显示文件和目录的inode号
-t: 以时间排序,最新的文件会排在上面
-r: 表示反向排序、倒序输出
用ls -l命令查看某一个目录会得到一个7个字段的列表

-rwxrwxr-- 1 root root 762 07-29 18:19 exit

编辑Linux命令行

编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠“\”:强制换行
Ctrl + U组合键:清空至行首
CtrI + K组合键:清空至行尾
Ctrl + L组合键:清屏
Ctrl + C组合键:取消本次命令编辑
Ctrl + a组合键:切换到行首
CtrI + e组合键:切换到行尾

获得命令帮助的方法

内部命令help
查看Shell内部命令的帮助信息
命令的“--help"选项
适用于大多数Linux外部命令
使用man命令阅读手册页
使用“T”、“↓””(ENTER) 方向键滚动一行文本
使用Page Up和Page Down (空格)键翻页
按Q或q键退出阅读环境
按“/"键查找内容,n键向下查找,N键向上查找