Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令

阅读目录

      • mkdir
      • tree
      • 文件类型
      • rmdir
      • 链接
      • 文件权限
        • 输入 输出
        • 输入
        • 输出
        • i/o重定向
      • 分文件输出
      • 合并输出
      • tr 替换或者删除字符
      • 禁止覆盖
      • 多行输入
      • 管道
      • 查看当前的登录的用户信息
      • 文件权限
        • chown (change owner)
        • chgrp
      • 权限
        • root查看其他用户创建的内容
        • chmod
      • 特殊权限
      • 文本处理工具
        • cat
        • tac 倒叙显示文件内容
        • less 分屏显示
        • more
        • head 显示前多少行 默认是10行
        • tail 显示后面多少行 默认是后10行
        • cut 抽取文件
        • paste 合并文件
      • 分析文本的工具
        • wc 【word count】
        • sort 排序
        • uniq 删除重复的行
        • diff 对比两个文件
        • 练习

mkdir

mkdir s21
mkdir s21-{3..10}
mkdir -p a/b/c/d
mkdir -pv {s13,s14}/{ss11,ss12}/{sss11,sss12} 
-p 【p为 parents 递归创建】
-v 显示创建过程

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第1张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第2张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第3张图片

tree

yum install -y tree
tree name
-L 控制显示的层数
-b 只显示目录

文件类型

  • - 表示文件
  • d表示目录
  • l 表示链接
  • b 块设备
  • c 字符设备
  • s 表示socket套接字

rmdir

只能删除空目录

mkdir -p s15/s16/s17/s18
rmdir -p s15/s16/s17/s18

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第4张图片

链接

  • 硬链接:
    • ln 目标文件(源文件)链接名
      Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第5张图片
    • 源文件发生改变,目标会发生改变
      Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第6张图片
    • 将硬盘的引用次数+1
    • 删除
      • 将磁盘上的引用次数-1
      • 源文件删除对目标不会受影响
    • 不能对目录做硬链接
    • 不能跨越分区
      Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第7张图片
  • 软链接:
    • 相当于windows的快捷方式

    • ln -s 【可以生成软链接,s 的原意 symbolic:使用象征的;作为象征的】

    • 链接大小就是制定的源文件的字符数

    • 源文件发生改变,目标会发生改变

    • 删除

      • 源文件删除目标会收影响
    • 可以对目录做软链接

    • 可以跨域分区

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第8张图片

文件权限

drwxr-xr-x.          4                root  root 30 Jul 31 08:55 s12
	权限     在磁盘上的引用次数(硬链接)   属主  属组 大小  atime       文件名 

在这里插入图片描述

输入 输出

输入

标准输入:接收来自键盘的输入 stdin 0

输出

标准输出:默认输出到终端 stdout 1

错误输出:默认输出到终端 stderr 2

i/o重定向

把输出和错误信息重定向到文件或者别的地方

> 覆盖

  • > 把stdout的数据重定向到文件里面
  • 2> 把stderr信息重定向到文件里面
  • &> 把所有的输出都同事重定向到文件

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第9张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第10张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第11张图片

>> 追加

  • >> 把标准的数据追加到文件中
  • 2>> 把错误输出追加到文件中
  • &>> 把所有的输出都同时追加到文件里面

妙用:
使用 >文件名 如果文件存在会覆盖并清空原文件的内容,如果有一个需求是在不删除原目录名同时删除目录中所有内容时,可以用这个解决

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第12张图片

分文件输出

ls b bbbbb > info.log 2> error.log

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第13张图片

合并输出

  • &>
  • &>>
  • command > info.log 2>&1
  • command > info.log 2>>&1

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第14张图片

  • /dev/null 无限接收的无底洞;当不想看到一些输出信息时,可以使用,【dev 原意 devices “装置、仪器”】
  • /dev/zero 无限往外吐出
  • ()多个合并

tr 替换或者删除字符

tr 【原意 translate “(使)转变,变为”】

tr 'a-z' 'A-Z'  issue2 重定向不能为原来的文件,如果说为原来的文件,则文件内容被清空

-t 用来截断
[root@localhost jiangyi]#tr -t abcd 12
abcd
12cd
cd
cd

