您现在的位置是:网站首页 > 技术专栏

运维人员求职招聘经验分享

明*清风 416人围观
简介求职招聘经验分享

技术不同于管理与文职,基本上来就是唠干活;

只要你技胜一筹,那薪资就能按你的需求谈,但是如果出师不利,那就不好说了,所以掌握必要的面试技能和常见的技术知识,是必不可少的。

下面我们来分享几点!

1、运维命令方面:

门级

# 示例 # 切换到上一层目录 cd .. # 切换到/opt/software cd /opt/software

# 示例 # 列出当前目录中文件及目录的详情 ls -l # 列出当前目录及其子目录中文件及目录的详情 ls -lR

# 示例 # 创建目录aaa mkdir aaa # 在bbb目录下创建目录aaa,如果bbb目录不存在,就创建一个 mkdir -p bbb/aaa

# 示例 # 删除目录aaa rmdir aaa # 删除bbb目录下的aaa目录,如果aaa删除后,bbb目录为成为空目录,则将bbb也删除 rmdir -p bbb/aaa

# 将指定文件的访问时间及修改时间设为当前时间,若文件不存在,则会自动创建该文件

# 示例 # 将aaa文件的访问时间及修改时间设为当前时间,如果aaa不存在,则会自动创建该文件 touch aaa

rm # 删除文件或目录(一旦通过rm命令删除,将无法恢复,务必小心使用)

# 示例 # 删除test.txt(此格式只能rm 文件;如果使用了rm 目录,则会提示是目录,无法删除) rm test.txt # 递归删除test_dir目录及其内容 rm -r test_dir

# 示例 # 将test.txt改名为damu.txt mv test.txt damu.txt # 将aaa目录放入bbb目录中;如果bbb目录不存在,则将aaa改名为bbb mv aaa bbb

# 以树状图列出目录的内容 tree

# 示例 # 杀死9999这个进程 kill 9999 # 查看信号 kill -l # 发送SIGHUP信号杀死9999这个进程 kill -HUP 9999 # 使用SIGKILL信号杀死9999这个进程 kill -9 9999

# 示例 # 展示该进程的完整指令及参数 pstree -a

# 立即关机 shutdown -h now # 10分钟后关机 shutdown -h 10 # 立即重启 shutdown -r now

# 示例 # 列出当前的环境变量 export -p # 设置环境变量JAVA_HOME=xxx

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home

# u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 # + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 # r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

# 示例 # 将test.txt设为所有人皆可读取 chmod a+r test.txt # 将文件test1.txt与test2.txt设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 chmod ug+w,o-w test1.txt test2.txt # 使用数字形式设置权限,语法是chmod abc file。其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 # r=4,w=2,x=1 # 若要rwx属性则4+2+1=7; # 若要rw-属性则4+2=6; # 若要r-x属性则4+1=5 chmod 777 file


# 示例 # 将的拥有者设为nginx,群体的使用者nginx chown nginx:nginx nginx.conf # 递归将当前目录下的所有文件与子目录的拥有者皆设为nginx,群体的使用者为nginx chown -R nginx:nginx *

# 示例 # 在当前目录中,查找后缀为txt的文件中,包含test字符串的文件,并打印字符串所属的行 grep test *txt # 递归查找/opt目录中,包含test字符串的文件,并打印字符串所属的行 grep -r test /opt # 查找1.txt中不包含test的行 grep -v test 1.txt

# 打开文件并输出 # 示例 # 打开1.txt cat 1.txt # 为1.txt添加行号,并输出到2.txt中 cat -n 1.txt > 2.txt

# 查找当前目录下的所有txt文件 find . -name *.txt # 查找机器中所有大于50M的文件 find / -type f -size +50M # 查找机器中所有小于50M的文件,并用du -h展示出来 find / -type f -size +50M -exec du -h {} \;

查看操作系统发行版本 不同的 Linux 发行版(例如 CentOS 与 Debain)、以及不同版本(例如 CentOS 6.x 与 CentOS 7.x)查看版本的方式不同,下面罗列了笔者知道的所有方式,总有一款能适用于你的环境。

• 方法 1:通过 /etc 目录下的文件查看

/etc/os-release
/etc/system-release
/etc/redhat-release
/etc/centos-release
/etc/issue

• 方法 2:执行 lsb_release -a

作用:显示系统信息

语法:

Usage: uname [OPTION]...
Print certain system information. With no OPTION, same as -s.
-a, --all 打印所有信息
-s, --kernel-name 打印内核名称
-n, --nodename 打印网络节点主机名
-r, --kernel-release 打印内核版本
-v, --kernel-version 打印内核版本
-m, --machine 打印硬件名称
-p, --processor 打印处理器类型
-i, --hardware-platform 打印硬件平台
-o, --operating-system 打印操作系统--help 帮助--version 显示版本

使用:

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

结果解读:

