1、 Linux上的文件管理类命令有哪些,其常用的使用方法及其相关示例演示。
1.1、文件权限管理类命令
chown:改变文件所有者
chown [OPTINON]...[OWNRR][:[GROUP]] FILE...
常用参数 -R :递归修改(改目录及改目录中的目录和文件)
示例:#chown -R root /tmp/ligang
# chown -R root:root /tmp/ligang
chown [OPTION]... --reference=RFILE FILE...
示例:# chmod --reference=/tmp/issue /tmp/fstab
chgrp:改变文件的所属组
用法,参数与chown基本相同:
示例:# chgrp root /tmp/ligang
chmod:改变文件的权限,修改一类用户的某位或某些位权限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:修改一类的权限
-u用户、-g组、-o其他、-a全部、-R递归修改
示例:#chmod a=rwx /tmp/ligang
umask:文件或目录创建时的遮罩码(只对当前shell有效)
目录用777-umask
文件用666-umask
注意:如果某类用户的权限减得的结果中存在x权限,则其权限+1
umask :查看
umask #:设定
1.2、文件处理工具
wc命令:统计单词数,统计单词数,行数,字节数
wc [OPTION]... [FILE]...
wc [OPTION]... --files0-from=F
-l:line 显示行数
-w:words 单词数
-c:characters 字节数
示例:wc /tmp/issue
1.3、文件基础创建搜索等命令
常用基础命令:cd、pwd、mkdir、touch
查看:cat,more,less,tail,head,tac
复制:cp
移动:mv
删除:rm
创建:touch
元数据属性:stat
查看内容类型:file
文件管理是考验一个运维工程师最基本的职能之一、在linux中可以单独对某个文件或者目录进行管理,有很大的可控性及加密性,在LIUNX中对用户的给予的文件管理权限比windows中方便许多及搜索方面可以单独搜索每个文件及目录的哪一快内容,但是在linux中文件的集中管理性可能就需要脚本及第三方软件进行操作。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
2.1命令执行完后,其状态返回值保存于bash的特殊变量$?中。
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
注意,命令执行状态返回值和命令的执行结果间的区别。如上图,ls的执行结果是显示当前目录的文件名,紧接着执行echo命令用于显示命令的执行状态返回值,不管ls命令是否成功执行,其都会有相关数据显示,但是命令执行状态返回值却是不同的。
bash的工作特性之命令行展开:
~:自动展开为用户的家目录,或指定的用户的家目录。
{}:可承载一个以逗号分割的路径列表,并能够将其展开为多个路径。
3、请使用命令行张开功能来完成以下练习。
(1) 、创建/tmp目录下的:a_c,a_d,b_c,b_d
mkdir -p {a,b}_{c,d}
(2) 、创建/tmp/mylinux目录下的:
mylinux/
---bin
---boot
---grub
---dev
---etc
---rc.d
---init.d
---lib
---modvies
---lib64
---proc
---sbin
---sys
---tmp
---usr
---local
---bin
---sbin
---var
---lock
---log
---run
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
{}這个符号可以批量创建 -pv递归创建
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
4.1、文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。
4.2、三个时间戳:
access time:访问时间,简写atime,读写文件内容
modify time: 修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
4.3、修改文件的时间戳:touch
-a:only atime
-m:only mtime
-s STAMP:[[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不予创建
5、如何定义一个命令的别名,如何在命令中引用另一个命令执行的结果?
5.1、命令别名:alias
alias:显示当前shell进程所有可用的命令别名
alias NAME="VALUE":命名别名
特别提醒:在命令行定义的别名,仅对当前shell进程生效,如果想永久生效,要进入配置文件中
仅对当前用户:~/.bashrc
对所有生效:/etc/bashrc
5.2、使用管道命令 |
grep /etc/* | grep init* | grep initio*
注意:最后一个命令会在当前shell进程的子shell进程中执行
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
mkdir /var/1314hua
ls -d /var/1*[0-9]*[a-z]
7、显示/etc/目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
mkdir /etc/250ligang
ls -d /etc/[0-9]*[^0-9]
8、显示/etc/目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
mkdir /etc/123abcla
ls -d /etc/[^a-z]*[^a-z][a-z]
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/‘echo tfile-$(date +%Y-%m-%d-%H-%M-%S)‘
ls /tmp
10、复制/etc/目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cp -a /etc/p*[^0-9] /tmp/mytest1
ls /tmp/mytest1
11、辅助/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
mkdir /tmp/mytest2
cp -a /etc/*.d /tmp/mytest2
ls /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
mkdir /tmp/mytest3
cp -a /etc/{1,m,n}*.conf /tmp/mytest3
ls /tmp/mytest3