在工作中多使用docker、kubernetes等开源工具。工作中基本都是基于Linux系统进行操作的。记录一下工作中常用到的Linux命令,每个命令搭配一定的参数使用会更加方便。这里只记录常用到的命令以及参数
echo命令用于在终端输出字符串或者变量提取后的值。格式为echo [字符串 | $变量]
java
中的system.out.println
[root@k8s-master ~]# echo "hello world"
hello world
[root@k8s-master ~]# str="hello world"
[root@k8s-master ~]# echo $str
hello world
用于显示及设置系统的时间,格式为 data [选项] [+指定格式]
data常见的参数
[root@k8s-master ~]# date
Thu 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
reboot 命令用于重启系统,其格式为reboot
。
[root@k8s-master ~]# reboot
poweroff 命令用于关闭系统,其格式为 poweroff
[root@k8s-master ~]# poweroff
wget命令在终端上下载网络文件,格式为 wget [参数] [下载地址]
参数介绍
[root@k8s-master ~]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf
ps命令用于查看系统中的进程状态,格式为[ps 参数]
参数介绍
[root@k8s-master ~]# ps aux
top命令是用于动态监测进程情况和系统负载等详细信息。top命令很强大,相当于linux中“强化版的windows的任务管理器”
top - 10:41:34 up 12 days, 19:14, 2 users, load average: 1.00, 1.06, 0.92
Tasks: 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 st
KiB Mem : 16268340 total, 7407372 free, 4552160 used, 4308808 buff/cache
KiB 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、物理内存、虚拟内存使用情况。
pidof命令用于查询某个服务的pid值,格式:[pidof 参数 服务名称]
[root@k8s-master ~]# pidof java
27775
kill命令是用于终止pid值的进程 格式[kill 参数 pid值]
,killall命令是终止某个特定服务的所有进程 [killall 参数 某个进程名称]
。
系统状态监测命令能够更快,更好的了解linux的服务器。包括系统的网卡网络、系统内核、系统负载、内存使用情况、当前启动终端数量等相关命令的使用。
ifconfig用于获取网卡配置和网络运行状态等信息。格式为[ifconfig 网络设备 参数]
仅输入ifconfig可查看所有的网卡信息。
[root@k8s-master ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<link>
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的接收数据包和发送数据包的个数和累计流量。
uname命令查看系统内核和系统版本等信息。一般搭配-a参数,完整查看相关信息。
[root@k8s-master ~]# uname -a
Linux 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)
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
显示当前系统中内存的使用量信息。格式为[free -h]
[root@k8s-master ~]# free -h
total used free shared buff/cache available
Mem: 15G 4.4G 6.7G 739M 4.4G 9.8G
Swap: 0B 0B 0B
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系统中那样可以很简单的切换工作目录。工作目录即使用户当前所处的位置。
pwd命令显示当前工作目录的绝对路径 格式[pwd 选项]
[root@k8s-master ~]# pwd
/root
cd命令切换工作路径。这应该是linux中最常使用的一个命令了。
[root@k8s-master ~]# cd /home/
[root@k8s-master home]#
ls命令显示文件信息。格式[ls 选项]
-l参数可以查看文件属性,
[root@kubemaster home]# ls
config docker software test.yaml
[root@kubemaster home]# ls -l
total 12
drwxr-xr-x 4 root root 35 Feb 13 09:46 config
drwx--x--x 11 root root 130 Mar 11 16:37 docker
drwxr-xr-x 4 root root 30 Jan 10 14:08 software
-rw-r--r-- 1 root root 234 Sep 6 2018 test.yaml
mkdir命令用于创建空白目录,格式[mkdir 选项 目录]
可使用-p参数,递归创目录。
[root@kubernetes ~]# mkdir -p /a/b/c
[root@kubernetes ~]# cd /a/b/c
[root@kubernetes c]# pwd
/a/b/c
cp 命令用于复制文件或目录,格式为cp [选项] 源文件 目标文件
[root@kubernetes ~]# cp install.log x.log
[root@kubernetes ~]# ls
install.log x.log
mv 命令用于剪切文件或将文件重命名,格式为mv [选项] 源文件 [目标路径|目标文件名]
[root@kubernetes ~]# mv x.log linux.log
[root@kubernetes ~]# ls
install.log linux.log
rm命令用于删除文件或目录,格式为rm [选项] 文件
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是
看到这种反复的确认信息,可在 rm 命令后跟上-f 参数来强制删除。
[root@kubernetes ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@kubernetes ~]# rm -f linux.log
[root@kubernetes ~]# ls
[root@kubernetes ~]#