文件

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:一种用于构建过滤器的完整编程语言。非常强大。