>

决定了shell将到哪些目录中寻找命令或程序澳门博

- 编辑:澳门博发娱乐官网 -

决定了shell将到哪些目录中寻找命令或程序澳门博

shell环境:

  shell:命令解释器,是Linux 系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行。

  bash:是GNU 计划中重要的工具软件之一,目前也是 Linux 标准的shell  ,与sh兼容

    echo $PATH  显示当前使用的shell

    cat /etc/shells  显示系统使用的所以shell

  PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。

     echo $PATH  查看PATH环境变量的值

linux基本命令及使用方法,linux使用方法

Linux命令

ls命令list 列出指定目录下的内容

linux命令的分类:

         内部命令:属于shell解释器的一部分

         外部命令:独立于shell解释器之外的程序

shell环境:

  shell:命令解释器,是Linux 系统的用户界面,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行。

  bash:是GNU 计划中重要的工具软件之一,目前也是 Linux 标准的shell  ,与sh兼容

    echo $PATH  显示当前使用的shell

    cat /etc/shells  显示系统使用的所以shell

  PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。

     echo $PATH  查看PATH环境变量的值

语法格式: ls [OPTION]… [FILE]…

命令的通用格式:

         命令字 [选项] [参数]

                   长选项:例如“ls -a”

                   短选项:例如“ls --help”

                   多个短选项可合并使用,例如“ls -alh”

                   长选项不能合并,只能分开

                   参数:命令的对象,如文件、目录名等

linux命令的分类:

         内部命令:属于shell解释器的一部分

         外部命令:独立于shell解释器之外的程序

澳门博发娱乐官网 1

常用选项:

查看命令的类型:

type命令:type [选项] [参数]

                   -p 如果给出的指令为外部指令,则显示其绝对路径。

                   -a 在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。

                   -t 输出“file”、“alias”或者“builtin”,分别表示给定的命令为“外部指令”、“命令别名”或者“内部指令”。

                   [root@localhost ~]# type cd

                    cd is a shell builtin                    #cd 是一个shell内部命令

                   [root@localhost ~]# type ifconfig

                    ifconfig is /sbin/ifconfig         #ifconfig是一个外部命令

命令的通用格式:

         命令字 [选项] [参数]

                   长选项:例如“ls -a”

                   短选项:例如“ls --help”

                   多个短选项可合并使用,例如“ls -alh”

                   长选项不能合并,只能分开

                   参数:命令的对象,如文件、目录名等

澳门博发娱乐官网 2

-a显示所有文件和隐藏文件。

查看命令的位置:

which命令:which 可执行文件名

                   -n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名

                   -p 与-n参数相同但此处的包括了文件的路径

                   -a 将PATH目录中可以找到指令均列出不止第一个而已

                   -w 指定输出时栏位的宽度

                  -V 显示版本信息

[root@bogon ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@bogon ~]# which ip
/usr/sbin/ip
[root@bogon ~]#

whereis命令:whereis [选项] 文件名

                   -b 定位可执行文件。

                   -m 定位帮助文件。

                   -s 定位源代码文件。

                   -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

                   -B 指定搜索可执行文件的路径。

                   -M 指定搜索帮助文件的路径。

                   -S 指定搜索源代码文件的路径。

