Linux常见文件管理命令
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
(1)目录管理命令
——ls:列出指定目录下的内容
格式:ls [OPTION]... [FILE]...
-a:显示所有文件包括隐藏文件
-A:显示除.和..之外的所有文件
-l,--long:显示文件的详细属性信息
-h:对文件大小进行单位换算,可能影响精度
-d:查看目录本身而非其内部的文件
-r:逆序显示文件
-R:递归显示文件
示例:ls -lah / --详细显示/目录下的所有文件(包括隐藏文件)
ls -ldh /etc --详细显示/etc目录本身
ls -lhv / --倒序显示/目录下所有文件(包括隐藏文件)
ls -R /etc --递归显示/etc下所有文件
——mkdir:创建目录
格式:mkdir [OPTION]... DIRECTORY...
-p:自动按需创建父目录
-m:创建目录时给定权限
示例:mkdir -p /data/test/A/B --在/data目录下递归创建/test/A/B三个目录
mkdir -m 711 -p /data/MODE/A --在/data目录下递归创建MODE/A两个目录同时指定目录A的权限为711
——rmdir:删除目录
格式:rmdir [OPTION]... DIRECTORY...
-p:删除目录后如果其父目录为空,则一并删除
示例:rmdir -p /data/test/A --删除A目录后,test目录为空,一并删除
——cd:切换目录
示例:cd ..:切换到上级目录
cd ~:切换回自己的家目录
cd -:在上一次目录与当前目录直接来回切换
——pwd:显示当前目录
(2)文件管理命令
——cp:复制
格式:单源复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归复制目录
示例:cp -if /data/[1-3].txt /data/test --test必须为目录,把三个文件一起复制到test中
cp -r /data /practice --把data目录及目录下的内容一起复制到practice中
——mv:剪切
格式:单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
示例:mv -i /data/[1-3].txt /practice --把/data目录下三个txt文件剪切到/practice下
——rm:删除
格式:rm [OPTION]... FILE...
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归处理,将制定目录下的所有文件包括目录一并删除
示例:rm -rf /practice --递归删除/practice目录
(3)文本内容管理命令
——cat:正向查看文本内容
格式:cat [OPTION]... [FILE]...
-n:给显示的文本行编号
-E:显示行结束符号$
示例:cat -n /etc/fstab --查看/etc/fatab内容并显示行号
——tac:倒叙查看文本内容
格式:tac [OPTION]... [FILE]...
示例:tac /etc/passwd --倒叙查看文本内容
——head:显示文本内容,默认显示头10行
格式:head [OPTION]... [FILE]...
-n #:显示文本头#行内容
示例:head -5 /etc/passwd --显示/etc/passwd文件头5行内容
——tail:显示文本内容,默认显示后10行
格式:tail [OPTION]... [FILE]...
-n #:显示文本后#行内容
-f:查看文件尾部内容结束后不退出,跟随显示新增的行
示例:tail -8 /etc/passwd --显示/etc/passwd文件后8行内容
——more:分屏显示文本内容,每次显示一屏显示完停止
格式:more [options] file [...]
Space键:显示文本下一屏内容
Enter键:只显示文本下一行内容
b键:显示文本上一屏内容
q键:退出
——less:分屏显示文本内容,不主动退出
格式:less [options] file [...]
Space键:显示文本下一屏内容
Enter键:只显示文本下一行内容
b键:显示文本上一屏内容
q键:退出
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
(1)bash命令执行后通过状态返回值来确定执行结果:
成功:返回0
失败:返回1-255
注意,命令执行完成后,其状态返回值保存于bash的特殊变量“$?”中。
示例:
[root@bogon data]# ls
etcls.sh gentoo love.txt tmpmk.sh varls.sh
[root@bogon data]# echo $?
0
[root@bogon data]# lsss -l
bash: lsss: command not found...
[root@bogon data]# echo $?
(2)bash命令行展开:
~:自动展开为当前用户的家目录
~USERNAME:自动展开为指定用户的家目录
{}:{}内容可为一个用,隔开的路径列表,将其展开为多个路径
示例:
[root@bogon ~]# cd ~walterhuang
[root@bogon walterhuang]# pwd
/home/walterhuang
[root@bogon walterhuang]# cd ~
[root@bogon ~]# pwd
/root
[root@bogon data]# mkdir -pv {a,b}-{c,d}
mkdir: 已创建目录 "a-c"
mkdir: 已创建目录 "a-d"
mkdir: 已创建目录 "b-c"
mkdir: 已创建目录 "b-d"
[root@bogon data]# tree /data
/data
├── a-c
├── a-d
├── b-c
└── b-d
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@bogon data]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@bogon data]# tree /tmp
/tmp
├── a_c
├── a_d
├── anaconda.log
├── b_c
├── 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
[root@bogon data]# 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}
[root@bogon data]# tree /tmp/mylinux
/tmp/mylinux
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── network-scripts
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
├── lib
│ └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│ ├── bin
│ ├── local
│ └── sbin
└── var
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
(1)Linux文件的数据分为两类,一类为数据,即文件的实际内容(数据本身);一类为元数据,用来描述文件的特征(描述数据的属性)。
(2)通过 stat 命令可以查看文件的元数据,如图:
可以看到文件的元数据包括文件名(File)、大小(Size)、数据块(Blocks)、IO块(IO Block)、设备(Device)、节点号(Inode)、硬链接(Links)、权限(Access)、文件所属主(Uid)、文件所属组(Gid)、最近访问时间(Access Time)、最近文件修改时间(Modify Time)、最近文件属性更改时间(Change Time)。
(3)通过 touch 命令修改文件的时间戳信息,其中:
-c:指定的文件不存在时不予创建(所有时间都会改变);
-a:仅修改access time(实际change time会随着改变);
-m:仅修改modify time(实际change time会随着改变);
-t:使用指定的日期时间,格式[[CC]YY]MMDDhhmm[.ss](access time和modify time为指定时间,change time为当前系统时间)
示例:
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
7 最近访问:2018-03-01 10:51:30.172785209 +0800
8 最近更改:2018-03-01 10:51:23.398752434 +0800
9 最近改动:2018-03-01 10:51:23.398752434 +0800
创建时间:-
[root@bogon data]# touch -c a-c
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
18 最近访问:2018-03-01 11:46:07.375982195 +0800
19 最近更改:2018-03-01 11:46:07.375982195 +0800
20 最近改动:2018-03-01 11:46:07.375982195 +0800
创建时间:-
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2018-03-01 11:46:07.375982195 +0800
最近更改:2018-03-01 11:46:07.375982195 +0800
9 最近改动:2018-03-01 11:46:07.375982195 +0800
创建时间:-
[root@bogon data]# touch -a a-c
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
18 最近访问:2018-03-01 11:47:54.274485562 +0800
最近更改:2018-03-01 11:46:07.375982195 +0800
20 最近改动:2018-03-01 11:47:54.274485562 +0800
创建时间:-
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2018-03-01 11:47:54.274485562 +0800
8 最近更改:2018-03-01 11:46:07.375982195 +0800
9 最近改动:2018-03-01 11:47:54.274485562 +0800
创建时间:-
[root@bogon data]# touch -m a-c
[root@bogon data]# stat a-c
文件:"a-c"
大小:6 块:0 IO 块:4096 目录
设备:fd00h/64768d Inode:136910832 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2018-03-01 11:47:54.274485562 +0800
19 最近更改:2018-03-01 11:50:37.090253619 +0800
20 最近改动:2018-03-01 11:50:37.090253619 +0800
创建时间:-
1 [root@bogon data]# touch -t 1705030503.53 a-c
2 [root@bogon data]# stat a-c
3 文件:"a-c"
4 大小:6 块:0 IO 块:4096 目录
5 设备:fd00h/64768d Inode:136910832 硬链接:2
6 权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
7 环境:unconfined_u:object_r:default_t:s0
8 最近访问:2017-05-03 05:03:53.000000000 +0800
9 最近更改:2017-05-03 05:03:53.000000000 +0800
10 最近改动:2018-03-01 11:50:37.090253619 +0800
11 创建时间:-
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
(1)通过 alias 命令可以查看所有命令的别名或者定义别名,定义别名格式:alias NAME=COMMAND(定义的别名只对当前shell终端有效)。
取消别名可通过命令 unalias。
示例:
[root@bogon data]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
[root@bogon data]# alias copy='cp -ri'
[root@bogon data]# alias
alias copy='cp -ri'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
[root@bogon data]# unalias copy
(2)引用命令的执行结果可通过 $(COMMAND) 或者 `COMMAND` 两种方式。
示例:
[root@bogon data]# echo $(date)
2018年 03月 01日 星期四 11:41:20 CST
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
[root@bogon data]# ls -d /var/l*[[:digit:]]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@bogon data]# ls -d /etc/[0-9]*[^0-9]
或
[root@bogon data]# ls -d /etc/[[:digit:]]*[^[:digit:]]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
[root@bogon data]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@bogon data]# touch /tmp/tfile-$(date '+%Y-%m-%d-%H-%M-%S')
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@bogon data]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@bogon data]# cp -r /etc/*.d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@bogon data]# cp /etc/[l,m,n]*.conf /tmp/mytest3
Linux常见文件管理命令的更多相关文章
- Linux 常见文件管理命令
Linux文件系统 根目录:/ 从根目录开始,下面有一堆小目录 root:根用户的目录 bin:可执行文件命令 etc:配置文件 var:日志 lib:安装包或头文件,库文件 home:所有用户的家目 ...
- linux简单文件管理命令的使用
在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理 ...
- Linux常见压缩命令 - gzip,zcat,bzip2,bzcat
几个常见的压缩文件扩展名 *.Z compress 程序压缩的文件: *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *.tar tar 程序打包的数据,并没有压缩过: ...
- Linux常用文件管理命令
Command Description cat filename 查看文件内容. cd dirname 改变所在目录. cp file1 file2 复制文件或目录. file filename 查看 ...
- linux常见编辑命令
保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推出vi :wq 保存文件并退出vi :wq! 强制 ...
- Linux 常用文件管理命令
Command Description cat filename 查看文件内容.举例:cat pushticketfast.sh --最好用tail -n 500 cd dirname 改变所在 ...
- Linux常用文件管理命令详解
cat cat命令用于连接文件并打印到标准输出设备上. 命令语法:cat [参数] [文件名] 参数说明: 参数 说明 -n 由1开始对所有输出的行数进行编号. -b 由1开始对所有输出的行数进行编号 ...
- 03 Linux的目录结构与常见文件管理
Linux目录结构 根文件系统rootfs用来实现整个文件的管理: 而Linux下的所有文件都需要通过根文件系统才能访问: FHS:Filesystem Hierarchy Standard文件层次化 ...
- 一个linux常见命令的列表
这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...
随机推荐
- node搭环境(二)之 bower gulp
前面详细记录了安装node及git,接来下要安装bower,首先创建一个空文件夹bowerandgulp. 步骤:1.安装node.js 2.node里面自带了 npm 3.通过npm 安装cnpm ...
- node.js 模块和其下载资源的镜像设置
以前安装 electron 时总是失败,然后就在淘宝镜像上下载好相应版本的文件放到用户目录来解决问题. 后来研究发现 npm 不仅可以设置 node.js 模块仓库的代理, 同样可以设置像 elect ...
- vue-样式问题
问题: 今天在用vue开发单页面应用的时候,遇到一个问题,在A页面,直接刷新,页面的布局样式之类的是没有问题的,不过在B页面跳转到A页面,那么A页面有一些样式就不是预期的效果. 发现解决问题: 用调试 ...
- Vue.js 插件开发
Vue.js 的插件应当有一个公开方法 install .这个方法的第一个参数是 Vue 构造器 , 第二个参数是一个可选的选项对象: MyPlugin.install = function (Vue ...
- yii2.0安装ElasticSearch及使用
yii2.0安装ElasticSearch安装及使用教程:https://www.yiichina.com/tutorial/1046 Elasticsearch 权威指南(中文版):https:// ...
- MOSS2010中如何用代码给托管元数据类型的栏目赋值
最近项目中遇到如何用代码给托管元数据类型的栏目赋值问题,经过折腾,现把我的思路和实现方法共享出来,让大家一起来学习学习.相互探讨下. /// <summary> /// 托管元数据 /// ...
- SpringBoot支持Xml数据格式显示
第一步:pom文件添加依赖 <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> < ...
- Java问题定位之如何借助线程堆栈进行问题分析
在大型的应用中,线程堆栈打印出来特别多,如何从众多的信息中找到真正有用,有价值的信息,我们需要一定的技巧.本文对此详细介绍. 我们可以从三个方面分析:堆栈的局部信息,一次堆栈的统计信息,多个堆栈的对比 ...
- Oracle编程入门经典 第12章 事务处理和并发控制
目录 12.1 什么是事务处理... 1 12.2 事务处理控制语句... 1 12.2.1 COMMIT处理... 2 12.2.2 RO ...
- OpenGL学习 Following the Pipeline
Passing Data to the Vertex Shader Vertex Attributes At the start of the OpenGL pipeline,we use the i ...