Linux常用命令

一、查看硬件配置

1、 查看系统内核

afinalstone@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2、查看CPU

afinalstone@ubuntu:~$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          6
On-line CPU(s) list:             0-5
Thread(s) per core:              1
Core(s) per socket:              6
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           165
Model name:                      Intel(R) Core(TM) i5-10500 CPU @ 3.10GHz
Stepping:                        3
CPU MHz:                         3096.002
BogoMIPS:                        6192.00
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       192 KiB
L1i cache:                       192 KiB
L2 cache:                        1.5 MiB
L3 cache:                        72 MiB
NUMA node0 CPU(s):               0-5
Vulnerability Itlb multihit:     KVM: Vulnerable
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Unknown: Dependent on hypervisor status
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep
                                 _good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand
                                  hypervisor lahf_lm abm 3dnowprefetch invpcid_single fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d arch_capabilities

3、查看内存

afinalstone@ubuntu:~$ lsmem
RANGE                                  SIZE  STATE REMOVABLE BLOCK
0x0000000000000000-0x00000000dfffffff  3.5G online       yes  0-27
0x0000000100000000-0x000000029fffffff  6.5G online       yes 32-83

Memory block size:       128M
Total online memory:      10G
Total offline memory:      0B
stone@27711:~$

4、查看显卡

afinalstone@ubuntu:~$ lspci | grep 'VGA'
00:0f.0 VGA compatible controller: VMware SVGA II Adapter

5、查看声卡

afinalstone@ubuntu:~$ lspci | grep -i 'Audio'
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC`97 Audio Conroller (rev 01)

6、 查看网卡

afinalstone@ubuntu:~$ lspci | grep -i 'Network'
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

7、 查看硬盘使用率

afinalstone@ubuntu:~$ df -lh
Filesystem      Size  Used Avail Use% Mounted on
udev            3.7G     0  3.7G   0% /dev
tmpfs           763M   79M  684M  11% /run
/dev/nvme0n1p6   92G   75G   13G  86% /
tmpfs           3.8G   58M  3.7G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/loop3      143M  143M     0 100% /snap/inkscape/2527
/dev/loop4       84M   84M     0 100% /snap/core/3017
/dev/loop1      146M  146M     0 100% /snap/inkscape/3080
/dev/loop0       84M   84M     0 100% /snap/core/3247
/dev/loop2       84M   84M     0 100% /snap/core/3440
tmpfs           763M  192K  763M   1% /run/user/1000

8、 查看CPU使用率

afinalstone@ubuntu:~$ top
top - 07:37:23 up 3 days, 4 min, 111 users,  load average: 11.34, 34.85, 94.54
Tasks: 2328 total,   4 running, 2322 sleeping,   2 stopped,   0 zombie
%Cpu(s):  2.3 us,  0.6 sy,  0.0 ni, 94.4 id,  2.6 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem : 128368.0 total,   6798.6 free,  55714.2 used,  65855.2 buff/cache
MiB Swap:   8192.0 total,    160.0 free,   8032.0 used.  71531.0 avail Mem

top命令可以看到总体的系统运行状态和cpu的使用率 。

  • %us:表示用户空间程序的cpu使用率(没有通过nice调度)
  • %sy:表示系统空间的cpu使用率,主要是内核程序。
  • %ni:表示用户空间且通过nice调度过的程序的cpu使用率。
  • %id:空闲cpu
  • %wa:cpu运行时在等待io的时间
  • %hi:cpu处理硬中断的数量
  • %si:cpu处理软中断的数量
  • %st:被虚拟机偷走的cpu

二、环境变量

1、临时修改环境变量

export PATH="$HOME/XXXdir:$PATH"
export PATH="$PATH:$HOME/XXXdir"

2、 永久修改环境变量

 //打开环境文件
sudo vim /etc/profile
//写入环境变量:
export GRADLE_USER_HOME=/opt/gradle/gradle-4.6
export PATH=$GRADLE_HOME/bin:$PATH
//环境变量生效
source /etc/profile

三、文件操作

参考:https://blog.csdn.net/m0_54634272/article/details/124570113
1、 查看文件目录
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及…的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

2、 进入目录

cd / 进入目录
cd ~ 进入Home目录
cd - 进入上一次工作路径
cd !$ 把上个命令的参数作为cd参数使用。

3、pwd 命令
pwd 命令用于查看当前工作目录路径。

pwd 查看当前路径
pwd -P 查看软链接的实际路径

4、 mkdir 命令
mkdir 命令用于创建文件夹。
可用选项:

  • -m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
  • -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

mkdir t 当前工作目录下创建名为 t的文件夹
mkdir -p /tmp/test/t1/t 在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:

5、 cp 命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!

  • -i 提示
  • -r 复制目录及目录内所有项目
  • -a 复制的文件与原文件时间一样

cp -ai a.txt test 复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。
cp -s a.txt link_a.txt 为 a.txt 建立一个链接(快捷方式)

6、 rm 命令
删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

  • rm [选项] 文件…

rm -i .log 删除任何 .log 文件,删除前逐一询问确认
rm -rf test 删除 test 子目录及子目录中所有档案删除,并且不用一一确认
rm – -f
rm – -f* 删除以 -f 开头的文件

四、查找文件

1、whereis+文件名

用于程序名的搜索,搜索结果只限于二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),如果省略参数,则返回所有信息。

在这里插入图片描述

2、find / -name +文件名

find是在指定的目录下遍历查找,如果目录使用 / 则表示在所有目录下查找,find方式查找文件消耗资源比较大,速度也慢一点。
在这里插入图片描述
3、locate+文件名

linux会把系统内所有的文件都记录在一个数据库文件中,使用locate+文件名的方法会在linux系统维护的这个数据库中去查找目标,相比find命令去遍历磁盘查找的方式,效率会高很多,比较推荐使用这种方法。

在这里插入图片描述
但有一个问题是数据库文件不是实时更新的,一般会每周更新一次,所以使用locate命令查找到的结果不一定是准确的。当然可以在使用locate之前通过 updatedb 命令更新一次数据库,保证结果的性。

4、which+可执行文件名

which的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

在这里插入图片描述
which指令会在环境变量$PATH设置的目录里查找符合条件的文件,所以基本的功能是寻找可执行文件。

5、Linux查找文件内容的常用命令方法。

1)从文件内容查找匹配指定字符串的行:

grep "被查找的字符串" 文件名

例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件

grep "thermcontact" */*.in

2)从文件内容查找与正则表达式匹配的行:

$ grep –e “正则表达式” 文件名

3)查找时不区分大小写:

$ grep –i "被查找的字符串" 文件名

4)查找匹配的行数:

$ grep -c "被查找的字符串" 文件名

5)从文件内容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

6)从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

7)从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行

find . -name "*.in" | xargs grep "thermcontact"

8)查找当前文件目录中存在特定字符串的所有文件。

find . -name *.xml |xargs grep -n main # 查找当前文件目录中存在main字符串的所有以xml为后缀的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值