Linux基础知识
1、文件管理类命令
-
mkdir:创建空目录
格式
mkdir [选项](可跟多个选项) 要创建的目录名
选项
-p:递归创建多个目录
命令演示:想要在/tmp/linux/centos下创建test目录
因为/tmp/linux/centos路径不存在,提示无法创建目录
若加上选项-p后,若路径不存在则直接创建路径并创建目录
-v:显示创建过程即命令执行过程
命令演示:在/tmp/redhat/fedora下创建创建test1,且路径不存在
与-p选项同时使用,直接创建路径及目录,并显示执行步骤。
-m:设定目录权限,不加则为默认权限
命令演示:在/tmp/linux下创建test2目录,并设定权限为777
-
rmdir:删除空目录
格式同mkdir
选项:
-p:连同上一级空目录一同删除
命令演示:与-v同时使用
由于/tmp不是空目录,所以无法删除,只能删除/linux/centos/test
-
cp:复制
格式:
复制单个文件:cp [选项](可跟多个选项) [-T] 源文件 目标文件
复制多个文件:cp [选项](可跟多个选项) 源文件 目标目录
cp [选项](可跟多个选项) -t 目标目录 源文件
复制单个文件时,目标文件不存在,则会创建目标文件并将源文件中的数据流抽取填充到目标文件。目标文件存在,如果是非目录文件,则会复制源文件的数据流至目标文件中,覆盖目标文件;如果是目录文件,则现在目标目录中创建一个与源文件同名的文件,并复制数据流。
复制多个文件时,目标必须是目录,否则无法执行。
选项:
-i,覆盖前询问
-f,强制覆盖目标文件
-r,递归复制目录及目录下的所有文件
-d,复制链接文件本身,但不跟踪源文件
-a,为每个已存在的目标文件创建备份
命令演示:复制/tmp/centos1/下的abc到/tmp/centos2下的test,目标文件不存在
命令演示:复制/tmp/centos1下的123a到/tmp/linux/centos1/123a
复制单个文件时,若目标文件存在,会提示是否覆盖目标文件,因为cp=‘cp -i’。
命令演示:复制/tmp/centos1/下的123a,12a3,a123到/tmp/centos3/下
-
mv:用来移动文件(若源文件与目标同目录,则重命名)
格式:
mv [选项] 源文件或目录 目标文件或目
选项:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且源文件比较新,才会更新
命令演示:复制/tmp/centos2/test1的Abc到/tmp/centos1/下
命令执行后,Abc移动到/tmp/centos1下
若源文件与目标在同一目录,则重命名文件
-
rm:删除文件或目录
格式:
rm [选项] 文件名或目录名
常用选项:
-f, –force 忽略不存在的文件,从不给出提示。
-i, –interactive 进行交互式删除
-r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, –verbose 详细显示进行的步骤
–help 显示此帮助信息并退出
–version 输出版本信息并退出
命令演示:删除/tmp/centos1下的Abc123
系统会询问是否删除,输入y,则确认删除,rm=‘rm -i’
注意:不需要的文件,建议不要直接删除,而是自己创建一个目录,把不需要的文件都移动到该目录,起到类似window回收站的作用,防止误删操作。
-
pwd:显示当前目录
-
ls:显示指定目录下的内容列表,默认为当前目录
格式:
ls [选项] 目录名
选项:
-a,显示所有文件,包括隐藏文件
-l,显示所有文件及其详细信息
-
cat:查看文本文件内容,并输出,默认输出到标准输出(显示器)
-
tail:查看文件后n行,命令后跟-n,表示查看后n行,默认后10行。
2、bash工作特性
-
命令执行状态返回值
echo $?:显示最近一条命令的执行结果
只能查看最近一条命令的执行的状态结果返回值
命令执行成功,则显示:0
命令执行失败,则显示:1-255之间的任意数字
返回值为0,最近的命令tail /etc/passwd执行成功
输入错误命令,返回值为1,命令执行失败
找不到命令,返回值为127,命令执行失败
命令行展开
-
~:自动展开为用户家目录或指定用户的家目录
-
{}:可以承载一个以逗号分隔的文件或目录列表,并能够将其展开为多个路径或文件
例如:mkdir /tmp/{centos1,centos2,centos3},则为分别创建/tmp/centos1,/tmp/centos2,/tmp/centos3
演示1:
演示2:
显示树状结构:
3、元数据
文件包含两类数据:数据和元数据
元数据信息包括:
File: 文件
Size: 文件大小
Blocks: block块数量
IO Block: 设备block块
Device: 设备号
Links: 文件硬链接次数
Access: 文件权限
Uid: 文件ID号及所有者
Gid: 组ID号及所有者
Access: 最近访问时间
Modify: 最近更改时间
Change: 最近改动时间
Birth:文件创建时间
-
stat:查看文件的元数据
-
touch:修改文件的时间戳信息
格式:
touch [选项] 文件名,若文件不存在,则直接创建空文件
-c不创建空文件
-a只修改最近访问时间
-m只修改最近更改时间
-t设置时间戳时间
[[CC]YY]MMDDhhmm[.SS],例如:201609242222.22就是2016年9月24日22点22分22秒
命令演示:更改/tmp/centos1/abc的最后更改时间为2016年9月24日22点22分22秒
[root@localhost centos1]# touch -m -t 201609242222.22 /tmp/centos1/abc
4、命令别名设置及命令结果引用
-
alias:定义命令别名
例如:alias hs=‘history’
-
unalias:取消命令别名
例如:unalias history
-
$(COMMAND),mkdir $(date +%H-%M-%S)
-
`COMMAND`,mkdir `date +%H-%M-%S`
5、显示/var下所有以l开头,以一个小写字母结尾,并且中间至少出现一位数字(可以有其他字符)的文件或目录
[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]
执行结果说明 /var目录下没有符合条件的文件或目录
6、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录
[root@localhost centos1]# ls -d /etc/[0-9]*[^0-9]
7、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件
[root@localhost centos1]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
8、复制/etc目录下所有以p开头的文件,以非数字结尾的文件或目录到/tmp/mytest1目录中
[root@localhost centos1]# mkdir /tmp/mytest1
[root@localhost centos1]# cp -r /etc/p*[^0-9] /tmp/mytest1
9、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
[root@localhost centos1]# mkdir /tmp/mytest2
[root@localhost centos1]# cp -r /etc/*\.d /tmp/mytest2
10、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3中
[root@localhost centos1]# mkdir /tmp/mytest3
[root@localhost centos1]# cp -r /etc/[lmn]*.conf /tmp/mytest3
原创文章,作者:孙永奎,如若转载,请注明出处:http://www.178linux.com/48803
评论列表(1条)
总结的很详细,并且把自己的实验过程总结出来,看起来更加直观,赞。