作者 | kf_dbd
来源 | 咖啡逗不逗(ID: kf_dbd)
转载请联系授权 | (微信ID:xh870545795)
大家好,我是 kf_dbd,很高兴又和大家见面了,今天主要说明几个我认为在日常运维过程中非常实用的Linux运维命令。本文首发于微信公众号【咖啡逗不逗】,欢迎点击上方蓝字关注我吧!
1.mount 命令
服务器与NAS存储之间的挂载:
如果NAS不支持FTP协议,这是一种很好的文件迁移的办法,命令如下:
[root@itdbcs ~]# mount -t cifs //192.168.1.250/XHBACK/hrbk /hrback -o username=NAS_NAME,password=NAS_password,uid=0,gid=0,dir_mode=0777,file_mode=0777,sec=ntlm
前面基本命令不做解释主要看一下后面几个参数:
uid=0,gid=0,dir_mode=0777,file_mode=0777,sec=ntlm
UID/GID:用户id与组id。
DIR_MODE/FILE_MODE:目录权限与文件权限。
SEC={none|krb5|krb5i|ntlm|ntlmi|ntlmv2|ntlmv2i}
选择安全模型:
none:尝试以空用户连接(不提供用户名)
krb5:使用Kerberos version 5认证
rb5i:使用Kerberos version 5和包签名(packet signing)认证
ntlm:使用NTLM口令散列认证(默认值)
ntlmi:使用NTLM签名口令散列认证。
ntlmv2:使用 NTLMv2口令散列认证。w
ntlmv2i:使用NTLMv2签名口令散列认证。
那么问题来了,Linux与windows之间的文件共享都有哪些方式呢?留给大家思考!
2.watch 命令
watch命令可以监视并输出不断变化的命令,会周期性的执行某个命令并全屏输出,可以使用ctrl+c退出,默认是每两秒监视并输出一次
例:watch "cat /proc/loadavg"监视系统的平均负载
watch命令选项说明:
(1)-n 修改刷新频率,单位为秒
例:watch -n 10 "cat /proc/loadavg" 10秒一次输出系统的平均负载
(2)-d 高亮显示屏幕两次刷新之间的差异
例:watch -d "cat /proc/loadavg"
例:watch -n 1 "date +%T" --动态查看系统时间
3.time 命令
time命令用于测算一个命令(程序)的执行时间。使用非常简单,在需要执行的命令前面加上 time命令即可
例:time cd /home
在程序或命令运行结束后,在最后输出了三个时间,它们分别是:
user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;
real:实际时间,从command命令行开始执行到运行终止的消失时间;
4.diff 命令
diff命令比较两个文件或者目录的不同。diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
格式: diff [参数] [文件1或者目录1] [文件2或目录2]
例:
会列出两个文件的不同点并用箭头表示是哪个文件里的内容,详细的参数可见diff --help查询
5.printenv 命令
格式:printenv [名称]
printenv命令显示环境变量的值。可以不指定Name参数,如果指定Name参数,则系统仅打印与Name参数关联的值。如果未指定Name参数,则printenv命令将显示当前环境,每行显示一个Name= 值序列。
例:printenv LANG(注意大小写) 输出:en_US.UTF-8
6.lsblk 命令
lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。选项如下:
例:lsblk 默认情况下将以树状列出所有块设备。
各列的含义:
NAME:这是块设备名。
MAJ:MIN:本栏显示主要和次要设备号。
RM:本栏显示设备是否可移动设备。注意,RM值等于1,这说明他们是可移动设备。
SIZE:本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
RO:该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT:本栏指出设备挂载的挂载点。
7.last 命令
借助last命令,我们就能观察用户在系统中的活动;该命令还可以以正常用户的身份来执行,它会显示完整的用户信息,比如终端、时间、日期、系统重启或启动以及内核版本,这是用来排查故障的实用命令。
可以使用带用户名的last,了解特定用户的活动,如下所示:
各列的详细含义:
第一列:用户名。
第二列:终端位置。pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户.tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户。
第三列:登录ip或者内核 。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。
第四列:开始时间。
第五列:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)。
第六列:持续时间。
8.tar 命令
tar命令用于压缩Linux下的文件和文件夹;比如说,下面这个命令将为/home目录创建一个压缩存档,文件名为kfdbd.tar。
tar -cvf kfdbd.tar /home
想解压缩tar压缩存档文件,请使用如下所示的选项。
tar -xvf kfdbd.tar
9.history 命令
history命令主要是查看历史命令执行记录。
例:a.查看mkdir命令的执行记录
[root@itdbcs ~]# history | grep mkdir
b.清除所有history记录
[root@itdbcs ~]# history -c
c.将当前所有的历史记录写进历史文件中,默认是/.bash_history
[root@itdbcs ~]# history -w
10.head/tail 命令
head:取出文件前面几行,默认显示前面10行。
语法: head [-n number] 文件
例:显示前20行
[root@itdbcs ~]# head -n 20 /home/kfdbd.log
tail:取出文件后面几行。
语法: tail [-n number] 文件;参数 -n 后面接数字,代表显示几行的意思;-f 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测。
例:显示后20行(不加参数默认10行)
[root@itdbcs ~]# tail -n 20 /home/kfdbd.log
持续显示动态文件后20行
[root@itdbcs ~]# tail -20f /home/kfdbd.log
好了,今天就说到这里啦,后面会持续更新相关运维中的命令,欢迎大家关注,北京的天气慢慢转凉啦,希望大家注意保暖,多穿点,多吃点,贴秋膘的同时,不断学习进步。写作不易,动动手指点个关注吧。