一、查看硬件配置
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 – -frm – -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为后缀的文件