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. android实现简单计算器

    前台代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  2. java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell

    异常 在使用POI读取Excel文件内容时,发生了异常,报错如下: 大概意思是不能从一个数值的列获取一个字符串类型的值,我使用下面的代码来获取单元格的值: //此处省略N行代码 String cell ...

  3. 洛谷P3405 [USACO16DEC]Cities and States省市

    P3405 [USACO16DEC]Cities and States省市 题目描述 To keep his cows intellectually stimulated, Farmer John h ...

  4. 初探 Nginx 架构

    转载自:http://wiki.jikexueyuan.com/project/nginx/nginx-framework.html Nginx 在启动后,在 unix 系统中会以 daemon 的方 ...

  5. c# Array或List有个很实用的ForEach方法,可以直接传入一个方法对集合中元素操作

    using System; using System.Collections.Generic; namespace demo { class Program { static void Main(st ...

  6. Java泛型-通配符的上限和下限问题

    Java的泛型中,通配符可以设置上限和下限. 上限:<? extends T> ?是T和T的子类 下限:<? super T> ?是T和T的父类 怎么看待这个上限和下限呢 首先 ...

  7. JavaScript引擎基本原理: 优化prototypes

    原文链接: JavaScript engine fundamentals: optimizing prototypes 这篇文章介绍了一些JavaScript引擎常用的优化关键点, 并不只是Bened ...

  8. Hive进阶_开发Hive的自定义函数

    Hive中的自定义函数简介 (1) 在类中创建自定义函数.自定义UDF需要继承'org.apache.hadoop.hive.ql.exec.UDF',实现evaluate函数,evaluate函数支 ...

  9. Jenkins执行yarn install报错:error An unexpected error occurred:"... ... :Unexpected end of JSON input"

    解决方式: # cd /usr/local/n/versions/node/11.6.0/lib/(node的安装目录下) # rm -rf node_modules # yarn cache cle ...

  10. mysql 驱动问题

    转 : https://blog.csdn.net/bloodycuckoo/article/details/51175339 转 : https://blog.csdn.net/u010746431 ...