文件
ex: -rw--w-r-- 1 user group day month time text.xx
第一个文件代表意义(0):
-
d:目录 -
-:文件 -
I:链接文档 -
b:可随机存储装置 -
c:串行端口设备
后续文字意义:
- 1、三个为一组均为[rwx]组合(r:read w:write x:execute)
- u=第一组(123):文件拥有者权限
- g=第二组(456):所属组权限
- o=第三组(789):其他用户权限
- 2、文件硬链接个数
- 3、文件拥有者
- 4、同属者
- 5、占用内存大小
- 6、修改时间
修改权限
chmod [xx] file:修改文件的权限
- [u=rwx,g=rwx,o=rwx]/[u+r,w,x…] :修改各自对应的权限
- [a=rwx]:修改所有的权限
- [777]:对应的权限值和,可修改权限
chown user file:修改文件所有者
chgrp group file:修改文件所属组
处理文件常用命令
•ls/ll -al ~:显示所有文件(~显示隐藏) -i:查看inode number
•cd .:表示当前目录 cd ..:表示父目录 cd -:切换到上次所在位置 cd~:用户家目录
•touch file.xxx:创建文件或更改文件的时间
•touch {1,2,3,..}.xxx:创建多个文件
•vi/vim file.xxx:创建并编辑文件
•pwd:查看当前绝对路径
-
绝对路径:以(/)开头,描述文件完整位置
-
相对路径:不以(/)开头,指定相对于当前工作目录而言的位置
•mkdir [-mp]:创建新目录 [p]:递归创建 [m]:修改文件权限 777
•rmdir [-p]:删除空目录 [p]:删除上层空目录
•cp [-pdri]:复制 [p]:连同文件属性复制 [r]:递归持续复制 [d]:复制链接文档而非文件本身 [i]:目标文档已存在,提示是否覆盖
•rm [-fir]:移除文件或目录 [f]:忽略不存在文件 [i]:互动模式 [r]:递归删除
创建回收站:myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S);
- mkdir -p $D; mv “$@” $D && echo “moved to $D ok”; }
- alias rm= ‘myrm’
- rm [1,2,3].xxx
•mv [-fiu]:移动文件或目录,修改名称 [f]:强制 [i]:互动模式 [u]:source较新,update
•远程 rcp: 远程拷贝文件 scp [] 原路径 目标路径:远程拷贝文件,secure copy wget [参数] URL 地址:下载
文件内容查看
•grep []:查找文件内出现
•file/stat:查看文件类型或文件属性信息
•find [-name]:在文件系统中的指定目录下查找指定文件
•cat:从第一行显示 [n]:行号 [v]:列出特殊字符
•tac:从最后一行显示
•nl:显示行号
•more:页显示
•less:页显示可以往前翻页
•head:头几行 [-n number]:显示几行
•tail:尾巴几行 [-n number]:显示几行
•wc -m file_name:统计文件字符数
•wc -w file_name:统计文件文本字数
•wc -l file_name:统计文件行数
•wc file_name:统计文件行数,字数,字符数
链接创建
•ln f1 f2:创建f1的一个硬连接文件f2
•ln -s f1 f2:创建f1的一个符号连接文件f2
压缩解压
文件后缀代表的文件类型
•.bz2:用bzip2压缩的文件
•.gz:用gzip压缩的文件
•.tar:用tar打包的文件
•.xz:用xz打包的文件
•.tbz:tar打包时用bzip2压缩的文件
•.tgz:tar打包时用gzip压缩文件
•.zip:用zip/winzip压缩
•.rar:用rar压缩文件
•.7z:用7za压缩文件
压缩方式
• gzip:流行的GNU gzip数据压缩/解压程序 【 gzip filename 】
• bzip2:性能较高 【 bzip2 filename 】
• tar:文件打包,归档工具 【 tar -czvf filename 】
解压方式
• gzip -d filename.gz
• bzip2 -d filename.bz2
• tar -xzvf filename.tar.gz
命令集合
- file.tar.gz file.tar.bz2
- tar -cvf [tar_file.tar] [1,2,3,4]:打包
- tar -xvf [tar_file.tar]:解包
- tar -zcvf [tar_file.tar.gz] [1,2,3,4]:压缩打包
- tar -zxvf [tar_file.tar.gz]:当前目录解压包
- tar -zxvf [tar_file.tar.gz] -C [指定目录]:解压到指定目录
- tar -jcvf [tar_file.tar.bz2] [1,2,3,4]:压缩打包
- tar -jxvf [tar_file.tar.bz2]:解压
- zip [-r] aim_file source_file
- unzip [-d] 解压后目录文件 压缩文件
I/O重定向
重定向运算符(“<” 和 “>”)必须出现在命令中的其他选项和参数之后。
标准输出
- 重定向:
>是覆盖模式,>>是追加模式, ex:echo “Java3y,zhen de hen xihuan ni” > qingshu.txt把左边的输出放到右边的文件里去
标准输入
许多命令可以接受来自名为标准输入的工具的输入,从键盘内获取内容,可以被重定向。
从文件重定向标准输入,“<”:sort < file.txt
联合使用:sort < file.txt > sort_file.txt
管道
cat /etc/group | grep 'sudo':将'|'前内容放到管道里,后面对管道进行操作
- 管道命令 | :将前面的结果给后面的命令,ex:ls -al | wc,将ls的结果用wc命令来统计字数
- lpr:接受标准输入并将其发送到打印机
- cat poorly_formatted_report.txt | fmt | pr | lpr
- cat unsorted_list_with_dupes.txt | sort | uniq | pr | LPR
echo:把内容重定向到指定的文件中 ,有则打开,无则创建 【日志管理使用】
-
echo 算术运算:
${{ expression }}echo $(($((5**2)) * 3)) - 其中 expression 是由值和算术运算符组成的算术表达式。 - 算术扩展仅支持整数(整数,无小数),但可以执行许多不同的操作 -
支持扩展
- 从包含大括号的模式创建多个文本字符串 ({A,B,C},{1..5},{Z..A})
- a {A {1,2},B {3,4}} b:aA1b,aA2b,aB3b,aB4b
- mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
过滤器
过滤器采用标准输入并对其执行操作,并将结果发送到标准输出。通过这种方式,可以组合起来以强大的方式处理信息。
- sort:对标准输入进行排序,然后在标准输出上输出排序结果。
- uniq:它会删除重复的数据行。
- grep:检查从标准输入接收的每一行数据,并输出包含指定模式字符的每一行。
- grep ‘content’ source_rout:筛选出匹配的项
- grep -v ‘content’ source_rout:过滤掉匹配的项
- fmt:从标准输入读取文本,然后在标准输出上输出格式化文本。
- pr:从标准输入中获取文本输入,并将数据拆分为具有分页符,页眉和页脚的页面,以便为打印做准备。
- head:输出其输入的前几行。用于获取文件的标题。
- tail:输出其输入的最后几行。对于从日志文件中获取最新条目等内容非常有用。
- tr:翻译字符。可用于执行诸如大写 / 小写转换或将行终止字符从一种类型更改为另一种类型的任务。
- sed:以执行比tr更复杂的文本翻译。
- awk:一种用于构建过滤器的完整编程语言。非常强大。