N30-bash特性以及Linux文件管理常用命令汇总

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

文件管理类命令:cat,tac,head,tail,more,less

分屏查看命令:more,less

more:
more FILE
特点,翻盘至文件尾部后自动退出

less FILE

head:查看文件的前n行
head [options] FILE
-n 数字
-数字

tail:查看文件的后n行
tail [options] FILE
-n 数字
-数字
-f:查看文件尾部内容结束后不退出,跟随显示新增的行

stat:显示文件或文件系统的状态
stat FILE…
文件:两类数据
元数据:metadata
数据:data

时间戳:
Access: 2018-05-25 05:05:05.833441684 +0800
Modify: 2018-05-25 05:04:12.441441773 +0800
Change: 2018-05-25 05:04:12.441441773 +0800

touch:修改文件的时间戳
touch [OPTION]… FILE…
-c:指定的文件路径不存在时不予创建
-a:仅修改access
-m:仅修改modify
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
例子: touch -m -t 0212030303.03 (2002年12月03日03:03:03)

cp:copy
源文件–目标文件

单源复制:cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

单源复制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中
如果DEST存在:
如果DEST是非目录文件,则覆盖目标文件
如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流

多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在,错误;
如果DEST存在:
如果DEST是非目录文件,错误
如果DEST是目录文件,分表复制每个文件至目标目录中,并保持原名

常用选项:
-i:交互式复制,即覆盖之前提醒用户确认
-f:强制覆盖目标文件
-r:递归复制文件
-d:复制符号链接文件本身,而非其指向的源文件
-a:-dR –preserve=all,archive ,用于实现归档
–preserv=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:拓展属性
links:符号链接
all:上述所有属性

mv:move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:
-i:交互式
-f:强制性

rm:remove(删除文件)
rm [OPTION]… FILE…

常用选项:
-i:交互式
-r:recursive
-f:强制性

删除目录:rm -rf /PATH/TO/DIR ,注意切勿随便使用

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录(模拟回收站)

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

bash的基础特性之一:

命令历史:shell进程会在其会话中保存此前用户提交执行过的命令
~]#history
定制history的功能,可通过环境变量实现
HISTSIZE:shell进程可保留的命令历史的条数
HISTFILE:持久保存命令历史的文件, “.bash_history”
HISTFILESIZE:命令历史文件的大小
命令用法:
history [-c] [-d offset] [n]
or history -anrw [filename]
or history -ps arg [arg…]

-c:清空命令历史
-d offset:删除指定命令历史
-r:从文件读取命令历史至历史列表中
-w:把历史列表中的命令追加至历史文件中

history +数字:显示最近的“数字”条命令

调用命令历史列表中的命令:
!+数字:再一次执行历史列表中的第“数字”条命令
!!:再一次执行上一条命令
!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

注意:命令的重复执行有时候需要依赖于幂等性

调用上一条命令的最后一个参数:
快捷键:ESC ,.
字符串:!$

控制命令历史记录的方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效

修改变量的值: NAME=’VALUE’,此修改只对当前shell有效

bash的基础特性之二:

命令补全:shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符会被当作命令
命令查找机制:
查找内部命令
根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名

给定的打头字符串如果能唯一标识某命令程序文件,则直接补全;
不能唯一标识某命令程序文件,再击tab键一次,会给出列表

路径补全:
在给定的起始路径下,以对应路径下的打头字符串来逐一匹配起始路径下的每个文件
tab:
如果能唯一标识某命令程序文件,则直接补全;
不能唯一标识某命令程序文件,再击tab键一次,会给出列表

bash的基础特性之三:命令行展开
~:自动展开为用户的家目录,或指定用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
例如:/tmp/{a,b}相当于/tmp/a /tmp/b

bash的基础特性之四:命令的执行状态结果
命令执行的状态结果:
bash通过状态返回值来输出此结果
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量”$?”中, ~]#echo $?

命令正常执行时,有的还会有命令返回值,根据命令及其功能不同,结果各不相同

引用命令的执行结果:
$(COMMAND) 或`COMMAND`

bash的基础特性之五:引用
强引用:‘’
弱引用:“”
命令引用:“(~位置)

bash的基础特性之六:快捷键

Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除行首至光标所在处之间的所有字符
Ctrl+k:删除光标所在处至行尾的所有字符
Ctrl+l:清屏,相当于clear命令

3、请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir a_c a_d b_c b_d
[root@localhost tmp]# ll

(2)、创建/tmp/mylinux目录下的:

mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run

[root@localhost ~]# mkdir -p /tmp/mylinux
[root@localhost ~]# cd /tmp/mylinux/
[root@localhost mylinux]# mkdir -p bin dev lib64 proc sbin sys tmp var lock log run
[root@localhost mylinux]# mkdir -p boot/grub
[root@localhost mylinux]# mkdir -p lib/modules
[root@localhost mylinux]# mkdir -p etc/rc.d/init.d etc/sysconfig etc/network-scripts
[root@localhost mylinux]# mkdir -p usr/local usr/bin usr/sbin

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99452

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班