Linux基础入门 --2 DAY

常见命令

      查看硬件信息

         查看cpu

lscpu

cat /proc/cpuinfo

        范例:

[root@localhost ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             4
NUMA node(s):          1

[root@localhost ~]# cat /proc/cpuinfo 
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 141
model name    : 11th Gen Intel(R) Core(TM) i5-11260H @ 2.60GHz
stepping    : 1
microcode    : 0x4e
cpu MHz        : 2611.204
cache size    : 12288 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes

        查看内存大小 

free

cat /proc/meminfo     //proc(内存)

        示例:

 [root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1863028      694812      647516       18344      520700      997964
Swap:       2097148           0     2097148
[root@localhost ~]# cat /proc/meminfo 
MemTotal:        1863028 kB
MemFree:          647640 kB
MemAvailable:     998108 kB
Buffers:            1052 kB
Cached:           478024 kB
SwapCached:            0 kB
Active:           564068 kB
Inactive:         374680 kB
Active(anon):     460552 kB
Inactive(anon):    17464 kB

        查看磁盘分区情况 

lsblk

cat /proc/partitions

        示例

[root@localhost ~]# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 17.7G  0 part /
sr0     11:0    1 1024M  0 rom  
sr1     11:1    1 1024M  0 rom  
[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   20971520 sda
   8        1     307200 sda1
   8        2    2097152 sda2
   8        3   18566144 sda3
  11        0    1048575 sr0
  11        1    1048575 sr1

      查看系统版本信息 

        查看内核版本

uname -r

        范例

[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64 

        查看操作系统发型版本 

cat /etc/os-release

        示例:

[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/" 

        日期和时间 

date  //系统时间

clock  //硬件时间

clock -s  以硬件时间校正系统时间

clock -w 以系统时间校正硬件时间

        范例:

[root@localhost ~]# date
Sat Aug 31 18:23:13 PDT 2024
[root@localhost ~]# clock
Sat 31 Aug 2024 06:29:44 PM PDT  -0.662451 seconds

        显示日历

cal

cal -y  

        范例:

[root@localhost ~]# cal
     August 2024    
Su Mo Tu We Th Fr Sa
             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

[root@localhost ~]# cal -y
                               2024                               

       January               February                 March       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6                1  2  3                   1  2
 7  8  9 10 11 12 13    4  5  6  7  8  9 10    3  4  5  6  7  8  9
14 15 16 17 18 19 20   11 12 13 14 15 16 17   10 11 12 13 14 15 16
21 22 23 24 25 26 27   18 19 20 21 22 23 24   17 18 19 20 21 22 23
28 29 30 31            25 26 27 28 29         24 25 26 27 28 29 30
                                              31
        April                   May                   June        
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6             1  2  3  4                      1
 7  8  9 10 11 12 13    5  6  7  8  9 10 11    2  3  4  5  6  7  8
14 15 16 17 18 19 20   12 13 14 15 16 17 18    9 10 11 12 13 14 15
21 22 23 24 25 26 27   19 20 21 22 23 24 25   16 17 18 19 20 21 22
28 29 30               26 27 28 29 30 31      23 24 25 26 27 28 29
                                              30

      关机和重启 

        关机:

        half

        poweroff

        重启:

        reboot

        -f : 强制 ,不调用shutdown

        -p: 切断电源

        关机或重启:shutdown

        shutdown [ OPTION ] ...   [ TIME ] [ MESSAGE ]

        -r : reboot

        -h : half

        -c : cancel

         [ TIME ] : 指定时间

      用户登录信息查询命令        

w // 查看所有用户登录信息及其在做什么

who // 查看所有的登录会话

whoami // 查看当前登录有效用户

      输出信息echo 

echo -n 输出不换行

当使用 echo -e 时,你可以包含各种转义字符来控制输出。下面是一些常见的转义字符,包括 \a,它用于发出警报声(如果终端支持的话):

\a:发出警报声(通常是蜂鸣声)。
\b:退格(删除前一个字符,但不移动光标位置)。
\c:不输出行尾的换行符。这与 -n 选项相似,但 -n 是作为一个单独的选项来使用的。
\e:转义字符(ESC,ASCII 码 27)。
\f:换页(将光标移动到下一页的开始处,但通常不会这样做)。
\n:新行。
\r:回车(将光标移动到行首,但不换行)。
\t:水平制表符(通常等同于按下 Tab 键)。
\\:反斜杠字符本身。
\":双引号字符。
\0NNN:八进制值表示的 ASCII 字符(NNN 是三位八进制数)。
\xHH:十六进制值表示的 ASCII 字符(HH 是两位十六进制数)

        示例: 

[root@localhost ~]# echo i love you
i love you
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@localhost data]# echo -e "\0127"      // 0(8进制)
W

[root@localhost data]# echo -e "\x127"   // x(16进制)
7

      hexdump 

hexdump [options] FILE[...]

-b:单字节八进制显示。
-c:单字节字符显示。对于非打印字符,会用点(.)或特定的转义序列表示。
-C:规范化“十六进制+ASCII”显示。每行显示16个字节的十六进制值,并在其后显示对应的ASCII字符(对于非打印字符,则用点.表示)。
-d:双字节十进制显示。
-o:双字节八进制显示。
-x:双字节十六进制显示。
-n length:只格式化输入文件的前length个字节。
-s skip:跳过开头指定长度skip个字节后再开始显示。
-v:显示所有输入数据,包括重复的行。默认情况下,如果连续几行的输出内容相同,hexdump 会用星号(*)来代表这些重复的行。
-e format_string:以指定的格式字符串显示数据。格式字符串可以非常灵活地定义输出格式,包括字节的迭代计数、字节计数以及格式。

        示例: 

[root@localhost data]# hexdump -C rmb.jpg 
00000000  80 20 21 00 83 5e 38 26  00 08 00 00 00 60 09 00  |. !..^8&.....`..|
00000010  00 5e 39 26 82 74 49 2b  00 68 09 00 00 00 40 00  |.^9&.tI+.h....@.|
00000020  00 74 4a 2b 83 fe ff ff  00 68 49 00 00 98 36 02  |.tJ+.....hI...6.|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040
 

命令行扩展和被括起来的集合 

        命令行扩展:`` 和$()

        把一个命令输出打印给另一个命令的参数

$(CMD)  AND `CMD`

        示例:

[root@localhost data]# echo ls
ls
[root@localhost data]# echo `ls`
for_9*9.sh for_rename.sh for_scan_host.sh for_sum2,sh for_sum.sh passwd rmb.jpg rmb.sh shift_addusr,sh
[root@localhost data]# echo $(ls)
for_9*9.sh for_rename.sh for_scan_host.sh for_sum2,sh for_sum.sh passwd rmb.jpg rmb.sh shift_addusr,sh

[root@localhost ~]# touch `date +%F`.log
[root@localhost ~]# ls
2024-08-31.log  

      比较 `` '' "" 三者的区别 

[root@localhost data]# echo `hostname`
localhost.localdomain
[root@localhost data]# echo "$HOSTNAME"
localhost.localdomain
[root@localhost data]# echo '$HOSTNAME'
$HOSTNAME

      括号扩展:{ } 

        { }可以实现重复字符的打印

        示例:

[root@localhost ~]# echo wtj{1,3,5}
wtj1 wtj3 wtj5
[root@localhost ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@localhost ~]# echo {20..10}
20 19 18 17 16 15 14 13 12 11 10
[root@localhost ~]# echo {20..10..2}
20 18 16 14 12 10
[root@localhost ~]# echo {a..z..2}
a c e g i k m o q s u w y
[root@localhost ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@localhost ~]# echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@localhost ~]# echo {000..20..2}
000 002 004 006 008 010 012 014 016 018 020

      tap键补全命令 

[root@localhost ~]# cat love.s
love.s      love.s.bak  

命令历史

history 

history命令在Linux中提供了多个选项,这些选项允许用户以不同的方式查看和管理命令历史记录。以下是一些常用的history命令选项:

-c:清空当前shell会话中的命令历史记录。这不会影响保存在历史文件(如~/.bash_history)中的命令。

-a:将当前会话中执行的命令追加到历史命令文件中。这通常用于确保所有会话中的命令都被保存到历史记录中。

-r:从历史命令文件中读取命令记录,并将其添加到当前会话的命令历史记录中。这可以用于恢复之前会话中的命令历史。

-w:将当前会话的命令历史记录写入历史命令文件(默认为~/.bash_history)。这通常在你想要保存当前会话的命令历史时使用。

-n:显示最近的N条历史命令。这个选项后面通常跟一个数字,表示要显示的命令数量。

-p:显示以指定字符串开头的历史命令。这允许你根据命令的开头部分来搜索历史记录。

-s:将指定的字符串作为一条命令添加到命令历史记录中。这可以用于手动添加命令到历史记录中。

除了上述选项外,history命令还有一些用法和技巧,可以帮助用户更有效地使用它:

你可以通过!n来重新执行历史记录中编号为n的命令。

使用!!可以重新执行上一条命令。

使用!字符串可以重新执行最近一条以该字符串开头的命令。

按下Ctrl + R并输入搜索字符串,可以反向搜索历史记录中包含该字符串的命令。

此外,命令历史的存储和显示行为可以通过环境变量来配置,如HISTSIZE(控制当前会话中可以访问的命令历史项的数量)、HISTFILESIZE(控制保存在历史文件中的命令历史项的总数)和HISTFILE(指定保存命令历史的文件的路径)。

        示例:

[root@localhost ~]# history
    1  poweroff 
    2  pwd
    3  poweroff
    4  setenforce 0
    5  systemctl stop firewalld.service 
    6  wget http://repo.mysql.com/mysql80-community-release-el7.rpm
    7  ls
    8  yum -y install mysql80-community-release-el7.rpm
    9  ls

[root@localhost ~]# cat .bash_history 
poweroff 
pwd
poweroff
setenforce 0
systemctl stop firewalld.service 
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
ls
yum -y install mysql80-community-release-el7.rpm
ls 

[root@localhost ~]# !2
pwd
/root
[root@localhost ~]# echo $HISTSIZE 
1000

[root@localhost ~]# history -s rm -rf /
[root@localhost ~]# history
    1  rm -rf /
    2  history
[root@localhost ~]# HISTTIMEFORMAT="%F %T `whoami`"
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# history
    1  2024-08-31 22:27:47 rootrm -rf /
    2  2024-08-31 22:27:52 roothistory
    3  2024-08-31 22:30:13 rootexoport HISTTIMEFORMAT="%F %T `whoami`"
    4  2024-08-31 22:30:52 rootHISTTIMEFORMAT="%F %T `whoami`"
    5  2024-08-31 22:30:55 roothistory

[root@localhost ~]# cat .bash_profile   //永久生效
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export HISTTIMEFORMT="%F-%T `whoami`  "

bash的快捷键 

Bash(Bourne Again SHell)的快捷键是提高命令行操作效率的重要工具。以下是一些常用的Bash快捷键及其功能说明:

1. 光标移动

Ctrl + a:将光标移动到命令行的开头。

Ctrl + e:将光标移动到命令行的末尾。

Ctrl + f:光标向右移动一个字符(相当于方向键右)。

Ctrl + b:光标向左移动一个字符(相当于方向键左)。

Alt + f:光标向右移动一个单词。

Alt + b:光标向左移动一个单词。

Ctrl + xx:在命令行首和光标之间移动。

2. 文本编辑

Ctrl + u:从光标处删除至命令行首。

Ctrl + k:从光标处删除至命令行尾。

Ctrl + w:从光标处删除至字首(即删除光标前的整个单词)。

Alt + d:从光标处删除至字尾(即删除光标后的整个单词)。

Ctrl + d:删除光标后的一个字符(相当于Delete键)。

Ctrl + h:删除光标前的一个字符(相当于Backspace键)。

Ctrl + y:粘贴至光标后(粘贴之前用Ctrl+u、Ctrl+k、Ctrl+w等命令删除的内容)。

Alt + c:从光标处开始,将右边一个单词更改为首字母大写。

Alt + u:从光标处开始,将右边一个单词更改为全部大写。

Alt + l:从光标处开始,将右边一个单词更改为全部小写。

Ctrl + t:交换光标处和之前的字符位置。

Alt + t:交换光标处和之前的单词位置。

3. 命令执行与搜索

Ctrl + r:逆向搜索命令历史(输入部分命令后,按此键搜索之前执行过的命令)。

Ctrl + g:从历史搜索模式退出。

Ctrl + p:历史中的上一条命令(相当于方向键上)。

Ctrl + n:历史中的下一条命令(相当于方向键下)。

Alt + .:使用上一条命令的最后一个参数。

!!:执行上一条命令。

!blah:执行最近的以blah开头的命令。

!$:上一条命令的最后一个参数。

!:打印输出!的内容。

4. 控制命令

Ctrl + l:清屏(相当于clear命令)。

Ctrl + o:执行当前命令,并选择上一条命令(在某些shell版本中可能不起作用)。

Ctrl + s:阻止屏幕输出(在某些终端中可能不起作用,或需要配置)。

Ctrl + q:允许屏幕输出(与Ctrl+s相对)。

Ctrl + c:终止当前命令的执行。

Ctrl + z:挂起(暂停)当前命令的执行,可以使用fg命令恢复执行。

5. 其他

Ctrl + d:在命令行首时,相当于exit命令,退出当前shell。

Ctrl + Shift + n、Ctrl + Shift + t、Ctrl + Shift + w等:这些快捷键通常与特定的终端模拟器(如gnome-terminal)相关,用于创建新窗口、标签页或关闭标签页等,而非Bash本身的快捷键。       

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值