linux学习——基础篇02

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/x503809622/article/details/82970912

Bash的基础特性:

1、  命令历史

History

环境变量

HISTSIZE:命令历史记录的条数

HISTFILE:~/.bash_history:

HISFILESIZE:命令历史文件记录历史的条数

History –d

                   -c clear,清除

                   数字 :显示最近的n条命令

                   -a 手动追加当前会话缓冲区的命令历史至历史文件中

!n调用历史中第n条指令

!!上一条命令

!string  最近以什么为开头的命令

!$上一条命令的最后一个参数

Exc+. 分开按出现上次最后一个参数

控制命令历史的记录方式

环境变量:HISTCONTROL

                   Ignoredups:忽略重复命令,连续且相同方为重复

                   Ignorespace:执行的命令前有空格,会忽略记录

                   Ignoreboth:上面两者都生效

改变变量方法:expor HISTOCONTROL=”ignorespace”

格式:export 变量名=“值” 把赋值符号后面的数据存储于变量名指向内存空间

只对当前生效

 

2、  命令补全

Bash命令:

         内部命令:

         外部命令:bash根据PATH环境变量定义的路径,自左而右载每个路径搜寻以给定命令命名的文件,第一次找到即为要执行的命令

Tab键:直接补全,当用户给的字符串不唯一,两次TAB

3、  路径补全,通过TAB键补全命令

4、  命令行展开

{} 可承载一个以逗号分隔的列表,将其展开为多个路径

                   /tmp/{a,b}=/tmp/a,/tmp/b

5、  命令的执行结果状态

成功、失败两种状态

Bash使用特殊变量$?保存最近一条命令的执行状态结果(echo $?)

0成功,1-255失败

程序的执行有两类结果

                   程序的返回值

                   程序的执行状态结果

6、 

目录管理命令:cd,pwd,ls

Mkdir,rmdir

Mkdir :创建目录,且目录名和文件名不能相同

                   -p 存在时不报错,如果父目录不存在,会同时创建父目录

                   -v显示详细信息

                   -m可以直接指定权限

不使用-p会报错

Rmdir:删除目录 +目录,只能删除空目录

                   -p 递归删,前提上一级目录山过后是空的才删除,非空不会删

删除刚才创建的123目录

 

Tree 列出层级目录

(默认是没有安装的,需要安装,可以通过yum或者rpm安装)

         -d只显示目录

         -L n :显示到第n层级子目录

         -p 只显示到由指定的pattern匹配到的路径

 

文本文件查看类命令:(二进制程序不用查看命令)

cat:查看文本内容

tac:cat顺序的反向

more  -d 空格继续D键退出

less:

tail –c * 后n字节

–n * 后n行

head –n * 前n行

         -c * 前n字节

         -f 追踪显示文件新追加的内容

 

文件的时间戳管理工具

touch:文件创建

文件由metadata和data组成

查看文件状态:stat

三个时间戳:access time 访问时间,读取文件内容

                             Modify time 修改时间,修改文件内容

                             Change time 改变时间,元数据发生改变

touch -* 文件

         -a only atime

         -m only mtime

         -t 指定时间戳 YYYYMMDDHHMM.SS

         -c 当文件不存在则不会创建

 

文件管理:cp,mv,rm

复制命令:cp

cp /*/源文件 /*/目的文件  (可以复制目录)

如果目标不存在,新建DEST,并将SRC中的内容填充至DEST中

         如果目标存在:

                            DEST是文件:将src中的内容覆盖至DEST中

                                                                 建议使用-i选项

                            DEST是目录:保留原来的名字,将src的内容填充至DEST内

         cp SRC… DEST

                   SRC…为多个文件,要求DEST必须存在且为目录,其他情形都出错

         cp SRC DEST

                   Src是个目录,会直接跳过去,不支持复制,需要加选项-r

                   当DEST不存在,会创建目标目录,

                   如果DEST是文件,会报错

                   如果是目录,会复制其内

         -i:交互式,

-r:递归复制 和-R意思相同

-a 归档复制,不改变所有属性

--no-dereference 复制后是链接文件

--preserve=* 保持文件的某些属性

-f强制

mv:move 源文件 目标地址

如果源文件是单个文件,移动后可以改名,移动后源文件删除

当目标文件存在,会覆盖

当是目标是目录,会复制在目录下