-s 压缩 去重
[root@localhost jiangyi]#tr -s abc
abc
abc
aaabbbccccccccccccccccccccccccccccc
abc

-c 取反 【c为 complement的缩写,意思为:补充物;补足物】
[root@localhost jiangyi]#tr -sc abc 【取反,并压缩】
aaaaaaaaaaaaaabbbbbbbbbbbbbbbcccccccccccccc
aaaaaaaaaaaaaabbbbbbbbbbbbbbbcccccccccccccc
aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbcccccccccccccccccdddddddddddddeeeeeeeeeeeeffffffffffffff
aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbcccccccccccccccccdef
aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccc1111111111111111222222222222333333333333
aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccc123

[root@localhost jiangyi]#tr -dc abc 【除了abc外所有的都删除】
aaaaaaaaaaaaabbbbbbbbbbbbccccccccccccccccccdddddddddddddddwqweqweqwqeqwqwqwq
wqqqqqqqqqqqqqqqqqqqqqqqqq
ctrl+d结束 【因为 回车也会被删除,所以要想显示最终结果,需要用ctrl+d结束】
[root@localhost jiangyi]#tr -dc "abc\n" 【直接使用\n 结束也行】
adsada
aaa
sadasdcxzczx
aacc
asdadwq
aa

[root@localhost jiangyi]#seq 1 10 >f1
[root@localhost jiangyi]#tr -d "\n" 

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第15张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第16张图片

禁止覆盖

set -C 禁止覆盖
set +C 允许覆盖

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第17张图片

多行输入

[root@localhost jiangyi]#cat >f1 <
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 
> 8
> 9
> EOF 【结尾输入 EOF 结束】

[root@localhost jiangyi]# cat > f4
asdas
sad
asd
ctrl+d结束或者ctrl+c也可以

两中结束区别
第一种EOF方式输出结束,文件才会产生
第二方式,回车一次就会写入文件
EOF 约定俗成

管道

使用“|”来连接多个命令

命令1|命令2|命令3|。。。。

  • 将命令的stdout发送给命令2的stdin,将命令2的stdout命令发送给命令3的stdin。。。。。
  • stderr默认是不能通过管道传递
[root@localhost jiangyi]#ls /dadadasda|tr -s "a-z" "A-Z"
ls: cannot access /dadadasda: No such file or directory
[root@localhost jiangyi]#ls|tr "a-z" "A-Z"

查看当前的登录的用户信息

whoami  获取登录的用户
[jiangyi@localhost ~]$who am i
jiangyi(用户)  pts/4(登录的终端)        2019-07-31 08:27(登录的时间) (192.168.182.1(登录ip地址))
w 可以查看当前登录的所有用户执行的命令

文件权限

chown (change owner)

Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
  or:  chown [OPTION]... --reference=RFILE FILE...
chown jiangyi d  修改属主
chown jiangyi:jiangyi d 修改属主和属组
chown root.root d
chown :jangyi d 只修改属组信息
chown -R jiangyi a 递归修改目录下的所有文件
chown --reference=b f3 指定源文件

chgrp

chgrp jiangyi b
chgrp --reference=b f3 指定源文件

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第18张图片

权限

rwxr-xr-x 【后九位,每三位为一组】

属主 属组 其他

u【user】 g 【group】 o【other】

r 【read 可读;可以读这个文件或者文件夹】

w 【write 可写;可以对这个文件或者文件夹有写的权限】

x 【execute 可执行;执行的权限】

文件

  • r 可以查看
  • w 可以修改内容
  • x 可以直接执行

目录:

  • r 【可以使用ls查看 可以cd进去】
  • w 【可以在其中创建文件或者目录,可以删除目录中的文件或者是文件夹】
  • x 【可以cd,如果没有x权限的话,w权限不会生效,r权限可以查看有哪些文件】

root查看其他用户创建的内容

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第19张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第20张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第21张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第22张图片

chmod

  • 可以直接用±来操作

    • 可以用[u|g|o]+ - = r w x
    • 可以什么都不写,表示全部 ±
  • 还可以用数字表示

    - - - 【三位】

    r - - 100 4

    - w - 010 2

    - - x 001 1

    r:4

    w:2

    x:1

    r-xr-x— 【550;r-x 5,— 0】

  • 建议:

    • 不要给文件或者文件夹设置成777权限
    • 不要给文件或者文件夹设置成777权限
    • 不要给文件或者文件夹设置成777权限

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第23张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第24张图片

