Linux常用基础命令

1、设置主机名

#临时生效
hostname NAME

#持久生效,支持Centos7和Ubuntu18.04以上版本
hostnamectl set-hostname NAME

注意:

  • 主机名不支持使用下划线,但支持横线,可使用字母,横线或数字组合
  • 有些软件对主机名有特殊要求

2、命令提示符prompt

通过修改PS1变量实现个性化的提示符

#Centos默认提示符
[root@centos8~]#

#Ubuntu默认提示符
root@ubuntu1904:~#

#管理员

$普通用户

3、显示提示符格式

[11:50:16 root@Centos8-2 ~]#echo $PS1
\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$

4、修改提示符

PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
  1. 临时修改使用上述方式
  2. 永久修改:

ubuntu

nano .bashrc

Centos/Rockey

nano  /etc/bashrc /etc/profile /etc/profile.d/env.sh

3、提示符格式说明:

  • \e 控制符\033
  • \u 当前用户
  • \h 主机名简称
  • \H 主机名
  • \w 当前工作目录
  • \W 当前工作目录基名
  • \t 24小时时间格式
  • \T 12小时时间格式
  • ! 命令历史数
  • #开机后命令历史数

5、用户登录信息查看命令

#系统当前所有的登录会话
[11:57:10 root@Centos8-2 ~]#who
root     tty1         2022-10-28 16:03
root     pts/0        2022-10-31 11:49 (192.168.13.1)

#显示当前登录的有效用户
[12:03:37 root@Centos8-2 ~]#whoami
root

#系统当前所有登录会话及所做操作
[17:38:13 root@Centos8-2 ~]#w
 17:43:55 up 10:34,  2 users,  load average: 0.01, 0.02, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                Fri16    3days  0.01s  0.01s -bash
root     pts/0    192.168.13.1     11:49    0.00s  0.08s  0.00s w

6、查询网络信息

ip a

