1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
Ø ls 查看文件与目录
ls [选项] 文件或目录
常用选项
-a:全部的文件,连同隐藏文件(以.开头)一起列出来
-d:列出目录本身,而不是列出目录里的文件
-l:列出详细信息,如文件的属性与权限等数据
-h:将文件容量以易读的方式显示(例如:GB,KB等)
-t:以时间排序
-S:以文件容量的大小排序
[root@centos6 ~]# ls -lh /tmp
total 12K
drwxr-xr-x. 4 root root 4.0K Jan 4 12:31 a
drwxr-xr-x. 4 root root 4.0K Jan 4 12:31 b
drwxr-xr-x. 14 root root 4.0K Jan 4 12:47 mylinux
Ø cp 复制文件或目录
cp [选项] 源文件 目标文件
或 cp [选项] 源文件1 源文件2 源文件3… 目录
常用选项
-i:若目标存在,复制时提示是否覆盖
-r:递归持续复制,用于目录的复制
-p: 连同文件的属性一起复制,而非使用默认属性
-d: 若源文件为连接文件,则复制连接文件而非文件本身
-a:相当于-pdr
[root@centos6 ~]# cp /etc/issue ./
[root@centos6 ~]# ls -l /etc/issue
-rw-r–r–. 1 root root 47 Nov 27 2013 /etc/issue
[root@centos6 ~]# ls -l ./issue
-rw-r–r–. 1 root root 47 Jan 4 16:35 ./issue
Ø rm 删除文件或目录
rm [-fir] 文件或目录
常用选项:
-f:强制删除,忽略不存在的文件,不会出现警告信息
-i:互动模式,在删除前会询问用户是否操作
-r:d递归删除,常用于删除目录
rm -fr /tmp/*
Ø mv 移动文件或目录
mv [-fiu] 源文件 目标文件
或 mv [选项] 源文件1 源文件2 源文件3… 目录
常用选项
-f:强制删除,如果文件已经存在,不会询问而直接覆盖
-i:若目标存在,复制时提示是否覆盖
-u:若目标文件已经存在,并且源比较新,才会更新
[root@centos6 ~]# mv /tmp/a ./
[root@centos6 ~]# ls -ld a
drwxr-xr-x. 4 root root 4096 Jan 4 12:31 a
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
Ø bash有一特性,可以将执行的命令状态赋值返回,0代表命令执行成功,非0表示命令执行失败,并可以通过$?查看刚刚执行的命令状态.
[root@centos6 ~]# echo $?
0
[root@centos6 ~]# ls -l /etc/onfile
ls: cannot access /etc/onfile: No such file or directory
[root@centos6 ~]# echo $?
2
Ø bash另一个特性,可以通过{}将命令展开.
[root@centos6 ~]# mkdir -p /tmp/{a,b}/{c,d}
[root@centos6 ~]# ls /tmp
a b
[root@centos6 ~]# ls /tmp/a
c d
[root@centos6 ~]# ls /tmp/b
c d
3、请使用命令行展开功能来完成以下练习:
(1)创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@centos6 ~]# mkdir -p /tmp/{a,b}/{c,d}
[root@centos6 ~]# ls /tmp
a b
[root@centos6 ~]# ls /tmp/a
c d
[root@centos6 ~]# ls /tmp/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 -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}}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
Ø 元数据至少包含以下内容:
l 文件的访问模式(read,write,excute)
l 文件的所有者(ower/group)
l 文件的大小
l 文件时间(atime/mtime/ctime)
l 文件特性标志(flag),如SUID
l 该文件真正内容的指向(pointer)
Ø 查看命令 stat
[root@centos6 ~]# stat a
File: `a'
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658939 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-08 14:33:02.554017143 +0800
Modify: 2017-01-08 14:33:39.010017036 +0800
Change: 2017-01-08 14:33:39.010017036 +0800
Ø touch修改文件的时间戳信息
用法: touch [OPTION]… FILE…
常用选项
-c:touch只修改时间戳,不创建空文件
-a:修改access time
-m:修改modify time
-t:指定时间,格式为[[CC]YY]MMDDhhmm[.ss]
[root@centos6 ~]# stat test.txt
File: `test.txt'
Size: 221353 Blocks: 440 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658909 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-04 16:29:54.780000187 +0800
Modify: 2017-01-04 16:29:38.764000447 +0800
Change: 2017-01-04 16:29:38.764000447 +0800
[root@centos6 ~]# touch -mt 200001010000 test.txt
[root@centos6 ~]# stat test.txt
File: `test.txt'
Size: 221353 Blocks: 440 IO Block: 4096 regular file
Device: 803h/2051d Inode: 658909 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-04 16:29:54.780000187 +0800
Modify: 2000-01-01 00:00:00.000000000 +0800
Change: 2017-01-08 14:53:10.674013852 +0800
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
Ø alias定义命令别名
alias NAME=’COMMAND’
此命令只对当前shell有效,可通过修改配置文件,并重读此配置文件使其当前shell以及子shell也有效.
source ~.bashrc
Ø 命令引用有两种方式
l $()
l “
例[root@centos6 ~]#echo $(data)
Sun Jan 8 15:01:31 CST 2017
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -d /var/1[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -d /etc/[^a-z][a-z]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /etc/tfile-$(date +%F-%H-%M-%S)
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
cp -r /etc/p*[0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中
cp -r /etc/*.d /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
cp -r /etc/[1mn]*.conf tmp/mytest3
原创文章,作者:天空,如若转载,请注明出处:http://www.178linux.com/66095
评论列表(1条)
内容很详细,写的也很条理,非常棒,再接再励。