小白成长之路3

文件管理

1. 文件通配符

* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~papo 用户papo的家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z]:任意一个小写字母
[A-Z]:任意一个大写字母
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符
[:digit:] 任意数字,相当于[0-9]
[:lower:] 任意小写字母=[a-z]
[:upper:] 任意大写字母=[A-Z]
[:alpha:] 任意大小写字母[a-zA-Z]
[:alnum:] 任意数字或字母[0-9a-zA-Z]
[:space:] 水平或垂直空白字符

2. cp命令主要用于复制文件或目录。

语法
cp [options] source dest 可以复制、覆盖,都为单个文件
cp source.... dir dir必须存在,且为目录
cp -t dir source..... 目录放前需用-t选项,后面可以跟多个文件,适用于写脚本别名等。
cp /etc/issue . 其中.是当前目录
cp /etc/issue ./issuebak 复制并重命名为issuebak
cp -r /boot /data 复制文件夹得+r选项
cp复制会使部分属性丢失
所以cp -a 可以备份文件,保留文件的全部属性,相当于-dR --preserv=all
cp -i 覆盖前询问
cp -n 不覆盖
cp -d不复制原文件,只复制链接名
cp -f 强制覆盖
cp -b 覆盖并保存原文件
例:每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见
答:#cp -av /etc/ /data/etcdate +%F

3. mv命令移动或重命名文件

mv -i 交互式 既移动覆盖前询问
mv -f force强制性 覆盖前不提示
mv -b 为现有的每一个目标文件作一个备份,但是不接受参数
mv -u 只移动更老的或者标记新的非目录

上图中$ mv file file1 既是给文件改名
$ mv file2 /data/dir1/file.txt 是吧file2移动到dir1文件夹并改名为file.txt 如果不想改名既file.txt 不写即可
$ mv /data/dir1 dir2 是给文件夹改名

4. rm命令 移除文件或者目录

rm [选项] 文件...
rm -f 强制删除 不询问
rm -i 删除前询问
rm -r 递归删除目录及其内的文件

如上图 删除文件f1 但是有别名rm=rm -i 出现询问是否删除提示
此时需要输入y再enter既确认删除
但是rm -f file1时 时强制删除file1 所以不会出现询问
rm -rf dir1 是删除文件夹 所以需要r递归选项 f强制删除不询问

5. file命令 确认文件类型

file常用于查文件类型,因为linux中对于文件的后缀要求不大很多文件都可以用同一后缀或者没有后缀,这样就加大了我们确认他是什么类型文件的难度。这时就需要file 单个或多个文件,就能确认他是什么类型文件
file [ -bcnsvzL ] [ -f 命名文件 ] [ -m 幻数文件 ] file ...

如上可以直接跟文件名即可

6. cat命令 连接文件并在标准输出上输出

cat -E [文件列表] 在每行结束显示 $
cat -n 给所有输出行编号
cat -ns 压缩连续空行 并查看行号
cat -b 给非空行输出行号
cat -A 输出显示所有控制符

tac 反转显示文件 效果相当于cat的行倒序
rev 同行倒序显示文件

7. head 显示输出文件的开始部分

head [选项]... [文件]...
head -c # 打印显示起始的#个字节
head -n # 答应显示起始的#行 默认十行

8. tail 显示输出文件的末尾部分 既最后几行

tail [选项]... [文件]... 默认是显示最后十行
在标准输出上显示每个FILE的最后10行. 如果多于一个FILE,会一个接一个>地显示, 并在每个文件显示的首部给出文件名.
tail -c # 显示文件的最后#个字符
tail -n # 显示最后#行
tail -f 文件名 当文件增长时,输出后续添加的数据 跟踪的是文件描述符
tail -F 文件名 跟踪的是文件名(名称)
tailf 类似于tail -f 文件不增加 就不去访问跟踪文件

9. cut - 在文件的每一行中提取片断 (剪切)

cut [选项]... [文件]...在 每个文件 FILE 的 各行 中, 把 提取的 片断 显示在 标准输出.
cut -d ‘分隔符‘ -f(1或1,3或(1-6))既以某一字符为分隔符 取分割后的第1段或者第一,三段或者 1-6段
cut -c 既提取某一段的字符 cut -c 47-50 提取第47到第50的字符

10. wc - 统计输出文件中的行数、单词数、字节数

wc [选项列表]... [文件名列表]...
对每个文件输出行、单词、和字节统计数,如果指定了多于一个文件则还有一 个行数的总计。没有指定文件或指定的文件是 -,则读取标准输入。
wc 文件名(可多个文件统计)

既统计4行;13个单词 ;38个字节;
wc -l 统计行数
wc -w 输出单词统计数
wc -c字节数统计
wc -m 字符数统计
wc -L 显示文件中最长的行的长度(字节数)

11. sort - 对文本文件的行排序

sort [选项]... [文件]...
将排序好的所有文件写到标准输出上
sort -r 倒序排列(由下至上)
sort -n 按数字大小排列
sort -u 删除重复行
sort -f 忽略大小写排列
sort -t 指定分隔符 -k 取第几段 按这一段的字符排列
sort -R 随机排列
sort -b 忽略排序字段或关键字中开头的空格
sort -c 检查是否指定文件已经排序好了,不排序
sort -o 输出文件名 将排序后的结果存入指定的文件

12. uniq - 删除排序文件中的重复行

从 标准输入数据中忽略 (但是 保留 一行)连续的相似行, 结送入标准输出.
uniq -c 行首显示重复的数目
uniq -d 仅显示重复的行
uniq -u 仅显示不重复的行
uniq -i 忽略大小写

