首页
留言板
关于本站
Search
1
实现网站页面秒开-预加载JS脚本instant.page
56,547 阅读
2
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
55,615 阅读
3
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
39,412 阅读
4
如何做到网页性能的极致优化?
29,682 阅读
5
回村无网络之-《无线网桥使用记》
29,588 阅读
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
登录
Search
标签搜索
路由交换
运维
linux
ROS
mikrotik
华为
软路由
WordPress
ospf
路由
网站
centos
php
ARP
交换
nssa
typecho
广播风暴
Nginx
dns
Ledo
累计撰写
61
篇文章
累计收到
1,024
条评论
首页
栏目
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
页面
留言板
关于本站
搜索到
5
篇与
的结果
2019-06-25
一些Linux的基础练习题
1,显示当前时间,格式为:2019-06-18 10:20:30 答案:date “+%F,%T” 或者 date “+%F %H:%M:%S” 2,显示前天是星期几? 答案:date -d “-2 day” +%A 知识点:一 ,date +%s 是把当前时间转化为秒数 二, date -d @”1523604170″ 把秒数转化回来 3,今天18:30自动关机,并提示用户。 答案:hutdown -h 18:30 “dao dian guan ji,18:30” 如果想取消此操作输入: shutdown -c 4,在本机字符终端登录时,除显示原有信息外,在显示当前登录终端号,主机名和当前时间。 答案:vim /etc/profile.d/kaiji.sh 进去后输入:#******************************************************************** echo your hostname is hostname who am i 5,显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。 答案:ls /var/l*[0-9]*[[:lower:]] 6,显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录。 答案:ls /etc/[0-9]*[^0-9] 7,显示/etc/目录下以非字母开头,后面跟了一个字母及其他任意长度任意字符的文件或目录。 答案:ls /etc/[^[:alpha:]][a-zA-Z]* 8,显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其他为任意字符的文件或目录。 答案:ls /etc/rc[0-6]* 9,显示/etc目录下,所有以.d结尾的文件或目录。 答案:ls /etc/*.d 10,显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录。 答案:ls /etc/[m,n,r,p]*.conf 11,只显示/root下的隐藏文件和目录。 只显示/etc下的非隐藏目录 答案:ls -d /root/.* ls /etc/[^.]*/ -d 12,定义别名命令baketc,每天将/etc/目录下的所有文件,备份到/app独立的子目录下,并要求子目录格式为backupYYYY-mm-dd备份过程可见。 答案:alias baketc=”cp -av /etc /data/backupdate +%F” 13,创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限。 答案:mkdir -p /app/rootdir cp -a /root /app/rootdir/ 14,如何创建/testdir/dir1/x,/testdir/dir/y,/testdir/dir/x/a,/testdir/dir/x/b,/testdir/dir/y/a,/testdir/dir/y/b. 答案:mkdir -p /testdir/dir1/{x,y}/{a,b} 15,如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b. 答案:mkdir -p /testdir/dir2/{x/{a,b},y} 16,如何创建/testdir/dir3,/testdir/dir4,/testdir/dir5,/testdir/dir5/dir6,/testdir/dir5/dir7. 答案:mkdir -p /testdir/{dir3,dir4,dir5/{dir6,dir7}} 17,将/etc/issue文件中的内容转化为大写后保存至/tmp/issue.out文件中。 答案:cat /etc/issue | tr “[a-z]” “[A-Z]” > /tmp/issue.out 18,将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中。 答案:who | tr “[a-z]” “[A-Z]” >/tmp/who.out 19,一个linux用户给root发邮件,要求邮件标题为” help”,邮件正文如下:Heello,i am 用户名,The system version is here ,please help me to check it,thanks! 操作系统版本信息 答案:mail -s “help” root <<123 >Hello,I am $USER >The system version is here,please help me to check it,thanks! >cat /etc/centos-release >123 20,将/root/下文件列表,显示成一行,并文件名之间用空格隔开。 答案:ls /root | tr “\n” ” ” 21,计算1+2+3+..+99+100的总和。 答案:echo {1..100}|tr ” ” “+”|bc 22,删除Windows文本文件中的^M字符 答案:tr -d “\15” win.txt 23,处理字符串 “xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4” ,只保留其中的数字和空格。 答案:echo “xt.,l 1 jr#hostnamemn 2 c*/fe 3 uz 4” |tr -dc “[:digit:][:space:]” 24,将PATH变量每个目录显示在独立的一行。 答案:echo $PATH |tr “:” “\n” 25,将指定文件中0-9分别代替成a-j . 答案:先创建文件touch f1 给f1 vim 输入0-9 cat f1 | tr “[0-9]” “[a-j]” 26,将文件/etc/centos-release中每个单词(由字母组成)显示在独立的一行,并无空行。 答案:cat /etc/centos-release |tr -c “[:alpha:]” ” ” |tr -s ” ” “\n” 27,创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为”Gentoo Distribution”. 答案:useradd -G bin,root -s /bin/csh -c “Gentoo Distribution” gentoo 28,创建下面的用户,组和组成员关系 名字为webs的组 用户nginx使用webs作为附加组 用户varnish,也使用webs作为附加组 用户mysql,不可交互登录系统,且不是webs的成员,nbinx,varnish,mysql密码都是magedu 答案: groupadd webs useradd -G webs nginx useradd -G webs varnish useradd -s /sbin/nologin masql echo magedu |passwd –stdin nginx; echo magedu |passwd –stdin varnish; echo magedu |passwd –stdin mysql; 29,当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作? 答案: 不能cd进去,不能查看文件详细属性,也不能去访问目录里的文件内容(即使有读权限)。 30,当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作? 答案:不能对目录下的文件进行访问。 31, 当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 答案:不能,因为对目录没有权限,所以不能。文件能不能删,不由文件决定,而由目录决定。 32,当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除? 答案:可以修改和删除 33,复制/etc/fstab 文件到/var/tmp 下,设置文件所有者为tomcat 读写权限,所属组为apps组有读写权限,其他人无权限。 答案:(一)cp -a /etc/fstab /var/tmp (二) useradd tomcat (三) groupadd apps (四) chown tomcat /var/tmp (五) chgrp apps /var/tmp (六) chmod 660 /var/tmp 34,误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性。 答案: rm -rf /home/git ; mkdir /home/git; cp -a /etc/skel/.[^.]* /home/git; chown -R git:git /home/git; 35,在/testdir/dir 里创建的新文件自动属于webs组,组apps的成员如:tomcat能对这些新文件有读写权限,组dbs的成员如:mysql只能对新文件有读权限,其他用户(不属于webs,apps,dbs)不能访问文件夹。 答案: mkdir -p /testdir/dir chgrp webs /testdir/dir chmod g=s /testdir/dir setfacl -m g:apps:rw /testdir/dir setfacl -m g:dbs:r /testdir/dir chmod o= /testdir/dir 36,备份/testdir/dir 里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限。 答案: getfacl -R /testdir/dir > /root/acl.txt setfacl -b /testdir/dir setfacl -R –set-file=acl.txt /testdir/dir 37, 找出ifconfig “网卡名” 命令结果中本机的IPv4地址。 答案:(方法一)ifconfig ens33 | grep netmask | tr -s ” ” “:” |cut -d: -f3 (方法二)ifconfig ens33 |egrep -o \<“(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])”\> (方法三)ifconfig ens33 | sed -n “2p” | sed -r s’@(.*inet)(.*)( netmask.*)@\2@’ 38,查出分区空间使用率的最大百分比值。 答案:(方法一)df | grep ^/dev | tr -s ” ” “:” | cut -d: -f5 |cut -d% -f1 | sort -nr | head -n1 (方法二) df | grep -o “[0-9]\{1,3\}%” |grep -o “[0-9]\+” |sort -nr |head -n1 39,查出用户UID最大值得用户名,UID及shell类型。 答案:cat /etc/passwd |sort -nr -t: -k3 |head -n1 |cut -d: -f1,3,7 40,查出/tmp的权限,以数字方式显示 答案:stat /tmp |head -n4|tail -n1|cut -d/ -f1|cut -d'(‘ -f2 41, 统计当前连接本机的每个远程主机IP的连接数,并从大到小排序。 答案: 先从桌面获取rz 获取文件,再进行处理。 cat access_log |egrep -o “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>”|sort|uniq -dc|sort -nr 42,显示/proc/meminfo 文件中以大小s开头的行(要求:使用两种方法) 答案:(方法一)cat /proc/meminfo |egrep -oi ^s.* (方法二)cat /proc/meminfo |egrep ^[Ss].* 43,显示/etc/passwd文件中不以/bin/bash结尾的行。 答案:cat /etc/passwd |egrep -v /bin/bash$ 44,显示用户rpc默认的shell程序。 答案:(方法一)cat /etc/passwd |egrep rpc|cut -d: -f1,7 (方法二)cat /etc/passwd |egrep rpc|sed -r ‘s/(.*:)([^:]+:?$)/\2/’ 45,找出/etc/passwd 中的两位或三位数 答案:cat /etc/passwd | egrep -o “[0-9]{2,3}” 46,显示Centos7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面有非空白字符的行。 答案:cat /etc/grub2.cfg |egrep ^[[:space:]][^[:space:]].*$ 47,找出”netstat -tan” 命令结果中以LISTEN后跟任意多个空白字符结尾的行。 答案:netstat -tan |egrep .*LISTEN[[:space:]]+ 48, 显示Centos7上所有系统用户的用户名和UID。 答案:cat /etc/passwd |egrep .*/sbin/nologin$ |cut -d: -f1,3 49,添加用户bash,testbash,basher,sh,nologin(其shell为/sbin/nologin),找出/etc/passwd用户名和shell同名的行。 答案:cat /etc/passwd | egrep “^(.*)(:.*)\1$” 50,利用df和grep,去出磁盘各分区利用率,并从大到小排序。 答案:df |grep ^/dev |tr -s ” ” “:”|cut -d: -f5 |cut -d% -f1 |sort -nr|head -n1 51,显示三个用户root,mage,wang的UID和默认shell. 答案:cat /etc/passwd |egrep ^”(root|mage|wang)” |cut -d: -f1,3,7 52,找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行。 答案:cat /etc/rc.d/init.d/functions | egrep “^[a-zA-Z_]+ .*” 53,使用egrep取出/etc/rc.d/init.d/functions中其基名。 答案:echo /etc/rc.d/init.d/functions |egrep -o “[^/]*/?$” 54,使用egrep取出上面 路径的目录名。 答案:(方法一)echo /etc/rc.d/init.d/functions |egrep -o “/.*/” (方法二)echo /etc/rc.d/init.d/functions |egrep -o “(/).*\1” 55,统计last命令中以root登录的每个主机IP地址登录次数。 答案: last |egrep root |egrep “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>”|tr -s ” ” “:”|sort -t: -k3|cut -d: -f3|uniq -dc 56,利用扩展正则表达式分别表示0-9,10-99,100-199,200-249,250-255. 答案: [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] 57,显示ifconfig命令结果中所有IPV4地址。 答案: ifconfig | egrep -o “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>” 58,将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的放在最前面。 答案: echo “welcometomagedulinux” |grep -o “.”|sort|uniq -c|sort -nr 59,复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符。 答案: cp /etc/profile /tmp/ vim /tmp/profile 命令模式下按“:”进入扩展模式输入 %s/^[[:space:]]*//g 60, 复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号。 答案: cp /etc/rc.d/init.d/functions /tmp vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s/^[[:space:]] */#&/ 或者 %s/[[:space:]]\+.∗ /#\1/g 61, 在VIM中设置tab缩进为4个字符。 答案: vim /etc/vimrc 在文件最后添加: set ts=4 set expandtab set autoindent :wq 62,复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log. 答案: cp /etc/rc.d/init.d/functions /tmp vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s@\/etc\/sysconfig\/init@\/var\/log@ 63, 删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号。 答案: vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s@^#”“\+.∗ @\1@ 64, 编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPV4,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 答案: vim /root/bin/systeminfo.sh #******************************************************************** echo hostname echo ifconfig ens33 | egrep -o "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] )\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"|head -n1 echo cat /etc/centos-release echo uname -r echo lscpu |grep "^Model name.*" |cut -d: -f2|tr -s " " echo cat /proc/meminfo |head -n1 echo lsblk |grep '^sda'|tr -s " " "%"|cut -d% -f4 :wq 65, 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYY-mm-dd中。 vim /root/bin/backup.sh cp -a /etc /root/etcdate +%F :wq 66,编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值。 答案: e=df|egrep ^/dev |tr -s " " ":"|cut -d: -f5|cut -d% -f1|sort -nr|head -n1 echo $e :wq 67, 编写脚本/root/bin/links.sh ,显示正连接本主机的每个远程主机的IPV4地址和连接数,并按连接数从大到小排序。 答案: vim /root/bin/linsk.sh a=cat access_log |egrep -o "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"|sort|uniq -c|sort -nr echo $a 68, 编写脚本/root/bin/sumid.sh ,计算/etc/passwd 文件中的第10个用户和第20用户的ID之和。 答案: vim /root/bin/sumid.sh a=cat /etc/passwd | head -n10 |tail -n1|cut -d: -f3 b=cat /etc/passwd | head -n20 |tail -n1|cut -d: -f3 let c=a+b 或 d=$[ a+b ] echo $d 69, 编写脚本/root/bin/sumspace.sh ,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和。 答案: vim /root/bin/sumspace.sh a=cat f1 |egrep ^[[:space:]]*$ |wc -l b=cat f2 |egrep ^[[:space:]]*$ |wc -l let c=a+b 70, 编写脚本/root/bin/sumfile.sh ,统计/etc ,/var,/usr 目录中共有多少个一级子目录和文件。 答案:vim /root/bin/sumfile.sh a=ls /etc/ |wc -l b=ls /var/ |wc -l c=ls /usr/ |wc -l let d=a+b+c 71, 编写脚本/root/bin/argsnum.sh ,接受一个文件路径作为参数;如果参数个数小于1,则提示用户 “至少应该给一个参数”,并立即退出;如果参数个数不少于1,则显示第一个参数所指向的文件中的空白行数。 答案: vim /root/bin/argsnum.sh [ $# -lt 1] && echo “At least one parameter should be given” && exit [ $# -ge 1] && echo egrep "^[[:space:]]*$" $1|wc -l 73, 编写脚本/root/bin/hostping.sh ,接受一个主机的IPV4地址做为参数,测试是否可连通。如果能ping通,则提示用户 “该IP地址可以访问” ;如果不可ping通,则提示用户 “该IP地址不可访问”。 答案: vim /root/bin/hostping.sh [[ $1 =~ “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>” ]] || echo { “IP error”;exit; } ping $1 && echo “This address can be accessed”|| echo “This address cannot be accessed” 74, 编写脚本/root/bin/checkdisk.sh , 检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满。 答案: vim /root/bin/checkdisk.sh a=df |egrep ^/dev |tr -s " " ":" |cut -d: -f5 |cut -d% -f1|sort -nr|head -n1 [[ $a -ge 80 ]] && echo “zhao huo la ” || echo { “yi qie zheng chang”;exit; } 75, 编写脚本/bin/per.sh ,判断当前用户对指定参数文件,是否不可读并且不可写。 答案: [ -not -r $1 -a -not -w $1 ] && echo “bu ke du ” [ −r$1−o−w$1 ] || echo “ke du ” 76,编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件。 答案: vim /root/bin/excute.sh [[ $1 =~ .*sh$ ]] && chmod +x $1 || echo "bu shi jiao ben wen jian "
2019年06月25日
26,127 阅读
28 评论
0 点赞
2019-02-06
Linux系统vi(vim)编辑器命令说明
√> vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令模式(command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。2) 插入模式(Insert mode)只有在插入模式下,才可以做文字输入,按ESC键可回到命令模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号。不过一般我们在使用时把vi简化成两个模式,就是将底行模式也算入命令模式。一、打开文件、保存、关闭文件(vi命令模式下使用)vi filename //打开filename文件:w //保存文件:w www.ledo.cc //保存至www.ledo.cc文件:q //退出编辑器,如果文件已修改请使用下面的命令:q! //退出编辑器,且不保存:wq //退出编辑器,且保存文件二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)a //在当前光标位置的右边添加文本i //在当前光标位置的左边添加文本A //在当前行的末尾位置添加文本I //在当前行的开始处添加文本(非空字符的行首)O //在当前行的上面新建一行o //在当前行的下面新建一行R //替换(覆盖)当前光标位置及后面的若干文本J //合并光标所在行及下一行为一行(依然在命令模式)三、移动光标(vi命令模式下使用)vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母 h 、 j 、 k 、 l ,分别控制光标左、下、上、右移一格。按 Ctrl+b :屏幕往后移动一页。按 Ctrl+f :屏幕往前移动一页。按 Ctrl+u :屏幕往后移动半页。按 Ctrl+d :屏幕往前移动半页。按数字 0 :移到当前行的开头。按 G :移动到文章的最后。按 $ :移动到光标所在行的行尾。按 ^ :移动到光标所在行的行首。按 w :光标跳到下个字的开头。按 e :光标跳到下个字的字尾。按 b :光标回到上个字的开头。按 #l :光标往后移的第#个位置,如:5l,56l .四、删除、恢复字符或行(vi命令模式下使用)x :每按一次,删除光标所在位置的后面一个字符。x :删除光标所在位置的后面#个字符,例如, 6x 表示删除光标所在位置的后面6个字符。X :每按一次,删除光标所在位置的前面一个字符。X :删除光标所在位置的前面#个字符,例如, 20X 表示删除光标所在位置的前面20个字符。dd :删除光标所在行。dd :从光标所在行开始删除#行。五、搜索(vi命令模式下使用)/ipwa //向光标下搜索ipwa字符串?ipwa //向光标上搜索ipwa字符串n //向下搜索前一个搜素动作N //向上搜索前一个搜索动作六、跳至指定行(vi命令模式下使用)n+ //向下跳n行n- //向上跳n行nG //跳到行号为n的行G //跳至文件的底部七、设置行号(vi命令模式下使用):set nu //显示行号:set nonu //取消显示行号八、复制、粘贴(vi命令模式下使用)yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。nyy //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。yw //复制从光标开始到词尾的字符。nyw //复制从光标开始的n个单词。y^ //复制从光标到行首的内容。y$ //复制从光标到行尾的内容。p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用”ap 进行粘贴。P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用”aP 进行粘贴。九、替换(vi命令模式下使用):s/old/new //用new替换行中首次出现的old:s/old/new/g //用new替换行中所有的old:n,m s/old/new/g //用new替换从n到m行里所有的old:%s/old/new/g //用new替换当前文件里所有的old十、编辑其他文件:e otherfilename //编辑文件名为otherfilename的文件。十一、修改文件格式:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。注意:如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!
2019年02月06日
6,730 阅读
3 评论
0 点赞
2018-12-23
CentOS7 常用命令集合整理
[mark_a]最近在对Centos进行学习,就想从网络上收集整理一些常用的指令,方便自己在学习中能够方便查找,也给需要的小伙伴们提供参考。下面是一些常用命令的集合![/mark_a] 常用命令文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file2 将file1复制为file2 cp -a dir1 dir2 复制一个目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录(.代表当前目录) ls 查看目录中的文件 ls -a 显示隐藏文件 ls -l 显示详细信息 ls -lrt 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) pwd 显示工作路径 mkdir dir1 创建 ‘dir1’ 目录 mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 mv dir1 dir2 移动/重命名一个目录 rm -f file1 删除 ‘file1’ rm -rf dir1 删除 ‘dir1’ 目录及其子目录内容 查看文件内容 命令 解析 cat file1 从第一个字节开始正向查看文件的内容 head -2 file1 查看一个文件的前两行 more file1 查看一个长文件的内容 tac file1 从最后一行开始反向查看一个文件的内容 tail -3 file1 查看一个文件的最后三行 vi file 打开并浏览文件 文本内容处理 命令 解析 grep str /tmp/test 在文件 ‘/tmp/test’ 中查找 “str” grep ^str /tmp/test 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 grep [0-9] /tmp/test 查找 ‘/tmp/test’ 文件中所有包含数字的行 grep str -r /tmp/* 在目录 ‘/tmp’ 及其子目录中查找 “str” diff file1 file2 找出两个文件的不同处 sdiff file1 file2 以对比的方式显示两个文件的不同 vi file 操作解析i进入编辑文本模式Esc退出编辑文本模式:w保存当前修改:q不保存退出vi:wq保存当前修改并退出vi 查询操作 命令 解析 find / -name file1 从 ‘/’ 开始进入根文件系统查找文件和目录 find / -user user1 查找属于用户 ‘user1’ 的文件和目录 find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 find /usr/bin -type f -atime +100 查找在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 查找在10天内被创建或者修改过的文件 locate *.ps 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令 find -name ‘*.[ch]’ | xargs grep -E ‘expr’ 在当前目录及其子目录所有.c和.h文件中查找 ‘expr’ find -type f -print0 | xargs -r0 grep -F ‘expr’ 在当前目录及其子目录的常规文件中查找 ‘expr’ find -maxdepth 1 -type f | xargs grep -F ‘expr’ 在当前目录中查找 ‘expr’ 压缩、解压 命令 解析 bzip2 file1 压缩 file1 bunzip2 file1.bz2 解压 file1.bz2 gzip file1 压缩 file1 gzip -9 file1 最大程度压缩 file1 gunzip file1.gz 解压 file1.gz tar -cvf archive.tar file1 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar tar -tf archive.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 把压缩包释放到 /tmp目录下 zip file1.zip file1 创建一个zip格式的压缩包 zip -r file1.zip file1 dir1 把文件和目录压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式的压缩包到当前目录 unzip test.zip -d /tmp/ 解压一个zip格式的压缩包到 /tmp 目录 yum安装器 命令 解析 yum -y install [package] 下载并安装一个rpm包 yum localinstall [package.rpm] 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 yum -y update 更新当前系统中安装的所有rpm包 yum update [package] 更新一个rpm包 yum remove [package] 删除一个rpm包 yum list 列出当前系统中安装的所有包 yum search [package] 在rpm仓库中搜寻软件包 yum clean [package] 清除缓存目录(/var/cache/yum)下的软件包 yum clean headers 删除所有头文件 yum clean all 删除所有缓存的包和头文件 网络相关 命令 解析 ifconfig eth0 显示一个以太网卡的配置 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置网卡的IP地址 ifdown eth0 禁用 ‘eth0’ 网络设备 ifup eth0 启用 ‘eth0’ 网络设备 iwconfig eth1 显示一个无线网卡的配置 iwlist scan 显示无线网络 ip addr show 显示网卡的IP地址 系统相关 命令 解析 su - 切换到root权限(与su有区别) shutdown -h now 关机 shutdown -r now 重启 top 罗列使用CPU资源最多的linux任务 (输入q退出) pstree 以树状图显示程序 man ping 查看参考手册(例如ping 命令) passwd 修改密码 df -h 显示磁盘的使用情况 cal -3 显示前一个月,当前月以及下一个月的月历 cal 10 1988 显示指定月,年的月历 date –date ‘1970-01-01 UTC 1427888888 seconds’ 把一相对于1970-01-01 00:00的秒数转换成时间 XSheel 5相关操作窗体快捷键 命令 解析 Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break Ctrl + a 光标移动到行首(ahead of line),相当于通常的Home键 Ctrl + e 光标移动到行尾(end of line) Ctrl + f 光标向前(forward)移动一个字符位置 Ctrl + b 光标往回(backward)移动一个字符位置 Ctrl + l 清屏,相当于执行clear命令 Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search) Ctrl + w 删除从光标位置前到当前所处单词(word)的开头 Ctrl + t 交换光标位置前的两个字符 Ctrl + y 粘贴最后一次被删除的单词 Ctrl + Alt + d 显示桌面 Alt + b 光标往回(backward)移动到前一个单词 Alt + d 删除从光标位置到当前所处单词的末尾 Alt + F2 运行 Alt + F4 关闭当前窗口 Alt + F9 最小化当前窗口 Alt + F10 最大化当前窗口 Alt + Tab 切换窗口 Alt + 左键 移动窗口(或在最下面的任务栏滚动鼠标滑轮) 操作小技巧: 鼠标中间键:粘贴突出显示的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。)Tab:命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。在滚动条的空白处点击鼠标中键:屏幕即滚动到那个地方。在桌面或文件管理器中直接按 /就可以输入位置,打开文件管理器。在 vi 或 Firefox 中直接按 / 即可进入快速搜索状态。 网站链接和图片可直接拖放到桌面或者目录,可以马上下载。直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。
2018年12月23日
10,573 阅读
6 评论
0 点赞
2018-10-23
VMware ESXI 迁移至KVM
1.1.1 ESXI将虚拟机导出 导出ova模板 将导出的ova模板导入到KVM环境中。1.1.2 配置KVM环境安装所需要的组件[root@clsn7 ~]# yum install libvirt* virt-* qemu-kvm* -y配置桥接网卡[root@clsn7 ~]# virsh iface-bridge eth1 br1 使用附加设备 br1 生成桥接 eth1 失败 已启动桥接接口 br11.1.3 导入虚拟机启动kvm管理程序,并设置开机自启动[root@clsn7 ~]# systemctl start libvirtd.service [root@clsn7 ~]# systemctl enable libvirtd.service创建虚拟机存放目录[root@clsn7 ~]# virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /vmhost/dev/dev-test01 -of qcow2 [ 0.0] Opening the source -i ova centos-dev-test01-v2v.ova virt-v2v: warning: making OVA directory public readable to work around libvirt bug https://bugzilla.redhat.com/1045069 [ 23.1] Creating an overlay to protect the source from being modified [ 23.4] Initializing the target -o local -os /vmhost/dev/dev-test01 [ 23.4] Opening the overlay [ 41.4] Inspecting the overlay [ 57.5] Checking for sufficient free disk space in the guest [ 57.5] Estimating space required on target for each disk [ 57.5] Converting CentOS release 6.9 (Final) to run on KVM virt-v2v: This guest has virtio drivers installed. [ 178.6] Mapping filesystem data to avoid copying unused and blank areas [ 178.9] Closing the overlay [ 179.4] Checking if the guest needs BIOS or UEFI to boot [ 179.4] Assigning disks to buses [ 179.4] Copying disk 1/1 to /vmhost/dev/dev-test01/centos-dev-test01-v2v-sda (qcow2) (100.00/100%) [ 216.1] Creating output metadata [ 216.1] Finishing off 导入完成后在 /vmhost/dev/dev-test01 目录下会生成文件 [root@clsn7 dev-test01]# pwd /vmhost/dev/dev-test01 [root@clsn7 dev-test01]# ls centos-dev-test01-v2v-sda centos-dev-test01-v2v.xml修改网卡配置修改网卡source network 为桥接修改网卡使用virtio[root@clsn7 dev-test01]# cat centos-dev-test01-v2v.xml <?xml version='1.0' encoding='utf-8'?> <domain type='kvm'> <!-- generated by virt-v2v 1.36.3rhel=7,release=6.el7_4.3,libvirt --> <name>centos-dev-test01-v2v</name> <memory unit='KiB'>524288</memory> <currentMemory unit='KiB'>524288</currentMemory> <vcpu>1</vcpu> <features> <acpi/> <apic/> </features> <os> <type arch='x86_64'>hvm</type> </os> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/vmhost/dev/dev-test01/centos-dev-test01-v2v-sda'/> <target dev='vda' bus='virtio'/> </disk> <disk device='cdrom' type='file'> <driver name='qemu' type='raw'/> <target dev='hda' bus='ide'/> </disk> <disk device='floppy' type='file'> <driver name='qemu' type='raw'/> <target dev='fda'/> </disk> <interface type='bridge'> <source bridge='br1'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <video> <model type='qxl' ram='65536' heads='1'/> </video> <graphics type='vnc' autoport='yes' port='-1'/> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <console type='pty'/> </devices> </domain>1.1.4 启动虚拟机导入主机[root@clsn7 dev-test01]# virsh define centos-dev-test01-v2v.xml 定义域 centos-dev-test01-v2v(从 centos-dev-test01-v2v.xml)查看主机列表[root@clsn7 dev-test01]# virsh list --all Id 名称 状态 ---------------------------------------------------- - centos-dev-test01-v2v 关闭启动主机[root@clsn7 dev-test01]# virsh start centos-dev-test01-v2v 域 centos-dev-test01-v2v 已开始1.1.5 测试可用性登陆迁移后的虚拟机测试[root@clsn7 ~]# ssh root@192.168.19.123 The authenticity of host '192.168.19.123 (192.168.19.123)' can't be established. RSA key fingerprint is SHA256:iRmghFzgRIJy5+v8p4lqi8DyUG8F0hXR/qNdDZ2J6RY. RSA key fingerprint is MD5:37:b8:56:3b:b7:85:fa:cb:d9:55:a7:44:d5:de:f8:d9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.19.123' (RSA) to the list of known hosts. root@192.168.19.123's password: Last login: Mon Mar 5 10:30:02 2018 from 192.168.19.9 [root@dev-test01 ~]# hostname -I 192.168.19.123设置虚拟机开机自启动。[root@clsn7 ~]# virsh autostart centos-dev-test01-v2v 域 centos-dev-test01-v2v标记为自动开始至此第一台机器的迁移完成,后续按照相同的方式将其他的虚拟机进行迁移即可。.
2018年10月23日
9,323 阅读
1 评论
0 点赞
2018-09-22
CentOS 常用查看命令
日 志 文 件 说 明 cat tail -f /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息 系统: uname -a # 查看内核/操作系统/CPU信息 cat /etc/issue cat /etc/redhat-release # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 lsmod # 列出加载的内核模块 env # 查看环境变量 资源: free -m # 查看内存使用量和交换区使用量 df -h # 查看各分区使用情况 du -sh <目录名> # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 uptime # 查看系统运行时间、用户数、负载 cat /proc/loadavg # 查看系统负载 磁盘和分区: mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 swapon -s # 查看所有交换分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况 网络: ifconfig # 查看所有网络接口的属性 iptables -L # 查看防火墙设置 route -n # 查看路由表 netstat -lntp # 查看所有监听端口 netstat -antp # 查看所有已经建立的连接 netstat -s # 查看网络统计信息 进程: ps -ef # 查看所有进程 top # 实时显示进程状态(另一篇文章里面有详细的介绍) 用户: w # 查看活动用户 id <用户名> # 查看指定用户信息 last # 查看用户登录日志 cut -d: -f1 /etc/passwd # 查看系统所有用户 cut -d: -f1 /etc/group # 查看系统所有组 crontab -l # 查看当前用户的计划任务 服务: chkconfig –list # 列出所有系统服务 chkconfig –list | grep on # 列出所有启动的系统服务 程序: rpm -qa # 查看所有安装的软件包
2018年09月22日
6,991 阅读
3 评论
0 点赞