目录管理命令 mkdir,tree
mkdir
-P:创建多层目录时,当上层目录不存在时自动创建各层目录
-V:显示详细信息
-m MODE:创建目录时直接指定权限
tree:列出目录的层级结构
-d:只列出目录
-L:层级。最多到第几级子目录
如 tree -L 2
-P pattern:只显示由指定pattern匹配到的目录
文件的时间戳管理工具 touch
三个时间戳:
access time 最后的访问时间 touch可以修改
modify time 最后的修改时间 touch可以修改
change time 最后的改变时间 touch不能修改
touch -a 只改访问时间戳
-m 只改修改时间戳
-t 指名时间戳 touch -t 201508152208.35
2015 年 08月 15日 22时 08分 35秒
-c 文件存在就“摸”一下,不存在则不创建(默认touch a.txt 如果a.txt不存在会创建这个文件的)
stat filename 显示文件的元数据
stat README.md
File: `README.md'
Size: 2677 Blocks: 8 IO Block: 1096 regular file
Device: fc10h/64728d Inode: 40415865 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/xxxxx) Gid: ( 500/xxxxx)
Access: 2021-04-12 14:55:02.177777127 +0800
Modify: 2021-02-25 10:08:50.467703405 +0800
Change: 2021-02-25 10:08:50.467703405 +0800
alias 命令别名
alias cp='cp -I'
alias 命令仅对当前的shell进程有效
如果想要永久有效,要定义在配置文件中:
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
bash进程重新读取配置文件:
source /path/to/file_config
或 . /path/to/file_config
撤销别名:unalias NAME 如:unalias cp
\cp 表示执行原cp命令,而不是执行别名 'cp -i'
cp 命令
cp SRC DEST
(1)SRC是文件:
目标不存在,新建DEST文件
目标存在:如果DEST是文件,则覆盖,加 -i 选项,提示是否覆盖
如果DEST是目录,则直接在DEST下创建新的SRC同名文件
(2)SRC是目录:
默认报错,需要加上-r 或 -R,效果一样
如果DEST不存在,则会创建DEST目录,将SRC目录下的文件复制到DEST目录中
如果DEST存在,必须为目录,则将SRC目录直接复制到DEST目录中
如果要将SRC目录里的所有文件,全部复制到DEST(已存在)目录中:
cp SRC/. DEST
I/O 重定向及管道
打开的文件都有一个fd,文件描述符
标准输入:keyboard,文件描述符:0
标准输出:monitor,fd:1
标准错误:monitor,fd:2
I/O重定向,即改变标准位置。
输出重定向:COMMAND > NEW_POS,COMMAND >> NEW_POS
>:覆盖重定向,目标文件中的原有内容会被清除
>>:追加重定向,新的内容会追加到目标文件尾部
set -C:禁止覆盖重定向
set +C:取消 -C 的禁止功能
重定向错误输出:2 >,2 >>
stdout,stderr 各自定向至不同位置
COMMAND > file.out 2 > error.out
合并stdout和stderr,输出为同一数据流进行重定向
&>,&>>
或者:COMMAND > file.out 2 > &1
COMMAND >> file.out 2 >> &1
输入重定向:<
tr 命令:转换或删除字符
tr abc ABC < /path/to/file.out
管道:命令管道,前一个命令的输出作为下一个命令的输入
COMMAND1 | COMMAND2 | COMMAND3
注意:最后一个命令会在当前shell进程的子shell进程中执行
head -5 filename | tr 'a-z' 'A-Z' > ./xxx.txt
文件操作工具 wc cut sort uniq
wc命令:word count
-l:行数
-w:单词数
-c:字节数
cut命令:剪切显示
-d:指明分隔符 默认空白字符
-f:要显示哪些字段
--output-delimiter='xxx' 指定输出的分隔符
cut -d ' ' -f 1 /etc/fstab
cut -d ' ' -f 1,3 /etc/fstab
cut -d ' ' -f 1-3 /etc/fstab
sort命令:内容排序 sort file
-r:降序
-f:忽略字符大小写
-t:指明分隔符 -k:指明第几个字段进行排序
-n:以数值大小进行排序,而不是数字当作字符
-u:相同行只显示一次
uniq命令:连续且完全相同方为重复
-c:显示每行重复的次数
-d:仅显示重复过的行
-u:仅显示没有重复过的行
网友评论