综合示例:

查出?户UID最?值的?户名、 UID及shell类型
cat /etc/passwd|cut -d: -f1,3,7|sort -nrt: -k2 |head -1
既查看文件;以:为分隔符 取第1,3,7段;取第二段字符排序按数字大小排序,取第一行
命令显示如下:
$ cat /etc/passwd|cut -d: -f1,3,7

$ cat /etc/passwd|cut -d: -f1,3,7|sort -rnt: -k2

cat /etc/passwd|cut -d: -f1,3,7|sort -nrt: -k2 |head -1

原文地址:https://blog.51cto.com/14322554/2400040

时间: 2024-10-10 01:38:09

小白成长之路3的相关文章

Linux小白成长之路

Linux小白成长之路 本人忘祭,一个刚刚进入跨入Linux世界的小白.Linux对于我来说其实是很神秘的,很早以前就听说过.也曾见各种技术大牛使用过.但是一直以来也没有去接触的想法,因为感觉太高深.从四月开始报名马哥教育,到现在看预习视频已经一个月了.刚开始看到那些专业术语,感觉脑袋都要大了.对于一个已经三十岁的我来说,当初是硬逼着自己看下去的.看一遍不理解,就两遍三遍重复着看.随后在网上查看各种帖子.文章,想从中找到些学习的切入点,但是觉得不是那么容易着手.无法理解.但是现在听了王老师的面授

小白成长之路2

感想 ??在 马哥教育学习了两周了,每一天都在充实自己.对于一个小白来说,现在至少会切换目录.查找文件.安装卸载程序.创建修改文本.修改权限.查一些电脑软硬件信息.每天都有很多内容,很多命令需要去背.去理解.去应用.上次已经介绍了怎么安装系统,那么现在分享一下我现在学习到的简单命令.(大牛勿喷) 分享 1. 关机和重启: 关机:halt,power,shoudown -h,init 0. 重启:reboot,shotdown -r,init 6. 其中shutdown还有定时关机和取消关机命令-

小白成长之路4

在马哥教育学linux已经一个月了,已经基础的文件修改.查找.搜索.删除.复制.替换和文件权限更改.现在跟大家分享一下最近的学习内容:磁盘的分区.文件系统的创建.设备的挂载.swap的增加.和逻辑卷的创建.增加.移除.取消.已经算是一个入门的小白了吧! 1. 创建分区使用: ? fdisk 创建MBR分区? gdisk 创建GPT分区? parted 高级分区操作重新设置内存中的内核分区表版本? partprobe列出块设备? lsblk 2. parted的操作都是实时生效的,小心使用 用法:

小白成长之路:初识python(六) --python线程池

#!/usr/bin/env python# -*- coding:utf-8 -*-import threadingimport queueimport time"""对照着武老师的课程自己跟着做了一个线程池,主要的思路就是把要执行的任务放进队列中然后创建若干个线程不断地从队列中获取任务并执行相对比low B 版的线程池有很大改进,姑且叫low A版吧...""" Stop_Flag = object() class ThreadPool(ob

程序猿小白成长之路[盒模式&浮动布局]

深入盒模式及浮动布局 1文档流:浏览器在页面上摆放HTML元素所用的方法1-1块元素的文档流 1-2内联标签的文档流:如果有足够空间 他们会挨个摆放,如果空间不够,剩下的会摆到下一行 2浮动布局<div>float 浮动clear 清除 有left right both none值 3浮动不居中的盒模式计算 在列表页添加左侧浮动的图片1-1使用 img 同样也添加一个alt属性 <img src="images/egg.jpg" alt="西红柿炒鸡蛋&qu

程序猿小白成长之路[定位]

定位 1-1在 CSS 中使用 position 属性实现网页的定位技术,他有4个值: static 是position属性的默认值,标签会显示在正常的文档流中relativeabsolutefixed1-2除了 static之外,使用另外3个值可以让一个标签变成定位元素当一个标签被定位之后,你就可以使用CSS的top. right.bottom.left四个属性精确控制标签在HTML文档中的位置,利用这些定位属性你可以在HTML文档中任意摆放一个标签的位置. 2-1relative 相对定位将

程序猿小白成长之路[初级框架布局]

HTML框架布局 AJAX: 是JavaScript中的一个技术,需要先掌握JavaScript;AJAX是请求接口用的 frameset标签 frame 标签 框架页面的基本架构 水平布局 cols:表示子框架水平排列 垂直布局 rows:定义垂直布局的框架集 混合框架集 cols & rows 为框架添加内容 使用 style属性定义一个标签的内联样式 框架中的导航 框架的尺寸可以通过拖动边框来调整的,如何是边框固定? 1-1在源代码中为 frameset标签设置 一个属性noresize

《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学校复习,都希望你过好这个长假. 没有出去玩的也不用羡慕别人,利用这段时间充充电,不比去旅游看人头要好的多吗? 最近终于把我的原创文章整理成一本电子书了,趁着国庆开始之前发布出来,希望对你有所帮助. 这本电子书整理了我过去一年时间里在微信公众号[黄小斜]里创作的文章,包括Java学习.求职面试.成长心得.感悟思

2017年Java web开发工程师成长之路

详情请交流  QQ  709639943 00.2017年Java web开发工程师成长之路 00.R语言速成实战 00.R语言数据分析实战 00.Python+Django+Ansible Playbook自动化运维项目实战 00.Java深入微服务原理改造房产销售平台 00.Python3入门机器学习 经典算法与应用 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标