1.创建/复制/移动/删除

(1)文件创建命令touch

# touch file                        #无则创建,有则修改创建时间
# touch file2 file3                 #创建file2和file3两个文件
# touch /home/zhangsan/test file4   #指定目录创建文件file4
# touch {a,b,c}                     #创建a,b,c三个文件
# touch {1..10}                     #创建1-10一共10个文件
# touch {a..z}                      #创建a-z 26个文件

(2)目录创建命令mkdir

#选项: -v显示详细信息 -p 递归创建目录
​
# mkdir dir1
# mkdir /home/zhangsan/aaa /home/zhangsan/bbb
# mkdir -v /home/zhangsan/{dir3,dir4}
# mkdir -pv /home/zhangsan/dir5/dir6
--------------------------------
# mkdir -pv /home/{zhangsan/{qqq,www},lisi/eee}
#相当于创建/home/zhangsan/qqq,/home/zhangsan/www,/home/lisi/eee三个文件夹

(3)以树状显示目录结构tree

# yum install -y tree  #不安装软件则无法执行该命令
​
# mkdir test2
# cd test2
# touch file_{1,10}.txt
# tree test2
test2
├── file_10.txt
├── file_1.txt
├── file_2.txt
├── file_3.txt
├── file_4.txt
├── file_5.txt
├── file_6.txt
├── file_7.txt
├── file_8.txt
└── file_9.txt

(4)复制cp

#选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性
​
# cp file /tmp/file_copy
# cp name /tmp/name         #不修改名称
# cp file /tmp/             #不修改名称
# cp -p file /tmp/file_p    #-p保持原文件或目录的属性
# cp -r  /etc/ /tmp/        #复制目录需要使用-r参数, 递归复制
# cp -rv /etc/hosts /etc/hostname /tmp  #拷贝多个文件至一个目录
# cp -rv /etc/{hosts,hosts.bak}         #将/etc/hosts拷贝到/etc/hosts.bak
# cp -rv /etc/hosts{,-org}              #将/etc/hosts拷贝到/etc/hosts-org

(5)移动mv

# mv file file1             #原地移动算改名
# mv file1 /tmp/            #移动文件至tmp目录
# mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
# mv dir/ /tmp/             #移动目录至/tmp目录下
​
# touch file{1..3}
# mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录
​
# mkdir dir{1..3}
# mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录

(6)删除rm

#选项:-r: 递归 -f: 强制删除 -v: 详细过程
# rm  file.txt      #删除文件, 默认rm存在alias别名,rm -i所以会提醒是否删除文件
# rm -f file.txt    #删除文件, 不提醒
--------------------------------
# rm -r dir/        #递归删除目录,会提示
# rm -rf dir/       #强制删除目录,不提醒(慎用)
--------------------------------
#1.rm删除示例
# mkdir /home/dir10
# touch /home/dir10/{file2,file3,.file4}
# rm -f /home/dir10/*  //不包括隐藏文件
# ls /home/dir10/ -a
--------------------------------
#2.rm删除示例2
# touch file{1..10}
# touch {1..10}.pdf
# rm -rf file*
# rm -rf *.pdf

2.查看文件内容

#------cat
# cp /etc/passwd ./pass
# cat pass      #正常查看文件方式
# cat -n pass   #-n显示文件有多少行
# cat -A pass   #查看文件的特殊符号,比如文件中存在tab键
# tac pass      #倒序查看文件
​
#------less、more
# less /etc/services    #使用光标上下翻动,空格进行翻页,q退出
# more /etc/services    #使用回车上下翻动,空格进行翻页,q退出
​
#------head
# head pass     #查看头部内容,默认前十行
# head -n5 pass #查看头部5行,使用-n指定
​
#------tail
# tail pass
# tail -20 /var/log/secure
# tail -f /var/log/messages #-f查看文件尾部的变化
# tailf /var/log/messages   #查看文件尾部的变化
​
#------grep过滤文件内容
# grep "^root" pass     #匹配以root开头的行
# grep "bash$" pass     #匹配以bash结尾的行
# grep -i "ftp" pass    #忽略大小写匹配
# grep  -Ei "sync$|ftp" pass    #匹配文件中包含sync结尾或ftp字符串
# grep -n -A 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的下2行
# grep -n -B 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上2行
# grep -n -C 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上下2行

