首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash的基础特性(1)

bash的基础特性(1):

(1) 命令历史

history

环境变量:

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

HISTFILE:~/.bash_history;

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

history -d OFFSET

-c

history #: 显示历史中最近的#条命令;

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

调用历史中的命令:

!#: 重复执行第#条指令;

!!:

!string

调用上一条命令的最后一个参数:

!$:

ESC, .

Alt+.

控制命令历史的记录方式:

环境变量:HISTCONTROL

ignoredups:忽略重复的命令;连续且相同方为“重复”;

ignorespace:忽略所有以空白开头的命令;

ignoreboth:ignoredups, ignorespace;

修改环境变量值的方式:export 变量名="值"

变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;

(2) 命令补全

bash执行命令:

内部命令:

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

直接补全:Tab,用户给定的字符串只有一条惟一对应的命令;

以用户给定的字符串为开头对应的命令不惟一,则再次Tab会给出列表;

(3) 路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名;

如果惟一:则直接补全;

否则:再次Tab,给出列表;

(4) 命令行展开

~: 展开为用户的主目录

~USERNAME:展开为指定用户的主目录

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

/tmp/ = /tmp/a, /tmp/b

/tmp//hi = /tmp/tom/hi, /tmp/jerry/hi

(5) 命令的执行结果状态

成功

失败

bash使用特殊变量$?保存最近一条命令的执行状态结果:

0:成功

1-255:失败

程序执行有两类结果:

程序的返回值;

程序的执行状态结果;

目录管理类命令:

cd, pwd, ls

mkdir, rmdir, tree

mkdir [options] /path/to/somewhere

-p: 存在于不报错,且可自动创建所需的各目录;

-v: 显示详细信息

-m MODE: 创建目录时直接指定权限;

tree:

-d: 只显示目录

-L level:指定显示的层级数目

-P pattern: 只显示由指定pattern匹配到的路径;

rmdir:删除空目录

rmdir [OPTION]... DIRECTORY...

-v: 显示过程;

练习:

(1) 如何创建/tmp/x/y1, /tmp/x/y2, /tmp/x/y1/a, /tmp/x/y1/b, /tmp/x/y2/a, /tmp/x/y2/b

mkdir /tmp/x//

(2) 如何创建x_m, y_m, x_n, y_n

mkdir _

(3) 如何创建/tmp/bin, /tmp/sbin, /tmp/usr, /tmp/usr/bin, /tmp/usr/sbin

mkdir -p /tmp/}

文本文件查看类命令:

cat, tac

more, less, tail, head

more

more [OPTIONS...] FILE...

-d: 显示翻页及退出提示

less

less [OPTIONS...] FILE...

head

head [OPTION]... [FILE]...

-c #: 指定获取前#字节

-n #: 指定获取前#行

-#:

tail

tail [OPTION]... [FILE]...

-c #: 指定获取后#字节

-n #: 指定获取后#行

-#:

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

文件的时间戳管理工具:

touch

文件:metadata, data

查看文件状态:stat

三个时间戳:

access time:访问时间,简写为atime,读取文件内容

modify time: 修改时间, mtime,改变文件内容(数据)

change time: 改变时间, ctime,元数据发生改变

touch命令:

touch [OPTION]... FILE...

-a: only atime

-m: only mtime

-t STAMP:

[[CC]YY]MMDDhhmm[.ss]

-c: 如果文件不存,则不予创建

回顾:

文件系统、bash的基础特性、目录管理及文件查看

文件系统:

boot, bin, sbin, lib, lib64, dev, home, root, mnt, media, etc, proc, sys

usr

var

bash的基础特性:

命令补全

路径补全

命令历史

命令行展开:

~, {}

命令的状态结果

成功:0

失败:1-255

目录管理:mkdir, rmdir

文件查看:more, less, tail, head

时间戳管理:touch

-a, -m, -t

-c

文件管理:

cp, mv, rm

复制命令:cp

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

cp SRC DEST

SRC是文件:

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

如果目录存在:

如果DEST是文件:将SRC中的内容覆盖至DEST中;

此时建议为cp命令使用-i选项;

如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

cp SRC... DEST

SRC...:多个文件

DEST必须存在,且为目录,其它情形均会出错;

cp SRC DEST

SRC是目录:

此时使用选项:-r

如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

如果DEST存在:

如果DEST是文件:报错

如果DEST是目录:

常用选项:

-i:交互式

-r, -R: 递归复制目录及内部的所有内容;

-a: 归档,相当于-dR --preserv=all

-d:--no-dereference --preserv=links

--preserv[=ATTR_LIST]

mode: 权限

ownership: 属主属组

timestamp:

links

xattr

context

all

-p: --preserv=mode,ownership,timestamp

-v: --verbose

-f: --force

mv: move,移动文件

mv [OPTION]... [-T] SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i: 交互式

-f: 强制

rm: remove,删除

rm [OPTION]... FILE...

常用选项:

-i: 交互式

-f: 强制删除

-r: 递归

rm -rf

文本编辑器:nano

全屏编辑器

关注“农夫运维” 一起成长!

“我们进步,因为我们分享!”

“分享是一种精神,感恩是一种品德。”

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180506G02LOA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券