特殊权限

【attr 是 attribute 属性的缩写】

chattr +i 不能删除、改名、不能修改内容
chattr +a 只能追加,不能删除,不能改名
lsattr 【list attribute 查看属性】

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第25张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第26张图片

文本处理工具

cat

【cat 为 concatenate 缩写rm】
Usage: cat [OPTION]... [FILE]...
-E 显示行的结束符号$
-n 显示每一行的行号
-b 给非空行编号
-s 折叠空行为一行

tac 倒叙显示文件内容

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第27张图片

less 分屏显示

  • 终端less命令执行完之后怎样退出?
    Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分,less 的用法比起 more 更加的有弹性。
    如果想退出less请来按案件 q 键 就可以了
  • 可以分屏显示
  • 空格一屏 回车一行
  • /来搜索
  • n 向下搜索 N 向上搜索
  • q来退出

more

  • 可以分屏显示
  • 空格一屏 回车一行
  • -d 显示翻页和推出信息
  • 输出自己退出

head 显示前多少行 默认是10行

  • -数值【显示前多少行的数据】

tail 显示后面多少行 默认是后10行

  • ​ -数值【显示后多少行的数据】
  • -f 【追踪显示文件新加入的内容,常用于日志的跟踪】
  • tailf 【相当于tail -f 命令】

cut 抽取文件

-d 【用来指定切割符号 delimiter】
-f 执行显示哪一个数据
# 【显示指定的数据】
#,#,#,# 【离散数据】
#-# 【连续数据】
例如:
	cut -d: -f3 passwd 
	cut -d: -f1,3-7 passwd 
	cut -d: -f3,4,5,6 passwd
	cut -d: -f3-6 passwd 
	
-c 【按照字符切割】
cut -c2-5 passwd

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第28张图片

paste 合并文件

【paste 的 原意是“拼贴,粘贴”】
-d 用来指定合并的符号,默认的是tab
-s 把所有的行合并成一行显示

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第29张图片
在这里插入图片描述

分析文本的工具

wc 【word count】

[root@localhost jiangyi]#wc passwd 
  44   87 2301 passwd
 行数   单词个数  字节数  文件
 -l 统计行的个数
 -w 统计单词的个数
 -c 统计字节的个数
 -m 统计字符的个数
 -L 显示最长一行的长度

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第30张图片
在这里插入图片描述

sort 排序

默认按照字母
-n 按照数字来排序
-r 按照倒叙来排序
-R 随机排序
sort -t: -nk4 passwd 切割以后在排序
-t 指定切割符号
-k 指定按照第几行排序

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第31张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第32张图片
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第33张图片

uniq 删除重复的行

-c 显示重复出现的次数
-d 只显示重复的行
-u 只显示不重复的行
连续且完全一样的才是重复
ss -tnp|cut -d: -f2|tr -s " "|cut -d" " -f2|sort -n|uniq -c

Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第34张图片
在这里插入图片描述
Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第35张图片

diff 对比两个文件

[root@localhost jiangyi]#echo "abc" >b
[root@localhost jiangyi]#echo "abcd" >d
[root@localhost jiangyi]#diff b d
1c1
< abc
---
> abcd
[root@localhost jiangyi]#echo "abcde" >b
[root@localhost jiangyi]#diff b d
1c1
< abcde
---
> abcd
[root@localhost jiangyi]#echo "abcde" >> b
[root@localhost jiangyi]#diff b d
1,2c1
< abcde
< abcde
---
> abcd
[root@localhost jiangyi]#echo "abcd" >> b
[root@localhost jiangyi]#diff b d
1,2d0
< abcde
< abcde

练习

  • 第一题
    Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第36张图片
    Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第37张图片
  • 第二题
    Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第38张图片
    在这里插入图片描述
  • 第三题
    在这里插入图片描述
    Linux基础 --Linux目录命令 LinuxIO操作 Linux文件权限相关 Linux文件处理工具 一步步图解linux命令_第39张图片

你可能感兴趣的:(Linux,linux,shell,python,linux命令)