1、Linux上的文件管理类命令:
操作相关:
cat:查看文件 用法:cat 文件名
more/less/head/tail:查看文件
用法与cat相同,不同的是这三个命令的功能
more:可翻页查看文件内容,一页一页的翻动
less:可翻页查看文件内容,一页一页的翻动,比more有弹性
head:取出文件中的前面N行
tail:取出文件中的最后N行
vim:编辑文件(创建文件) 用法:vim 文件名
touch:创建一个文件 用法:touch 文件名
ls:列出当前目录下的文件或文件夹
cp:复制(可用来重命名) 用法:cp 原文件位置 目标文件位置
mv:移动(可用来重命名) 用法:mv 原文件位置 目标文件位置
rm:删除文件或文件夹 常用参数有-r(recursive删除所有内容) -f(强制,生产环境慎用)
用法: rm -rf 文件或目录名
mkdir:创建一个目录 用法:mkdir 目录名
权限相关:
chmod:修改权限 用法:chmod 777(rwx等) 文件或目录名
chown:修改所有者 用法:chown 所有者 文件或目录名
chgrp:修改所属组 用法:chgrp 所属组 文件或目录名
chcon:修改文件的context值 用法:chcon -t type 类型 文件或目录名
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容
bash的工作特性之命令执行状态返回值:
命令执行完后,其状态返回值保存于bash的特殊变量$?中,成功为0不成功则为一个非0的值
注意,命令执行状态返回值和命令的执行结果间的区别。不管命令是否成功执行,都会有相关数据显示,但是命令执行状态返回值却是不同的
命令行展开所涉及的内容:
~:自动展开为用户的家目录,或指定的用户的家目录。
#:为root的家目录
{}:可包含一个以逗号分割的路径列表,并能够将其展开为多个路径。
3、用命令行展开功能完成练习
(1)创建/tmp目录下的:a_c,a_d,b_c,b_d
mkdir /tmp/{a,b}_{c,d}
(2)创建/tmp/mylinux目录下的
mkdir -p /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}}
4、文件的元数据信息有哪些,分别的含义以及查看方式,修改文件的时间戳
元数据信息:
使用stat 查看
Size:文件大小
Blocks:块格式
Block:快大小
Access:权限以及所有者和所属组
Access:访问时间
Modify:修改时间
Change:改变时间
使用touch -t(time)可直接修改时间,也可以直接接文件将时间改成当前
5、定义一个命令的别名,在命令中引用另一个命令的执行结果
定义别名:
alias hk='ls',若要永久生效则需要写入开机脚本中(~/.bashrc对当前用户)(/etc/bashrc对所有用户)
命令引用:
name=`COMMAND`, name=$(COMMAND)
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可有其他字符)的文件或目录
ls -d /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意数字开头,且以非数字结尾的文件或目录
ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录
ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名如tfile-2016-05-27-09-32-22
touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
cp -a /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中
cp -a /etc/*.d /tmp/mytest2
12、复制/etc目录下所有以l或m或n开头,以.com结尾的文件到/tmp/mytest3目录中
cp -a /etc/[l,m,n]*.conf /tmp/mytest3