[12:03:42 root@Centos8-2 ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:cb:18:a0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.129/24 brd 192.168.13.255 scope global dynamic noprefixroute ens160
       valid_lft 1381sec preferred_lft 1381sec
    inet6 fe80::20c:29ff:fecb:18a0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

7、查询时间信息

#系统时间
[12:07:37 root@Centos8-2 ~]#date
Mon Oct 31 12:07:40 CST 2022

[17:25:12 root@Centos8-2 ~]#date +%s
1667208315
[17:27:23 root@Centos8-2 ~]#date -d @1667208315
Mon Oct 31 17:25:15 CST 2022
[17:28:23 root@Centos8-2 ~]#date -d @1667208315 +%F_%T
2022-10-31_17:25:15
[17:28:49 root@Centos8-2 ~]#date -d "2022-10-31" +%s
1667145600

#硬件时间
[17:29:30 root@Centos8-2 ~]#clock
2022-10-31 17:31:07.133623+08:00
[17:31:08 root@Centos8-2 ~]#hwclock
2022-10-31 17:31:17.759338+08:00
[17:31:18 root@Centos8-2 ~]#clock -s
[17:31:44 root@Centos8-2 ~]#date
Mon Oct 31 17:31:46 CST 2022
[17:31:46 root@Centos8-2 ~]#clock -w
[17:32:03 root@Centos8-2 ~]#clock
2022-10-31 17:32:08.851738+08:00

clock,hwclock 显示硬件时钟
-s ,--hctosys 以硬件时钟为准,校正系统时钟
-w ,--systohc 以系统时间为准,校正硬件时钟

[17:32:09 root@Centos8-2 ~]#ll /usr/sbin/clock
lrwxrwxrwx. 1 root root 7 Jul 21  2021 /usr/sbin/clock -> hwclock

8、修改时间

#查看当前时区
[17:35:07 root@Centos8-2 ~]#ll /etc/localtime
lrwxrwxrwx. 1 root root 35 Sep 16 22:15 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

#查看可用时区
[17:36:28 root@Centos8-2 ~]#timedatectl list-timezones

#设置时区
[12:07:40 root@Centos8-2 ~]#timedatectl set-timezone Asia/Shanghai

#查看当前时间信息
[17:36:28 root@Centos8-2 ~]#timedatectl status 
               Local time: Mon 2022-10-31 17:37:22 CST
           Universal time: Mon 2022-10-31 09:37:22 UTC
                 RTC time: Mon 2022-10-31 09:37:22
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

#显示日历
[17:37:22 root@Centos8-2 ~]#cal -y

19、查看CPU命令

lscpu
cat /proc/cpuinfo

10、查看内存大小

free
cat /proc/meminfo

11、查看硬盘和分区

lsblk
cat /proc/partitions

12、查看系统版本信息

#查看系统架构
arch

#查看内核版本
uname -r

#查看操作系统发行版本
#centos
cat /etc/redhat-release
cat /etc/os-release
#ubutu
cat /etc/os-release
cat /etc/issue

#查看os版本
lsb_release -is
lsb_release -cs
lsb_release -rs

13、会话管理-screen

利用screen可以实现会话管理,如:新建会话,共享会话等

centos7来自有base源,centos8来自于epel源

#Centos7安装screen
[17:50:04 root@Centos8-2 ~]#yum -y install screen

#centos8安装screen
[17:49:16 root@Centos8-2 ~]#dnf -y install epel-release
[17:49:54 root@Centos8-2 ~]#dnf -y install screen

常见用法:

  • 创建新的会话
    • screen -S 会话名称
  • 加入新的会话
    • screen -x 会话名称
  • 退出并关闭会话
    • exit
  • 剥离当前screen会话
    • ctrl+a/d
  • 显示所有已经打开的screen会话
    • screen -ls
  • 恢复某个screen会话
    • screen -r 会话名称

14、会话管理-tmux

在这里插入图片描述

Tmux就是会话与窗口的“解绑”工具,将它们彻底分离,功能如下:

  • 它允许在单个窗口中,同时访问多个会话,这对于同时运行多个命令行程序很有用
  • 它可以让新窗口“接入”已经存在的会话
  • 它允许每个会话有多个连接窗口,因此可以多人实时共享会话
  • 它还支持窗口任意的垂直和水平拆分

安装

[18:11:16 root@Rocky8 ~]#yum install tmux

启动与退出

[20:13:39 root@Rocky8 ~]#tmux
[exited]
[20:14:23 root@Rocky8 ~]#exit

mux窗口有大量快捷键,需要通过前缀键ctrl+b唤起,快捷键才能生效

新建会话

默认第一个启动的Tmux窗口是0,第二个是1,可以起会话名称

tmux new -s 会话名称
tmux ls #查看当前所有的Tmux会话(ctrl+b,s)
[20:19:17 root@Rocky8 ~]#tmux ls
0: 1 windows (created Wed Nov  2 20:19:11 2022) [271x62] (attached)

分离会话

tmux detach #分离会话,将当前会话与窗口分离
[20:28:27 root@Rocky8 ~]#tmux detach

接入会话

tmux attach命令用于重新接入某个已存在的会话

[17:12:47 root@Rocky8 ~]#tmux attach -t 2

杀死会话

tmux kill-session命令用于杀死某个会话

[17:16:32 root@Rocky8 ~]#tmux kill-session -t 4

[17:16:41 root@Rocky8 ~]#tmux ls
3: 1 windows (created Wed Nov  2 20:28:22 2022) [271x62]
6: 1 windows (created Fri Nov  4 17:16:41 2022) [98x28] (attached)

切换会话

tmux switch命令用于切换会话

tmux switch -t 会话名称

上下分窗口

tmux split-window

左右分窗口

tmux split-window -h

窗格快捷键

Ctrl+b %  划分左右两个窗口
Ctrl+b "  划分上下两个窗口
Ctrl+b 方向键  光标切换到其他窗格
Ctrl+b ; 光标切换到上一个窗格
Ctrl+b o 光标切换到下一个窗格
Ctrl+b { 当前窗格左移
Ctrl+b } 当前窗格右移
Ctrl+b Ctrl+o 当前窗格上移
Ctrl+b Alt+o  当前窗格下移
Ctrl+b x 关闭当前窗格
Ctrl+b !将当前窗格拆分为一个独立窗口
Ctrl+b z 当前窗格全屏显示,再使用一次会变回原来的大小
Ctrl+b Ctrl+方向键  按照方向键调整窗格大小
Ctrl+b q 显示窗格编号

窗口管理

除了将一个窗口划分多个窗口,也允许新建多个窗口

新建窗口

tmux new-window  #新建窗口
tmux new-window -n 窗口名称  #新建指定名称的窗口

切换窗口

tmux select-window -t 窗口名称   #切换到指定名称的窗口
tmux select-window -t 窗口编号   #切换到指定编号的窗口

窗口快捷键

Ctrl+b c  创建一个新窗口,状态栏会显示多个窗口的信息
Ctrl+b p  切换到上一个窗口(按照状态栏的顺序)
Ctrl+b n  切换到下一个窗口
Ctrl+b 窗口编号  切换到指定编号的窗口
Ctrl+b w  从列表中选择窗口
Ctrl+b , 窗口重命名
tmux list-keys  #列出所有快捷键,及其对应的Tmux命令
tmux list-commands  #列出所有Tmux命令及其参数

15、历史命令管理

当执行命令后,系统默认会在内存中记录执行过的命令

当用户退出,会将内存的命令历史存放到对应的历史文件中,默认是~/.bash_history

登录shell时,会读取命令历史文件中记录下的命令加载到缓存中

登录进shell后新执行的命令只会记录再内存的缓存中,用户正常退出时“追加”至命令历史文件中

利用命令历史,可以重复执行命令,提高输入效率

命令 history
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg...]

