bash的基本特性:
1.命令补全
2.路径补全
3.命令执行状态结果
命令执行的状态结果
bash通过状态返回值来输出此结果
成功:0
失败:1-255
在命令执行完成后,其状态返回值保存于bash的特殊变量 $?中,立即输出 “echo $?”,可查看最近那条命令的状态结果,
命令正常执行时,有点还有命令返回值,根据命令及其功能不同,结果各不相同。
引用命令的执行结果:$(COMMAND)或·COMMAND·
4.引用
单引号
双引号
反引号
5.快捷键
ctrl+l:清屏;相当于clear命令
ctrl+c:取消命令的执行
ctrl+a:会移动到命令行的最前面
ctrl+e:会移动到命令行的最后面
ctrl+u:会删除到行首
ctrl+k:会删除到行尾
arrow ctrl+b ctrl+f 会向左或向右移动一个字符
esc+b :光标左移一个单词 按键松手
esc+f:光标右移一个单词 按键松手
ctrl+d:删除光标后一个字符
文本操作命令:
目录管理类的命令:
1.mkdir:make directory
make [options] .../PATH/TO/FILE..
-p:递归创建,按需创建父目录
-v:显示创建的过程信息 配合-p使用
-m MODE:创建目录时指定权限,否则为默认权限
注意:路径基名方为命令的作用对象,基名之前的路径必须的存在
问题:
1.如何创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,
[root@wen-7 tmp]# mkdir -pv /tmp/x/{y1/{a,b},y2}mkdir: 已创建目录 "/tmp/x"mkdir: 已创建目录 "/tmp/x/y1"mkdir: 已创建目录 "/tmp/x/y1/a"mkdir: 已创建目录 "/tmp/x/y1/b"mkdir: 已创建目录 "/tmp/x/y2"
2. 如何创建 a_c,a_d,b_c,b_d
[root@wen-7 ~]# mkdir -pv {a_{c,d},b_{c,d}}mkdir: 已创建目录 "a_c"mkdir: 已创建目录 "a_d"mkdir: 已创建目录 "b_c"mkdir: 已创建目录 "b_d"
3.创建如下目录结构
/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}[root@wen-7 tmp]# tree /tmp/mysysroot//tmp/mysysroot/├── bin├── etc│ └── sysconfig│ └── network-scripts├── sbin├── usr│ ├── bin│ ├── lib│ ├── lib64│ ├── local│ │ ├── bin│ │ ├── etc│ │ ├── lib│ │ └── sbin│ └── sbin└── var ├── cache ├── log └── run
tree命令:
tree [options] /PATH/TO..
-L #:指定要显示的层级
-d:只显示目录
-p:打印文件的权限
-D:显示文件时间
[root@wen-7 tmp]# tree -L 1 //├── bin -> usr/bin├── boot├── dev├── etc├── home├── lib -> usr/lib├── lib64 -> usr/lib64├── media├── mnt├── opt├── proc├── root├── run├── sbin -> usr/sbin├── srv├── sys├── tmp├── usr└── var
2.rmdir:remove empty directory
rmdir [OPTION]... DIRECTORY...
-p:删除其某目录后,如果其伏魔录为空,则一并删除。次选项慎用
-v: -v:显示创建的过程信息 配合-p使用
注意: 只用于删除空目录
文本查看类命令:
分屏查看命令:
1.more:
more FILE
翻屏至文件尾部自动退出
2.less:
less FILE
可以前后翻屏,按q退出
3.head:
查看文件的前n行
head [OPTION]... [FILE]...
-n #:指定查看行数,或省略n
-#:
4.tail:
查看文件的后n行
head [OPTION]... [FILE]...
-n #:指定查看行数,或省略n
-#: 例: tail -20
-f:查看文件尾部内容结束不退出,跟随显示新增的行 按ctrl+c退出
5.stat:
stat [OPTION]... [FILE]... 看到的是文件元数据
[root@wen-7 tmp]# stat /etc/issue
文件:"/etc/issue"
大小:41 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:38424098 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2016-07-27 08:51:42.424658209 +0800
最近更改:2016-07-26 09:47:25.763319552 +0800
最近改动:2016-07-26 09:47:25.765319604 +0800
创建时间:-
6.touch:
touch - change file timestamps
touch [options] ..file..
c:指定的文件路径不存在时不予创建
-a:仅修改access time;对二进制文件来说,执行相当于读取
-m:仅修改 modify tinme;
-t STAMP:指定日期,格式为年月日小时分钟秒 [YYMMDDHHmmss]
-d yesterday;指定昨天日期
[root@wen-7 tmp]# touch -m -t 1607271710.32 /etc/issue[root@wen-7 tmp]# stat /etc/issue 文件:"/etc/issue" 大小:41 块:8 IO 块:4096 普通文件设备:fd00h/64768d Inode:38424098 硬链接:1权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)最近访问:2016-07-27 08:51:42.424658209 +0800最近更改:2016-07-27 17:10:32.000000000 +0800最近改动:2016-07-27 17:11:01.965668196 +0800创建时间:-
文件管理工具:cp,mv,rm
1.cp命令 :cory
源文件:目标文件
单源复制:cp [OPTION]...[-T] SOURCE DEST
如果DEST不存在,则实现创建目标文件,并复制塬文件的数据流至DEST中;复制并改名;如需保留源文件属性,使用cp -a选项。
如果DEST存在,
如果DEST是非目录文件,则覆盖目标文件,建议用-i选项
如果DEST是目录文件,先在DEST目录下创建一个与源文件同名的文件,并复制其数据流
多源复制:cp [OPTION]... SOURCE ...DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE ...
如果DEST不存在,错误;
如果DEST存在,
如果DEST是非目录文件,错误;
如果DEST是目录文件,分别复制每个文件至目标目录,并保持原名
目录:
如果DEST不存在,创建DEST,并把源文件夹内的所有文件复制到DEST中;
如果DEST存在,
如果DEST是非目录文件,错误;
如果DEST是目录文件,文件夹原名复制到 DEST下,作为DEST的子目录
常用选项:
-i:交互式复制,提醒用户是否覆盖
-f:强制覆盖目标文件
-r,R:递归复制目录至目标位置
-d:复制符号链接文件本身,而非其指向的源文件
-a: 用于实现归档
--preserv=
mode:权限
ownership:属主和属组
timestaps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
注意:覆盖于重新创建并不一样,覆盖保留原有文件的属性,cp过来重新的文件是源文件的属性
2. mv命令:move
语法:mv [OPTION]...[-T] SOURCE DEST
mv [OPTION]... SOURCE ...DIRECTORY
mv[OPTION]... -t DIRECTORY SOURCE ...
目标是目录
常用选项:
-i:交互式复制,提醒用户是否覆盖
-f:强制移动目标文件
-r,R:递归移动目录至目标位置
rm命令:remove 移除 ####非常危险
语法:rm [file]
常用选项:
-i:交互式复制,提醒用户是否覆盖
-f:强制删除目标文件
-r,R:递归删除目标
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站)
转载于:https://blog.51cto.com/wencx/1831548