doraemon的python centos的入门(二)文件目录操作

4 文件的操作

4.1 增

mkdir

mkdir liujiamkdir liujia-{2..10}  批量创建文件夹mkdir -p a/b/c/d 递归创建mkdir -pv {s13,s14}/{ss11,ss12}/{sss11,sss12} 显示创建过程

4.2 查

tree

yum install -y treetree name-L 控制显示的层数-b 值显示目录?

4.3 删

只能删除空目录

mkdir -p liu/jia/dan/nirmdir -p liu/jia/dan/ni

文件类型:用ll查询的时候权限前面的那个字母

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

4.4 链接

  • 硬链接(硬链接就是指向源文件的内存地址,相当于python中的一个变量名)

    • ln 源文件 目标文件
    • 源文件发生改变,目标会发生改变
    • 将硬盘的引用次数+1
    • 删除
      • 将磁盘上的引用次数-1
      • 源文件删除对目标不会受影响
    • 不能对目录做硬链接
    • 不能跨越分区
  • 软链接
    • 相当于windows的快捷方式
    • ln -s 可以生成软链接
    • 链接大小就是制定的源文件的字符数
    • 源文件发生改变,目标会发生改变
    • 删除
      • 源文件删除目标会收影响
    • 可以对目录做软链接
    • 可以跨域分区

4.5 i/o重定向

输入

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

输出

  • 标准输出:默认输出到终端 stdout 1
  • 错误输出:默认输出到终端 stderr 2

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

> 覆盖

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

>> 追加

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

4.6 io的综合操作

分文件输出

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

合并输出

  • &>
  • &>>
  • command > info.log 2>&1
  • command > info.log 2>>&1
  • /dev/null 无线接收的无底洞
  • ()多个合并

tr替换或者删除

tr ‘a-z‘ ‘A-Z‘ </etc/issue[[email protected] jiangyi]#tr ab 12ab12[[email protected] jiangyi]#tr abc 12  如果后面的位数不足的话,则用最后一位补齐abc122ab12tr -d abc < issue > issue2 从定向不能为原来的文件,如果说为原来的文件,则文件情况-d 删除-t 用来截断[[email protected] jiangyi]#tr -t abcd 12abcd12cdcdcd-s 压缩 去重[[email protected] jiangyi]#tr -s abcabcabcaaabbbcccccccccccccccccccccccccccccabc-c 取反[[email protected] jiangyi]#tr -sc abcaaaaaaaaaaaaaabbbbbbbbbbbbbbbccccccccccccccaaaaaaaaaaaaaabbbbbbbbbbbbbbbccccccccccccccaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbcccccccccccccccccdddddddddddddeeeeeeeeeeeeffffffffffffffaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbcccccccccccccccccdefaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccc1111111111111111222222222222333333333333aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccc123[[email protected] jiangyi]#tr -dc abcaaaaaaaaaaaaabbbbbbbbbbbbccccccccccccccccccdddddddddddddddwqweqweqwqeqwqwqwqwqqqqqqqqqqqqqqqqqqqqqqqqqctrl+d结束[[email protected] jiangyi]#tr -dc "abc\n"adsadaaaasadasdcxzczxaaccasdadwqaa[[email protected] jiangyi]#seq 1 10 >f1[[email protected] jiangyi]#tr -d "\n" <f1[[email protected] jiangyi]tr "\n" " "<f1[[email protected] jiangyi] tr " " "\n" <f2?

4.7 多行输入

[[email protected] jiangyi]#cat >f1 <<EOF> 1> 2> 3> 4> 5> 6> 7> > 8> 9> EOF[[email protected] jiangyi]# cat > f4asdassadasdctrl+d结束 ctrl+c也可以两者区别第一种方式输出结束,文件才会产生第二方式,回车一次就会写入文件EOF 约定俗成

5 文件权限

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

5.1 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 dchown :jangyi d 只修改属组信息chown -R jiangyi a 递归修改目录下的所有文件chown --reference=b f3 指定源文件

chgrp

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

权限:

rwxr-xr-x

  • 三位为一组
  • 属主 属组 其他
  • u g o
  • r read 可以读这个文件或者文件夹
  • w write 可以对这个文件或者文件夹有写的权限
  • x excut 执行的权限

权限对于文件来说:

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

权限对于目录来说:

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

