Linux基础命令(一)

 虚拟机 和 真机互通

先看 虚拟机 的网卡模式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 家目录为起点)

表示以指定用户的宿主目录作为起点

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值