1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
常用的文件管理类命令有:复制、移动、删除文件及目录
复制:cp命令
格式:cp [选项] SRC DEST
常用选项:
-r 源文件应为目录文件,递归复制目录及目录内的所有文件到指定路径下。
如果指定目标文件为目录且目录存在,则将源文件复制到目标目录下;如果目标目录不存在,则创建指定目录,并复制 源文件中所有内容至指定目录中。
-a 归档复制,复制源文件所有信息,包含元数据。
[root@centos01 newtmp]# ll /tmp
总用量 40
-rw-r–r–. 1 root root 19295 6月 15 11:27 functions
drwxr-xr-x. 2 root root 4096 6月 7 11:49 hsperfdata_root
drwx——. 2 root root 4096 11月 11 2015 keyring-NRt8Tq
srwxrwxrwx. 1 mysql mysql 0 4月 26 14:47 mysql.sock
-rw-r–r–. 1 root root 54 6月 15 15:24 numbers.txt
drwx——. 2 gdm gdm 4096 4月 7 19:56 orbit-gdm
drwx——. 2 gdm gdm 4096 4月 7 19:56 pulse-4VYwNbp3K8ID
[root@centos01 newtmp]# ll
总用量 0
[root@centos01 newtmp]# cp -r /tmp /root/newtmp/
[root@centos01 newtmp]# ll
总用量 4
drwxr-xr-t. 8 root root 4096 6月 15 15:38 tmp
[root@centos01 newtmp]# rm -rf tmp/
[root@centos01 newtmp]# cd ..
[root@centos01 ~]# rm -rf newtmp/
[root@centos01 ~]# cp -r /tmp /root/newtmp/
[root@centos01 ~]# ll
[root@centos01 ~]# cd newtmp/
[root@centos01 newtmp]# ll
总用量 40
-rw-r–r–. 1 root root 19295 6月 15 15:38 functions
drwxr-xr-x. 2 root root 4096 6月 15 15:38 hsperfdata_root
drwx——. 2 root root 4096 6月 15 15:38 keyring-NRt8Tq
srwxr-xr-x. 1 root root 0 6月 15 15:38 mysql.sock
-rw-r–r–. 1 root root 54 6月 15 15:38 numbers.txt
drwx——. 2 root root 4096 6月 15 15:38 orbit-gdm
drwx——. 2 root root 4096 6月 15 15:38 pulse-4VYwNbp3K8ID
移动:mv命令
格式:mv [选项] SRC DEST
功能:移动或重命名文件或目录
删除:rm命令
格式:rm [选项] FILE|DIRECTORY
常用选项:
-f 强制删除
-i 交互
-r 递归删除目录及其下所有文件
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令状态返回值是指: 执行一条命令,只有两种结果,成功或失败,在Linux中有一个特殊的变量$?用来查看命令执行成功与否,执行成功返回0,执行失败返回1-127之间的数字
ls命令查看一个不存在的文件:
[root@centos01 ~]# ls 123
ls: 无法访问123: 没有那个文件或目录
[root@centos01 ~]# echo $?
2
ls命令查看一个存在目录
[root@centos01 ~]# ls /tmp
functions hsperfdata_root keyring-NRt8Tq mysql.sock numbers.txt orbit-gdm pulse-4VYwNbp3K8ID
[root@centos01 ~]# echo $?
0
命令行展开分以下几类
~:展开为用户的家目录,例如 cd ~user1 表示切换至user1的家目录
{}:中间使用逗号隔开,可将其展开为多个路径或文件
例如:/tmp/{a,b}_{c,d}展开为/tmp/a_c /tmp/a_d /tmp/b_c /tmp/b_d
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 -p /tmp/mylinux/{b{in,oot/grub},dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib{/modules,64},proc,s{bin,ys},tmp,usr/local/{bin,sbin},var/{lock,log,run}}
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元数据包含:文件属主、属组,访问权限,文件名,文件大小,文件的Inode,访问时间,修改时间,改变时间
touch -m|a TIMESTAMP
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
alias ll='ls -al'
使用“或者$()引用另一个命令的结果 如kill `cat /usr/local/nginx/logs/nginx.pid`
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -a /var|grep "^1.*[0-9]\+.*[a-z]$"
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -a /etc|grep "^[0-9].*[^0-9]$"
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -al /etc | grep "^[^[:alpha:]][[:alpha:]].*"
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-`date +%F-%H-%M-%S`
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cd /etc
cp -r `ls -a /etc | grep "^p.*[^0-9]$"` /tmp/mytest1/
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
mkdir /tmp/mytest2
cd /etc
cp -r `ls -a |grep "\.d$"` /tmp/mytest2
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
mkdir /tmp/mytest3
cd /etc
cp -r `ls -a |grep "^[1mn].*\.conf$"` /tmp/mytest3
原创文章,作者:pandamir,如若转载,请注明出处:http://www.178linux.com/18371
评论列表(1条)
写的很棒,案例还可以在多点,可以多关注一下排版,12题在仔细看一下,有点小瑕疵