虚拟机 和 真机互通
先看 虚拟机 的网卡模式nat模式 就要对应修改 真机 网卡中的 vm8 网卡
需要 虚拟机 和真机的vm8网卡在同一网段
仅主机模式
就要对应修改 真机 网卡中的vm1 网卡
需要 虚拟机 和真机的vm1网卡在同一网段
Linux命令
lingux优点
- 一切都是一个文件。容易看(包括硬件,文本,二进制,源代码)
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
shell
shell的定义
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
用户使用应用程序发布指令比如 (使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件
硬件才能工作,否则无法交互。
不同的shell环境
bash是linux里面默认的shell程序位于/bin/bash csh ksh 语言不同比如中文英文都是交流的语言
shell是翻译官 在操作系统和人之间进行翻译
centos7默认的shell 软件类型?
/bin/bash翻译,补全,自带内部命令等功能
cat /etc/shells 看到系统支持的shell类型
bash 是可以多开的,多开的 bash相对是独立的
系统规定了几个文件夹,如果你的命令是在这几个文件夹,那么是不需要写路径的
Echo $PATH
/usr/local/sbin:/local/bin:/usr/sbin:/usr/bin:/root/bin/
cd 外部(磁盘) 内部(内存)
Is 内部还是外部
is是否是第一次运行
如果是第一次,先判断是外部还是内部,如果是内部直接执行,如果是外部去规定的路径去找到执行,找不到直接报错
如果执行一个命令报错,命令未找到
1.没有安装该命令软件,解决方法安装该命令
2.hash缓存有误,清理hash表
3.不在指定的路径下,需要使用绝对路径,或者将命令复制到规定文件夹下
命令字 空格 [选项] 空格 [参数]
用方括号括起来代表 可有可无
命令字:你执行任务,需要挑选相对应的命令
选项: 修饰加强命令
参数: 对谁使用命令 1.文件 2.文件夹 3.用户名
选项的类型
1.-字母
2.--完整字母
shell 与 内、外部命令
1.shell 分为内部命令 和外部命令,一般先执行内部命令,hash 再执行外部命令(别名最大)
内部命令 | 外部命令 |
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
2.help命令可以查看内部命令
[root@localhost opt]# help
GNU bash, 版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)
这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表.
输入 `help 名称' 以得到有关函数`名称'的更多信息.
使用 `info bash' 来获得关于 shell 的更多一般性信息
使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息.
名称旁边的星号 (*) 意味着该命令被禁用.
job_spec [&] history [-c] [-d 偏移量] [n] 或 his>
(( 表达式 )) if 命令; then 命令; [ elif 命令; >
. 文件名 [参数] jobs [-lnprs] [任务声明 ...] 或 jo>
: kill [-s 信号声明 | -n 信号编号>
[ 参数... ] let 参数 [参数 ...]
[[ 表达式 ]] local [option] 名称[=值] ...
alias [-p] [名称[=值] ... ] logout [n]
bg [任务声明 ...] mapfile [-n 计数] [-O 起始序号] [>
bind [-lpvsPVS] [-m 键映射] [-f 文乾 popd [-n] [+N | -N]
break [n] printf [-v var] 格式 [参数]
builtin [shell 内嵌 [参数 ...]] pushd [-n] [+N | -N | 目录]
caller [表达式] pwd [-LP]
case 词 in [模式 [| 模式]...) 命乾 read [-ers] [-a 数组] [-d 分隔符] >
cd [-L|[-P [-e]]] [dir] readarray [-n 计数] [-O 起始序号]>
command [-pVv] 命令 [参数 ...] readonly [-aAf] [name[=value] ...] or r>
compgen [-abcdefgjksuv] [-o 选项] [-A> return [n]
complete [-abcdefgjksuv] [-pr] [-DE] [-o> select NAME [in 词语 ... ;] do 命令>
compopt [-o|+o 选项] [-DE] [名称 ...> set [-abefhkmnptuvxBCHP] [-o option-nam>
continue [n] shift [n]
coproc [名称] 命令 [重定向] shopt [-pqsu] [-o] [选项名 ...]
declare [-aAfFgilrtux] [-p] [name[=value> source 文件名 [参数]
dirs [-clpv] [+N] [-N] suspend [-f]
disown [-h] [-ar] [任务声明 ...] test [表达式]
echo [-neE] [参数 ...] time [-p] 管道
enable [-a] [-dnps] [-f 文件名] [名张 times
eval [参数 ...] trap [-lp] [[参数] 信号声明 ...]
exec [-cl] [-a 名称] [命令 [参数 .> 真
exit [n] type [-afptP] 名称 [名称 ...]
export [-fn] [名称[=值] ...] 或 expo> typeset [-aAfFgilrtux] [-p] name[=value>
伪 ulimit [-SHacdefilmnpqrstuvx] [限制]
fc [-e 编辑器名] [-lnr] [起始] [繾 umask [-p] [-S] [模式]
fg [任务声明] unalias [-a] 名称 [名称 ...]
for 名称 [in 词语 ... ] ; do 命令;> unset [-f] [-v] [名称 ...]
for (( 表达式1; 表达式2; 表达式> until 命令; do 命令; done
function 名称 { 命令 ; } 或 name ()> variables - 一些 shell 变量的名祾
getopts 选项字符串 名称 [参数] wait [编号]
hash [-lr] [-p 路径名] [-dt] [名称 > while 命令; do 命令; done
help [-dms] [模式 ...] { 命令 ; }
3.可以使用 type 命令来区分内外部命令
[root@localhost /]# type cd
cd 是 shell 内嵌 //内嵌就是内部命令
[root@localhost /]# type ls -a
ls 是 `ls --color=auto' 的别名
-bash: type: -a: 未找到
[root@localhost /]# type -a ls
ls 是 `ls --color=auto' 的别名 //别用名就是外部命令
ls 是 /usr/bin/ls //外部命令的路径
[root@localhost /]# whereis ls //whereis可以查看命令的具体位置
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@localhost /]# type -a echo
echo 是 shell 内嵌
echo 是 /usr/bin/echo
外部命令存放于 echo $PATH 一个一个找,找到为止,找不到会报无命令
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost /]# type useradd
useradd 是 /usr/sbin/useradd
[root@localhost /]# useradd wu
[root@localhost /]# type useradd
useradd 已被哈希 (/usr/sbin/useradd)
[root@localhost /]# hash //也可以用hash
hash 缓存
使用过一次 外部命令 我就会将这个外部命令 缓存在hash
外部命令需要取找他的路径才能执行, 直接在缓存 调用 加快了速度
内部 外部 hash 的优先级
内部 hash 外部
命中 命令
4 /usr/bin/grep
2 /usr/bin/head
3 /usr/bin/vim
2 /usr/sbin/useradd
1 /usr/bin/whereis
4 /usr/bin/ls
4.开启或关闭内部命令
关闭:enable -n 内部命令
开启:enable 内部命令
[root@localhost /]# enable -n cd //关闭内部命令
[root@localhost /]# cd /mnt/
[root@localhost /]# //关闭成功,无法进入mnt文件
[root@localhost /]# enable cd //开启内部命令
[root@localhost /]# cd /mnt/
[root@localhost mnt]# //开启之后可以进入mnt文件
系统规定了几个文件夹,如果你的命令是在这几个文件夹,那么是不需要写路径的
Echo $PATH
/usr/local/sbin:/local/bin:/usr/sbin:/usr/bin:/root/bin/
cd 外部(磁盘) 内部(内存)
调用程序的时候
绝对路径: 完整的描述了该文件的位置 一定可以使用该程序。
相对路径: 从当前路径为起点描述文件的位置,只有在该文件所处的 文件夹下才可以找到该程序
操作系统:也是一种特殊的程序,调度硬件资源
补全的对象是 命令 或 文件名
内部命令
echo $PATH如果你的命令唯一, 直接补全如果你的命令不唯一, 会显示全部
命令行格式
- 在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都
可以称为命令。
- 严格来说,命令通常只代表实现某一类功能的程序的名称。
格式
命令字 空格 [选项] 空格 [参数]
编辑Linux命令行的辅助操作
快捷键 | 功能 |
Tab 键 | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行或转义 |
Ctrl+e 或 end 键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的 字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+a | 光标移到最前 |
Ctrl+w | 从当前光标删除到开头 |
ALT+d | 从当前光标删除末尾 |
Ctrl+l | 清屏 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
Ctrl + R | 搜索执行过的命令 |
向上下箭头 | 回看执行过的命令 |
获得命令帮助
help
格式说明
- []表示可选项
- CAPS或<>表示可变化的数据
- ...表示一个列表可加多个一个或多个
- x|y|z 表示或的意思
- -abc 是-a -b -c (有些命令选项有先后顺序) 多个 -abc 一般而言是没有顺序先后 (绝大多数是没有的,只有少数分先后
只能查看内部命令的 使用方法 tar -zxvf tar zxfv -区分前后 解压 压缩
[root@localhost /]# help echo
echo: echo [-neE] [参数 ...]
将参数写到标准输出。
在标准输出上显示 ARG 参数后跟一个换行。
选项:
-n 不要追加换行
-e 启用下列反斜杠转义的解释
-E 显式地抑制对于反斜杠转义的解释
`echo' 对下列反斜杠字符进行转义:
\a 警告(响铃)
\b 退格
\c 抑制更多的输出
\e 转义字符
\f 格式提供
\n 换行
\r 回车
\t 横向制表符
\v 纵向制表符
\\ 反斜杠
\0nnn 以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是
0到3个八进制数字
\xHH 以 HH (十六进制)为值的八比特字符。HH可以是
一个或两个十六进制数字
退出状态:
返回成功除非有写错误发生。
外部命令的查看
命令加 --help
[root@localhost /]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-B, --ignore-backups do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information);
with -l: show ctime and sort by name;
otherwise: sort by ctime, newest first
-C list entries by columns
--color[=WHEN] colorize the output; WHEN can be 'never', 'auto',
or 'always' (the default); more info below
-d, --directory list directories themselves, not their contents
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -ls --color
-F, --classify append indicator (one of */=>@|) to entries
--file-type likewise, except do not append '*'
--format=WORD across -x, commas -m, horizontal -x, long -l,
single-column -1, verbose -l, vertical -C
--full-time like -l --time-style=full-iso
-g 类似-l,但不列出所有者
--group-directories-first
group directories before files;
can be augmented with a --sort option, but any
use of --sort=none (-U) disables grouping
-G, --no-group 以一个长列表的形式,不输出组名
-h, --human-readable 与-l 一起,以易于阅读的格式输出文件大小
(例如 1K 234M 2G)
--si 同上面类似,但是使用1000 为基底而非1024
-H, --dereference-command-line
follow symbolic links listed on the command line
--dereference-command-line-symlink-to-dir
follow each command line symbolic link
that points to a directory
--hide=PATTERN do not list implied entries matching shell PATTERN
(overridden by -a or -A)
--indicator-style=WORD append indicator with style WORD to entry names:
none (default), slash (-p),
file-type (--file-type), classify (-F)
-i, --inode print the index number of each file
-I, --ignore=PATTERN do not list implied entries matching shell PATTERN
-k, --kibibytes default to 1024-byte blocks for disk usage
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出UID 及GID 号
-N, --literal 输出未经处理的项目名称 (如不特别处理控制字符)
-o 类似 -l,但不列出有关组的信息
-p, --indicator-style=slash 对目录加上表示符号"/"
-q, --hide-control-chars print ? instead of nongraphic characters
--show-control-chars show nongraphic characters as-is (the default,
unless program is 'ls' and output is a terminal)
-Q, --quote-name enclose entry names in double quotes
--quoting-style=WORD use quoting style WORD for entry names:
literal, locale, shell, shell-always, c, escape
-r, --reverse 逆序排列
-R, --recursive 递归显示子目录
-s, --size 以块数形式显示每个文件分配的尺寸
-S sort by file size
--sort=WORD sort by WORD instead of name: none (-U), size (-S),
time (-t), version (-v), extension (-X)
--time=WORD with -l, show time as WORD instead of default
modification time: atime or access or use (-u)
ctime or status (-c); also use specified time
as sort key if --sort=time
--time-style=STYLE with -l, show times using style STYLE:
full-iso, long-iso, iso, locale, or +FORMAT;
FORMAT is interpreted like in 'date'; if FORMAT
is FORMAT1<newline>FORMAT2, then FORMAT1 applies
to non-recent files and FORMAT2 to recent files;
if STYLE is prefixed with 'posix-', STYLE
takes effect only outside the POSIX locale
-t sort by modification time, newest first
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u with -lt: sort by, and show, access time;
with -l: show access time and sort by name;
otherwise: sort by access time
-U do not sort; list entries in directory order
-v natural sort of (version) numbers within text
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
SELinux options:
--lcontext Display security context. Enable -l. Lines
will probably be too wide for most displays.
-Z, --context Display security context so it fits on most
displays. Displays only mode, user, group,
security context and file name.
--scontext Display only security context and file name.
--help 显示此帮助信息并退出
--version 显示版本信息并退出
SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。
退出状态:
0 正常
1 一般问题 (例如:无法访问子文件夹)
2 严重问题 (例如:无法使用命令行参数)
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告ls 的翻译错误
要获取完整文档,请运行:info coreutils 'ls invocation'
Linux 跟目录下的目录结构
bin: 普通用户存放二进制文件,命令
sbin: 超级管理员使用的二进制文件
etc: 放配置文件,用户配置,网卡配置等
mnt: 挂载点
opt: 第三方软件
boot:存放开机启动文件,linux内核
dev: 存放硬件设备 磁盘 光驱
proc: 显示内存中的详细信息
var/log:日志
root:超级管理员的家目录 /root
家目录存放用户个性化配置的文件夹
一般每个用户都有自己的家目录
普通用户的家目录
/home/同名的文件夹
lisi 的家目录 /home/lisi/
zhangsan /home/zhangsan/
目录操作
查看切换显示统计目录
pwd(print work directory)
[root@localhost ~]# pwd //显示当前的路径
/root
#pwd -p //显示真实路径(注意是大写)
文件路径作用:描述了该文件在系统中的位置
绝对路径:从跟开始描述文件的位置 一定不会找错
相对路径:从当前文件夹开始描述文件的位置 有可能出错
cd 目标位置 change directory
命令 | 效果 |
cd cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
一个点号“.”开头(自己) | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头(上一级) | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头 | 表示以指定用户的宿主目录(家目录)作为起点 |
"."开头文件 | 表示隐藏文件 |
~ky18 (有个用户叫ky18 家目录为起点) | 表示以指定用户的宿主目录作为起点 |