1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
linux上一切皆文件
(1)文件管理命令:cat、tac、head、tail、more、less等
cat:查看文件内容,一次性输出所有内容
-n :输出所有行编号
-b 对非空输出行号
例如:cat /etc/fstab
例如:cat -n /etc/fstab
例如:cat -b /etc/fstab
tac:查看文本的内容,文件内容是逆序的
例如:tac /etc/fstab
head:(默认显示前10行)- n #或- #,查看指定的行数
例如:head -8 /etc/fstab
tail:查看后n行(默认是后10行)- n #或- #,查看指定行数
f:查看文件尾部内容结束后不退出,跟随显示新增的行
例如:tail -8 /etc/fstab
(2)分屏查看命令:more、less
more:可以分屏显示,按回车键翻下一屏,翻屏至文件尾部后自动退出
less:可以分屏显示 可以按上下键,上下滚动
(3)创建空的新文件:touch
touch 可以创建一个空的新文件,若文件存在改变文件时间戳。
文件中间有空格需要加\创建
例如:touch p\ a —-> 文件名:p a
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash执行状态返回值:0表示成功,1-255表示失败。
bash的命令行展开:
~:自动展开为用户的家目录,或指定的用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径
/tmp/{a,b}相当于/tmp/a、/tmp/b
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
(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
(1)mkdir -pv /tmp/{a,b}_{c,d}
(2)mkdir -pv /tmp/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}}
在/tmp目录下,用tree mylinux查看(tree命令显示目录的层级结构)
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件:两类数据(用stat命令查看)
元数据:metadata–>改动是元数据改变
数据:data–>更改是数据改变
查看:stat /tmp/mylinux
时间戳:
access time:最近访问的时间,atime,读取文件内容
modify time:最近更改的时间,mtime,改变文件内容(数据)
change time:最近改动的时间,ctime,元数据发生改变(不能手动改动)
修改时间戳信息:
touch命令–>只能改动 access time和modify time、(touch也可以创建一个空的新文件)
-c:指定的文件路径不存在时,不予创建
-a:仅修改access time
-m:仅修改modify time
-t:STAMP自己指定要修改成的时间([[CC]YY]MMDDhhmm[s.s]年/月/日/时/分/秒)
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
命令获取别名:alias
定义别名:alias NAME=’COMMAND’(仅对当前的shell有效)
撤销别名:unalias NAME
使用IO重定向和管道命令都可以引用另一个命令的结果
例如:IO重定向–>alias > /tmp/alias.txt
例如:管道–>alias | tee /tmp/’p a’
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -d /var/l*[0-9]*[[:lower:]]
例如:ll -d /var/l*[0-9]*[[:lower:]](ls -d和ll -d只是显示的不一样)
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[0-9]*[^0-9]
例如:ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -d /etc/[^[:alpha:]][[:alpha:]]*
例如:ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,
文件名形如:tfile-2016-05-27-09-32-22。
mkdir -pv tfile-`date +%F-%H-%M-%S`
例如:mkdir -pv tfile-`date +%F-%H-%M-%S`
touch ttfile-`date +%F-%H-%M-%S`
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -a /etc/p*[^0-9] /tmp/mytest1/
例如:cp -a /etc/p*[^0-9] /tmp/mytest1/
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -a /etc/*.d /tmp/mytest2/
例如: cp -a /etc/*.d /tmp/mytest2/
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/[lmn]*.conf /tmp/mytest3
例如:cp -r /etc/[lmn]*.conf /tmp/mytest3
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102952