Linux:内核名称 localhost.localdomain:主机名 3.10.0-327.el7.x86_64:内核版本 #1 SMP Thu Nov 19 22:10:57 UTC 2015:内核版本 x86_64:硬件名称 x86_64:处理器类型 x86_64:硬件平台 GNU/Linux:操作系统 常见用法:

uname -a uptime 作用:

展示系统启动运行了多久

语法:

Usage: uptime [options] Options: -p, --pretty 对输出结果格式化 -h, --help 展示帮助 -s, --since 展示操作系统的启动时间 -V, --version 展示版本 使用:

[root@localhost ~]# uptime 18:52:01 up 48 days, 18:24, 4 users, load average: 0.00, 0.01, 0.05 结果解读:

18:52:01:当前时间 48 days, 18:24:启动了 48 days, 18:24 这么久 4 users:当前登录了 2 个用户 load average: 0.00, 0.01, 0.05:平局负载,后面的数字分别是最近 1 分钟、5 分钟、15 分钟的平均负载

用户相关

作用:展示用户的 ID、以及所属群组的 ID

语法:

Usage: id [OPTION]... [USER]
Print user and group information for the specified USER,
or (when USER omitted) for the current user.
-a 忽略,只是为了和其他版本兼容 -Z, --context 只打印当前用户的安全上下文-g, --group 只打印有效的group ID-G, --groups 打印所有group ID-n, --name 打印名称而不是号码,和-u/-g/-G配合使用-r, --real 打印真实ID而非有效ID,和-u/-g/-G配合使用-u, --user 只打印有效的用户ID-z, --zero 以NULL而非空格分隔结果--help 帮助--version 展示版本

Without any OPTION, print some useful set of identified information.

GNU coreutils online help: http://www.gnu.org/software/coreutils/
For complete documentation, run: info coreutils 'id invocation'

使用:

# 查看当前用户相关信息

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root)

结果解读:

uid:用户 id 及名称 gid:用户当前所使用的组的 id 及名称 groups:用户拥有的所有组的 id 及名称 常见用法:

# 查看当前用户相关信息

# 查看MySQL这个用户的相关信息 id mysql TIPS:

如果大家不知道什么是有效 ID、什么是真实 ID,可以阅读下这个文章:https://www.annhe.net/article-4458.html[1]

作用:展示当前登录系统的用户信息

语法:

Usage: w [options] Options: -h, --no-header do not print header -u, --no-current ignore current process username -s, --short short format -f, --from show remote hostname field -o, --old-style old style output -i, --ip-addr display IP address instead of hostname (if possible) --help display this help and exit -V, --version output version information and exit 使用:

[root@localhost ~]# w 18:55:14 up 48 days, 18:28, 4 users, load average: 0.05, 0.03, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 222.94.228.56 18:07 42:34 0.04s 0.04s -bash root pts/1 222.94.228.56 18:18 24:50 0.25s 0.06s -bash root pts/2 222.94.228.56 18:41 13:48 0.02s 0.02s -bash root pts/3 222.94.228.56 18:49 2.00s 0.05s 0.02s w

结果解读:

第一行:类似 uptime USER:当前登录的用户有哪些 TTY:虚拟终端的别名,可以认为是一个会话的名称 FROM:你从那台机器登录进来的 LOGIN:什么时候登录的 IDLE:空闲时间 JCPU:是指连接上这个 TTY 的所有进程所占用的时间,不包括过去的后台作业时间; PCPU:当前进程所占用的时间 WHAT:这个用户当前运行的进程是什么

作用:展示当前登录用户的信息

语法:

Usage: who [OPTION]... [ FILE | ARG1 ARG2 ] Print information about users who are currently logged in.

-a, --all 等价于-b -d --login -p -r -t -T -u -b, --boot 系统启动时间 -d, --dead 打印死亡的进程 -H, --heading 打印标题 -l, --login 打印系统登录过程--lookup 尝试通过DNS规范化主机名 -m 相当于who am i -p, --process 打印由init产生的活动进程 -q, --count 显示登入系统的用户名和总人数 -r, --runlevel 打印当前运行级别 -s, --short 仅打印name, line, time(默认) -t, --time 打印最近的系统时钟修改 -T, -w, --mesg 将用户的消息状态添加为+,-或? -u, --users 列出登录的用户--message 和-T相同--writable 和-T相同--help 帮助--version 版本

使用:

[root@localhost ~]# who root pts/0 2020-06-27 23:51 (222.94.228.56) root pts/1 2020-06-27 21:54 (222.94.228.56) 结果解读:

root:登录的用户是谁 pts/0:虚拟终端别名 2020-06-27 23:51 (222.94.228.56):登录时间与远程 IP 常见用法:

# 显示当前登录系统的用户 who # 展示详情,相当于who -b -d --login -p -r -t -T -u who -a

# 显示自己的信息

who am i

# 打印标题 who -H

# 显示登入系统的用户名和总人数 who -q whoami 作用:显示自身用户名称

