Linux学习笔记,总第八篇,实第四篇
一、杂项知识整理:
1、cd - 切换至前一个目录;~- 用作指定前一个目录,~+ 当前目录:当程序调用时使用。例如:
[root@localhost ~]# cd ~- [root@localhost testdir]# cd - /root [root@localhost ~]# cp iotop.txt ~- cp:是否覆盖"/root/shelltest/iotop.txt"? y "iotop.txt" -> "/root/shelltest/iotop.txt" [root@localhost ~]# cp iotop.txt - "iotop.txt" -> "-" [root@localhost ~]# ls - anaconda-ks.cfg iotop.txt shelltest vimrc
2、搜索大小写时大小写搜索顺序为a A b B c C d D...z Z。例如:
[root@localhost project]# touch {a,A,b,B,c,C,d,D}.{txt,log} [root@localhost project]# ls [aAbBcCdD].log {aAbBcCdD}.txt a.txt B.log c.log C.txt d.txt test.b {aAbBcCdD}.log a.log A.txt b.txt C.log d.log D.txt test.c [aAbBcCdD].txt A.log b.log B.txt c.txt D.log test.a test.d [root@localhost project]# ls [a-c].txt a.txt A.txt b.txt B.txt c.txt [root@localhost project]# ls [a-C].txt a.txt A.txt b.txt B.txt c.txt C.txt [root@localhost project]# ls [A-c].txt A.txt b.txt B.txt c.txt
3、文件命名最长4095个字节,用/分割的路径不能超过255个字节。查看时不同颜色不同的类型,
蓝色为目录,绿色为可执行文件,红色为压缩文件,浅蓝色为链接文件,灰色为其它文件。
4、文件通配符:[[:digit:]]任意数字,相当于0-9;[[:lower:]]任意小写字母;
[[:upper:]]任意大写字母;[[:alpha:]]任意大小写字母;[[:alnum:]]任意数字或字母;
[[:space:]]空格;[[:punct:]]标点符号。
5、关于复制:
当复制单个文件时:文件不存在则直接复制文件过去。文件存在则覆盖原有文件(危险操作)。
当存在且为文件夹时提示无法覆盖文件夹,复制至同名文件夹下时会新建文件在目录下。
当复制多个文件时:文件夹不存在则报错。存在且为文件时报错提示不是目录。
当存在且为目录时,在目录下存放。
当复制文件夹时,用-r选项:当目标不存在时创建同名目录并复制所有文件。当存在且为文件时,
报错。当存在且为目录时,在目录下新建同名目录并复制所有文件,若在其父目录复制,
则提示是否覆盖。
6、alias -a 暂时全部取消别名
二、详细命令及事例
1、stat命令
查看文件状态,包括atime,mtime,ctime,例如:
[root@localhost project]# stat a.log 文件:"a.log" 大小:0 块:0 IO 块:4096 普通空文件 设备:803h/2051dInode:344074 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:unlabeled_t:s0 最近访问:2016-07-28 14:43:55.199650268 +0800 最近更改:2016-07-28 14:43:55.199650268 +0800 最近改动:2016-07-28 14:43:55.199650268 +0800 创建时间:-
2、cp命令
-i 交互式
-r或R 递归复制,复制目录
-d 复制软链接时,只复制链接文件,但复制之后一般都无法使用
-a 归档,与-dpR参数相同,保留目录,保留属性,递归处理
-f force
-v 显示过程
-b 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接并指向原文件或者目录,
如果没有这个参数,复制过程中若遇到符号链接,则会直接复制原文件或目录,
备份在复制后的目录中,例如:
[root@localhost tmp]# ls inittab yum_save_tx.2016-07-23.17-35.u84Y8w.yumtx ks-script-Zx8_N3 yum_save_tx.2016-07-23.17-37.gWPW8r.yumtx md0 yum_save_tx.2016-07-23.17-37.iPdlJd.yumtx md1 yum_save_tx.2016-07-23.17-43.vAIAgh.yumtx md3 yum_save_tx.2016-07-24.17-47.irgS7X.yumtx yum.log yum_save_tx.2016-07-26.16-57.W9xyGR.yumtx yum_save_tx.2016-07-23.17-35.BQeZtd.yumtx yum_save_tx.2016-07-26.21-07.12PgzA.yumtx [root@localhost tmp]# cd /testdir/tmp/ [root@localhost tmp]# ls inittab yum_save_tx.2016-07-23.17-35.u84Y8w.yumtx inittab~ yum_save_tx.2016-07-23.17-35.u84Y8w.yumtx~ ks-script-Zx8_N3 yum_save_tx.2016-07-23.17-37.gWPW8r.yumtx ks-script-Zx8_N3~ yum_save_tx.2016-07-23.17-37.gWPW8r.yumtx~ md0 yum_save_tx.2016-07-23.17-37.iPdlJd.yumtx md0~ yum_save_tx.2016-07-23.17-37.iPdlJd.yumtx~ md1 yum_save_tx.2016-07-23.17-43.vAIAgh.yumtx md1~ yum_save_tx.2016-07-23.17-43.vAIAgh.yumtx~ md3 yum_save_tx.2016-07-24.17-47.irgS7X.yumtx md3~ yum_save_tx.2016-07-24.17-47.irgS7X.yumtx~ tmp yum_save_tx.2016-07-26.16-57.W9xyGR.yumtx yum.log yum_save_tx.2016-07-26.16-57.W9xyGR.yumtx~ yum.log~ yum_save_tx.2016-07-26.21-07.12PgzA.yumtx yum_save_tx.2016-07-23.17-35.BQeZtd.yumtx yum_save_tx.2016-07-26.21-07.12PgzA.yumtx~ yum_save_tx.2016-07-23.17-35.BQeZtd.yumtx~
三、课后作业及练习
1、只显示隐藏文件
[root@localhost tmp]# ls -ad .* . .. .font-unix .ICE-unix .Test-unix .X11-unix .XIM-unix
2、只显示目录;三种方法:
[root@localhost testdir]# ls -aF | grep -n / 1:./ 2:../ 7:copytest/ 9:lost+found/ 10:shelltest/ 11:test.bak/ 12:tmp/ [root@localhost testdir]# ls -ad */ copytest/ lost+found/ shelltest/ test.bak/ tmp/ [root@localhost testdir]# ls -ap | grep / ./ ../ copytest/ lost+found/ shelltest/ test.bak/ tmp/
3、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录:
[root@localhost project]# ls 1*[[:digit:]]*[[:lower:]] 1a2a.log
4、显示/etc目录下任意一位数字开头且以非数字结尾的文件或目录:
[root@localhost project]# ls [[:digit:]]*[^[:digit:]] 11455455ggg.c 1a2a.log
5、显示/etc目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录:
[root@localhost project]# ls [^[:alpha:]][[:alpha:]]* 1a2a.log ;aa557.log [aAbBcCdD].log {aAbBcCdD}.log [aAbBcCdD].txt {aAbBcCdD}.txt
6、显示/etc目录下所有.conf结尾且以m,n,r,p开头的文件或目录:两种方法:
[root@localhost project]# ls /etc/[mnrp]*.conf /etc/man_db.conf /etc/nsswitch.conf /etc/resolv.conf /etc/rsyslog.conf /etc/mke2fs.conf /etc/pcp.conf /etc/rsyncd.conf [root@localhost project]# ls /etc/{m,n,r,p}*.conf /etc/man_db.conf /etc/nsswitch.conf /etc/resolv.conf /etc/rsyslog.conf /etc/mke2fs.conf /etc/pcp.conf /etc/rsyncd.conf