一、命令历史
环境变量
@H_403_10@HISTSIZE:命令历史的条数 HISTfile:默认为’~/.bash_history’ HISTfileSIZE:HISTfile文件记录历史的条数history命令用法:
-d 删除指定的命令-c 清空命令-a 手工追加当前会话的命令历史到历史文件中去
调用历史命令
!#:重复执行第#条命令 !!:重复执行上一条命令 !str:执行指定str开头的命令(最后一个)
控制命令历史的记录方式
主要和HISTCONTRol这个环境变量有关(”/etc/profile”)
ignoredups:忽略重复 ignorespace:忽略空白开头 ignoreboth:上面2个都启用
二、命令补全
tab
三、路径补全
tab
四、目录管理类命令
1.mkdir
用法: mkdir [option] directoy…
-p 没有父目录就一起创建了-v 显示创建目录过程-m 指定权限
[[email protected] dirtest]# mkdir -pv /app/dirtest/a/b/c/dmkdir: created directory ‘/app/dirtest/a‘mkdir: created directory ‘/app/dirtest/a/b‘mkdir: created directory ‘/app/dirtest/a/b/c‘mkdir: created directory ‘/app/dirtest/a/b/c/d‘[[email protected] dirtest]# mkdir -m 0744 d[[email protected] dirtest]# lsa d[[email protected] dirtest]# lltotal 8drwxr-xr-x. 3 root root 4096 Aug 7 06:47 adrwxr--r--. 2 root root 4096 Aug 7 06:47
2.tree
用法: tree [option] directory
-d 只显示目录-L 只显示指定的level级别-P 只显示匹配指定的路径
3.命令行展开
~,{},~username
4.命令的执行结果状态
$?:获取上一个命令的执行状态码
5.文件查看命令
more
less
head
-n 获取前n行-c 获取前n个字符
tail
-n 获取后n行-c 获取后n个字符-f 动态显示
五、文件管理
用法: cp src dst
1.当src是文件,考虑dest是否存在
情况1:测试src是文件,目标不存在
[[email protected] dirtest]# touch a.tx[[email protected] dirtest]# lsa a.tx bin d sbin usr x x_m x_n y_m y_n[[email protected] dirtest]# cp a.tx p[[email protected] dirtest]# lltotal 40drwxr-xr-x. 3 root root 4096 Aug 7 06:47 a-rw-r--r--. 1 root root 0 Aug 7 07:09 a.txdrwxr-xr-x. 2 root root 4096 Aug 7 07:01 bindrwxr--r--. 2 root root 4096 Aug 7 06:47 d-rw-r--r--. 1 root root 0 Aug 7 07:09 pdrwxr-xr-x. 2 root root 4096 Aug 7 07:01 sbindrwxr-xr-x. 4 root root 4096 Aug 7 07:01 usrdrwxr-xr-x. 3 root root 4096 Aug 7 06:59 xdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 x_mdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 x_ndrwxr-xr-x. 2 root root 4096 Aug 7 07:00 y_mdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 y_n
情况2:测试src是文件,dst存在
[[email protected] dirtest]# cp a.tx pcp: overwrite ‘p‘? y[[email protected] dirtest]# cp a.tx a[[email protected] dirtest]# ll atotal 4-rw-r--r--. 1 root root 0 Aug 7 07:11 a.txdrwxr-xr-x. 3 root root 4096 Aug 7 06:47 b
1.如果src是文件
(1)如果目标不存在:新建dest文件,并将src中的内容填充至dest中
(2)如果目标存在:
如果dest是文件:将src中的内容覆盖至dest中
如果dest是目录:在dest中新建与src同名的文件,将src中的文件内容填充至新文件中
情况3:测试src是目录,dst不存在
[[email protected] dirtest]# cp -r a ap[[email protected] dirtest]# lltotal 44drwxr-xr-x. 3 root root 4096 Aug 7 07:11 adrwxr-xr-x. 3 root root 4096 Aug 7 07:12 ap-rw-r--r--. 1 root root 0 Aug 7 07:09 a.txdrwxr-xr-x. 2 root root 4096 Aug 7 07:01 bindrwxr--r--. 2 root root 4096 Aug 7 06:47 d-rw-r--r--. 1 root root 0 Aug 7 07:11 pdrwxr-xr-x. 2 root root 4096 Aug 7 07:01 sbindrwxr-xr-x. 4 root root 4096 Aug 7 07:01 usrdrwxr-xr-x. 3 root root 4096 Aug 7 06:59 xdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 x_mdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 x_ndrwxr-xr-x. 2 root root 4096 Aug 7 07:00 y_mdrwxr-xr-x. 2 root root 4096 Aug 7 07:00 y_n[[email protected] dirtest]# ll a apa:total 4-rw-r--r--. 1 root root 0 Aug 7 07:11 a.txdrwxr-xr-x. 3 root root 4096 Aug 7 06:47 bap:total 4-rw-r--r--. 1 root root 0 Aug 7 07:12 a.txdrwxr-xr-x. 3 root root 4096 Aug 7 07:12 b
情况4:测试src是目录,dst存在
[[email protected] dirtest]# cp -r a ap[[email protected] dirtest]# ll aptotal 8drwxr-xr-x. 3 root root 4096 Aug 7 07:14 a-rw-r--r--. 1 root root 0 Aug 7 07:12 a.txdrwxr-xr-x. 3 root root 4096 Aug 7 07:12 b[[email protected] dirtest]# cd a[[email protected] a]# lsa.tx b[[email protected] a]# tree apap [error opening dir]0 directorIEs,0 files[[email protected] a]# lsa.tx b[[email protected] a]# cd ..[[email protected] dirtest]# lsa ap a.tx bin d p sbin usr x x_m x_n y_m y_n[[email protected] dirtest]# tree apap├── a│ ├── a.tx│ └── b│ └── c│ └── d├── a.tx└── b └── c └── d7 directorIEs,2 files
由上可知:如果SRC是目录,则必须使用-r选项
(1)如果dest存在,则其必须使用目录,否则报错;现在dest目录创建与SRC同名的目录,并将SRC中所有的内容复制到dest中
(2)如果dest不存在,则先创建dest目录,并将SRC中所有的内容复制到dest目录中
mv
rm
i 交互-f 强制-r 递归
总结 以上是内存溢出为你收集整理的Linux bash基础特性全部内容,希望文章能够帮你解决Linux bash基础特性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)