5.2 chmod

  • 可以直接用+-来操作

    • 可以用[u|g|o]+- = r w x
    • 可以什么都不写表示全部+-
  • 还可以用数字表示
    • r 100(二进制) 4(十进制)
    • w 010 2
    • x 011 1
  • 建议:
    • 不要给文件或者文件夹设置777权限

5.3 特殊权限

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

6 管道

使用"|"来连接多个命令

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

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

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

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

7.文本处理工具

cat

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

tac 倒叙显示文件内容

less 分屏显示

  • 可以分屏显示
  • 空格一屏幕 回车一行
  • /来搜索
  • n乡下搜索 N向上搜索
  • q来退出

more

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

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

  • head -8 显示前8行

tail 显示后面多少行,默认是后十行

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

cut 抽取文件

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

paste 合并文件

-d 用来指定合并的符号,默认的是tab-s 把所有的行合并成一行显示

8.分析文本的工具

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

sort

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

uniq删除重复行

-c 显示重复出现的次数-d 只显示重复的行-u 只显示不重复的行连续且完全一样的才是重复ss -tnp|cut -d: -f2|tr -s " "|cut -d" " -f2|sort -n|uniq -css的命令是用来获取socket统计信息的

diff 对比两个文件

[[email protected] jiangyi]#echo "abc" >b[[email protected] jiangyi]#echo "abcd" >d[[email protected] jiangyi]#diff b d1c1< abc---> abcd[[email protected] jiangyi]#echo "abcde" >b[[email protected] jiangyi]#diff b d1c1< abcde---> abcd[[email protected] jiangyi]#echo "abcde" >> b[[email protected] jiangyi]#diff b d1,2c1< abcde< abcde---> abcd[[email protected] jiangyi]#echo "abcd" >> b[[email protected] jiangyi]#diff b d1,2d0< abcde< abcde

原文地址:https://www.cnblogs.com/doraemon548542/p/11801656.html

时间: 2024-08-06 23:10:16

doraemon的python centos的入门(二)文件目录操作的相关文章

doraemon的python centos的入门

## 第十三章 centos ### 1.centos安装及介绍 安装centos的三种方式: - 直接在机器上安装 - 双系统 - 通过虚拟软件在windows上安装linux 虚拟软件: - vmware - vbox - mac 桥接:会跟你的windows机器获取同一个网段的ip地址 net:不会跟windows琪琪获取同一个网段的ip地址 centos在公司密码设置的要求: - 12位及其以上 - 必须包含大写紫米,小写字母,数字,特殊字符 - 3个月或者半年更换一次 弱口令:密码容易

doraemon的python centos的入门(五)用户和用户组权限

13 用户和用户组 13.1 用户 分类 超级管理员 root uid 0 普通用户 系统用户:一般情况下用来启动服务或者运行进程,一般情况下系统用户是不可以登录 uid 1-999(centos7)1-499(centos6) 可登录用户:可以登录系统的用户 uid 1000-65535(centos7) 500-65535(centos6) useradd 只能用root用户来创建 -d 指定用户的家目录,不能创建在/tmp,默认用户的家目录不需要手动创建-g 组信息 主组有且只能有一个-G

Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa

Python简单爬虫入门二

接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们BeautifulSoup的基本结构如下 #!/usr/bin/env python # -*-coding:utf-8 -*- from bs4 import BeautifulSoup import requests headers = { 'User-Agent':'Mozilla/5.0 (Win

Python工具类(二)—— 操作时间相关

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 __title__ = '操作时间的工具类' 5 6 """ 7 import datetime 8 import time 9 10 11 # ========================== 12 # ========== time ========== 13 # ========================== 14

转 Python爬虫入门二之爬虫基础了解

静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML.JS.CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了. 因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是Python2.7,虽然现在随着版本的迁移至Python3,但是这个并不会对我们造成什么困扰,毕竟只是一个适应阶段 我们的学习资料:廖雪峰官方网站Python2.7教程 一.IDE选择PyCharm 我们虽然在前面一章已经配置过,但是我们还是有很多的IDE可以开发Py,比如su

[转帖]脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?

脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么? http://www.52im.net/thread-1732-1-1.html 1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机网络编程的基础,TCP/UDP收发消息都靠它.我们熟悉的web服务器底层依赖它,我们用到的MySQL关系数据库.Redis内存数据库底层依赖它.我们用微信和别