常用选项

-c:清空命令历史
-d offset:删除历史中指定的第offset个命令
[11:51:00 root@Rocky8 ~]#history -d 230

n:显示最近的n条历史
[11:51:18 root@Rocky8 ~]#history 10

-a:追加本次会话新执行的命令历史列表至历史文件(历史文件:保存在硬盘,历史列表:缓存保存在内存)
-r:读历史文件附加到历史列表
-w:保存历史列表到指定的历史文件
-n:读历史文件中未读过的行到历史列表
-p:展开历史参数成多行,但不存在历史列表中
-s:展开历史参数成一行,附加在历史列表中

命令历史相关环境变量

HISTSIZE:命令历史记录的条数
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
HISTTIMEFORMAT="5F %T 'whomi'" 显示时间和用户
HISTIGNORE="str1:str2*:..." 忽略str1命令,str2开头的历史
HISTCONTROL:控制命令历史的记录方式
	ignoredups 是默认值,可忽略重复的命令,连续且相同为"重复"
	ignorespace 忽略所有以空白开头的命令
	ignoreboth  相当于ignoredups,ignorespace的组合
	erasedups   删除重复命令

持久保存变量

以上变量可以export变量名=“值”形式存放在/etc、profile或~/.bash_profile

调用命令行历史

#重复前一个命令
重复前一个命令使用上方向键,并回车执行
快捷方式:
		!! 回车执行 / ! -1回车执行  /  ctrl+p 回车执行

!:0 执行前一条命令
!n  执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以"string"开头的命令
!?string  重复前一个包含string的命令
!string:p  仅打印命令历史,而不执行
!$:P  打印输出!$(上一条命令的最后一个参数)的内容
!*:P打印输出!*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为string2
ctrl+r在命令历史中搜索命令
ctrl+g:从历史搜索模式退出

#重新调用前一个命令中最后一个参数
!$  表示前一个命令中最后一个参数
Esc, . 点击Esc键后松开,然后点击.键
Alt+.  按住Alt键同时点击.键

command !^   利用上一个命令的第一个参数做command的参数
command !$   利用上一个命令的最后一个参数做command的参数
command !*   利用上一个命令的全部参数做command的参数
command !:n  利用上一个命令的第n个参数做command的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以string开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以string开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以string开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以string开头的命令,并获取它的所有参数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值