1、Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。
文件管理类命令有:cp,mv,rm
1. cp:copy
使用方法:
单源复制:cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归复制目录
-d:复制符号链接文件本身,而非其指向的源文件
-a:-dR –preserve=all,archive,用于实现归档
–preserv=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
实例:
[root@test samba]# cp -air /etc/samba /tmp 将samba目录下的所有文件包括子目录及其所有属性以交互的方式的复制到/tmp目录下
[root@test samba]# ll /etc/samba /tmp/samba/
/etc/samba:
total 20
-rw-r–r–. 1 root root 20 May 12 13:23 lmhosts
-rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf
-rw-r–r–. 1 root root 97 May 12 13:23 smbusers
/tmp/samba/:
total 20
-rw-r–r–. 1 root root 20 May 12 13:23 lmhosts
-rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf
-rw-r–r–. 1 root root 97 May 12 13:23 smbusers
2. mv:move
使用方法:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE..
常用选项:
-i:交互式;
-f:force
实例:
[root@test tmp]# mv samba mv_samba 将samba目录重命名为mv_samba
[root@test tmp]# ll |grep *samba
drwxr-xr-x. 3 root root 4096 Aug 19 09:43 mv_samba
[root@test tmp]# mv test test2 将test目录移动到test2目录下
3. rm:remove
使用方法:
rm [OPTION]… FILE…
常用选项:
-i:interactive
-f:force
-r: recursive
实例:
[root@test tmp]# rm -rf mv_samba 删除mv_samba目录及目录内所有子目录和文件
危险操作:rm -rf /*
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
1.bash的基础特性:命令的执行状态结果
命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
示例 :
[root@test tmp]# ll tmp 命令失败输出结果为:2
ls: cannot access tmp: No such file or directory
[root@test tmp]# echo $?
2
[root@test tmp]# ll tfile-2016-08-20-22-17-45 命令成功输出结果为:0
-rw-r–r–. 1 root root 0 Aug 20 22:17 tfile-2016-08-20-22-17-45
[root@test tmp]# echo $?
0
2.bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录;
示例:
[root@test tmp]# cd ~ 进入root家目录
[root@test ~]# pwd
/root
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
示例:
[root@test tmp]# mkdir ./{a,b} 在tmp目录同时创建a,b两个目录
[root@test tmp]# ll -d a b
drwxr-xr-x. 2 root root 4096 Aug 20 22:34 a
drwxr-xr-x. 2 root root 4096 Aug 20 22:34 b
3、请使用命令行展开功能完成以下练习:
(1)、创建/tmp目录下的:a_c,a_d,b_c,b_d
mkdir /tmp/{a,b}_{c,d}
mkdir /tmp/{a_{c,d},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
[root@test tmp]# mkdir -p 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@test tmp]# tree 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
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
元数据信息:
File:文件名
Size:文件大小
Blocks:多少块
IO Block: 块大小
regular file:文件类型
Device: 设备
Inode: 索引节点
Links: 连接数
Access: (0600/-rw——-) 文件权限
Uid: 所属用户ID
Gid: 所属组ID
Access: 访问时间
Modify: 修改时间
Change: 改动时间
查看文件的元数据:stat FILE…
示例:
[root@test tmp]# stat sshd_config
File: `sshd_config'
Size: 3880 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 68946 Links: 1
Access: (0600/-rw——-) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-08-20 23:00:29.481616790 +0800
Modify: 2016-08-20 23:00:29.481616790 +0800
Change: 2016-08-20 23:00:29.481616790 +0800
修改文件时间戳信息:
touch命令:
touch – change file timestamps
touch [OPTION]… FILE… 注:不加选项时,所有时间都会改变
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
示例:
[root@test tmp]# touch -m -t 200201010101.01 sshd_config
[root@test tmp]# stat sshd_config 更改时间改为:2002年1月1日1点1分1秒(注:改动时间为命令执行时间)
File: `sshd_config'
Size: 3880 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 68946 Links: 1
Access: (0600/-rw——-) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-08-20 23:00:29.481616790 +0800
Modify: 2002-01-01 01:01:01.000000000 +0800
Change: 2016-08-20 23:18:48.023616905 +0800
5、如何定义一个命令别名,如何在命令中引用另一个命令执行结果?
1.定义命令别名格式:
alias [-p] [name[=value] … ]
实例:
[root@test ~]# alias cls=clear 用cls命令实现清屏功能
2.引用命令执行结果:
$(COMMAND) 或 $'COMMAND'
实例:
[root@test tmp]# mkdir $(date +%Y-%m-%d) 创建以今天的日期为名字的目录
[root@test tmp]# ll
total 60
drwxr-xr-x. 2 root root 4096 Aug 20 21:22 2016-08-20
6、显示/var目录下所有以l开头,且非数字结尾的文件或目录。
[root@test var]# ls -d l*[^0-9]
lib local lock log
7、显示/etc目录下,任意一个数字开头,且以非数字结尾的文件或目录。
[root@test var]# ls -d /etc/[0-9]*[^0-9]
ls: cannot access /etc/[0-9]*[^0-9]: No such file or directory
8、显示/etc目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录。
1.[root@test var]# ls /etc/[^a-z][a-z]*
ls: cannot access /etc/[^a-z][a-z]*: No such file or directory
2.[root@test var]# ls /etc/[^[:alpha:]][a-z]*
ls: cannot access /etc/[^[:alpha:]][a-z]*: No such file or directory
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@test tmp]# touch tfile-$(date +%F-%H-%M-%S)
[root@test tmp]# ls |grep tfile
tfile-2016-08-20-22-17-45
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
1.[root@test tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1
2.[root@test tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@test tmp]# cp -r /etc/*.d /tmp/mytest2
12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@test tmp]# cp -r /etc/[lmn]*.conf /tmp/mytest3
原创文章,作者:N22_上海_长清,如若转载,请注明出处:http://www.178linux.com/38129
评论列表(2条)
写的很好,排版还可以在漂亮一点,加油,3大题2小题在仔细看看老师出的题目
@马哥教育:老师,我是进入tmp目录下使用的mkdir -p mylinux/ , [root@test tmp]# 相对路径 ,是这个有问题吗?