3.联网下载和文件上传下载

(1)联网下载

#选项: -O: 指定下载地址
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
​
#选项: -o: 指定下载地址
# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(2)上传下载

# yum install lrzsz -y  #不安装软件则无法执行该命令
​
# rz            #只能上传文件文件上传
# sz /path/file #只能下载文件

4.文件或命令查找

(1)文件查找

# yum install -y mlocate  #不安装软件则无法执行该命令
​
安装完之后如果还无法执行,出现如下信息:locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db'
再执行如下命令即可:
# updatedb
​
# locate /etc/sh       #搜索etc目录下所有以sh开头的文件
# locate -i /etc/sh    #搜索etc目录下,所有以sh开头的文件,忽略大小写

(2)命令查找

# which ls  #查找ls命令的绝对路径
​
# whereis ls       //查找命令的路径、帮助手册、等
# whereis -b ls    //仅显示命令所在的路径
​
# type -a ls        #查看命令的绝对路径(包括别名)

5.字符处理命令

(1)sort排序

sort [OPTION]... [FILE]...
#选项
# -r:倒序
# -n:按数字排序
# -t:指定分隔符(默认空格)
# -k:指定第几列, 指定几列几字符(指定1,1  3.1,3.3)
​
#1.首先创建一个文件,写入一写无序的内容
[root@yfy ~]# cat >> file.txt <<EOF
b:3
c:2
a:4
e:5
d:1
f:11
EOF
​
#2.使用sort下面对输出的内容进行排序
[root@yfy ~]# sort file.txt
a:4
b:3
c:2
d:1
e:5
f:11
​
#结果并不是按照数字排序,而是按字母排序。
#可以使用-t指定分隔符, 使用-k指定需要排序的列。
[root@yfy ~]# sort -t ":" -k2 file.txt
d:1
f:11 #第二行为什么是11?不应该按照顺序排列?
c:2
b:3
a:4
e:5
​
#按照排序的方式, 只会看到第一个字符,11的第一个字符是1, 按照字符来排序确实比2小。
#如果想要按照数字的方式进行排序, 需要使用 -n参数。
[root@yfy ~]# sort -t ":" -n -k2 file.txt
d:1
c:2
b:3
a:4
e:5
f:11

案例:对如下内容进行排序

[root@yfy ~]$ cat >test.txt <<EOF
> 192.168.3.1 00:0F:AF:81:19:1F
> 192.168.3.2 00:0F:AF:85:6C:25
> 192.168.3.3 00:0F:AF:85:70:42
> 192.168.2.20 00:0F:AF:85:55:DE
> 192.168.2.21 00:0F:AF:85:6C:09
> 192.168.2.22 00:0F:AF:85:5C:41
> 192.168.0.151 00:0F:AF:85:6C:F6
> 192.168.0.152 00:0F:AF:83:1F:65
> 192.168.0.153 00:0F:AF:85:70:03
> 192.168.1.10 00:30:15:A2:3B:B6
> 192.168.1.11 00:30:15:A3:23:B7
> 192.168.1.12 00:30:15:A2:3A:A1
> 192.168.1.1 00:0F:AF:81:19:1F
> 192.168.2.2 00:0F:AF:85:6C:25
> 192.168.3.3 00:0F:AF:85:70:42
> 192.168.2.20 00:0F:AF:85:55:DE
> 192.168.1.21 00:0F:AF:85:6C:09
> 192.168.2.22 00:0F:AF:85:5C:41
> 192.168.0.151 00:0F:AF:85:6C:F6
> 192.168.1.152 00:0F:AF:83:1F:65
> 192.168.0.153 00:0F:AF:85:70:03
> 192.168.3.10 00:30:15:A2:3B:B6
> 192.168.1.11 00:30:15:A3:23:B7
> 192.168.3.12 00:30:15:A2:3A:A1
> EOF

