一、冯·洛依曼计算机体系结构 1、结构图
2、特点
指令和数据采用二进制表示
指令在存储器中按顺序存放
指令和数据以相同形式存放与存储器中
指令有操作码和地址码组成
计算机有运算器、存储器、控制器、输入设备和输出设备五大部件组成
二、进制转换 1、bc 命令(进制之间的转换,默认为10进制)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [root@Rocky8-en ~] bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 2*3 6 // 默认为10进制,得计算结果 ibase=2 // 设定输入的数字类型为二进制,输出默认为10进制 110 6 quit [root@Rocky8-en ~]# bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty' .obase=2 // 设定输出的类型为二进制,默认输入为十进制 8 1000 9 1001
2、各进制之间的转换
1 2 3 4 5 6 7 8 9 10 11 12 -十进制转二进制- [root@Rocky8-en ~] 1001 -八进制转十进制- [root@Rocky8-en ~] 9 -二进制转十进制- [root@Rocky8-en ~] 6 -二进制转十六进制- [root@Rocky8-en ~] 12
三、Unix 的哲学思想
一切皆文件
不管是普通的文件,还是目录、字符设备、块设备、套接字等在Unix中都是以文件形式对待,采用统一的接口被提供
配置数据存储在文本中
Linux中大部分配置文件存放在文本中,方便我们进行修改来解决一些发生的错误;像Windows中的程序配置文件放在注册表中,注册表采用若干个二进制文件,出错很难修改。
提供许多小型的单一用途的程序
避免令人困惑的用户界面
更多的采用字符界面,图形界面会产生一些虚假的现象,执行过程中不稳定
连接程序,完成复杂的功能
某些复杂的任务,可以连接多个简单的程序来实现其复杂的功能。像编写SHELL程序。
四、SHELL Shell是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- 显示当前使用的shell [root@Rocky8-en ~] /bin/bash -- 显示当前系统使用的所有shell [root@Rocky8-mini ~] /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash wh@unbuntu18:~$ cat /etc/shells /bin/sh /bin/bash /bin/rbash /bin/dash
4.1 Shell中执行的命令 4.1.1 shell 中可执行的两类命令
内部命令:由shell自带的,而且通过某命令形式提供,用户登录后自动加载并常驻内存中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -- type 判断指定的命令时外部命令还是内部命令 [root@Rocky8-en ~] cat is /usr/bin/cat[root@Rocky8-en ~] echo is a shell builtin echo is /usr/bin/echo-- 列出当前shell所有的内部命令 [root@Rocky8-en ~] enable .enable :enable [enable alias enable bg enable bind enable break enable builtin enable caller enable cd ··· ··· enable wait
外部命令:在文件系统路径下有对应的可执行程序文件,当执行命令时才从磁盘加载至内存中,执行完毕后从内存中删除
1 2 3 4 5 -- 查看外部名令的路径 [root@Rocky8-en ~] /usr/bin/cat [root@Rocky8-en ~] cat : /usr/bin/cat /usr/share/man/man1/cat.1.gz /usr/share/man/man1p/cat.1p.gz
系统初始时hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当在此使用该命令时,shell解释器首先查看hash表。
1 2 3 4 5 6 7 常见用法 hash 显示hash 缓存 hash -l 显示hash 缓存,可作为输入使用 hash -p PATH NAME 将命令全路径path起别名为name hash -t NAME 打印缓存中命令的路径 hash -d NAME 清除指定命令缓存 hash -r 清除缓存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [root@Rocky8-mini ~] /usr/sbin/clock ========================================================================= [root@Rocky8-mini ~] builtin hash -p /usr/bin/dnf dnfbuiltin hash -p /usr/bin/screen screenbuiltin hash -p /usr/bin/systemctl systemctlbuiltin hash -p /usr/bin/vim vimbuiltin hash -p /usr/bin/date date builtin hash -p /usr/bin/uname uname builtin hash -p /usr/bin/who who builtin hash -p /usr/bin/whoami whoami builtin hash -p /usr/bin/man manbuiltin hash -p /usr/sbin/shutdown shutdownbuiltin hash -p /usr/sbin/clock clockbuiltin hash -p /usr/sbin/hwclock hwclock=========================================================================== [root@Rocky8-mini ~] [root@Rocky8-mini ~] hits command 1 /usr/bin/dnf 1 /usr/bin/screen 1 /usr/bin/systemctl 1 /usr/bin/vim 5 /usr/bin/date 1 /usr/bin/uname 1 /usr/bin/who 1 /usr/bin/whoami 2 /usr/bin/man 8 /usr/sbin/shutdown 3 /usr/sbin/hwclock ============================================================================== [root@Rocky8-mini ~] [root@Rocky8-mini ~] hash : hash table empty
4.1.2、命令别名 对于经常执行的较长命令,可以将其定义为较短的别名,方便执行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -- 显示当前shell进程所有可用的命令别名 [root@Rocky8-mini ~] -- 定义别名 alias 新名='需要定义别名的命令' [root@Rocky8-en ~] CentOS-Base.repo epel-modular.repo epel.repo epel-testing-modular.repo epel-testing.repo [root@Rocky8-en ~] [root@Rocky8-en ~] CentOS-Base.repo epel-modular.repo epel.repo epel-testing-modular.repo epel-testing.repo -- 取消别名 unalias 别名 [root@Rocky8-en ~] [root@Rocky8-en ~] bash: lsrepo: command not found... -- 定义别名配置永久有效 * 仅对当前用户 ~/.bashrc * 对所有用户 /etc/bashrc -- 如果别名同原命令,仍然向执行原命令 \ALIASNAME 'ALIASNAME'
4.1.3 命令的执行次序
系统先判断是否是别名,如果是就立即执行
如果不是别名,判断是否是内部命令,是就执行
如果不是内部命令,查询hash对应的缓存区中是否有此命令对应的路径,如果有就按照此路径在磁盘上查找此命令的文件并执行。如果找不到对应的文件,无法执行此命令。
如果在hash缓存区中没有对应的命令,则按照PATH系统变量指定的路径进行搜索,如果找到了,则立刻执行,停止向后查找。
如果在PATH系统变量中也无法查找到,则提示没有此命令。
五、常见命令 5.1 查看当前所在的终端 1 2 3 4 [root@Rocky8-en ~] /dev/pts/0 // 伪终端 [root@Rocky8-en ~] /dev/tty1 // 虚拟终端
5.2 设置主机名 1 2 3 4 -- 临时生效 hostname NAME -- 永久生效(CentOS7和Ubuntu18.04以上版本) hostnamectl set-hostname NAME
5.3 查看 CPU的架构信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 [root@Rocky8-mini ~] Architecture: x86_64 // cpu架构信息 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 // 虚拟机的cpu核数 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel BIOS Vendor ID: GenuineIntel CPU family: 6 Model: 142 Model name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz // 物理机的CPU型号 BIOS Model name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz Stepping: 9 CPU MHz: 2712.002 BogoMIPS: 5424.00 Hypervisor vendor: VMware Virtualization type : full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat md_clear flush_l1d arch_capabilities ========================================================================================= [root@Rocky8-mini ~] processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 142 model name : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz stepping : 9 microcode : 0xc6 cpu MHz : 2712.002 cache size : 3072 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat md_clear flush_l1d arch_capabilities bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds bogomips : 5424.00 clflush size : 64 cache_alignment : 64 address sizes : 45 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 142 model name : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz stepping : 9 microcode : 0xc6 cpu MHz : 2712.002 cache size : 3072 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat md_clear flush_l1d arch_capabilities bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds bogomips : 5424.00 clflush size : 64 cache_alignment : 64 address sizes : 45 bits physical, 48 bits virtual power management:
5.4 查看内存大小 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 -- 展示系统内存的使用情况,-h 选项便于可读 -- [root@Rocky8-mini ~] total used free shared buff/cache available Mem: 1.7Gi 254Mi 1.1Gi 8.0Mi 437Mi 1.3Gi Swap: 2.0Gi 0B 2.0Gi ========================================================================================= [root@Rocky8-mini ~] MemTotal: 1833232 kB MemFree: 1124496 kB MemAvailable: 1410600 kB Buffers: 3164 kB Cached: 400380 kB SwapCached: 0 kB Active: 246284 kB Inactive: 257196 kB Active(anon): 1928 kB Inactive(anon): 106892 kB Active(file): 244356 kB Inactive(file): 150304 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2129916 kB ··· ··· DirectMap1G: 0 kB
5.5 查看硬盘和分区情况 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@Rocky8-mini ~] NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part ├─rl-root 253:0 0 47G 0 lvm / └─rl-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 10G 0 rom -- major: 主版本号 minor: 次版本号 name: 设备名称 [root@Rocky8-mini ~] major minor 8 0 52428800 sda 8 1 1048576 sda1 8 2 51379200 sda2 11 0 10465280 sr0 253 0 49246208 dm-0 253 1 2129920 dm-1
5.6 查看系统版本信息
1 2 [root@Rocky8-mini ~] x86_64
1 2 3 4 [root@Rocky8-mini ~] 4.18.0-348.el8.0.2.x86_64 [root@centos7-mini ~] 3.10.0-1160.el7.x86_64
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [root@Rocky8-mini ~] Rocky Linux release 8.5 (Green Obsidian) ========================================================================================= [root@Rocky8-mini ~] NAME="Rocky Linux" VERSION="8.5 (Green Obsidian)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="8.5" PLATFORM_ID="platform:el8" PRETTY_NAME="Rocky Linux 8.5 (Green Obsidian)" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:rocky:rocky:8.5:GA" HOME_URL="https://rockylinux.org/" BUG_REPORT_URL="https://bugs.rockylinux.org/" ROCKY_SUPPORT_PRODUCT="Rocky Linux" ROCKY_SUPPORT_PRODUCT_VERSION="8"
5.7 日期和时间 Linux的两种时钟:
系统时钟 Linux内核通过CPU工作频率进行计时
硬件时钟 计算机主板的内部物理芯片计时
(1)date
date - print or set the system date and time
date [OPTION]… [+FORMAT] date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -- 显示当前默认时间格式 -- [root@Rocky8-mini ~] Wed Mar 2 01:56:39 EST 2022 -- 只显示当前日期 -- [root@Rocky8-mini ~] 2022-03-02 -- 只显示当前的小时、分钟、秒数时间 -- [root@Rocky8-mini ~] 02:12:05 -- 显示昨天的日期 -- [root@Rocky8-mini ~] 2022-03-01 -- 设置当前的日期为明年的日期 -- [root@Rocky8-mini ~] 2023-03-02 [root@Rocky8-mini ~] 2023-03-02 02:10:19 -- 设置时间为2022年7月1日12点30分30秒 -- [root@Rocky8-mini ~] Fri Jul 1 12:30:30 EDT 2022
(2)hwclock/clock 操作硬件时钟
-s 以硬件时间为准,设定系统时间
-w 以系统时间为准,设定硬件时间
1 2 3 4 5 6 7 8 -- 显示硬件时间 -- [root@Rocky8-mini ~] 2022-03-04 06:30:41.965061-05:00 -- 调整系统时间 -- [root@Rocky8-mini ~] [root@Rocky8-mini ~] 2022-03-04 06:32:00.405387-05:00 Fri Mar 4 06:32:00 EST 2022
5.8 关机和重启 关机:shutdown、halt、poweroff
重启:reboot
1 2 3 4 5 6 7 8 9 10 11 shutdown now 立刻关机 + hh:mm 指明具体时间 -c 取消关机 -r 重启 [root@Rocky8-mini ~] Shutdown scheduled for Fri 2022-03-04 12:30:00 EST, use 'shutdown -c' to cancel. [root@Rocky8-mini ~] Shutdown scheduled for Fri 2022-03-04 06:42:52 EST, use 'shutdown -c' to cancel. [root@Rocky8-mini ~] Fri Mar 4 06:37:58 EST 2022
5.9 用户登录信息查看 whoami 显示当前登录的有效用户
who 显示系统当前所有的登录会话
w 显示系统当前所有的登录会话及所做的操作
1 2 3 4 5 6 7 8 [root@Rocky8-mini ~] root [root@Rocky8-mini ~] root pts/0 2022-03-04 06:16 (192.168.84.1) [root@Rocky8-mini ~] 06:49:03 up 48 min, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.84.1 06:16 5.00s 0.15s 0.00s w
5.10 会话管理 当我们打开一个终端窗口的时候,终端的窗口与启动的进程连接在一起。如果此时窗口突然关闭了,那我们正在执行的某个进程也会终止。使用会话,可以在终端窗口不正常关闭的同时,依然保存着他当前的会话。
删除掉此screen会话,在新建一个正常会话,查看ping命令是否还在继续执行
1 2 3 4 5 6 [root@Rocky8-mini ~] root 2464 0.0 0.2 55252 5012 pts/0 S+ 10:09 0:00 ping www.baidu.com root 2495 0.0 0.0 12136 1176 pts/3 S+ 10:14 0:00 grep --color=auto ping [root@Rocky8-mini ~] [root@Rocky8-mini ~] root 2497 0.0 0.0 12136 1176 pts/3 S+ 10:14 0:00 grep --color=auto ping
5.11 命令行历史(history) 当执行一条命令时,系统会在内存记录执行过的命令,当用户退出时,会将内存的命令写入对应的历史文件中(~/.bash_history)
常用选项:
1 2 3 4 -c:清空命令历史 -d NUMBER:删除历史中指定的第几条命令 n:显示最近到的n条历史 -a:追加新执行的命令到历史文件中
命令历史环境变量
1 2 3 4 HISTSIZE:命令历史记录的条数 HISTFILE:指定历史文件,默认为~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 HISTTIMEFORMAT="%F %T `whoami` " 显示时间和用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -- 设置查看命令历史时可以查看执行的时间 -- [root@Rocky8-mini ~] [root@Rocky8-mini ~] 1 2022-03-04 10:11:16ip a 2 2022-03-04 10:11:16systemctl restart network 3 2022-03-04 10:11:16systemctl restart network-manager 4 2022-03-04 10:11:16quit 5 2022-03-04 10:11:16exit 6 2022-03-04 10:11:16ls] 7 2022-03-04 10:11:16ls 8 2022-03-04 10:11:16cd /root 9 2022-03-04 10:11:16ls 10 2022-03-04 10:11:16cd /honme ============================================================================== -- 如果需要永久存储,需要写进配置文件中 -- [root@Rocky8-mini ~] if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH :$HOME /bin export PATHexport HISTTIMEFORMAT="%F %T"
5.12 tr tr 命令可以接受标准输入并按指定规则进行转换
SYNOPSIS tr [OPTION]… SET1 [SET2]
常用选项
1 2 3 -c, -C, --complement use the complement of SET1 -d, --delete delete characters in SET1, do not translate -s, --squeeze-repeats 将最后指定的 SET 中列出的重复字符的每个序列替换为该字符的单个匹配项
实例
1 2 3 4 [root@Rocky8-mini test ] Q9WE83YS [root@Rocky8-mini test ] I am wh
5.13 输出信息 echo 5.13.1 基础用法 将echo后面的字符进行输出,默认以空白字符分隔。
1 2 3 4 option: -E 不支持转义(默认) -n 不自动换行 -e 启用 '\' 字符功能
显示变量
1 2 3 4 5 6 7 echo "$var_name " 弱引用,会输出变量的值echo '$var_name' 强引用,变量的值不会输出[root@Rocky8-mini ~] /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@Rocky8-mini ~] $PATH
使用-e选项后支持的转义符号及所表达的意思
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 \\ backslash [root@Rocky8-mini ~] \ \a alert (BEL) [root@Rocky8-mini ~] \b backspace \c produce no further output \e escape \f form feed \n new line 换行 [root@Rocky8-mini ~] abc asdf \r carriage return 回车,光标移至行首,但不换行 \t horizontal tab \v vertical tab \0NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits)
5.13.2 高级用法 在终端中,可以输出带有颜色的字符。
1 "\033[字符背景颜色;字体颜色m字符串\033[0m"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 30 黑 31 红 32 绿 33 黄 34 蓝 35 紫 36 深绿 37 白 40 黑 41 红 42 绿 43 黄 44 蓝 45 紫 46 深绿 47 白
5.14 压力测试 ab ab - Apache HTTP server benchmarking tool
1 2 3 4 5 6 [option] -n 指定总共发起多少请求 -c 指定同时发起的请求数(并发) -T 指定请求的数据格式 -k 保持连接(每次请求复用前面建立的连接) -m 指定请求方法名称,如GET、POST等
六、命令行历史(history) 在终端执行命令后,系统会在内存记录执行过的命令。当用户正常退出时,会将内存中保存的命令写入到对于应的历史文件中,默认是~/.bash_history
。当再一次登录到shell时,会读取历史文件中记录的命令到内存中。
1 2 3 4 5 6 常用选项: -c 清空命令历史 -d offset 删除历史中指定的第offset命令 n 显示最近的n跳命令 -a 手动将新执行的命令列表写入到历史文件中 -w 保存历史列表到指定的历史文件
命令历史相关环境变量
1 2 3 4 5 6 7 8 9 10 11 12 13 HISTSIZE 命令历史记录的条数 HISTFILE 指定存储命令历史的文件,默认~/.bash_history HISTFILESIZE 命令历史文件记录历史命令的条数 HISTTIMEFORMAT="%F %T `whoami`" 显示时间和用户 HISTCONTROL 控制命令历史的记录方式 ignoredups 默认,忽略重复的命令,相同且连续为“重复” ignorespace 忽略所有以空白开头的命令 ignoreboth 相当于ignoredups,ignorespace的组合 erasedups 删除重复命令
持久保存变量
使用 export 变量名=”值” 的形式存放在 /etc/profile 或 ~/.bash_profile 中实现永久保存。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@Rocky8-mini ~] if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH :$HOME /bin export PATHexport HISTCONTROL=ignorebothexport HISTTIMEFORMAT="%F %T " [root@Rocky8-mini ~] 999 2022-08-16 08:02:43 exit 1000 2022-08-16 08:02:47 history 2
七、BASH快捷键 1 2 3 4 5 6 7 8 9 10 11 12 Ctrl + l 清屏,相当于clear命令 Ctrl + s 阻止屏幕输出 Ctrl + q 允许屏幕输出 Ctrl + c 终止命令 Ctrl + z 挂起命令 Ctrl + a 光标移动到行首 Ctrl + e 光标移动到行尾 Ctrl + u 从光标处删除至命令行首 Ctrl + k 从光标处删除至命令行尾 Alt + r 删除整行 Ctrl + w 从光标处向左删除单词首 Alt + d 从光标处向右删除至词尾
注:为了防止Alt快捷键与其他软件冲突,在 Xshell 中启动自己的Alt键