在工作中多使用docker、kubernetes等开源工具。工作中基本都是基于Linux系统进行操作的。记录一下工作中常用到的Linux命令,每个命令搭配一定的参数使用会更加方便。这里只记录常用到的命令以及参数

一. 系统工作命令

1. echo命令

echo命令用于在终端输出字符串或者变量提取后的值。格式为echo [字符串 | $变量]

类似于java中的system.out.println

[root@k8s-master ~]# echo "hello world"hello world[root@k8s-master ~]# str="hello world"[root@k8s-master ~]# echo $strhello world

2. date命令

用于显示及设置系统的时间,格式为 data [选项] [+指定格式]

data常见的参数

  1. %t 跳格[tab 键]
  2. %H 小时(0~23)
  3. %I 小时(0~12)
  4. %M 分钟(0~59)
  5. %S 秒(0~59)
  6. %J 一年中的第几天
 [root@k8s-master ~]# dateThu Apr 11 13:42:20 CST 2019[root@k8s-master ~]# date "+%Y-%m-%d %H:%M:%S"2019-04-11 13:43:41[root@k8s-master ~]# date "+%j"101

3. reboot重启命令

reboot 命令用于重启系统,其格式为reboot。

[root@k8s-master ~]# reboot

4. poweroff命令

poweroff 命令用于关闭系统,其格式为 poweroff

[root@k8s-master ~]# poweroff

5. wget命令

wget命令在终端上下载网络文件,格式为 wget [参数] [下载地址]
参数介绍

  1. -b 后台下载模式
  2. -P 下载到指定的目录
  3. -t 最大尝试次数
  4. -c 断点续传
  5. -p 下载页面内所有资源
  6. -r 递归下载

../down/wapgame/244# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

6. ps命令

ps命令用于查看系统中的进程状态,格式为[ps 参数]
参数介绍

  1. -a 显示所有进程
  2. -u 显示用户以及其他详细信息
  3. -x 显示没有控制终端的进程

[root@k8s-master ~]# ps aux

7. top命令

top命令是用于动态监测进程情况和系统负载等详细信息。top命令很强大,相当于linux中“强化版的windows的任务管理器”

top - 10:41:34 up 12 days, 19:14, 2 users, load average: 1.00, 1.06, 0.92Tasks: 635 total, 2 running, 633 sleeping, 0 stopped, 0 zombie%Cpu(s): 4.6 us, 1.2 sy, 0.0 ni, 92.1 id, 1.7 wa, 0.0 hi, 0.1 si, 0.3 stKiB Mem : 16268340 total, 7407372 free, 4552160 used, 4308808 buff/cacheKiB Swap: 0 total, 0 free, 0 used. 10456728 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 32056 root 20 0 868460 790968 42808 S 25.2 4.9 1915:18 kube-apiserver

top命令前五行是系统整体统计信息。分别代表系统负载、进程情况、cpu、物理内存、虚拟内存使用情况。

8. pidof命令

pidof命令用于查询某个服务的pid值,格式:[pidof 参数 服务名称]

[root@k8s-master ~]# pidof java 27775

9. kill 和killall命令

kill命令是用于终止pid值的进程 格式[kill 参数 pid值],killall命令是终止某个特定服务的所有进程 [killall 参数 某个进程名称]。

二.态监测命令

系统状态监测命令能够更快,更好的了解linux的服务器。包括系统的网卡网络、系统内核、系统负载、内存使用情况、当前启动终端数量等相关命令的使用。

1. ifconfig命令

ifconfig用于获取网卡配置和网络运行状态等信息。格式为[ifconfig 网络设备 参数]
仅输入ifconfig可查看所有的网卡信息。

[root@k8s-master ~]# ifconfigens33: flags=4163 mtu 1500 inet 192.168.223.16 netmask 255.255.255.0 broadcast 192.168.223.255 inet6 fe80::20c:29ff:fede:d1af prefixlen 64 scopeid 0x20 ether 00:0c:29:de:d1:af txqueuelen 1000 (Ethernet) RX packets 66 bytes 8951 (8.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 88 bytes 10153 (9.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