语法:

Usage: whoami [OPTION]... Print the user name associated with the current effective user ID. Same as id -un.

--help 帮助--version 版本 GNU coreutils online help: http://www.gnu.org/software/coreutils/ For complete documentation, run: info coreutils 'whoami invocation' 使用:

last 作用:显示用户最近登录信息

语法:

Usage: last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username..] [tty..] 常用参数:

-R:结果省略从哪里登录的一栏 -num/-n/num:展示前 num 条 username:展示指定用户的登录信息 tty:只显示指定虚拟终端的登录信息 更多参数详见 man last 使用

[root@localhost ~]# last root pts/1 222.94.228.56 Mon Jun 29 22:53 still logged in root pts/0 222.94.228.56 Mon Jun 29 22:47 still logged in root pts/5 222.94.228.56 Sat Jun 27 23:58 - 03:07 (03:08) root pts/0 222.94.228.56 Sat Jun 27 23:51 - 00:56 (01:04) root pts/4 222.94.228.56 Sat Jun 27 23:39 - 00:56 (01:17)

  1. 结果解读:

root:谁登陆的 pts/1:虚拟终端的别名,可以认为是一个会话的名称 222.94.228.56:展示登录机器的主机名,表示从哪里登陆的 Mon Jun 29 22:53 still:登录的起止时间 logged in:持续了多久 常见用法:

# 只显示2条 last -2

# 展示root用户的登录信息 last username root

# 显示虚拟终端别名为pts/1的登录信息 last tty pts/1

作用:查看 CPU 信息

使用:cat /proc/cpuinfo

结果解读:

概念:

物理CPU数:主板上实际插入的cpu数量 CPU核心数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 逻辑CPU数:一般来说: 逻辑CPU=物理CPU个数×每颗核数 # 不支持超线程技术或未开启此技术

逻辑CPU=物理CPU个数×每颗核数 *2 # 表示服务器的CPU支持超线程技术

(简单来说,它可使处理器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,提高了系统的整体性能)

  • # 逻辑处理核心数的编号,从0开始排序 processor : 0 # CPU厂商 vendor_id : GenuineIntel # CPU产品系列代号 cpu family : 6 # CPU属于其系列中的哪一代的代号 model : 45 # CPU的型号、主频 model name : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz # CPU所属制作更新版本 stepping : 7 # 微代码 microcode : 0xffffffff # CPU当前所使用的主频 cpu MHz : 1999.994 # 二级缓存大小 cache size : 15360 KB # 物理id physical id : 0 # 单个物理CPU的逻辑CPU数 siblings : 8 # 当前物理核在其所处CPU中的编号,这个编号不一定连续 core id : 0 # CPU核心数 cpu cores : 8 # 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续 apicid : 0 # 初始的apicid initial apicid : 0 # 是否具有浮点运算单元(Floating Point Unit) fpu : yes # 是否支持浮点计算异常 fpu_exception : yes # 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容 cpuid level : 13 # 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection) wp : yes # 当前CPU支持的功能 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 lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm xsaveopt # 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second) bogomips : 3999.98 # 每次刷新缓存的大小单位 clflush size : 64 # 缓存地址对齐单位 cache_alignment : 64 # 可访问地址空间位数 address sizes : 42 bits physical, 48 bits virtual # 对能源管理的支持 power management: 常见用法:

# 查询系统有几颗物理CPU(结果有几行说明有几个物理CPU) cat /proc/cpuinfo | grep "physical id" |sort |uniq

# 查询系统每颗物理CPU的核心数 cat /proc/cpuinfo | grep "cpu cores" | uniq

# 每颗物理CPU核心是否启用超线程技术。如果启用此技术那么,每个物理核心又可分为两个逻辑处理器 cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq

# 查询系统具有多少个逻辑CPU cat /proc/cpuinfo | grep "processor" | wc -l

作用:显示、管理执行中的程序

语法:

Usage: top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols] 常用参数:

d : 改变显示的更新速度,或是在交谈式指令列 (interactive command) 按 s q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称 S : 累积模式,会将己完成或消失的子行程 (dead child process) 的 CPU time 累积起来 s : 安全模式,将交谈式指令取消,避免潜在的危机 i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 n : 更新的次数,完成后将会退出 top b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内 使用:

  • [root@localhost ~]# top top - 18:57:49 up 48 days, 18:30, 4 users, load average: 0.02, 0.03, 0.05 Tasks: 288 total, 1 running, 279 sleeping, 8 stopped, 0 zombie %Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1009368 total, 74540 free, 519392 used, 415436 buff/cache KiB Swap: 1048572 total, 570600 free, 477972 used. 249136 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND



转载:感谢您对明明老师个人博客网站平台的认可,及对该作品以及文章的青睐,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处。本文章部分图片、文章来源于网络,版权归原作者所有,如有侵权,请与我联系删除。

上一篇:

下一篇:

文章评论

本栏推荐

Top