按ip地址进行排序,因为前两个ip地址默认是192.168,所以从第三列开始排,第三列如果一样,则按第四列排。

第三列排第1个字符,第四列排第1到第3个字符,且是按数字进行排序

[root@yfy ~]$ sort -t. -k3.1,3.1n -k4.1,4.3n test.txt
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.0.153 00:0F:AF:85:70:03
192.168.1.1 00:0F:AF:81:19:1F
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.1.21 00:0F:AF:85:6C:09
192.168.1.152 00:0F:AF:83:1F:65
192.168.2.2 00:0F:AF:85:6C:25
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.2.22 00:0F:AF:85:5C:41
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.3.3 00:0F:AF:85:70:42
192.168.3.10 00:30:15:A2:3B:B6
192.168.3.12 00:30:15:A2:3A:A1

(2)unip去重

如果文件中有多行完全相同的内容,当前是希望能删除重复的行,同时还可以统计出完全相同的行出现的总次数, 那么就可以使用uniq命令解决这个问题(但是必须配合sort使用)。

uniq [OPTION]... [INPUT [OUTPUT]]
#选项:
# -c  计算重复的行
​
#1.创建一个file.txt文件:
[root@yfy ~]# cat file.txt
abc
123
abc
123
#2.uniq需要和sort一起使用, 先使用sort排序, 让重复内容连续在一起
[root@yfy ~]# cat file.txt |sort
123
123
abc
abc
#3.使用uniq去除相邻重复的行
[root@yfy ~]# cat file.txt |sort|uniq
123
abc
#4.-c参数能统计出文件中每行内容重复的次数
[root@yfy ~]# cat file.txt |sort|uniq -c2 1232 abc

上面的案例中,有重复的ip,我们希望能够去重

[root@yfy ~]$ sort -t. -k3.1,3.1n -k4.1,4.3n test.txt |uniq
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.1.1 00:0F:AF:81:19:1F
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.1.21 00:0F:AF:85:6C:09
192.168.1.152 00:0F:AF:83:1F:65
192.168.2.2 00:0F:AF:85:6C:25
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.168.3.3 00:0F:AF:85:70:42
192.168.3.10 00:30:15:A2:3B:B6
192.168.3.12 00:30:15:A2:3A:A1

(3)cut截取字段

cut OPTION... [FILE]...
#选项
# -d 指定分隔符
# -f 数字,取第几列 –f3,6 三列和六列
# -c 按字符取(空格也算)
​
#echo "Im yfy, from China" >cut_01.txt  过滤出文件中的yfy China
​
[root@yfy ~]$ cut -d " " -f2,4 cut_01.txt
yfy, China
[root@yfy ~]$ cut -d " " -f2,4 cut_01.txt |sed 's#,##g'
yfy China
​
#不加sed过滤会有, 所以用sed把,替换掉

(4)wc统计行号

wc [OPTION]... [FILE]...
#选项:-l显示文件行数 -c显示文件字节 -w显示文件单词
​
# wc -l /etc/fstab      #统计/etc/fstab文件有多少行
# wc -l /etc/services   #统计/etc/services 文件行号