如果源文件是多个,目标目录必须存在

父目录不存在会创建父目录

-i:交互式

-f强制

rm:remove 删除

-i交互式

-f强制

-r递归删除

rm功能危险,使用一定小心

 

nano全屏幕的文本编辑器:

nano 文件

Ctrl+O保存

Ctrl+R 读取其他文件的内容,复制到当前文本

Ctrl+W是搜索

Ctrl+X退出

 

Bash的基础特性:

1、  命令别名(alias):

alias

不带选项参数,将显示所有别名

使用:alias 别名=’命令值’

设置只对当前shell有效

永久生效写入配置文件内:(当前用户配置文件~/.bashrc和对所有用户有效的文件/etc/bashrc)编辑后不会立即生效

Bash的重新读取配置文件

source /path/to/config_file

         . /path/to/config_file

unalias 撤销别名

-a撤销所有

+别名 撤销该别名

如果别名同原命令,想要执行可以使用\+命令 (反斜杠)

 

2、  Glob(globbing)通配符使用 ?任意单个字符

*任意多个字符

 []匹配指定任意范围内的单个字符

[^]匹配指定范围外的任意字符

 \转义符

可在bash中用于实现文件名通配

[:digit:]任意数字

[:lower:]任意小写字母

[:upper:]任意大写字母

[:alpha:]任意大小写字母

[:alnum:]任意数字或字母

[:space:]空格字符

[:punct:]所有标点符号

 

3、  bash的快捷键

ctrl+l清屏

Ctrl+a跳转至命令首部

Ctrl+e跳转命令尾部

Ctrl+c取消命令执行

Ctrl+u删除命令行首至光标所在位置

Ctrl+k删除光标所在处至名两行尾部的所有内容

4、  bash的I/O重定向及管道|

程序:指令+数据

     读入数据:input

                    输出数据:output

每一个打开的文件都有一个文件描述符FD:file descriptor(文件描述符)

标准输入:keyborad键盘,0

标准输出:monitor监视器,1

标准错误输出:monitor,2

 

I/O重定向:改变标准位置

输出重定向:COMMAND > NEW_POS, COMMAND>NEW_POS

>:覆盖重定向,

>>:追加重定向,

Set –C:禁止将内容覆盖输出至已有文件中,可以追加

(#set -C)

强制覆盖 >| 输出重定向后加|,管道符

Set +C 允许将内容覆盖输出至已有文件

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

2>>:追加重定向错误输出数据流

 

标准输出和错误输出各自定向至不同位置:

                   COMMAND > /path/to/file.out  2> /path/to/error.out(成功输入和错误输入)

                   合并标准输出和错误输出维同一个数据流进行重定向

                   &>覆盖重定向

                   &>>追加重定向

                   COMMAND > /path/to/file.out 2> &1也表示合并

                   COMMAND >> /path/to/file.out 2> &1

         输入重定向:<                从指定位置输入,可以改变读数据流的方式

       Tr命令:转换或删除字符:

                   Tr XXX XXX 将后字符与将前字符替换

 

         -d 删除指定字符

         <<     HERE document 创建文档

                   例子: cat >> /tmp/test.out << EOF

5、管道符:COMMAND1 | COMMAND2 |COMMAND3……前一个命令的输出作为下一个命令的输入

         Note:最后一个命令会在当前shell进程的子shell中执行

        

         Tee 选项 文件

                   一般做在管道符后用,一份保存在文档,一份屏幕输出显示

5、  文件处理工具

wc命令:单词统计,统计单词的行、字节、个数

                            -l 行数

                            -w单词数

                            -c字节数

cut:切文件,

-d’ ’ –f 1 /*  以空白为分割字符,只显示第一列

-f 1,7 第一行和第七行,第几列字段

-d 指明分隔符

Sort 排序

sort [OPTION]... [FILE].

默认是开头的第一字母,升序

-r逆序

-f 忽律大小写

-t 字段分隔符

-k # 以指定字段为标准排序

-n以数值大小排序

-u uniq 唯一的,排序后去重

uniq命令

uniq [OPTION]... [FILE].

Note:连续且完全相同方为重复

-c 显示每行重复出现的次数

-d:仅显示重复过得

-u仅显示不重复的

        

猜你喜欢

转载自blog.csdn.net/x503809622/article/details/82970912
今日推荐