1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cat,tac :查看文件内容
cat [OPTION]… [FILE]…
-E :显示行结束符$
-n :对显示出行编号
more
more [OPTIONS…] [file …]
-d :显示翻页及退出提示
less
less [OPTIONS…] [file …]
head :查看文件头部
head [OPTIONS…] [file …]
-c # :指定获取文件前#字节
-n # :指定获取文件前#行
-#
tail :查看文件尾部
taile [OPTIONS…] [file …]
-c # :指定获取文件后#字节
-n # :指定获取文件后#行
-#
-f :跟踪显示文件新追加的内容,Ctrl+c退出
touch :touch – change file timestamps
touch [OPTION]… FILE…
-a :only atime
-m :only mtime
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
-c :如果文件不存在,则不予创建
cp :copy
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
-i :交互式,提示目标文件存在时是否覆盖
-r -R :递归复制
-a :archive归档复制,目标文件名与原文件明必须一样
相当于-dR –preserv=all
-d :–no-dereference –preserv=links 不追踪符号链接
–preserv[=ATTR_LIST]
mode :权限
ownership :属主属组
timestamp :时间戳
links :链接属性
xattr :扩展属性(隐藏属性)
all :
-p :–preserv=mode,ownership,timestamp
-v :–verbose
-f :–force 强制
cp SRC DEST
SRC是文件
如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
如果目标存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中,此时建议为cp命令使用-i选项
如果DEST是目录:在DEST下新建与源文件同名的文件,并将SRC中内容填充至DEST中
cp SRC… DEST
SRC…:多个文件
DEST必须存在,且为目录,其他情形均会出错
cp SRC DEST
SRC是目录,此时应使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中
DEST必须是目录
mv :move,移动文件
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用选项
-i :交互式
-f :强制
rm :remove删除
rm [OPTION]… FILE…
-i :交互式
-f :强制
-r, -R, –recursive 递归,删除目录
chmod :修改文件或目录权限
chmod [OPTION]… OCTAL-MODE FILE…
-R :递归修改权限
chmod [OPTION]… MODE[,MODE]… FILE…
MODE:
修改一类用户的所有权限
u= ,g= ,o= ,ug= ,a= ,u=,g=
修改一类用户某位或某些位权限
u+,u-,o+,o-
chmod [OPTION]… –reference=RFILE FILE… 参考RFILE文件的权限,将FILE权限修改为同RFILE
chown :修改文件的属主
chown [OPTION]… [OWNER][:[GROUP]] FILE…
用法
OWNER
OWNER:GROUP
:GROUP
Note:命令中的冒号可以用.替换
-R :递归
chown [OPTION]… –reference=RFILE FILE…
chgrp :修改文件的属组
chgrp [OPTION]… GROUP FILE…
chgrp [OPTION]… –reference=RFILE FILE…
-R :递归
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令的执行结果状态
成功,失败
bash使用特殊变量$?保存最近一条命令的执行状态结果
0 :成功
1-255 :失败
程序执行有两类结果:
程序的返回值
程序的执行结果状态结果
命令行展开
~ :展开为用户的主目录
~USERNAME :展开为指定用户的主目录
{} :可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a , /tmp/b
/tmp/{tom,jerry}hi = /tmp/tom/hi , /tmp/jreey/hi
eg:创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b
mkdir -pv /tmp/x/{y1/{a,b},y2/{a,b}}
mkdir -pv /tmp/x/{y1,y2}/{a,b}
eg:创建x_m,y_m,x_n,y_n
mkdir -pv /tmp/{x_{m,n},y_{m,n}}
mkdir -pv /tmp/{x,y}_{m,n}
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/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
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}}
mkdir: 已创建目录 "/tmp/mylinux"
mkdir: 已创建目录 "/tmp/mylinux/bin"
mkdir: 已创建目录 "/tmp/mylinux/boot"
mkdir: 已创建目录 "/tmp/mylinux/boot/grub"
mkdir: 已创建目录 "/tmp/mylinux/dev"
mkdir: 已创建目录 "/tmp/mylinux/etc"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "/tmp/mylinux/lib"
mkdir: 已创建目录 "/tmp/mylinux/lib/modules"
mkdir: 已创建目录 "/tmp/mylinux/lib64"
mkdir: 已创建目录 "/tmp/mylinux/proc"
mkdir: 已创建目录 "/tmp/mylinux/sbin"
mkdir: 已创建目录 "/tmp/mylinux/sys"
mkdir: 已创建目录 "/tmp/mylinux/tmp"
mkdir: 已创建目录 "/tmp/mylinux/usr"
mkdir: 已创建目录 "/tmp/mylinux/usr/local"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"
mkdir: 已创建目录 "/tmp/mylinux/var"
mkdir: 已创建目录 "/tmp/mylinux/var/lock"
mkdir: 已创建目录 "/tmp/mylinux/var/log"
mkdir: 已创建目录 "/tmp/mylinux/var/run"
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode…)时间戳信息等
stat命令可查看文件的元数据信息
touch命令可修改文件的时间戳
touch :touch – change file timestamps
touch [OPTION]… FILE…
-a :only atime
-m :only mtime
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias NAME='VALUE' :定义别名NAME,其相当于执行命令VALUE
用反引号或管道或重定向可以在命令中引用另一个命令的执行结果
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -d /var/l*[0-9]*[:lower:]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -d /etc/[^a-z]*[a-z]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
mkdir -pv /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
mkdir: 已创建目录 "/tmp/tfile-2016-06-29-14-45-26"
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cp -a /etc/p*[:alnum:] /tmp/mytest1/
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
mkdir /tmp/mytest2
cp -a /etc/*.d /tmp/mytest2/
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
mkdir /tmp/mytest3
cp -a /etc/[lmn]*.conf /tmp/mytest3
原创文章,作者:hxc_0215,如若转载,请注明出处:http://www.178linux.com/21054
评论列表(1条)
写的很好,排版可以多关注一下,加油