[root@bogon ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz
[root@bogon ~]# whereis -b cd
cd: /usr/bin/cd

查看命令的类型:

type命令:type [选项] [参数]

                   -p 如果给出的指令为外部指令,则显示其绝对路径。

                   -a 在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。

                   -t 输出“file”、“alias”或者“builtin”,分别表示给定的命令为“外部指令”、“命令别名”或者“内部指令”。

                   [[email protected] ~]# type cd

                    cd is a shell builtin                    #cd 是一个shell内部命令

                   [[email protected] ~]# type ifconfig

                    ifconfig is /sbin/ifconfig         #ifconfig是一个外部命令

(命令的选项说明对命令的要求,

-A显示除.和..之外的所有文件。

命令别名:

         #alias NAME='VALUE'

         仅对当前用户:~/.bashrc

         对所有用户有效:/etc/bashrc

         撤销别名:unalias

[root@bogon ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias netconf='vim /etc/sysconfig/network-scripts/ifcfg-eno16777728'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

查看命令的位置:

which命令:which 可执行文件名

                   -n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名

                   -p 与-n参数相同但此处的包括了文件的路径

                   -a 将PATH目录中可以找到指令均列出不止第一个而已

                   -w 指定输出时栏位的宽度

                  -V 显示版本信息

[[email protected] ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[[email protected] ~]# which ip
/usr/sbin/ip
[[email protected] ~]#

whereis命令:whereis [选项] 文件名

                   -b 定位可执行文件。

                   -m 定位帮助文件。

                   -s 定位源代码文件。

                   -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

                   -B 指定搜索可执行文件的路径。

                   -M 指定搜索帮助文件的路径。

                   -S 指定搜索源代码文件的路径。

[[email protected] ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz
[[email protected] ~]# whereis -b cd
cd: /usr/bin/cd

命令的参数是命令操作的对象,

-l 长格式列表,显示文件的详细属性信息

命令的补全:

         用户给定的字符串只有一条惟一对应的命令,直接补全,否则再次Tab会给出列表

         路径补全:Tab如果唯一则直接补全,否则再次Tab给出列表

命令别名:

         #alias NAME='VALUE'

         仅对当前用户:~/.bashrc

         对所有用户有效:/etc/bashrc

         撤销别名:unalias

 

[[email protected] ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias netconf='vim /etc/sysconfig/network-scripts/ifcfg-eno16777728'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

 

选项和参数可有可无,即选项和参数并非必须。)

-h  –human-readanle,把文件大小单位换算,换算后可能会是非精确值

命令的历史:

命令的补全:

         用户给定的字符串只有一条惟一对应的命令,直接补全,否则再次Tab会给出列表

         路径补全:Tab如果唯一则直接补全,否则再次Tab给出列表

ifconfig

-d  查看目录自身而非其内部文件列表

历史文件:~/.bash_history

history命令:显示曾经执行过的命令

                   -c:  清空命令历史

                   -d:  删除历史中指定的命令

                   #:  显示最近的# 条历史

                   -a:  追加本次会话新执行的命令历史列表至历史文件

                   -n:  读历史文件中未读过的行到历史列表

                   -r:  读历史文件附加到历史列表

                   -w:  保存历史列表到指定的历史文件

                   -p:  展开历史参数成多个行,但不存在历史列表中

                   -s:  展开历史参数成一行,附加在历史列表后

命令的历史:

ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring

-r  reverse,逆序显示

命令历史相关变量:

          HISTSIZE :命令历史记录的条数;

          HISTFILE :指定历史文件,默认为~/.bash_history;

          HISTFILESIZE :命令历史文件记录历史的条数;

          HISTTIMEFORMAT=“%F %T“ 显示时间

          HISTIGNORE=“str1:str2:… “  忽略string1,string2

历史文件:~/.bash_history

history命令:显示曾经执行过的命令

                   -c:  清空命令历史

                   -d:  删除历史中指定的命令

                   #:  显示最近的# 条历史

                   -a:  追加本次会话新执行的命令历史列表至历史文件

                   -n:  读历史文件中未读过的行到历史列表

                   -r:  读历史文件附加到历史列表

                   -w:  保存历史列表到指定的历史文件

                   -p:  展开历史参数成多个行,但不存在历史列表中

                   -s:  展开历史参数成一行,附加在历史列表后

澳门博发娱乐官网 3

-R  recursive  ,递归显示

命令行历史快捷键

         上下键:可浏览之前使用过的命令

         ctrl+p:重复前一个命令

         !字符串: 重复前一个以“字符串”开头的命令

         !num: 按照history 命令输出中的序号重复对应命令

         !?:字符串: 重复前一个包含abc的命令

         !-n : 重复n

         strl -r:从命令历史中搜索命令

         esc . :调用上一个命令中最后一个参数

         !$:调用上一个命令中最后一个参数

         !^:调用上一个命令中的第一个参数

         !*:调用上一个命令中的全部参数

         !n:调用上一个命令中的第n个参数   

命令历史相关变量:

          HISTSIZE :命令历史记录的条数;

          HISTFILE :指定历史文件,默认为~/.bash_history;

          HISTFILESIZE :命令历史文件记录历史的条数;

          HISTTIMEFORMAT=“%F %T“ 显示时间

          HISTIGNORE=“str1:str2:… “  忽略string1,string2

echo

-t   显示最后一次修改的文件

命令的帮助:

         help命令:

                   用法1:help 内部命令字

                   用法2:命令字 --help          #使用于大多数外部命令 

         man命令:提供命令帮助的文件

             手册页存放在/usr/share/man

                   man 命令的配置文件:/etc/man.config | man_db.conf

                   man命令操作方法:使用less命令实现

                            Space:  向文件尾翻屏

                            b, ^B:  向文件首部翻屏

                            d, ^D:  向文件尾部翻半屏

                            u, ^U:  向文件首部翻半屏

                            RETURN:  向文件尾部翻一行

                            y :向文件首部翻一行

                      q:  退出

                            # :跳转至第#行 行

                            1G: 回到文件首部

                            G:直接到文件尾部

                            /KEYWORD:字符串搜索 n下一个匹配到的字符串 N上一个

                   man章节:

                       1 使用者在shell中可以操作的指令或可执行档

                            2 系統核心可呼叫的函数与工具等

                            3 一些常用的函数(function)与函数库(library),大部分是C的函数库(libc)

                            4 装置档案的说明,通常在/dev下的档案

                            5 设定档或者是某些档案的格式

                            6 游戏(games)

                            7 惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的說明

                            8 系統管理員可用的管理指令

                            9 跟kernel有关的文件

                   SYNOPSIS 摘要 :

                       [] :可选内容

                            <>:  必选内容

                            a|b :二选一

                            ...:  同一内容可出现多次

命令行历史快捷键

         上下键:可浏览之前使用过的命令

         ctrl+p:重复前一个命令

         !字符串: 重复前一个以“字符串”开头的命令

         !num: 按照history 命令输出中的序号重复对应命令

         !?:字符串: 重复前一个包含abc的命令

         !-n : 重复n

         strl -r:从命令历史中搜索命令

         esc . :调用上一个命令中最后一个参数

         !$:调用上一个命令中最后一个参数

         !^:调用上一个命令中的第一个参数

         !*:调用上一个命令中的全部参数

         !n:调用上一个命令中的第n个参数   

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

-n  打印文件的UID和GID

红帽知识库和官方在线文档:

        

        

        

命令的帮助:

         help命令:

                   用法1:help 内部命令字

                   用法2:命令字 --help          #使用于大多数外部命令 

         man命令:提供命令帮助的文件

             手册页存放在/usr/share/man

                   man 命令的配置文件:/etc/man.config | man_db.conf

                   man命令操作方法:使用less命令实现

                            Space:  向文件尾翻屏

                            b, ^B:  向文件首部翻屏

                            d, ^D:  向文件尾部翻半屏

                            u, ^U:  向文件首部翻半屏

                            RETURN:  向文件尾部翻一行

                            y :向文件首部翻一行

                      q:  退出

                            # :跳转至第#行 行

                            1G: 回到文件首部

                            G:直接到文件尾部

                            /KEYWORD:字符串搜索 n下一个匹配到的字符串 N上一个

                   man章节:

                       1 使用者在shell中可以操作的指令或可执行档

                            2 系統核心可呼叫的函数与工具等

                            3 一些常用的函数(function)与函数库(library),大部分是C的函数库(libc)

                            4 装置档案的说明,通常在/dev下的档案

                            5 设定档或者是某些档案的格式

                            6 游戏(games)

                            7 惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的說明

                            8 系統管理員可用的管理指令

                            9 跟kernel有关的文件

                   SYNOPSIS 摘要 :

                       [] :可选内容

                            <>:  必选内容

                            a|b :二选一

                            ...:  同一内容可出现多次

该命令的一般格式为: echo [ -n ] 字符串

-i  显示文件的inode信息

Linux 的两种时钟:

系统 时钟:由Linux 内核通过CPU 的工作频率进行的;

硬件 时钟:主板

hwclock ,clock:  显示硬件时钟

-s, --hctosys  以硬件时钟为准,校正系统时钟

-w, --systohc  以系统时钟为准,校正硬件时钟

红帽知识库和官方在线文档:

        

        

        

其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

-t  用文件和目录的更改时间排序

 时间管理:

date命令:按格式显示或设置时间

         data [选项]... [格式]

         date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

                   -d, –date=STRING 显示STRING指定的时间

                   -f, –file=DATEFILE 类似–date参数显示DATEFILE文件中的每行时间

                   -ITIMESPEC, –iso-8601[=TIMESPEC] 以ISO 8601 格式显示日期/时间。TIMESPEC为”date”(只显示日期)、”hours”、”minutes”、”senconds”(显示时间精度)之一,默认为”date”。

                   -r, –reference=FILE 显示文件的最后修改时间

                   -R, –rfc-2822 以RFC-2822兼容日期格式显示时间

                   -s, –set=STRING 设置时间为STRING

               -u, –utc, –universal 显示或设定为Coordinated Universal Time时间格式

         格式:可以使用“+”开头的字符串指定其格式

                   %n : 下一行

                   %t : 跳格

                   %H : 小时(00-23)

                   %I : 小时(01-12)

               %k : 小时(0-23)

                   %l : 小时(1-12)

                   %M : 分钟(00-59)

                   %p : 显示本地 AM 或 PM

                   %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

                   %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

                   %S : 秒(00-60)

                   %T : 直接显示时间 (24 小时制)

                   %X : 相当于 %H:%M:%S

                   %Z : 显示时区

                   %a : 星期几 (Sun-Sat)

                   %A : 星期几 (Sunday-Saturday)

                   %b : 月份 (Jan-Dec)

                   %B : 月份 (January-December)

                   %c : 直接显示日期与时间

                   %d : 日 (01-31)

                   %D : 直接显示日期 (mm/dd/yy)

               %h : 同 %b

                   %j : 一年中的第几天 (001-366)

                   %m : 月份 (01-12)

                   %U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)

                   %w : 一周中的第几天 (0-6)

                   %W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)

                   %x : 直接显示日期 (mm/dd/yy)

                   %y : 年份的最后两位数字 (00.99)

                   %Y : 完整年份 (0000-9999)

[root@bogon ~]# date "+现在时间是:%Y-%m-%d %H:%M:%S"
现在时间是:2017-05-01 21:59:23
[root@bogon ~]# date "+%Y-%m-%d %H:%M:%S" -d "-3 year"
2014-05-01 21:59:38    ## 显示三年前的时间
[root@bogon ~]# date "+%Y-%m-%d %H:%M:%S" -d "+10 day"
2017-05-11 22:00:15    ##显示十天后的时间
[root@bogon ~]#  date "+%s"
1493647224    ##显示十天后的时间

         设置时间:

                   date -s "20161128 10:10:10"

[root@bogon ~]# cal    ##显示日历
      May 2017      
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Linux 的两种时钟:

系统 时钟:由Linux 内核通过CPU 的工作频率进行的;

硬件 时钟:主板

hwclock ,clock:  显示硬件时钟

-s, --hctosys  以硬件时钟为准,校正系统时钟

-w, --systohc  以系统时钟为准,校正硬件时钟

功能说明:显示文字。

-F  在不同类型的文件的文件名结尾追加一个字符以示区别。可执行文件后加”*”,目录后加”/”,管道文件后加”|”,套接字文件后加”=”,普通文件没有后缀。比较有用。

echo 命令:显示文字

  语法:echo [-neE][ 字符串]

  说明:echo 会将输入的字符串送往标准输出。echo  需要使用-e  参数来打印转义字符.

   -n  不要在最后自动换行

   -e  若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

         a  发出警告声;

         b  退格键

         c  最后不加上换行符号;

         n  换行且光标移至行首;

         r  光标移至行首,但不换行;

       t  插入tab; 

         \  插入 字符;

         nnn  插入nnn (八进制)所代表的ASCII 字符

         xHH 插入HH (十六进制)所代表的ASCII 字符

 时间管理:

date命令:按格式显示或设置时间

         data [选项]... [格式]

         date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

                   -d, –date=STRING 显示STRING指定的时间

                   -f, –file=DATEFILE 类似–date参数显示DATEFILE文件中的每行时间

                   -ITIMESPEC, –iso-8601[=TIMESPEC] 以ISO 8601 格式显示日期/时间。TIMESPEC为”date”(只显示日期)、”hours”、”minutes”、”senconds”(显示时间精度)之一,默认为”date”。

                   -r, –reference=FILE 显示文件的最后修改时间

                   -R, –rfc-2822 以RFC-2822兼容日期格式显示时间

                   -s, –set=STRING 设置时间为STRING

               -u, –utc, –universal 显示或设定为Coordinated Universal Time时间格式

         格式:可以使用“+”开头的字符串指定其格式

                   %n : 下一行

                   %t : 跳格

                   %H : 小时(00-23)

                   %I : 小时(01-12)

               %k : 小时(0-23)

                   %l : 小时(1-12)

                   %M : 分钟(00-59)

                   %p : 显示本地 AM 或 PM

                   %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

                   %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

                   %S : 秒(00-60)

                   %T : 直接显示时间 (24 小时制)

                   %X : 相当于 %H:%M:%S

                   %Z : 显示时区

                   %a : 星期几 (Sun-Sat)

                   %A : 星期几 (Sunday-Saturday)

                   %b : 月份 (Jan-Dec)

                   %B : 月份 (January-December)

                   %c : 直接显示日期与时间

                   %d : 日 (01-31)

                   %D : 直接显示日期 (mm/dd/yy)

               %h : 同 %b

                   %j : 一年中的第几天 (001-366)

                   %m : 月份 (01-12)

                   %U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)

                   %w : 一周中的第几天 (0-6)

                   %W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)

                   %x : 直接显示日期 (mm/dd/yy)

                   %y : 年份的最后两位数字 (00.99)

                   %Y : 完整年份 (0000-9999)

 

[[email protected] ~]# date "+现在时间是:%Y-%m-%d %H:%M:%S"
现在时间是:2017-05-01 21:59:23
[[email protected] ~]# date "+%Y-%m-%d %H:%M:%S" -d "-3 year"
2014-05-01 21:59:38    ## 显示三年前的时间
[[email protected] ~]# date "+%Y-%m-%d %H:%M:%S" -d "+10 day"
2017-05-11 22:00:15    ##显示十天后的时间
[[email protected] ~]#  date "+%s"
1493647224    ##显示十天后的时间

 

         设置时间:

                   date -s "20161128 10:10:10"

 

[[email protected] ~]# cal    ##显示日历
      May 2017      
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

语   法:echo [-ne][字符串]或 echo [--help][--version]

–full-time  列出文件的完整时间格式

 括号扩展:{ }

打印重复字符串的简化形式 

[root@bogon ~]# echo file{1,3,5}
file1 file3 file5

 ''单引号:强引用,单引号里的内容原样不变,防止任何变量替换

 ""双引号:弱引用,可防止通配符扩展,但允许变量替换

 ``反引号:命令引用,反引号里的指令会替换为执行结果

[root@bogon ~]# echo '$PATH'
$PATH
[root@bogon ~]# echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@bogon ~]# echo `pwd`
/root

echo 命令:显示文字

  语法:echo [-neE][ 字符串]

  说明:echo 会将输入的字符串送往标准输出。echo  需要使用-e  参数来打印转义字符.

   -n  不要在最后自动换行

   -e  若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

         a  发出警告声;

         b  退格键

         c  最后不加上换行符号;

         n  换行且光标移至行首;

         r  光标移至行首,但不换行;

       t  插入tab; 

         \  插入 字符;

         nnn  插入nnn (八进制)所代表的ASCII 字符

         xHH 插入HH (十六进制)所代表的ASCII 字符

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

例如:显示/etc里面所有的内容包含隐藏文件  ls  -ali 最左边一列是文件的inode信息。

重定向和管道:

 括号扩展:{ }

打印重复字符串的简化形式 

[[email protected] ~]# echo file{1,3,5}
file1 file3 file5

 ''单引号:强引用,单引号里的内容原样不变,防止任何变量替换

 ""双引号:弱引用,可防止通配符扩展,但允许变量替换

 ``反引号:命令引用,反引号里的指令会替换为执行结果

[[email protected] ~]# echo '$PATH'
$PATH
[[email protected] ~]# echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] ~]# echo `pwd`
/root

如果增加了>和>>输出重定向就有了新的作用

澳门博发娱乐官网 4

         标准输入输出:

                   标准输入:stdin-0 默认接受来自键盘的输入

                   标准输出:stdout-1 默认输出到终端窗口

                   标准错误:stderr-2 默认输出到终端窗口

         程序:指令+数据

         读取数据:Input

         输出数据:Output

         I/O重定向:改变默认位置

重定向和管道:

例如:echo wz > /tmp/1.txt

出文件的完整时间格式 ls -ali –full-time

         重定向操作符:标准输出和标准错误可以重定向到文件

                   >       把标准输出重定向到文件

                   2>     把标准错误重定向到文件

                   &>    把所以输出重定向到文件

                   注:>文件内容会被覆盖,禁止内容覆盖已有文件:set -c ,强制覆盖:>|

                   >>     原有内容基础上,追加内容

                   2>     覆盖重定向错误数据流

                   2>>  追加从定向错误数据流

                   &>    标准输出和错误输出合并覆盖重定向

                   &>> 标准输出和错误输出合并追加重定向

                   <       标准输入重定向

                   <<终止词                   把多行发送给stdin

[root@bogon ~]# uname -p > kernel.txt
[root@bogon ~]# cat kernel.txt
x86_64
[root@bogon ~]# uname -r >> kernel.txt
[root@bogon ~]# cat kernel.txt
x86_64
3.10.0-327.el7.x86_64
         标准输入输出:

                   标准输入:stdin-0 默认接受来自键盘的输入

                   标准输出:stdout-1 默认输出到终端窗口

                   标准错误:stderr-2 默认输出到终端窗口

         程序:指令+数据

         读取数据:Input

         输出数据:Output

         I/O重定向:改变默认位置

wz这个字符串就会被输入到1.txt

澳门博发娱乐官网 5

管道操作:

  管道操作为不同命令提供了协同工作的一种机制,位于管道符号左侧的命令输出的结果,将作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。   命令1 |命令2 |命令3

[root@bogon ~]# df -Th |grep "/$" 
/dev/mapper/centos-root xfs        32G  1.3G   31G   4% /
[root@bogon ~]# df -Th |grep "/$" |awk '{print $6}'
4%

 

         重定向操作符:标准输出和标准错误可以重定向到文件

                   >       把标准输出重定向到文件

                   2>     把标准错误重定向到文件

                   &>    把所以输出重定向到文件

                   注:>文件内容会被覆盖,禁止内容覆盖已有文件:set -c ,强制覆盖:>|

                   >>     原有内容基础上,追加内容

                   2>     覆盖重定向错误数据流

                   2>>  追加从定向错误数据流

                   &>    标准输出和错误输出合并覆盖重定向

                   &>> 标准输出和错误输出合并追加重定向

                   <       标准输入重定向

                   <<终止词                   把多行发送给stdin

[[email protected] ~]# uname -p > kernel.txt
[[email protected] ~]# cat kernel.txt
x86_64
[[email protected] ~]# uname -r >> kernel.txt
[[email protected] ~]# cat kernel.txt
x86_64
3.10.0-327.el7.x86_64

再例如:echo wzz>> /tmp/1.txt  

假如我在/tmp下面新建了一个hello.txt文件,可以用ls -lrt 进行逆序按时间排序出最下面找到它:

管道操作:

  管道操作为不同命令提供了协同工作的一种机制,位于管道符号左侧的命令输出的结果,将作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。   命令1 |命令2 |命令3

[[email protected] ~]# df -Th |grep "/$" 
/dev/mapper/centos-root xfs        32G  1.3G   31G   4% /
[[email protected] ~]# df -Th |grep "/$" |awk '{print $6}'
4%

 

shell环境: shell:命令解释器,是Linux 系统的用户界面,提供了用户与内核进行交互操作的一种接口...

注意:wzz这个字符串就会被追加到wz下面一行,如果wzz也用>则会覆盖wz字符串

澳门博发娱乐官网 6

tty

pwd命令printing working directory 显示当前工作目录

tty [选项]...

cd 命令change directory 切换目录

[功能]打印连接到标准输入的终端的文件名。

cd  不带任何参数表示切换到家目录

[描述]

cd  ~  切回自己家目录,波浪线~表示家目录

命令项:

cd  ~  USERNAME 切换到指定用户家目录

-s, --silent, --quiet: 什么也不打印,只是返回退出状态码。

cd  –   上一次所在目录和当前目录之间来回切换

--help: 打印帮助信息。

.       表示当前目录

--version: 打印版本信息并退出。

cd  ..   切换到当前目录的上一级目录

返回的状态码:

touch命令用于创建一个新文件或修改文件时间戳

0 表示标准输入是一个终端。

touch [OPTION]… FILE…

1 表示标准输入不是一个终端。

常用选项:

2 表示给定的参数是不正确的参数。

-c   –no-create,指定的文件路径不存在时不予创建

3 表示发生了写错误。

-a   仅修改访问时间access time

[举例]

-m  仅修改modify time(文件内容修改)

*查看当前的标准终端文件描述符号:

-t   使用指定的日期时间,而非现在的时间

[quietheart@lv-k etc]$ tty

cp命令copy 用于复制源文件或者目录到

/dev/pts/6

语法格式:单源复制:cp [OPTION]… [-T] SOURCE DEST

这里,输入tty之后,输出"/dev/pts/6"就是当前连接的终端对应的文件描述符号,我们可以通过向这个文件,这样会看到当前终端会输出我们写入的数据,例如:

多源复制:cp [OPTION]… SOURCE… DIRECTORY

[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6

常用选项:

mytest

-i:交互式复制,即覆盖之前提醒用户确认;

可见,向/dev/pts/6文件写入的内容,直接显示到我们的终端上面了。如果我在机器上面开了多个终端,然后我在别的终端中输入上面的echo命令,那么将会看到对应"/dev/pts/6"的终端上面会显示相应的字符了。

-f:强制覆盖目标文件;

*运行tty什么也不输出,然后查看其退出码:

-r, -R:递归复制目录;

[quietheart@lv-k etc]$ tty -s

-d:复制符号链接文件本身,而非其指向的源文件;

[quietheart@lv-k etc]$ echo $?

-a:-dR –preserve=all, archive,用于实现归档;

0

-p   –preserv=

这里,使用shell的命令"echo $?"来显示上一条命令的退出状态码。状态码的含义如下:

mode:权限

0 表示标准输入是一个终端。

ownership:属主和属组

1 表示标准输入不是一个终端。

timestamps: 时间戳

2 表示给定的参数是不正确的参数。

context:安全标签

3 表示发生了写错误。

xattr:扩展属性

[其它]

links:符号链接

*基本概念:

all:上述所有属性

1,tty(终端设备的统称):

保持指定的属性(默认:模式,所有权,时间戳)

tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

-P   –no-dereference   不跟随源文件中的符号链接

2,pty(虚拟终端):

实例:单文件复制 复制/etc/fstab到tmp下 文件不存在时:

如果我们远程telnet到主机或使用xterm时,也需要一个终端交互,这就是虚拟终端pty(pseudo-tty)

[root@dxl /tmp 14:35:16]# cp /etc/fstab .

3,pts/ptmx(pts/ptmx结合使用,进而实现pty):

[root@dxl /tmp 14:36:44]# ls

pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。

1.txt  22  33  fstab  functions  hello.txt  test.txt

startx

复制目录时目标文件夹存在,则把源目录里面的内容复制到目标文件夹里面。要是目标不存在则创建。

功能说明:启动X Window。

mkdir命令 创建目录make directories

语法:startx [程序][--服务器设置]

语法格式: mkdir [OPTION]… DIRECTORY…

补充说明:startx为启动X Window的script文件,实际上启动X Window的程序为xinit。

常用选项:

参数:

-p  通俗地说对于不存在的父和子目录一起创建出来

[程序] 此处所指定的[程序]为X Window所要执行程序的配置文件。

-v 显示过程

[--服务器设置] startx预设会去读取.xerverrc中的配置,决定启动X Window的方式。

-m 直接给定权限

以上就是Linux系统startx命令的功能和使用方法了,用startx命令启动X Window后就可以在一个窗口中运行多个程序了。

注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;

export 

例如:在tmp下面创建目录centos/a/b/c

功能说明设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)

[root@dxl /tmp 15:16:35]# mkdir -pv /tmp/centos/a/b/c

语  法export [-fnp][变量名称]=[变量设置值]

mkdir: created directory `/tmp/centos’

补充说明在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。

mkdir: created directory `/tmp/centos/a’

参  数

mkdir: created directory `/tmp/centos/a/b’

-f  代表[变量名称]中为函数名称。

mkdir: created directory `/tmp/centos/a/b/c’

-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

mv 移动命令,还可以对文件进行重命名

-p  列出所有的shell赋予程序的环境变量。

语法格式:mv [OPTION]… [-T] SOURCE DEST

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

mv [OPTION]… SOURCE… DIRECTORY

pwd 

mv [OPTION]… -t DIRECTORY SOURCE…

Linux中用pwd命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。

常用选项:-f强制移动

在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。

-i 交互式

1.命令格式:

例如:把tmp下面的1.txt移动到tom文件夹里面并命名为2.txt。

pwd[选项]

[root@dxl /tmp 15:23:17]# mv 1.txt  ./tom/2.txt

2.命令功能:

rm    删除命令remove

查看”当前工作目录“的完整路径

语法格式: rm [OPTION]… FILE…

3.常用参数:

常用选项:-f 强制删除

一般情况下不带任何参数

-i  交互

如果目录是链接时:

-r  将参数中列出的全部目录和子目录均递归地删除

本文由胜博发-操作发布,转载请注明来源:决定了shell将到哪些目录中寻找命令或程序澳门博