1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
相关命令:
目录管理:
pwd:显示当前工作目录
cd: 目录间跳转
cd – :在上一个目录和当前目录间跳转
cd 或 cd ~ :回当前用户的家目录
ls:显示当前目录下的内容
ls -l: 长格式显示 drwxr-xr-x. 3 root root 443 15 6月 12 12:01 opt
drwxr-xr-x :最左侧代表文件类型
-:普通文件
d:目录
l:链接文件
b:块设备
c:字符设备
p:管道文件
s:套接字文件
rwxr-xr-x:每三位分别对应属主属组其他用户的读写执行权限。
3:文件被硬链接次数
root:文件的属主
root:文件的属组
数字:文件大小
date:文件最后一次被修改的时间
ls -h (human-readable): 单位换算,人可读
ls -d : 显示目录自身的相关属性
ls -r : 逆序显示
ls -R : 递归显示
mkdir:创建目录
-p: 自动创建所需的各目录
-v: 显示细节
-m: 创建时直接指定权限
rmdir:删除空目录
tree: 树状显示目录下内容
-d:只显示目录
-L #:level 显示几个层级
-P pattern :只显示由指定pattern匹配到的路径
文件查看类命令:
cat:查看文件
tac:逆序查看文件
more,less:查看文件 可翻页查看
head:
-c #:截取前#个字节
-n #:截取前n行
tail:
-c #: 截取后#个字节
-n #:截取后n行
文件时间戳管理命令:
touch :
三个时间戳:
access time:访问时间,简写为atime,读取文件内容时改变
modify time: 修改时间,简写为mtime,修改文件内容时改变
change time:改变时间,简写ctime,元数据发生改变时改变
-a:only access time
-m: only mtime
-c: 如果文件不存在,则不给予创建
文件管理:
cp:拷贝 cp SRC DEST
SRC是文件:
DEST:不存在:新建,拷贝填充
文件存在:覆盖
DEST是目录:则在其下创建新的,拷贝填充
SRC是多文件:
DEST必须是目录且存在
SRC是目录:
必须使用-r选项
DEST不存在:则创建指定目录,复制SRC目录中的所有文件到DEST中去
DEST存在,且必须是目录,否则报错
常用选项:
-r:递归复制
-i:交互式
-a:归档式复制
-p:–preserve=mode,ownership,timestamp
-v: 可见
-f: force
mv:移动
mv SRC DEST
rm:删除
-i:交互式删除
-r: 递归删除
-f: 强制删除
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
工作特性:
(1)命令历史:
history:内容存储在~/.bash_history
history #: 显示命令历史中最近的#条
history -a:追加当前回话缓冲区的命令历史至历史文件
调用命令历史中的命令:
!#:调用哪一条命令
!!:上一条命令
!string:匹配上一次string的命令
调用上一次的最后一个参数:
!$:
ESC, .
Alt+.
(2) 命令补全 Tab键
(3) 路径补全
(4)命令行展开
(5)命令的执行结果状态
(6)命令别名 alias NAME="value"
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
(7)glob
1.通配符:*,?,[],[^]
2.专用字符集和:
[:digit:],[:lower:],[:upper:],[:alpha:],[:alnum:],[:grapha:]
(8)bash快捷键
(9)bash的IO重定向及管道
3、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
touch /tmp/{a,b}_{c,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 /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}}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
[root@localhost test]# stat sort.sh
文件:"sort.sh"
大小:63 块:8 IO 块:4096 普通文件
设备:fd01h/64769d Inode:104058236 硬链接:1
权限:(0755/-rwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:user_tmp_t:s0
最近访问:2016-06-14 21:48:14.750364346 +0800
最近更改:2016-06-14 21:48:32.367570367 +0800
最近改动:2016-06-14 21:48:32.367570367 +0800
创建时间:-
touch -a: 只改变访问时间
touch -m:只改变修改时间
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias name="command"
$(command)或者`command`
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls /var/ | grep "^1.*[[:digit:]]\+.*[[:lower:]]$"
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls /etc/ | grep "^[[:digit:]].*[^[:digit:]]$"
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls /etc/ | grep "^[^[:alpha:]][[:alpha:]].*"
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
cd /tmp/
touch tfile-$(date +%F-%H-%M-%S)
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r $(ls /etc | grep "^p.*[^[:digit:]]$") /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r $(ls /etc/ | grep "\(\.d\)$") /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp $(ls /etc/ | grep "^[1,m,n].*\(\.conf\)$") /tmp/mytest3
原创文章,作者:love_in_linux,如若转载,请注明出处:http://www.178linux.com/18301
评论列表(1条)
写的很棒,cp的时候是不是可以直接支持正则表达式那?可以尝试一下