1、Linux上的文件管理类命令都哪些,其常用的使用方法及其相关示列演示;
cat:显示打开的文件
-n:对所有输出的行数编号
-b:和-相似,只不过对于空白行不编
tac:在反响连接和打印机
head:输出文件的一部分
tail:输出文件的最后一部分
less:显示首部 和尾部的内容 可翻页查看
-n:可指定的行数
more:显示首部 和尾部的内容 可翻页查看
touch:创建文件 (创建文件比较安全)
-a:仅改变atime
-m:仅改变mtime
-c:不创建空文件
stat:显示文件的元数据
时间戳:
atime
mtime
ctime
pwd:显示所在目录的信息
cd:切换目录
cp:复制文件和目录
-a:复制目录时 可以保留链接、文件属性、
-d:复制时保留链接
-f:直接覆盖已经存在的目录 不提示
-i:于-f正好相反
-r:可以复制目录下的所有子目录和文件
-l:不复制文件 ,只是生成链接文件
把文件复制到/testdir/rootdir/下 保存root权限和所有子目录
mv:改文件的名字
-i:交互式
-f:强制
rm:删除 文件
-i:交互式
-f:强制删除
-f:递归
rmdir:删除空的目录
-p:子目录被删除后 会成为空目录 直接一块删除
echo:回显
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示列演示;
bash的特性:命令历史
默认保存1000条
环境变量:HISTSIZE
用法:
history:查看历史
-c:清除命令历史
-d:删除指定的条目
-a:将当前会话的命令历史写进指定文件
bash的特性:命令补全 (tab)
根据内建命令或外部命令的查找方法查找以用户指定的字符串开头的命令
tab键可补全命令 两次tab键显示指定字符串的开头命令
bash的特性:路径补全:
两次tab键
bash的特性:命令行展开
~:用户目录
~:指定用户的家目录
bash的特性:输入、输出重定向和管道
输出重定向:
COMMAND > POSITION:覆盖输出
COMMAND >> POSITION: 追加输出
错误重定向:
COMMAND 2> POSITION:覆盖输出
COMMAND 2>> POSITION: 追加输出
合并重定向:
COMMAND &> POSITION
COMMAND > POSITION 2> &1
分别重定向
COMMAND > POSTIION 2> POSTION2
输入重定向:
COMMAND < POSITION
3、使用命令行展开功能来完成练习;
创建/tmp/mylinux目录下的
mylinux/
mylinux
bin
boot
grup
dev
etc
rc.d
init.d
sysconfig
network-scripts
lib
modules
lib64
proc
sbin
sys
tmp
usr
local
bin
sbin
var
lock
log
run
mkdir -pv /tmp/mylinux/{bin,boot/grup,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/loacl/{bin,sbin},var,lock,log,run}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息
stat:用于显示inode内容
atime
mtime:数据的改变
ctime:元数据的改变
touch改变文件atime和mtime
-a:改变atime
-m:改变mtime
-c:不创建空文件
bash特性之命令别名和命令引用:
alias
alias ALIAS=COMMAND
别名与命令同名时:
绝对路径
\COMMAND
生效范围:命令行定义的别名,其生效范围为当前会话;
unalias [ALIAS]
-a: 撤消所有别名
bash支持的引用:
‘‘
""
``:引用一个命令的执行结果
$()
bash特性之文件名通配(globbing):
*: 任意长度的任意字符
p*d, pad, pbd, pd
*ab*c
?: 匹配任意单字符
[]: 匹配指定范围内的任意单字符
[abc], [a-z], [0-9], [0-9a-z]
[^]:匹配指定范围以外的任意单字符
[^0-9a-z]
字符集合:
[:space:] : 所有空白字符
[:punct:] : 所有标点符号
[:lower:] :所有小写字母
[:upper:]:任意大小字母
[:digit:]:任意数字,相当于0-9
[:alnum:]:任意数字或字母
[:alpha:]:任意大小写字母
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias:用于设置指令的别名
语法
alias[别名]=[指令名称]
# alias lx=ls
#lx
事例:
[[email protected] ~]# alias lx=ls
[[email protected] ~]# ls
conf.d rar
f1 rarlinux-4.0.1.tar.gz
magedu-shizhan-1.rar shell
nginx-1.10.0 yum-3.4.3-132.el7.centos.0.1.noarch.rpm
nginx-1.10.0.tar.gz yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
python-iniparse-0.4-9.el7.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
[[email protected] ~]# lx
conf.d rar
f1 rarlinux-4.0.1.tar.gz
magedu-shizhan-1.rar shell
nginx-1.10.0 yum-3.4.3-132.el7.centos.0.1.noarch.rpm
nginx-1.10.0.tar.gz yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
python-iniparse-0.4-9.el7.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录
ls /var/l*[[:digit:]]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
# ls -ld /etc/[0-9]*[^[:digit:]]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
# ls -ld /etc/[^[:upper:]]*[[:upper:]]*
9、在/tmp目录下,创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
# mkdir -pv /tmp/tfile-$(date +%F-%H-%M-%S)
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
# cp /etc/p*[^[:digit:]] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
mkdir -pv /etc/mytest2
cp /etc/*.d /tmp/mytest2
12、复制/etc目录下所有以l 或m 或n 开头,以.conf结尾的文件至/tmp/mytest3目录中
mkdir -p /tmp/mytest3
cp /etc/[lmn]*.conf