安装虚拟机 安装CentOS,CentOS是使用linux内核的一种操作系统 网络方式 bridged(桥接,VMnet0) 单独产生一个网卡,必须和本机在同一网段才可以上网 host-only(VMnet1) 就算本机没网,也可以和虚拟机通信 NAT(VMnet8) 共用本机的网卡,本机可以上网,虚拟机就可以上网 设置VMware的ip网段 在安装目录下通过vmnetcfg.exe进行修改 设置window跟虚拟机通信的ip网段 网络共享中心 - 修改VMware1固定ip地址 设置linux的ip 参见下面 linux优点 开源 可定制 修改主机名和ip 查看主机名 hostname 修改主机名(需要重新启动才能生效) vim /etc/sysconfig/network HOSTNAME=xxx 查看ip地址 ifconfig 修改ip地址(重新启动 或 service network restart) 图形界面方式 桌面右上角 使用命令画的图形界面方式 setup --> Network configuration --> Device configuration 直接修改配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改如下 DEVICE="eth0" BOOTPROT0="static" ... IPADDR="192.168.8.118" NETMASK="255.255.255.0" GATEWAY="192.168.8.1" DNS1="8.8.8.8" //如果不是host-only需要设置 DNS2="8.8.4.4" //如果不是host-only需要设置 修改主机名和ip的对应关系 vim /etc/hosts 192.168.8.118 主机名 修改dns vi /etc/resolv.conf nameserver 114.114.114.114 nameserver 8.8.8.8 安装软件 安装jdk: 将tar包解压,并设置环境变量 安装eclipse: 将tar包解压 安装mysql: 使用rpm命令安装rpm包 环境变量 查看环境变量 echo $环境变量名 查看某个环境变量的值(名称区分大小写) env 查看所有环境变量的值 修改环境变量 本次临时修改(下次开机会失效) 环境变量名="$环境变量名":追加值 永久修改(下面是对所有用户生效的,还有针对某个用户的等等自己查) vim /etc/profile 添加: export PATH=$PATH:/usr/java/bin source /etc/profile 注意 如果没有设置环境变量,则需要在命令所在目录执行./命令名称才能找到 linux常用目录: bin 存放二进制可执行文件 sbin 存放二进制可执行文件,只有root才能访问 etc 存放系统配置文件 usr 用于存放共享的系统资源 home 存放用户文件的根目录 root 超级用户目录 dev 用于存放设备文件 lib 存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt 系统管理员安装临时文件系统的安装点 boot 存放用于系统引导时使用的各种文件 tmp 用于存放各种临时文件 var 用于存放运行时需要改变数据的文件 linux常用命令 格式: 命令 -选项 参数 类型 内部命令 属于shell解析器的一部分 cd 切换目录 pwd 显示当前工作目录 外部命令 独立于shell解析器之外的文件程序 ls 显示文件和目录列表 mkdir 创建目录 查看帮助文档 help xxx 查看内部命令的帮助文档 man xxx 查看外部命令的帮助文档 文件或目录操作 cd 切换目录 格式 cd [目录名] cd - 后退 ls 显示当前目录中的内容 格式 ls [选项] [目录名] -l 显示详细信息 -a 显示所有内容(包括隐藏文件,.开头的文件/目录是隐藏文件/目录) -h 显示单位 目录名 默认为当前目录 pwd 显示当前路径 格式 pwd touch 创建空文件 格式 touch [选项]... 文件... mkdir 创建目录 格式 mkdir [选项] 目录... -m 设置权限 -p 自动创建父目录 -v 显示创建的目录 cp 复制文件或目录 格式 cp [选项] 源 目的 -r 递归复制 mv 文件或目录移动或改名 格式 mv [选项] 源文件或目录 目标文件或目录 -f 强制,如果存在则直接覆盖 rm 删除文件或目录 格式 rm [选项] 文件… -r 递归删除 -f 强制删除(不用提示) -v 显示删除的文件 which 在path变量中查找可执行文件的第一个位置 格式 which 可执行文件名称 find 查找指定文件, find /etc/ -name "aaa" 格式 find 路径 [选项] -name 按照文件名查找文件 -iname 按照文件名查找文件(忽略大小写) -path 匹配文件路径 -regex 根据正则表达式匹配文件路径 -size +nc 查找文件大小大于n字节的文件 -amin n 查找最近n分钟访问的文件 -atime n 查找最近n天访问的文件 -mmin n 查找最近n分钟修改的文件 -mtime n 查找最近n天修改的文件 -o 是或者的意思 -a 是而且的意思 -not 是相反的意思 -delete 搜索到匹配文件并删除 -exec 继续执行命令,格式 find 路径 [选项] -exec [命令] {} \; 如:继续删除文件 find . -regex "*.txt" -exec rm -r {} \; ln 建立链接文件 格式 ln [参数] [源文件或目录] [目标文件或目录] df 显示文件系统磁盘占用情况 格式 df [选项] [文件] -h 展示单位 du 显示文件和目录磁盘占用情况 格式 du [选项] [文件] -h 展示单位 文本文件 cat 显示文本文件内容 格式 cat [选项] [文件]... -n 显示行号 tac 显示文本文件内容,倒序 格式 tac [选项] [文件]... more 分页显示文件内容 格式 more [file] -n 定义屏幕大小为n行 快捷键 enter 向下翻一行 space 向下滚动一屏 ctrl+b 向上滚动一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 q 退出 less 分页显示文件内容(可向前翻页,并且可向前搜索) 格式 less [参数] 文件 -i 忽略搜索时的到小写 -m 显示类似more命令的百分比 -N 显示行号 -o 将输出的内容保存到指定文件中 快捷键 /字符串 向下搜索字符串 ?字符串 向上搜索字符串 n 搜索下一个 N 搜索上一个 回车键 向后滚动一页 b 向后滚动一页 d 向后滚动半页 空格键 向后滚动一行 u 向前滚动半页 y 向前滚动一行 pagedown 向后滚动一页 pageup 向前滚动一页 Q 退出 head 查看文件开头内容 格式 head [参数]... [文件]... -n 显示行数 tail 查看文件结尾内容 格式 tail [参数] [文件] -n 显示行数 -f 循环读取 wc 统计文本的行数,字数,字符数 格式 wc [选项] 文件... -c 统计字节数 -m 统计字符数 -w 统计字数 -l 统计行数 diff 比较文本文件内容 格式 diff [参数] [文件1或目录1] [文件2或目录2] grep 查找指定字符串 格式 grep [选项] 文件 --color 关键字加亮 -n 显示匹配行及 行号。 -i 不区分大小写 -r 递归搜索 -l 只列出匹配的文件名 -An 同时显示匹配行的前n行 -Bn 同时显示匹配行的后n行 -Cn 同时显示匹配行的前后n行 -mn 匹配到n个后就停止 -o 只打印匹配的内容,如正则的匹配项 -w 查找一个单词 -E 运用正则表达式 支持正则 如果不使用-E,则{ ( ? + |需要加转义 --include 仅查找指定规则的文件, --include=*.txt --exclude-dir 排除目录, --exclude-dir={.git,.svn} --exclude 排除文件, --exclude=*.{java,js} echo 写内容,一个>覆盖,两个>追加 echo "aaa" > book vi 编辑文本文件 x 保存当前文件并退出 q! 不保存文件并退出vi nl 输出的文件内容自动加上行号 格式 nl [选项] 文件 -b 指定行号指定的方式,主要有两种:-b a表示空行也显示行号 -b t不显示 -w 行号栏位的占用的位数 系统 date 显示/设置日期 格式 date [参数] [格式] -s 根据字符串来设置日期/时间 示例 显示日期 date 设置日期 date -s 2016-03-01 设置时间 date -s 15:13:00 设置日期时间date -s "2016-03-01 15:13:00" cal 显示日历 格式 cal [参数] [月份] [年份] ifconfig 网卡网络配置详解 格式 ifconfig [网络设备] [参数] netstat 显示网络状态信息 格式 netstat [参数] -a 显示所有连接和监听端口 -t 仅显示tcp相关选项 -u 仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字 -p 显示建立相关链接的程序名 ping 测试网络的连通性 格式 ping [参数] [主机名或IP地址] top 显示当前系统中耗费资源最多程序 格式 top [参数] ps 显示当前运行进程的瞬间状态 格式 ps [参数] -A,-e 显示所有进程 -f 显示详细信息 lsof 格式 lsof [参数] [文件] -i 列出占用此端口的进程 kill 关闭进程 格式 kill [参数] [进程号] -l 查询信号信息 -s 发送指定信号(默认为15,15代表关闭,9代表强制关闭) free 显示当前内存和交换空间的使用情况 格式 free [参数] -m 以mb为单位显示 history 查看命令历史 clear 清屏 shutdown 系统关机 -r 关机后立即重启 -h 关机后不重新启动 halt 关机后关闭电源 reboot 重新启动 压缩 tar 打包/解包文件或目录(将文件夹打包为一个文件) 格式 tar [参数] [文件] -c 创建一个压缩文件 -x 解压一个压缩文件 -z 同时使用gzip压缩 -j 同时使用bzip2压缩 -v 压缩的过程中显示文件名称 -f 指定压缩文件名称 -C 指定解包的指定目录 tar指定要压缩的文件夹不建议使用绝对路径,会报错,需要手动使用P参数 gzip 压缩文件或目录,自动删除源文件(后缀为gz) 格式 gzip [参数] [要压缩的文件/目录] -c 保留原有文件 -r 递归处理 -n n表示速度,1-9,速度越慢压缩率越高 gunzip 解压gzip压缩的文件 格式 gunzip [参数] [压缩文件名称] bzip2 压缩文件或目录,自动删除源文件(后缀为bz2) 格式 bzip2 [参数] [要压缩的文件/目录] -b 表示是解压缩 , 等价的有bunzip2命令 bunzip2 解压bzip2压缩的文件 格式 bunzip2 [参数] [压缩文件名称] zip 对于window下zip文件的相关压缩/解压命令 格式 zip [参数] [文件名称] [要压缩的文件/目录] -r 递归处理 -m 将文件压缩之后,删除源文件 -v 压缩的过程中显示文件名称 unzip 格式 zip [参数] [压缩文件名称] -o 解压后覆盖原有文件 -d 解压到指定目录 -v 压缩的过程中显示文件名称 注意: gzip和bzip2命令压缩或解压缩默认自动删除源文件 快捷键 tab 自动补全命令 ctrl + c 停止当前进程 ctrl + r 查找命令历史 ctrl + l 清屏 vim编辑器 工作模式 一般模式 插入模式 底行模式 工作模式转换 一般模式-->插入模式 i,a,o 插入模式-->一般模式 esc键 一般模式-->底行模式 : 底行模式-->一般模式 命令输入完成 进入文本编辑器默认为一般模式 退出文本编辑器 :wq 一般模式快捷键 i 进入插入模式,在当前光标前插入 a 进入插入模式,在当前光标后插入(光标自动后移一位) o 进入插入模式,在当前光标后并另起一行插入 I 进入插入模式,在当前行的行首插入 A 进入插入模式,在当前行的行尾插入 O 进入插入模式,在当前行的上一行另起一行插入 G 跳到文件最后一行 g+g 跳到文件第一行 x 删除当前光标下的字符 nx 删除当前光标后的n个字符 d+d 删除当前行 d+G 删除当前行到最后一行的所有内容 D 删除光标所在处到行尾的内容 n+d+d 删除n行(实际是剪切) r 替换光标处所在的字符 R 进入替换模式,按esc结束 v 进入可视字符模式 V 进入可视行模式 ctrl+v 进入可视块模式 u 撤销 ctrl+r 重做 y+y 复制 n+y+y 复制n行 p 粘贴 Z+Z 保存退出 底行模式命令 q! 不保存退出 wq 保存退出 set nu 显示行号 set nonum 取消行号 n 定位到n行 n1,n2d 删除[n1,n2]的所有行 Linux管道 格式: 命令1 | 命令2 将一个命令的标准输出作为另一个命令的标准输入。 例:grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。 权限管理 三种基本权限 r 读权限 w 写权限 x 执行权限 ls -l显示的前几位的信息 例: -rwxrw-r-- 第1位: 文件类型(d目录, -普通文件, |链接文件) 第2-4位: 所属用户权限(u) 第5-7位: 所属组权限(g) 第8-10位: 其它用户权限(o) 第2-10位: 全部权限(a) 十进制表示权限 r=4,w=2,x=1 rwx = 7 r-x = 5 rwxrw-r-- = 764 防火墙 service iptables status 查看防火墙状态 service iptables stop 关闭防火墙(重新启动会再次开启) service iptables start 开启防火墙 chkconfig iptables --list 查看防火墙的运行级状态 chkconfig iptables off 将防火墙的所有运行级状态设置为关闭 rpm软件包管理 概述 类似windows里面的 "添加/删除程序" 可安装rpm类型的安装包 只有在某些分支的linux内核支持: ReadHat,CentOS,SUSE 命令格式 rpm 参数 rpm文件 常用参数 i 安装应用程序 e 卸载应用程序 vn 显示安装进度 U 升级安装包 qa 显示所有已安装的软件包 ssh 远程登录 ssh 远程地址 远程执行命令 ssh 远程地址 命令 ssh设置免密码登录 A登录B需要设置免密码登录 先在A生成ssh密钥 ssh-keygen -t res 会在A的 ~/.ssh中生成两个文件: id_rsa和id_rsa.pub 将id_rsa.pub交给B(在A输入命令) ssh-copy-id 远程地址 会在B的 ~/.ssh中生成authorized_keys文件 复制文件 scp 本地文件路径 用户名@ip:远程路径 sed命令 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e∶直接在指令列模式上进行 sed 的动作编辑; -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作; -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法) -i∶直接修改读取的档案内容,而不是由萤幕输出。 常用命令: a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~ s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! {} 在定位行执行的命令组,用分号隔开 sed -n '/07:44/{=;p}' a.log = 显示行号 举例:(假设我们有一文件名为ab) 显示某行 sed -n '1p' ab #显示第一行 sed -n '$p' ab #显示最后一行 sed -n '1,2p' ab #显示第一行到第二行 sed -n '2,$p' ab #显示第二行到最后一行 使用模式进行查询 sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行 sed -n '/\$/p' ab #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义 sed -n '/a/,/b/p' ab #查询第一个包含a的行 到 第一个包含b的行 的中间的所有行(如果没有包含a的行,则一行不打印,如果没有包含b的行,则打印到完) 替换指定字符串 sed -i s/nmd_wt/nmd49_wt/g `grep nmd_wt -rl --include="*.conf" .` 将后缀为conf中的nmd_wt字符串替换为nmd49_wt 注意: 也可以和nl命令一起使用打印行号, 如 nl 文件名 | sed -n '/a/p'
linux
最新推荐文章于 2022-05-31 21:49:53 发布