赞
踩
- windows
- __----------------
- Desktop Os
-
-
- Linux+VMware
- -------------
- Linux
- 服务器Os
- 稳定
- 安全
-
- VMware
- -----------------
-
- Oracle vbox
- ------------------
-
-
- Host
- ----------------
-
-
- Linux | mac
- ——————————————————
- Client机
-
- 安装VMware
- ------------------
-
- 安装客户机
- -------------
-
-
- window:物理结构
- ——-----——————
- 资本主义
- c:/
- d:/
- e:/
-
- linux文件结构
- ———————————————————
- /bin //二进制文件目录
- /sbin //二进制文件目录
- /dev //device,设备目录,光驱,磁盘,分区
- /etc //配置文件目录
- /lib //库文件,共享对象文件(so---shared object,等价于dll文件)
- /home //主目录 /home/ubuntu /home/ubuntu......
- /meida
- /mnt
- /opt //root用户的主目录
- /root
- /usr //user
- /usr/bin //可执行文件
- /usr/sbin //可执行文件
-
- /usr/local //
- /usr/local/bin //
- /usr/local/sbin //
-
- Linux
- --------------
- 1.redhat
- 2.centOs
- 3.ubuntu
- 4.Suse
- 5....
-
- 共同祖先是Unix
- 最早的文件在bin和sbin中
- 自己的文件放在userbin中
- 哪一个优先级高,就近原则
-
-
- Linux基本操作
- ----------------
- windows linux
-
- cd cd //进入目录
- pwd //显示当前的目录
- clear //清屏
- whoami //查询当前的用户
- sudo passwd //切换用户
- ipconfig ifconfig //查询Ip
- su root //切换用户
- mkdir
- rm
- cp
- mv
- cat
- touch
- chow
-
- ping www.baidu.com ping www.baidu.com //ping网络
- tree find . | grep //ping网络
-
- del 删文件 rm -fR xxx //递归强制删除目录(文件)
- rmdir 删目录
-
- echo touch hello.txt //创建空文件
- echo helloworld > hello.txt //补齐文件(覆盖模式)
- echo helloworld >> hello.txt //(追加模式)
- cat hello.txt //直接查看文件内容
- type hello.txt //
-
- C滚把window模拟成linux
- cat hello.txt //直接查看文件内容
-
- copy a.txt ../b.txt cp hello.txt b/c/d //复制文件
- cp hello.txt b/c/d/1.txt //复制并文件。指定名称
- cp -R xxx ../
-
- echo
- nano 与 Ctrl+0与ctrl+x
- cat
- deirect :>>与> //重定向
- more
- head -n hello.txt //显示文件开头N行数据
- tail -n hello.txt //显示文件结尾N行数据
- which hostname //查看文件命令
-
- sudo reboot //重启
- uname -a //查看系统的内核信息,-all也可以实现
- file xxx.so //查看文件类型
- s 在类库中有so文件lib中,链接文件 -表示共享文件(动态链接库文件)
- 安装第三方软件在lib中就会生成so 文件,没有的话就有问题
-
- tar //归档和解档
- tar -xvzf mytar.tar.gz //解压(原地)
- tar -tf mytar.tar //查看归档文件
- tar -rf mytar.tar.xxx //-r追加文件到
-
- mount //挂载外设
- 实例“”
- umount /dev/cdrom
- ls
-
-
-
-
- gzip -l mytar.tar //原地压缩,时间优先
- gzip -9 mytar.tar //原地压缩,空间优先
- gzip -9 mytar.tar //原地压缩,空间优先
- gzip -d mytar.tar.gz //原地文件,空间优先
- gunzip mytar.tar.gz //加压缩文件 等价于 == gzip -d xxx.gz
- sudo shutdown -p now //关机 -p:关电源 -r:reboot
- sudo halp -p
-
- sudo mount //挂载外设
- sudo umount //解除挂载
- ln -s /exist_file link_name
- jobs
- kill %n
- ps -Af
- cut -c num1-num2
- cmd --help
- man cmd
- help
- info cmd
-
- fdisk
- fdisk -l //查看分区表
- fdisk /dev/sda //管理指定磁盘
- ...
- df 磁盘空间使用情况 disk free
- df -ah
- dd diskdump
- dd
-
- dirname //查看文件所在目录
-
- basename 输出文件的基本名称(取出目录的部分)
- echo $(hostname)
- echo $($cat 1.txt) //1.txt中写入 hostname,嵌套命令,多次调用
- cd —p mylink //进入物理目录,不是连接目录
-
- war //web
- ear //enterprise
- jar //java archive file
- tar //归档文件
- tar -f -
- -c //创建
- -f //指定文件
- -v //指定信息verbose
- -x //extract 从归档文件抽取,解档
- -z //通过gzip进行过滤
-
-
- -----------------------
- ls
- -h 人性化可读
- -a 现实全部文件(.xxx)
- -l:列表展示
-
- --------------------
- find
- -------------------
- find /usr/local
- find .|xargs grep -ri "IBM" //含有ibm串
- find .|xargs grep -ri "IBM" -l //输出文件名
- find /cmd ".sh" -prin | ... //指定目录sh文件
-
- ls | grep pig |cp 'xargs' ~/Download
-
- xargs //将管道的输出内容合并成一行数据使用空格分割
- find . | grep txt | c[ 'xargs' //''是按照命令进行执行
-
-
-
-
-
-
- 配置文件在/etc目录下
- ls | grep host
- ll 查看权限
- source hostname 立即启用
-
- nano 编辑器
- ----------------------------------
-
- 1.nano hello.txt
- 2.ctrl + o //保存
- 3.ctrl + x //退出
- 4.ctrl + k //剪切一行
- 5 ctrl + U //复制一行
-
-
-
- Linux链接文件
- -----------
- 1.硬链接(hard link)
- 两个完全相同的文件,占用2倍的磁盘空间,两者实时同步,删除一个文件。另一个不删除
-
- 2.符号链接(symbolic link)
- 相当于快捷方式,不会占用过多的磁盘空间
- 如果源文件删掉,连接失效(不意味删除,红色)
-
- 3.创建连接方式
- ln hello.txt. hello.txt.ln //硬链接
-
- 4.grep特殊字符需要转移
- ls -al | grep "\->" //过滤
-
- jobs
- -------------------
- 显示后台作业
-
-
- 查看进程信息
- ----------------
- ps //process show
- ps -Af //-A:所有进程 -f
-
-
- 杀死job
- ----------------
- kill %1
-
- cut
- ----------------------------
- 对每行文本剪切处理
- 对每行输出进行剪切处理
- cat -c num1-num2
- cut -c 1- //显示1以及后面的所有字符
- cut -c -5 //显示开始到5的所有字符
- cut -c 3-5 //显示3-5后面的所有字符
-
- 输出环境变量
- ——————————+
- echo $path
- echo ${PATH}
- echo "PATH"
- 单引号错误,双引号正确
- export mypath = /home/ubuntu //导入环境变量,只在当前会话中有效
- export mypath =${path:-} //导入环境变量,只在当前会话中有效
- export yourpath = //干掉你的path
- exprot $yourpath
- exprot $yourpath=${PATH:-$PATH:-$mypath}
- export $yourpath=${PATH:-$PATH1:-$mypath} //相当于三元运算符,条件运算的过程
-
- path环境变量,windows使用“;”号分割,linux使用“:”分割
-
- export mypath=${path}:/home/ubuntu
- echo $mypath
-
-
- $env other //空格分区
- ${env} //{}界限
- “$env” //""界限
- export env = ${env:-$env:-$envn2} //是取env, 否env2 三元运算符
- echo 'pwd' //按脚本执行
- if["$1"="--conf"] //第几个参数
- if[$#-lt 1]
- if[$#-gt 1]
- if[-e xxx] //是否存在
- if[-d] //wrong ,需要空格
- if[-d xxx] //right
-
- 查看linux内置命令的帮助
- ---------------------
- help export
- if commands ,then commands ;
- [else if commands ;then commands ;] ....[else commands;] fi
-
- help if
- hellp export
- help while
- help for
-
- 使用if
- ["$1" = "--conf"] //第几个参数
- ---------------------------------
-
- linux内置变量的访问方式
- 1.$?
- 返回刚刚执行命令的结果,0:成功 !0=失败
-
- 2.$#
- 获取参数个数
- rm -r bin //$# = 2
-
- 3.$n
- 获取第几个参数
- $0 //命令本身
- $1 //第一个参数,rm -r bin $1=-r
- ..
-
- 4$@
- 得到所有参数
- rm -r bin //$@=-r bin
-
- 5.shift
- 移动参数
-
- $? //命令的返回值存储变量
- $# //参数个数
- $1 //第几个参数
- $O //当前脚本名称
- $@ //取出所有参数
- shift //参数左移
- ${a/b/c} //
-
- 命令组合
- -----------------
- 1.a && b
- a成功执行后,再执行b命令
-
- 2.a || b
- a执行后,再执行b命令
-
- 3.a ; b
- a执行后,再执行b,没有成功失败的约束条件
-
- 4.(a ; b )
- //组合命令,只在当前目录执行,不切换目录
-
- ls -al ; cd /usr/ ; pwd
-
- (ls -al;cd ~; pwd)
-
- NetCat
- --------------------
- 1.瑞士军刀
- 2.TCP/IP
- transfer control protocal ,internet protocal
- Socket
- ServerSocket //server,listener,port
- Socket //connection,port
-
-
- 3.使用nc 进行聊天
- nc -l 8888 //在本机启动一个ServerSocket进程,
- &表示在后台运行
- nc localhost 8888 //启动客户端,连接到服务器端口8888
-
- 4.使用nc传递文件
- 传送文件
- 服务器端
- nc -l 1234 > readme.txt //服务器端,重定向接收数据到文件
- 客户端
- nc localhost 1234 < readme.txt //客户端,重定向输入
- 端口扫描
- nc ip -z port-portn //指定需要扫描的主机ip和端口区间
- nc -v -w 2 s1-z 2000 - 4000
- -v 详细信息
- -w 连接超时
- -z 端口扫描
-
- 命令前后台执行切换
- --------------------
- 1.启动命令时直接放到后台
-
- nc -l 888 & //
-
- 2.将当前进程暂停并放入后台,变成交作业(job)了
- ctrl + z
- joba //查看后台运行的所有作业,只需要jobid
- 3.将后台job激活,并在后台运行
- bg %1
- 4.将后台作业切换到前台运行
- fg %1
-
- d:directory 目录
- -:file 文件
- b:block
- l:link
- r:read 读
- w:write写
- x:execute执行
- 类型
- owner //主人
- group //组
- other //其他人
- d rwx r-x r-x .... hello.txt
-
- 权限说明
- -----------------
- 1.read
- 文件:查看文件内容
- 2.write
- 文件:修改文件内容
- 3.执行
- 文件:可执行文件
- 修改文件权限
-
- 查看linux内置命令的帮助
- ------------------
- help export
- help if
- help while
- help for
- 使用if
- ["$1"="--conf"] //第几个参数
-
- Ubuntu系统常用命令
- -----------------
- if[$#-lt 1]
- if[$#-gt 1]
- if[-e xxx]
-
- if[-d] //wrong 需要空格
- if[-d xxx] //right
-
- $? //命令的返回值存储变量,返回刚刚执行命令的结果,0:成功 !0:失败
- $# //参数个数 rm -r bin //$# = 2
- $n //获取第几个参数。 $0 //命令本身
- $1 //第一个参数,rm -r bin $1=-r
- $0
- 得到所有参数
- rm -r bin //$@=-r bin
- $1 //第几个参数
- $O //当前脚本名称
- $@ //取出所有参数
- shift //参数左移
- 向左移动参数,左边的参数被覆盖掉
- ${a/b/c} //
-
-
- $env other //空格分区
- ${env} //{}界限
- "$env" //""界限
- export env=${env:-$evn2} //三元运算符
- echo '${env}' //原样输出
- echo 'pwd' //按脚本执行
- if["$1"="--conf"] //第几个参数
-
-
- 文件和权限
- -------------------
- 1.文件类型
- d:目录
- -:文件
- b:block
- l:link
- 2.权限
- Owner(user) //主人
- group //组,linux用户隶属于组,可以隶属于多个组,但是只能够隶属于一个primary group ,可以隶属于多个secondary group
- other //其他人
- all //owner+group+other
- 3.控制权限
- r:read //rwx
- 111=7
- w:write
- x:exeute
-
- 修改文件权限
- ————————————
- chmod ugo+-=rwx hello.txt //
- chmod a+rwx hello.txt //
- chomd 777 hello.txt //
- chomd 755 hello.txt //
-
- 新增用户
- ---------------
- 1.useradd
- 是底层添加用户的命令,推荐用adduser添加新用户
- 2.adduser
- 通过adduser添加用户
- adduser --home /home/ubuntu2 ubuntu2 --gid 1000 ubuntu2 //ubuntu 1000
-
- 3.Ubuntu静态Ip设置
- (1)查看网关
- VMware虚拟机————>编辑菜单-->虚拟网络编辑器-->打开窗口-->选中vmnet8虚拟网卡-->
- nat设置-->查看网关(192.168.238.2)
- (2)查看可用的ip网段
- VMware虚拟机————>编辑菜单-->虚拟网络编辑器-->打开窗口-->选中vmnet8虚拟网卡-->
- DHCP设置-->查看网段
-
- Ubuntu 修改软件源
- -----------
- Ubuntu软件包操作
- apt:advanced package tookit ,高级包管理工具
- sudo apt-get install xxx //安装软件包列表
- sudo apt-cache search xxx //
- sudo apt-get remove xxx //删除
- sudo apt-get purge xxx //删除软件和配置文件
- sudo apt-get update //更新
- sudo apt-get upgrade //升级
- sudo dpkg -l | grep xxx //
-
-
-
- 复制163软件源
- deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
- deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse
- deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
- deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted
- deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
- deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
- deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted
- deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
- deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted
- deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted
- ctrl+o-- 回车-- ctrl+x-- 回车
-
- sudo apt-get update
- sudo apt-get upgrade
-
- 从本地安装桌面
- --------------
- 1.取得iso文件
- 2.挂载iso文件到/mnt/下
- mount /dev/cdrom /mnt/cdrom
- 3.修改/etc/apt/sources.list文件
- [/etc/apt/sources.list]
- deb file:/mnt/cdrom ./
- 4.更新和升级软件源
- apt-get update
- apt-get upgrade
- 5搜索软件
- sudo apt-cache search ubuntu-desktop
- 6.安装软件
- sudo apt-cache-install ubuntu-desktop
- 7.卸载软件
- sudo apt-get remove ubuntu-desktop
-
- Ubuntu安装VM增强工具
- ——————————————————
- 增强工具作用
- 和host共享文件夹
- 鼠标自动捕捉释放
- 高分屏
- 自适应窗口
- 1.VMWare-->重新安装VMware tool
- 2。自动打开光驱文件
- 3。复制vmware-tool-xxxx.tar.gz到桌面
- 4。右键vmware-tool-xxxx.tar.gz释放到这里
- 5。打开终端
- 6。进入~/Desktop/vmware-tool-distrib
- 7。执行python脚本
- sudo ./vmware-tool.pl
- 8。一路回车
- 9。Enjoy...成功了
-
- 版本:
- VMwareTools-9.9.3-2759765.tar.gz
-
-
- 客户机屏幕自适应
- ---------------
- 1.关闭客户机、
-
- 2.编辑客户机的设置
- 虚拟机-->虚拟机设置-->显示器-->指定显示器的设置(1366x768)
- 3 ok
- 4.启动客户机
- 完成window和linux共享文件夹
-
- 客户机和宿主机共享文件夹
- -----------------
- 1.编辑客户机的设置
- 虚拟机-->虚拟机设置-->选项-->共享文件夹
- 2,进入客户机的/mnt/hgfs查看共享的文件夹
-
- 客户机和宿主机共享剪切板
- --------------------
- 1.编辑客户机的设置
- 虚拟机-->虚拟机设置-->选项-->客户机隔离
- 2.选中复选框
-
- 客户机和宿主机之间支持拖放
-
- dpkg
- -----------
- dpkg-query --help
- dpkg-query --list | grep gedit
- sudo dpkg --remove gedit
- 1.直接安装.deb软件包
- dpkg -i gedit_4-xx.deb
- 2.通过which查看是否安装成功
- which gedit
- 3.卸载软件包
- sudo dpkg --remove gedit
-
- dpkg-query
- ---------------
- 1.查看本地安全点的软件包
- sudo dpkg-query --list | grep gedit
- 2.通过which查看是否安装成功
- which gedit
- 3.卸载软件包
- sudo dpkg --remove gedit
-
- 提高准确率
-
- ----------------
- 本地软件源制作
- -----------
- sudo apt-get install dpkg-dev
- mkdir ~/software
- cp -R -v /var/cache/apt/archives/* ~/software
- sudo dpkg-scanpackages ~/software /dev/null
- |gzip>~/software/Packages.gz
- 复制整个software文件夹到host主机
- 安装ubuntu客户机
- 从host复制software文件夹到主目录下
- 编辑/etc/apt/source.list文件
- deb file:/home/ubuntu/software./
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install xxx //此时从本地软件源安装
- 注意:
- 该方式要确保所有所需软件都在本地仓库中,否则还需要
- 将sources.list文件配置成外部软件源地址
- Ubuntu ISO文件制作
- ————————————————
- 1.安装mkisofs
- sudo apt-get install mkisofs
- 2.使用mkisofs制作iso文件
- //-r保留源文件-o输出文件
- sudo mkisofs -r -o xxx.so /targ
- Ubuntu通过光驱挂载iso文件实现共享
- ——————————————————————
- 1.虚拟机挂载iso文件
- a.虚拟机->光驱设置->指定iso文件
- b.连接
- 2.挂载CDROM到/mnt目录下
- sudo mkdir /mnt/cdrom
- sudo mount /dev/cdrom /mnt/cdrom
- cd /mnt/cdrom
- Ubuntu虚拟机克隆与Mac生成与网络连接形式
- Ubuntu网络连接形式
- -------------
- 1.桥接
- 模拟成一台物理机
- 完全模拟网络中的真实电脑,可配置IP,访问互联网,
- 局域网的互访,如果无网络,彼此无法连通
- 2.NAT
- 和Host形成局域网,由Host做NAT和DNS,可访问互联网,
- 局域网的主机无法访问客户机,没有网络时,Host和客户机
- 之间仍能连通。
- net address transform 网络地址转换
- 3.Only-host
- 类似于NAT,不能访问外网,出于安全性考虑。
- 即类似于内网的使用
- 配置客户机为静态IP
- --------------
- 1.查看NAT的网关
- 网络地址编辑器-->NAT-->NAT设置-->查看网关(192.168.119.2)
- 2.查看网段
- 网络地址编辑器-->NAT-->NAT设置-->查看网关(192.168.119.128)-->(192.168.119.254)
- 3.挑选一个ip
- 192.168.119.130
- 4.编辑ubuntu的网络配置文件
- /etc/network/interface
- 5.重启网络服务
- sudo /etc/init.d/networking restart
- 6.通过ping查看连通情况
- 脚本
- -----——————————————————————————————————
- 0.查看帮助
- help for
- 1.语法一
- for NAME [in WORDS ... ]; do COMMANDS; done
- [例如]
- for a in 1 2 3 4 ; do each $a ; done
- 脚本创建文件
- 脚本删除文件
- while
- for a in 1 2 3 4 ; do rm ${a}.txt ; done
- ls
- 2.语法二
- [语法]for ((exp1;exp2;exp3)); do COMMANDS;done
- [例子]for ((a = 1 ;a <= 11))
- 一饿就脑短路,来条士力架吧
- 横扫饥饿,做回自己
- 使用for循环打印10个数
- ————————————————————————
- a = 10
- for
- 1.语法
- while语法
- ---------------
- 1.语法
- ((EXP1))
- while((EXP2));do
- COMMANDS
- ((EXP3))
- done
- 步骤
- 1.创建脚本文件
- 2.
- 打印1-->10 10个数字
- ---------------
- #!/bin/bash
- (( a=1 ))
- while (( a <= 10 )) ; do
- echo $a
- ((a = a + 1 ))
- done
- 使用fro循环打印所有参数
- ---------------------
- #!/bin/bash
- ((count = $# ))
- ((a=1))
- while ((a<=count)) ; do
- echo $1 ;
- shift;
- ((a=a+1))
- done
- if 语句
- 脚本的编写
- 参数的提取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。