在百度、美团面试中均遇到对 Linux 基础知识的考察,包含但不限于简单的文本操作、某项系统数据、某类日志的查看。
鉴于是考核测试工程师而不是考核运维工程师,难度不高。
ps 有时候你的面试官也不是很精通 Linux ,此类问题稍作准备即可。
根据进程号查看启动命令
ll /proc/[pid]/exe
查看服务器的某个端口是否打开
-
nmap -sT localhost
查看指定 ip 所有打开的端口 -
telnet localhost 22
查看指定 ip 的指定端口是否打开 -
netstat -ntpl |grep 22
查看本机指定端口是否打开
根据进程查端口
-
ps -ef | grep Name
先找到进程的 pid -
netstat -nap | grep 2111
根据进程 pid 查端口
linux 根据进程名查看其占用的端口 -
lsof -Pnl +M -i4 | grep 22
查看指定端口所属进程id
Linux下根据端口号查询对应进程
查看内存占用
- free 命令
linux-2g4s:~ # free -m
total used free shared buffers cached
Mem: 7746 2764 4981 204 2 1340
-/+ buffers/cache: 1421 6324
Swap: 8197 0 8197
- top 命令
top - 22:50:48 up 33 min, 1 user, load average: 0.29, 0.75, 0.63
Tasks: 220 total, 1 running, 219 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.2 us, 2.2 sy, 0.0 ni, 96.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 7932260 total, 2831700 used, 5100560 free, 2488 buffers
KiB Swap: 8394748 total, 0 used, 8394748 free. 1374992 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1371 root 20 0 206052 45928 19960 S 3.322 0.579 1:16.57 Xorg
1586 zhouqiz+ 20 0 2093212 175428 81420 S 2.326 2.212 1:38.60 gnome-shell
2856 zhouqiz+ 20 0 958652 50292 36296 S 2.326 0.634 0:09.08 gnome-terminal-
1102 root 20 0 572608 16160 11240 S 0.997 0.204 0:01.34 NetworkManager
1070 message+ 20 0 41124 5268 3676 S 0.664 0.066 0:01.02 dbus-daemon
360 root 20 0 0 0 0 S 0.332 0.000 0:00.32 btrfs-transacti
1820 zhouqiz+ 20 0 384708 13560 9996 S 0.332 0.171 0:00.20 mission-control
2229 zhouqiz+ 20 0 1857708 221152 108252 S 0.332 2.788 1:17.47 chromium
3646 root 20 0 14092 2452 1940 R 0.332 0.031 0:00.03 top
1 root 20 0 185360 5928 3944 S 0.000 0.075 0:10.72 systemd
2 root 20 0 0 0 0 S 0.000 0.000 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.000 0.000 0:00.03 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.000 0.000 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.000 0.000 0:01.61 rcu_sched
8 root 20 0 0 0 0 S 0.000 0.000 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0.000 0.000 0:00.00 migration/0
10 root rt 0 0 0 0 S 0.000 0.000 0:00.00 watchdog/0
查看硬盘分区大小
- fdisk
linux-2g4s:~ # fdisk -l
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2590AC87-0E3E-4F54-9062-46B3FA6E6D11
Device Start End Sectors Size Type
/dev/sda1 2048 923647 921600 450M Windows recovery environment
/dev/sda2 923648 1128447 204800 100M EFI System
/dev/sda3 1128448 1161215 32768 16M Microsoft reserved
/dev/sda4 1161216 254112398 252951183 120.6G Microsoft basic data
/dev/sda5 254113792 270903295 16789504 8G Microsoft basic data
/dev/sda6 270903296 291885055 20981760 10G Microsoft basic data
/dev/sda7 291885056 500117503 208232448 99.3G Microsoft basic data
查看每个挂载点占用情况
- df
linux-2g4s:~ # df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 11M 3.8G 1% /dev/shm
tmpfs tmpfs 3.8G 2.6M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /
/dev/sda2 vfat 96M 29M 68M 30% /boot/efi
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /boot/grub2/i386-pc
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/pgsql
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/tmp
/dev/sda7 xfs 100G 8.1G 92G 9% /home
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/crash
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/mariadb
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/spool
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /tmp
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/log
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/mysql
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/libvirt/images
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /boot/grub2/x86_64-efi
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/opt
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /srv
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/mailman
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /opt
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /usr/local
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/named
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/lib/machines
/dev/sda6 btrfs 11G 7.2G 2.8G 73% /var/cache
tmpfs tmpfs 775M 28K 775M 1% /run/user/1000
du 查看文件目录大小
linux-2g4s:/usr # du -h -d1
0 ./local
2.6G ./share
458M ./lib
42M ./sbin
43M ./include
2.4G ./lib64
0 ./X11R6
377M ./bin
0 ./games
0 ./src
28K ./x86_64-suse-linux
5.8G .
awk 使用
- 参考
man awk
- 参考awk 用法(使用入门)
vim
在vim中列编辑的功能还是经常使用的,使用了几次,特做个总结。
主要的使用如下:
- 进入列模式下: 移动光标到要注释区块的第一行,Unix下按Ctrl+v,Windows版本的VIM则按Ctrl+Q
- 选择所需要的列:光标移动到要注释区块的最后一行(若干个j,或者直接输入行号再按G,或者按G到最后一行)
- 针对列的操作: 例如
删除 输入d ;
替换 输入c ;
需要输入则 按Shift+i,然后输入内容 - 然后退出保存 :按两次ESC
其他
- ps
- grep
- ifconfig
参考文献
致谢:
感谢 Zamir SUN 指出错误,已修改。