shell环境:

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

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

    echo $PATH  显示当前使用的shell

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

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

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

linux命令的分类:

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

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

命令的通用格式:

命令字 [选项] [参数]

长选项:例如“ls -a”

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

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

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

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

查看命令的类型:

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是一个外部命令

查看命令的位置:

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

命令别名:

#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'

命令的补全:

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

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

命令的历史:

历史文件:~/.bash_history

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

-c:  清空命令历史

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

#:  显示最近的# 条历史

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

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

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

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

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

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

命令历史相关变量:

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

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

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

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

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

命令行历史快捷键

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

ctrl+p:重复前一个命令

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

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

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

!-n : 重复n

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

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

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

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

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

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

命令的帮助:

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 :二选一

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

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

http://kbase.redhat.com

http://www.redhat.com/docs

http://access.redhat.com

Linux 的两种时钟:

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

硬件 时钟:主板

hwclock ,clock:  显示硬件时钟

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

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

时间管理:

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"
现在时间是:-- ::
[root@bogon ~]# date "+%Y-%m-%d %H:%M:%S" -d "-3 year"
-- ::38    ## 显示三年前的时间
[root@bogon ~]# date "+%Y-%m-%d %H:%M:%S" -d "+10 day"
-- ::15    ##显示十天后的时间
[root@bogon ~]# date "+%s"
1493647224    ##显示十天后的时间

设置时间:

date -s "20161128 10:10:10"

[root@bogon ~]# cal    ##显示日历
May
Su Mo Tu We Th Fr Sa

echo 命令:显示文字

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

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

   -n  不要在最后自动换行

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

\a  发出警告声;

\b  退格键

\c  最后不加上换行符号;

\n  换行且光标移至行首;

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

\t  插入tab;

\\  插入\ 字符;

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

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

括号扩展:{ }

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

[root@bogon ~]# echo file{,,}
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

重定向和管道:

标准输入输出:

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

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

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

程序:指令+数据

读取数据:Input

输出数据:Output

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

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

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

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.-.el7.x86_64

管道操作:

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

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

linux基本命令及使用方法的更多相关文章

  1. linux 基本命令 [转]

    linux 基本命令 1.ls  (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@lin ...

  2. 转:Linux基本命令大全

    Linux基本命令大全   新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容 ...

  3. 剑指Offer——知识点储备--Linux基本命令+Makefile

    剑指Offer--知识点储备–Linux基本命令 1.linux下查看进程占用cpu的情况(top): 格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 主要参 ...

  4. Linux(1)- 服务器核心知识、Linux入门、VMware与centeos安装、远程连接linux、linux基本命令使用

    一.服务器核心知识 1.电脑和电脑的硬件组成 现在的人们几乎无时无刻不在使用着电脑!不管是桌上型电脑(桌机).笔记型电脑(笔电).平板电脑,还是智慧型手机等等,这些东西都算是电脑.虽然接触这么多,但是 ...

  5. Linux学习总结(9)——Linux 新手必知必会的 10 条 Linux 基本命令

    Linux 对我们的生活产生了巨大的冲击.至少你的安卓手机使用的就是 Linux 核心.尽管如此,在第一次开始使用 Linux 时你还是会感到难以下手.因为在 Linux 中,通常需要使用终端命令来取 ...

  6. 第三章 Linux基本命令操作

    第三章  Linux基本命令操作 ¨  本节所讲内容: ¨  3.1  Linux终端介绍 Shell提示符 Bash Shell基本语法 ¨  3.2  基本命令的使用:ls.pwd.cd.hist ...

  7. Linux 基本命令简单学习

    平常工作中需要使用到的一些Linux基本命令,简单记录: 通过订单号查看日志:   cat /---/---/xxxx20190908.log | grep C52918588112261 -C 5 ...

  8. 【Linux基础总结】Linux基本命令

    Linux基本命令 Linux系统下的文件类型.权限.所属用户与组 文件类型 - (文件) d(目录) ->类似windows系统下的文件夹 l (链接) ->类似windows系统下的快 ...

  9. Linux基本命令(一)

    Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...

随机推荐

  1. ncnn添加自己的layer

    ncnn 是tencent公司开源的神经网络前向计算框架,github地址: https://github.com/Tencent/ncnn 通过简单的步骤可以添加自己的layer, 比如用位运算实现 ...

  2. Python机器学习笔记:朴素贝叶斯算法

    朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.对于大多数的分类算法,在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同.比如决策树,KNN,逻辑回归,支持向 ...

  3. element ui 修改默认样式

    修改element ui默认的样式 如果要组件内全局修改 首先在浏览器里F12找到element默认的UI类名 找到要修改的默认类名以后 在文件中修改代码,重写属性 <style> .el ...

  4. Git 分支管理 多人协作 远程仓库 补充

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了, 并且,远程仓库的默认名称是origin. 如果是本地仓库关联远程仓库 --- 要查看远程库的信息,用 ...

  5. xrange与range之间的区别

    对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...

  6. HDU5340 Three Palindromes

    Three Palindromes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  7. linux grep (转)

    常用用法 [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜 ...

  8. Js 数组对象排序

    1.定义函数 /** * 数组对象排序函数 * @param {any} name 排序字段 * @param {any} order 升.降(这里事true.false记得处理下) */ var b ...

  9. CSS样式之操作属性二

    ********css样式之属性操作******** 一.文本属性 1.text-align:cnter 文本居中 2.line heigth 垂直居中 :行高,和高度对应 3.vertical-al ...

  10. Python列表与元组

    一.列表 1.列表的介绍: 列表lst = [    ] 是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开 ...