目录

touch 创建文件

mkdir 目录创建目录

rm 删除

mv 移动支持移动文件和目录 (原地移动相当于改名)

cp 文件或目录复制

tree 显示目录结构

查看命令

cat 查看文件

tac 倒序查看文件

less 查看文件按页看

more (有百分比)查看文件按页看

head 查看头部内容,默认前十行

tali 查看文件尾部内容,默认后十行

tali -f 查看文件尾部的变化,动态监控文件尾部的变化

文件下载类命令

wget命令

crul命令

rz-sz命令

文件查询类命令

which 查看目录绝对路径(包括别名)

whereis 查找命令的路径、二进制文件等

PATH

字符类处理命令

sort 对一个无序的文本文档进行数据排序

uniq

cut

wc

sed 替换字符(默认只打印,不修改文件本身)

awk 取列 (默认分隔符空格)

grep 过滤数据

特殊字符

文件属性

链接文件

软链接

硬链接

硬链接与软链接的区别

文件时间



touch 创建文件

mkdir 目录创建目录

-p 递归创建

-v 显示详细过程

在当前目录下递归创建a到b目录,再在每个目录内创建1到3目录

{1..9}{a..z}{A..Z}生成范围内的数据大小写英文不可混用

rm 删除

-f 强制删除   (谨慎操作,危险)

-r递归删除(目录)

mv 移动支持移动文件和目录 (原地移动相当于改名)

无论移动多少文件目录,以最后一个为目标路径

cp 文件或目录复制

-v显示详细命令执行的操作

-r递归处理目录与字目录

-p保留源文件或目录的属性(文件的移动会随着登录用户是谁而发生属主的改变)

-a         使用cp -a 相当于将原数据原封不动的拷贝过来,不改变里面的任何信息

使用cp -r 拷贝数据,拷贝的结果是生成新的时间戳等信息

tree 显示目录结构

-L显示目录树的层级

查看命令

cat 查看文件

-n 显示文件有多少行

-A 显示文件的特殊符号

tac 倒序查看文件

less 查看文件按页看

空格翻页

ctrl+f 向下翻页

ctrl+b 向下翻页

q:退出

more (有百分比)查看文件按页看

ctrl+f 向下翻页

ctrl+b 向下翻页

q:退出

head 查看头部内容,默认前十行

tali 查看文件尾部内容,默认后十行

tali -f 查看文件尾部的变化,动态监控文件尾部的变化

文件下载类命令

wget命令

yum install wget -y 安装命令

wget http://mirror.aliyun.com/repo/centos-7.repo

下载互联网上的文件至本地

wget -O /etc/yum.reps.d/Centos-Base.repo http://mirror.aliyun.com/repo/centos-7.repo

将阿里云的centos-7.repo下载到/etc/yum.repos.d/并改名为Centos-Base.repo   -O 指定安装路径

crul命令

仅查看这个url地址的文件内容

crul http://mirror.aliyun.com/repo/centos-7.repo

下载互联网上的文件至本地

crul -O /etc/yum.reps.d/Centos-Base.repo http://mirror.aliyun.com/repo/centos-7.repo

将阿里云的centos-7.repo下载到/etc/yum.repos.d/并改名为Centos-Base.repo   -O 指定安装路径

rz-sz命令

yum -y install lrzsz 不安装软件则无法执行该命令

rz 只能上传命令,不可以上传文件夹,不支持大于4个G上传,也不支持断电续传

(也就是将你的本机的文件上传到虚拟机Linux上)

sz 只能下载文件,不支持下载文件夹

(将你的Linux上的文件下载到windows上)

文件查询类命令

不是查找文件;而是查找命令的:
获取一个命令的绝对路径;因为有些命令都带有了别名,而当我们通过相对路径执行命令时,就会先执行别名;

which 查看目录绝对路径(包括别名)

type -a ls 显示一个目录的执行路径

whereis 查找命令的路径、二进制文件等

whereis -b ls 仅显示命令所在的路径

PATH

