- Linux中文件的相对路径和绝对路径
绝对路径:
以正斜杆开始
完整的文件路径位置
可用于任何想指定的一个文件名
相对路径
不以斜线开始
指定相对于当前工作目录或某目录的位置
可以作为一个简短的形式指定一个文件名
- cd 改变目录
使用绝对路径或者相对路径
cd /etc/sysconfig/network-scripts
cd sysconfig/network-scripts
切换至父目录
cd ..
切换至当前用户主目录
cd
切换至以前的工作目录
cd -
相关环境变量
PWD:保存了上次目录路径
OLDPWD:上次所在目录路径
- 查看文件状态stat
文件: 文件属性 元数据(metadata)
数据(data)
时间戳:
access time:访问时间,atime 读取文件内容
modify time:修改时间,mtime 改变文件内容(数据)
change time:改变数据,ctime 元数据发生改变
- 文件通配符
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~username 用户家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z] 匹配字母 遵循的顺序是[aAbBcC...xXyYzZ]
[A-Z] 大写字母
[wxy] 匹配列表中的任何一个字符
[^wxy] 匹配列表中所有字符之外的字符
- 文件通配符 man 7 glob
[:digit:] 匹配任意的数字相当于0-9
[:alpha:] 匹配所有的大小写字母
[:upper:] 匹配所有的大写字母
[:lower:] 匹配所有的小写字母
[:alnum:] 匹配所有字母和数字
[:blank:] 水平空白字符
[:space:] 水平或垂直空白字符
[:punct:] 标点符号
[:print:] 可打印字符
[:cntrl:] 控制(非打印)字符
[:graph:] 图形字符
[:xdigit:] 十六进制字符
- touch命令
touch [option]...file...
-a 仅改变 atime
-m 仅改变 mtime
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
-c 如果文件不存在,则不予创建
- 复制文件和目录cp
cp [OPTION]...[-T] SOURCE DEST
cp [OPTION]...SOURCE...DIRECTORY
cp [OPTION]...-t DIRECTORY SOURCE...
cp SRC DEST
SRC是文件:
如果目标不存在,新建DEST,并将SRC中内容填充之DEST中
如果目标存在:
如果DEST是文件,将SRC中的内容覆盖至DEST中
如果DEST是目录,在DEST下新建与原文件同名文件,并将SRC中内容填充之新文件中
cp SRC...DEST
SRC...: 多个文件
DEST必须存在,且为目录,其他情况皆出错
cp SRC DEST
SRC 是目录:此时使用-r选项
如果DEST不存在,则创建指定目录,复制SRC中所有文件至DEST中
如果DEST存在:
如果DEST是文件,则报错
如果DEST是目录,则复制
- cp [OPTIONS]
-i 交互式
-r -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
-d --no-dereference --preserv=links 不复制原文件,只复制链接文件
--preserv=:
mode
ownership
timestamp
links
xattr
context
all
-p 等同 --preserv=mode,ownership,timestamp
-v --version
-f --force
- 别名命令
显示当前shell进程多有可以使用的命令别名:alias
bash进程重新读取配置文件
source /path . /path
撤销别名 unalias
unalias [-a] name [name...]
如果别名与原命令重名,如果想使用原命令
"\COMMAND"
`COMMAND`(反引号)
绝对路径
- 移动和重命名文件 mv
mv [OPTION]...[-T] SOURCE DEST
mv [OPTION]...SOURCE...DIRECTORY
mv [OPTION]...-t DIRECTORY SOURCE...
-i 交互式
-f 强制性
- 删除 rm
-i 交互式
-f 强势删除
-r 递归
--no-preserv-root
- 目录操作
tree 显示目录树
-d 只显示目录
-L(level) 指定显示的层级数目
-P(pattern) 只显示由指定pattern匹配到的路径
mkdir 创建目录
-p 可自动创建所需的各级目录
-v 显示详细信息
-m(mode) 创建目录是指定权限
rmdir 删除空目录
-p 递归删除父目录
-v 显示详细信息
13. 标准输入和输出
程序:数据+指令
读入数据:Input
输出数据:Output
打开的文件都有一个fd:file descriptor(文件描述符)
标准输入(STDIN): 0 默认接受来自键盘的输入
标准输出(STDOUT): 1 默认显示到终端窗口
标准错误输出(STDERR): 2 默认显示到终端窗口
I/O重定向:改变默认位置
<:把STDIN重定向到文件
>: 把STDOUT重定向到文件
2>: 把STDERR重定向到文件
&>: 把所有输出重定向到文件 等同于2>&1
>: 文件内容会被覆盖
set -C:禁止将内容覆盖已有文件,但可追加强制覆盖:>|
set +C:允许覆盖
>>: 原有内容基础上,追加内容
2>: 覆盖重定向错误输出数据流
2>>:追加重定向错误输出数据流
&>: 覆盖重定向
&>>: 追加重定向
find /etc -name passwd 2> /dev/null
(): 合并多个程序的STDOUT
(cal 2015; cal 2016 ) >all.txt