1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
答:(cd,pwd,ls ,mkdir,rmdir,tree cat
more,less,tail,head touch cp,mv,rm)
cd 命令 一般用法 #cd /tmp/abc 表示从所在目录切换到/tmp/abc
Mkdir 用来创建目录
mkdir [options] /path/to/somewhere
-p: 存在于不报错,且可自动创建所需的各目录;
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
Rmdir
rmdir [OPTION]... DIRECTORY...
-p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
-v: 显示过程;
Tree 以树目录的形式展开指定的目录
用法 tree /path/to/where
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容
cat /目录/文件
一般常用more和less
More /目录/文件
・Enter 向下n行,需要定义。默认为1行
・Ctrl+F 向下滚动一屏
・空格键向下滚动一屏
・Ctrl+B 返回上一屏
・= 输出当前行的行号
・V 调用vi编辑器
・!命令调用Shell,并执行命令
・q 退出more、
less
less 与 more 类似,但使用 less 可以随意浏览文件,而仅能向前移动,却不能向后移动,而且在查看之前不会加载整个文件。
Space,^V,^f,^F: 向文件尾翻屏;
b,^B: 向文件首部翻屏;
d,^D: 向文件尾部翻半屏;
u,^U: 向文件首部翻半屏;
RETURN,^N,e,^E or j or ^J: 向文件尾部翻一行;
y or ^Y or ^P or k or ^K:向文件首部翻一行;
q: 退出;
#:跳转至第行;
1G: 回到文件首部
G:翻至文件尾部
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行
tail +20 file (显示文件file的内容,从第20行至文件末尾)
head和tail相反
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
-n<数字>:指定显示头部内容的行数; -c<字符数>:指定显示头部内容的字符数;
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
-a:或--time=atime或--time=access或--time=use 只更改存取时间
-m:或--time=mtime或--time=modify 只更该变动时间;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
-c:或--no-create不建立任何文件;
cp
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
-a:此参数的效果和同时指定"-dpR"参数相同; -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -l:对源文件建立硬连接,而非复制文件; -p:保留源文件或目录的属性; -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; -s:对源文件建立符号连接,而非复制文件; -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀; -b:覆盖已存在的文件目标前将目标文件备份; -v:详细显示命令执行的操作。
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。 mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
-i: 交互式
-f: 强制
Rm remove
rm [OPTION]... FILE...
常用选项:
-i: 交互式
-f: 强制删除
-r: 递归
rm -rf
2、 bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
$? :该变量记录了系统命令执行后返回的值,由0―255。
例如:ls / ,这条命令返回的状态码为0,表示正确,除0外其他任何数字都是各种错误。
~username:指定用户的家目录。 例如:useradd qq&& cd ~qq
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径。
touch /{q,w}_{e,r}
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/grup,dev,etc/{rc.d/init.d,sysconfig/network-scripts},etc,lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin}}
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
文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
Stat 可以查看元数据,元数据包括文件的访问时间,修改时间,改变时间
可以通过touch �a �t 修改访问时间
-m �t 修改更改时间
如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
通过命令alias NAME=’value’定义别名 ,可以通过管道“|” 引用另一个命令的执行结果,例如 echo “who”|conmandoption argument
显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -d/var/l*[0-9]*[[:lower:]]
显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
Ls �d /etc/[0-9]*[^0-9]
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
Ls �d /etc/[^[:alpha:]] [[:alpha:]]*
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。
RIQI=$(date ‘+%Y-%m-%d-%H-%M-%S’)&&mkdir/tmp/tfile-$RIQI
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
Mkdir /tmp/mytest1 && cp �a /etc/p*[^0-9]/tmp/mytest1
复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
Mkdir /tmp/mytest2&& cp �a /etc/*.d /tmp/mytest2
复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
Mkdir /tmp/mytest3&& cp �a /etc/[lmn]*.conf/tmp/mytest3