(为什么执行相对路径的命令,可以成功,而实际命令存储在某个目录下面,它们是如何关联起来的????

1.它们通过一个叫环境变量的 关联起来;
[root@node ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
当执行ls命令时,他会读取 $PATH 存储的路径,通过这个路径去获取该命令是否存在,存在就执行;
/usr/local/redis/bin
redis-server 
redis-cli
两种方式:
1.修改Path路径,但可能会带来不同版本执行顺序;   [ 高版本  ---》 低版本  ]      只想运行低版本
2.将命令直接拷贝到  $PATH  查找命令的路径中;)

字符类处理命令

sort 对一个无序的文本文档进行数据排序

sort option file

-r 倒序

-n 按数字排序

-t 指定分隔符(默认空格)

-k 指定第几列,指定几列几字符(指定1,1第一列第一个字符  3.1第三列第一个字符,3.3第三列第三个字符)

按照排序的方式只会看到第一个字符,11的第一个字符是1,所以确实比2小

如果真的想要按照数字的方式进行排序,需要使用 -n参数

uniq

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

uniq option input(输入) output(输出)

-c 计算重复的行

uniq需要和sort一起使用,先使用sort排序,让重复内容连续在一起,然后在使用uniq去除重复的行,-c在统计重复的次数。

cut

cut option file

-d 指定分隔符        -f 数字,取第几列 -f3,6 3列和6列        -c按字符取(空格也算)

wc

wc option file

-l 显示文件行数

-c显示文件字节

-w显示文件单词

sed 替换字符(默认只打印,不修改文件本身)

-i 直接修改文件内容

-n 取消默认输出

2p 第二行

替换        sed 's#旧#新#g' 文件名称         ###也可以这么用(sed 's///g')(sed 's@@@g')之间可以写任何特殊字符比如 ! # %^&*来做间隔

匹配        sed -r 's#()()()#\1\2\3#g' 打印到屏幕      分组匹配

(-r的意思是支持正则表达式)

######获取ens32的IP地址,ifconfig需要下载  yum -y install net-tools

ifconfig ens32 |grep "inet " | sed -r 's#(^.*et) (.*)(net.*$)#\2#g'

第一个括号里的内容:^.*以单个任意字符的0次或多次(其实就是这一行的所有内容,匹配所有)到et空格结尾(et后面的括号后有一个空格,或者把空格加到括号内的et后也可以)这是第一段

第二个括号里的内容:.*单个任意字符的0次或多次,就是第一段的后面所有内容为第二段

第三个括号里的内容:net.*$ net后的单个任意字符的0次或多次到结尾,是第三段。

第二个括号里的内容被第一个和第三个分割,再有\2调用第二个括号里的内容,打印出IP地址。

awk 取列 (默认分隔符空格)

-F 指定分隔符(拆分成多列)

’{print $n}‘ 提取其中的某列

NR==2    第二行

$NF    最后一列

将/etc/passwd下的第一行的文件的第一列与最后一列交换

如果想要:号也可以在添加,如 $4:$5

grep 过滤数据

^ 匹配以。。。开头的行

$ 匹配以。。。结尾的行

-v 反向过滤,把匹配的不显示其他的都显示

-i 忽略大小写

-E 支持扩展正则表达式(可以匹配多个文件)

-o 提取关键字

-n 显示行号

| 管道符,将前面产生的数据交给后面来执行

特殊字符

^ 以什么开头

$ 以什么结尾 (你打开的每一个文件夹使用cat -A命令查看时结尾都是$)

^$ 空(以结尾开头)

. 任意单个字符

* 重复前面0次或多次

.* 所有

######获取本机的IP地址(ifconfig需要下载  yum -y install net-tools)

grep -E可以匹配多个条件,[0-9]的意思是0-9的任何一位数字,{1,3}的意思是最少一位,最多3位

后面的.是特殊符号,要用\转义符,将他变成一个普通的字符来匹配,

"[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"

0-9的1或3字符加. 0-9的1或3字符加. 0-9的1或3字符加. 0-9的1或3字符

再用-o提取关键字,

最后使用head -1 提取第一行内容,得到IP地址

######在目录下创建1-100文件,全部删除只留下76,77,78

先取反,把除了76,77,78的所有文件打印除了,再用sed .*表示所有字符为第一段,\1调用并在前增加rm -rf删除不提醒命令,然而显示出来的命令并不执行,所有最后再把得出的数据用bash执行

文件属性

我们使用ls -l显示的长格式内容,我们把它称为文件属性,文件属性分为十列

-rw-------- 第一个字符是文件类型,其他三个一组,属主,属组,其他权限

1 硬连接次数

root        文件属于那个用户

root        文件属于那个组

1286        文件大小

7月 6 04:55        最新修改或创建的时间

anaconda-ks.cfg         文件或目录名称

文件类型

使用颜色或者后缀名来辨文件类型很多时候并不准确,我们可以使用ls -l 以长格式来显示文件的属性,通过第一列第一个字符来进一步判断文件的具体类型

但是很多情况下,我们无法通过ls -l判断文件的类型,因为一个文件也可能是普通文件,压缩文件,或者命令文件,所以我们要用file来准确判断文件的类型。

file /dev/sda

Linux的文件扩展名没有任何含义,仅为我们人能够更好的识别该文件是什么类型。

链接文件

Inode与Block

文件的文件名与数据在Linux上被分成两个部分:数据data和文件元数据metadata

1、数据data block,数据块是用来记录文件真实内容的地方,我们将其称为block

2、元数据metadata,用来记录文件大小、创建时间、所有者等信息,我们将其称为Inode

inode是一串编号,操作系统是通过Inode来识别不同的文件;不包含文件名称,包含文件的元数据内容:

。文件的字节数

。文件的 user ID Group ID

。 文件的读、写、执行权限

。文件的时间戳

。链接数,即有多少文件名指向这个inode

。文件数据block的位置

block是真实内存存储的位置,一个文件至少占用一个block。

系统打开文件的过程 :1.通过文件名称        2.找到inode        3.找到block位置

软链接

软链接类似Windows的快捷方式;我们访问这个软链接文件时,其实是访问源文件本身;

命令要写绝对路径

原理是通过一个新的inode指向源文件的block

可以在网站升级或软件升级中使用

硬链接

硬链接类似超市有多个门,无论从哪个门进入,看到的东西都是一样的,不会影响进入超市

不同的文件名指向同一个inode,简单来说就是指向同一个真实的数据源

命令要写绝对路径

其实我们的系统也在用硬链接

.        表示当前目录,其原理是因为和当前的inode一致

..         表示当前目录的上一级目录,其原理是因为和上级目录的inode一致

(就算硬链接的一个文件被删除也互不影响,但是软连接的源文件被删除链接文件就无效了)

硬链接与软链接的区别

1、ln命令创建硬链接,ln -s命令创建软链接;

2、目录不能创建硬链接,并且硬链接也不可以跨越分区系统;

3、软链接支持对目录的创建,同时也支持跨越分区系统;

4、硬链接文件与源文件的inode相同,软链接与源文件inode不同;

5、删除软链接文件,对源文件及硬链接无任何影响;

6、删除文件的硬链接文件,对源文件及链接无任何影响

7、删除链接文件的源文件,对硬链接无影响,会导致软链接失效

8、删除源文件及其硬链接文件,整个文件会被真正的删除;

文件时间

linux下文件有三个时间的,分别是atime,mtime,ctime

atime 访问的时间         一般情况下,会在86400s后更新一次。如果一直发生变化,会增加磁盘的IO压力

mtime 修改的时间        由于修改block(文件内的数据),就会更新inode,则造成ctime变化

ctime 变化的时间        文件的元数据发送变化,比如权限,所有者等。


Linux基本管理命令 day2相关推荐

  1. linux进程管理命令kill,Linux进程管理命令-kill | IT运维网

    格式:kill -l [signal] -l:显示当前系统可用信号 -l:显示当前系统可用信号 [root@localhost ~]# kill -l 1) SIGHUP 2) SIGINT 3) S ...

  2. linux用户组管理命令_Linux用户和组命令能力问题和解答

    linux用户组管理命令 This section contains Aptitude Questions and Answers on Linux User and Group Commands. ...

  3. 13. Linux权限管理命令

    Linux基础学习-Linux权限管理命令 第十七节 Linux权限管理命令学习6 重要 17.1权限分类 17.2 ugo权限 17.2.1查看ugo权限 17.2.2.ugo权限字符 17.2.3 ...

  4. 十二 个经典 Linux 进程管理命令介绍

    From:http://blog.chinaunix.net/uid-25681671-id-3201927.html 进程和作业管理命令:http://man.linuxde.net/sub/进程和 ...

  5. linux磁盘管理命令 lv,Linux磁盘管理--LVM原理及基本操作

    LVM(Logical Volume Manager)逻辑卷管理是Linux磁盘管理中的常用操作, 本文主要描述LVM的基本原理以及对LVM的扩展和缩减的基本操作. LVM实质是过软件方式将多个物理分 ...

  6. linux用户管理命令 2

    一.用户添加命令:useradd useradd 命令的用法是:useradd 用户名,比如,useradd user1,这样就添加了一个用户名是 user1 的用户. 添加用户时,还有一些常用的选项 ...

  7. linux 进程管理命令详解

    进程调度 Linux进程调度的目标 1.高效性:高效意味着在相同的时间下要完成更多的任务.调度程序会被频繁的执行,所以调度程序要尽可能的高效: 2.加强交互性能:在系统相当的负载下,也要保证系统的响应 ...

  8. Linux用户管理命令

    1.用户管理命令 Linux是一个多用户的系统 (1)系统存储用户信息的位置 /etc/passwd:存储用户的基本信息 UID GID UID:用户 GID:用户所属的组 (2)/etc/group ...

  9. linux进程管理命令实验,实验2Linux进程管理.doc

    实验2Linux进程管理 实验2 Linux进程管理 实验目的 1.加深对进程概念的理解,明确进程和程序的区别 2.进一步认识并发执行的实质 3.分析进程争用资源的现象,学习解决进程互斥的方法 实验性 ...

最新文章

  1. 计算机组成原理-第二章 数据表示与运算
  2. 如何在GraphPad Prism 9图表上添加图片或其他对象
  3. 边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?
  4. gdb调试时调用函数、设置观察点以及GDB的宏
  5. [礼仪大赛策划方案]图:如何打造一场精美极致的礼仪大赛?PPT动态柱状图,如何动态显示?Flash如何渲染PPT界面呢?
  6. Java longTime 和C#日期转换
  7. 螺旋模型、喷泉模型、增量模型的特点
  8. 英语数字听力训练精灵
  9. PS如何修改扩展插件的名字(Photoshop重命名插件教程)
  10. APIO2016游记
  11. 兴业研发晨会纪要2008年 10月 30日
  12. [Web前端] 子元素设置高度为100%, 却没有与父元素对齐高度.
  13. 线速度与角速度的关系
  14. 开源java 状态机_Java架构师方案——状态机(附完项目代码)
  15. 美团“互联网下半场”的筹码:豪赌B端业务
  16. JAVA学习网址大全
  17. 2022 CSP-S2 提高组 第2轮 复赛 视频
  18. 大数据学习笔记(二)hadoop
  19. matlab2019使用仿真,光学仿真matlab中的handles怎么用 终于明白了
  20. Yii2.0登录详解(下)

热门文章

  1. 20180416-F · Global Mortality · ggplot2 地图 热力图 条形图 · R 语言数据可视化 案例 源码
  2. linux之autojump命令
  3. 2021年中国早教行业融资现状及行业发展趋势分析[图]
  4. 点云单木分割思路整理
  5. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(BOM)
  6. java spring getbean_spring getbean 方法分析(很实用!)
  7. 计算机适合男生学吗,有什么技术适合男生学 最吃香的技术有哪些
  8. CTF新手练习之Misc
  9. Array.prototype.slice.call(arguments,0); 上下调用模型
  10. 【Java】JVM学习(二)