查看网卡信息时主要是查看网卡名称、inet后的IP地址、ether后的物理地址、RX和TX的接收数据包和发送数据包的个数和累计流量。

2. uname命令

uname命令查看系统内核和系统版本等信息。一般搭配-a参数,完整查看相关信息。

[root@k8s-master ~]# uname -aLinux mysql 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

另外查看当前系统版本的详细信息。

[root@k8s-master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)

3. uptime命令

uptime命令可查看系统的负载信息。包括系统时间,系统运行时间,当前终端用户,以及系统在最近1分钟、5分钟、15分钟的系统压力情况。负载值越低越好,不要长期超过1,生产环境不要超过5

[root@k8s-master ~]# uptime 11:15:53 up 14 min, 2 users, load average: 0.00, 0.04, 0.05

4. free命令

显示当前系统中内存的使用量信息。格式为[free -h]

[root@k8s-master ~]# free -h total used free shared buff/cache availableMem: 15G 4.4G 6.7G 739M 4.4G 9.8GSwap: 0B 0B 0B

5. histroy命令

histroy命令用于显示历史执行过的命令,格式为[history -c]
执行 history 命令能显示出当前用户在本地计算机
中执行过的最近 1000 条命令记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。

[root@k8s-master ~]# history 1 ls 2 cd / 3 ls 4 hostname 5 ls 6 cd mysql/ 7 ls 8 cd data/

三. 工作目录切换命令

工作过程中是使用的linux几乎是不安装图形化的。为了减少开销。我们基本是用命令终端模式。使用过程中自然不会像在windows系统中那样可以很简单的切换工作目录。工作目录即使用户当前所处的位置。

1. pwd命令

pwd命令显示当前工作目录的绝对路径 格式[pwd 选项]

[root@k8s-master ~]# pwd/root

2. cd命令

cd命令切换工作路径。这应该是linux中最常使用的一个命令了。

[root@k8s-master ~]# cd /home/[root@k8s-master home]#

3. ls命令

ls命令显示文件信息。格式[ls 选项]
-l参数可以查看文件属性,

[root@kubemaster home]# lsconfig docker software test.yaml[root@kubemaster home]# ls -ltotal 12drwxr-xr-x 4 root root 35 Feb 13 09:46 configdrwx--x--x 11 root root 130 Mar 11 16:37 dockerdrwxr-xr-x 4 root root 30 Jan 10 14:08 software-rw-r--r-- 1 root root 234 Sep 6 2018 test.yaml

四. 文件目录管理命令

1. mkdir命令

mkdir命令用于创建空白目录,格式[mkdir 选项 目录]
可使用-p参数,递归创目录。

[root@kubernetes ~]# mkdir -p /a/b/c[root@kubernetes ~]# cd /a/b/c[root@kubernetes c]# pwd/a/b/c

2. cp命令

cp 命令用于复制文件或目录,格式为cp [选项] 源文件 目标文件

[root@kubernetes ~]# cp install.log x.log[root@kubernetes ~]# lsinstall.log x.log

3. mv命令

mv 命令用于剪切文件或将文件重命名,格式为mv [选项] 源文件 [目标路径|目标文件名]

[root@kubernetes ~]# mv x.log linux.log[root@kubernetes ~]# lsinstall.log linux.log

4. rm命令

rm命令用于删除文件或目录,格式为rm [选项] 文件
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是
看到这种反复的确认信息,可在 rm 命令后跟上-f 参数来强制删除。

[root@kubernetes ~]# rm install.logrm: remove regular empty file ‘install.log'? y[root@kubernetes ~]# rm -f linux.log[root@kubernetes ~]# ls[root@kubernetes ~]# 

查看网卡信息时主要是查看网卡名称、inet后的IP地址、ether后的物理地址、RX和TX的接收数据包和发送数据包的个数和累计流量。