Linux之系统文件管理相关推荐

  1. linux应用编程和网络编程-3.1.linux中的文件IO(read write open lseek)系统文件管理 inode 3种退出 fd 文件共享

    基本文件API读写 文件IO的标准IO比较 文件IO read和write open及flag lseek 3种exit.error.perror linux系统文件管理 文件描述符filedescr ...

  2. 手把手教你Linux下的文件管理(一)

    我的十大IT杰出博客参赛主页是:http://2010blog.51cto.com/1060257,请各位支持我,给我投上宝贵一票,谢谢! 随着Linux开源系统平台的不断发展,越来越多的开源软件可以 ...

  3. linux 命令行使用技巧linux 下的文件管理

    ##1.什么是linux### linux 是指Linux内核 内核               ##系统的核心程序 ##相当于人的大脑 #负责系统程序和硬件分配及调度 ##2.什么是shell## ...

  4. linux文件管理命令ppt,linux命令以及文件管理.ppt

    linux命令以及文件管理 [LINUX常用命令详解] vi命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi ...

  5. ipados远程linux软件,JingOS Linux平板系统v0.6下载发布 支持多点触摸手势

    原标题:JingOS Linux 平板系统 v0.6 下载发布:iPadOS 风格,附安装方法 1月29日消息 今年1月份,一款新的操作系统 JingOS 官网上线,官方介绍是全球首个 iPadOS ...

  6. 红旗 linux界面,红旗Linux桌面系统v11预览版发布:全新UI设计

    原标题:红旗Linux桌面系统v11预览版发布:全新UI设计 关注 来源 | FOSS Lab 如若转载请联系原公众号 近日,国产操作系统红旗 Linux 官网上线最新的红旗 Linux 桌面操作系统 ...

  7. 红旗linux v11预览版下载,红旗 Linux 桌面系统发布 v11 预览版,1月10日开放下载

    近日,国产操作系统红旗 Linux 官网上线最新的红旗 Linux 桌面操作系统 v11 社区预览版,更新内容包括多项组件更新和全新的主题界面等. 据悉,最新的红旗 Linux 桌面系统 v11 版本 ...

  8. 国产信创Linux桌面系统比较:软件包格式及软件管理、桌面环境及桌面应用

    信创产业中,操作系统开始整合,基本上集中在银河麒麟V10和UOS2,很多朋友问到各种国产信创Linux系统的区别和比较.因此结合前期写的几篇文章,对这个问题再进行了整理.以龙芯CPU为例,比较包括lo ...

  9. linux充值系统下载,几款Linux操作系统下载

    1.Suse 企业版10 SUSE Linux Enterprise 10,提供了稳定的Xen虚拟化技术,还包括许多Novell发起的Linux技术创新.如:SUSELinux Enterprise的 ...

最新文章

  1. springMVC3学习(二)--ModelAndView对象
  2. 【渝粤教育】电大中专办公设备使用与维护 (2)_1作业 题库
  3. java新人_JAVA新人之——专有名词
  4. WPF地区选择控件(内附下载地址)
  5. leetcode题库1014-- 最佳观光组合
  6. HyperLeger Fabric开发(七)——HyperLeger Fabric链码开发
  7. 物品登记php,thinkphp登记
  8. 数据结构与算法经典问题解析 Java语言描述pdf
  9. 实用的项目管理网络计划软件-MS Project
  10. Python爬虫【一】爬取移动版“微博辟谣”账号内容(API接口)
  11. sql in关键字使用长度超过1000问题处理
  12. 6.11编写计算正方体、圆柱体、球体的表面积和体积的类。
  13. [生产力]必备的全局文件搜索工具
  14. BLM模型:解决问题的前提是定义问题
  15. 【js练习】移动盒子位置,鼠标在盒子外问题
  16. C语言为什么不会过时?
  17. 10 个开源免费的电子商务平台
  18. 我的NAS方案及使用的功能
  19. cocos2dx 3.10版本的AssetsManager问题
  20. Elasticsearch7.x配置xpack实战

热门文章

  1. [architecture]-DBG、DMB、DSB 和 ISB指令介绍
  2. TEEC_AllocateSharedMemory()和 TEEC_RegisterSharedMemory()的总结
  3. apatedns unhandled exception
  4. (67)多核同步,lock 总线锁 ,自己实现临界区
  5. 【零基础】讲述网络安全介绍
  6. python Tkinter Text的简单用法
  7. win32 masm32 汇编学习 及 远程线程实例
  8. 【PHP-FPM】配置,优化性能
  9. 概率论 第二章 随机变量及其分布
  10. SpringMVC环境配置全过程IntelliJ IDEA 2020.3.1