8.15 Day41---Linux文件系统命令

目录

windows中的cmd窗口命令

LINUX:

登录/连接方式

关机命令

操作命令

ls:列出所在位置目录的详细内容

cd:切换目录

touch 创建文件

cp 复制文件或目录 copy

rm删除文件或者目录

alias 查看别名

mv命令 移动文件或者目录 move

文件查看命令

cat命令

tac命令

more命令

less 分页查看命令

head 命令

tail命令

vim编辑器

vim编辑器

find命令:搜索命令

搜索内容

链接命令 ln

压缩和解压缩

tar命令打包

tar命令做解打包的操作

权限

chmod命令:修改文件或目录权限

练习:

临时权限

用户相关

Linux中的 /etc/passwd内容解释

Linux /etc/group文件解释

用户组概念

LINUX中ID的概念

用户相关的命令

useradd:添加用户

passwd :修改用户密码

示例:

usermod:修改用户信息

userdel:删除用户

id:查看用户的UID和GID

su 和 su - 的区别

groupadd:添加用户组

groupmod:修改用户组

groupdel:删除用户组

文件系统

重定向

输入输出重定向

LINUX输入重定向:

Linux输出重定向

df命令

du命令 :目录或者文件所占磁盘大小

管道符 |

centos7 修改yum源为阿里源

首先是到yum源设置文件夹里

1. 查看yum源信息:

2. 安装base reop源

3. 接着备份旧的配置文件

4. 下载阿里源的文件

5.清理缓存

6.重新生成缓存

7. 再次查看yum源信息

sudo命令:以管理员身份运行

端口命令netstat

1.查看3306端口的情况

2.查看正在使用的端口情况

Shell的基本使用

Shell变量

定义变量


windows中的cmd窗口命令

1.ipconfig 查看主机IP

2.切换盘符:盘符名:

例 切换到D盘 d :

3.切换目录位置:cd 目录名称

4.浏览当前目录内容 dir

5.ping命令 ping ip地址或者域名

例 ping www.baidu.com

LINUX:

登录/连接方式

1.命令行登录:输入用户名和密码

2.SSH登录 即远程登录

3.图形界面登录(ubuntu)

关机命令

shutdown -s -t 100 定时100S关机

shutdown -h now 立刻关机

shutdown -h 20:20 今天20点20分关机

shutdown -r -t 100 100秒后重启

同步:sync 将内存内容同步至硬盘

操作命令

[]提示符 分隔符号无特殊含义

@分隔符号 无特殊含义

localhost:当前系统主机名

#:命令提示符,表示登录用户等级,#是超级管理员,普通用户是$

家目录表示的是当前登录账号的目录,root权限则目录就是root目录

ls:列出所在位置目录的详细内容

语法:ls [选项] 目录名称(不写目录名则表示显示当前位置的内容)

常用选项:

-ll:长数据串方式列出  查看当前目录下的所有资源

ls -l可以简写成ll  查看当前目录下的所有文件

-a:显示当前目录下所有文件(包括隐藏文件)

~ :表示用户当前所在目录,~表示你现在在用户自己的家目录中

cd:切换目录

cd..后退至上一个目录

语法:cd[绝对路径或者相对路径]

相对路径:以当前目录为参照,即文件所在地址会改变

绝对路径:以根目录为此参照,文件所在地址不会改变

绝对路径例: cd /home

相对路径: cd ../../home

查看/etc下的内容

如果所在位置不是 / : ls /etc

如果所在位置是/ : ls etc

如果所在位置是/etc下 : ls

cd~:切换到当前登录用户家目录

cd~用户名:切换到指定用户家目录

cd -:回到上一次所在目录

cd ..:回到上一级(父级目录)目录

pwd 显示当前所处目录位置

pwd -P 显示真实路径而不是连接

mkdir 创建目录 (make directory)

语法:手动指定创建目录的权限 mkdir -m 目录名字(设定权限)

递归创建所有目录 mkdir -p 目录名(若父级目录不存在会自动创建)

mkdir 目录名

touch 创建文件

语法:touch 目录/文件名 在指定目录下创建文件

touch 文件名 在当前目录创建文件

rmdir 删除空目录(remove directory)

rmdir -p 根目录/子目录(用于删除非空)

cp 复制文件或目录 copy

语法:cp [选项] 源文件 目标文件

选项:

-i:,若目标文件存在,询问是否覆盖

-f:若目标文件存在,不询问是否覆盖

-l:将目标文件复制为源文件的硬链接文件

-s:将目标文件复制为源文件的软连接文件

-r:递归复制,一般用于目录复制

例:

cp 123 /home 将当前目录下的123文件复试到/home下

cp -r test /home 将当前目录下的test目录包括其中的文件复制到/home下

rm删除文件或者目录

rm: [选项] 文件或目录

选项:

-f:强制删除,不做提示

-i:有提示删除

-r:递归删除,用来删除目录

rm -rf 强制删除目录和文件

alias 查看别名

mv命令 移动文件或者目录 move

语法:mv [选项]源文件 目标文件

选项:

-f:强制覆盖,目标文件存在不询问

-i:目标文件存在,则循环是否覆盖

-v:显示移动过程

-n:目标文件存在,就不执行移动

文件查看命令

cat 从文本内容第一行开始查看

tac 从最后一行查看

more 分页查看

less 分页查看,可以往前翻页

head 看头部几行内容

tail 看尾部几行内容

cat命令

一次性显示文件的所有内容,适合查看不太大的文件。如果太大,可能有些内容会不完全显示。

语法: cat [选项] 文件名 cat 文件1 文件2 > 文件3

选项:

 

tac命令

和cat命令内容以相反的方式显示

more命令

语法: more [选项] 文件名

 

less 分页查看命令

使用less命令可以向前翻看内容,more不可以

看到文件结束的时候,less需要以命令退出,Q可以退出

提供了高亮显示、检索功能

语法 : less [选项] 文件名

选项:

-N 显示行号

-e 文件看完后,自动离开

/字符串 向下搜索指定内容

?字符串 向上搜索指定内容

回车键 :向下移动一行

空格键 : 向下移动一页

head 命令

可以查看指定的前几行内容

语法: head [选项] 文件名

-c num num表示字节数,显示前多少个字节

-n num num表示行数,显示前num行内容

示例:

tail命令

和head命令相反,看文件末尾内容

语法: tail [选项] 文件名

-c num num表示字节数,显示前多少个字节

-n num num表示行数,显示前num行内容

-f 实时输出文件变化后的内容数据

先在工具中,创建文件

然后使用tail -f 文件名 ,监听文件

然后在虚拟机中,往被监听的文件中添加内容

然后在工具中,就可以实时的看到被添加的内容了

vim编辑器

vi是老式的文字处理器,vim是新版的,一般情况下,使用vi就可以了

在家目录下,创建一个zhangsan的文件,在其中输入以下内容: 张三是通达学院的学生!!

保存退出

vim编辑器

vim、vi

vi 文件名 进入该文件编辑界面

按i、a、o键进入输入状态

按ESC退出输入状态,然后输入:(加一些命令)进入底线命令模式

进入输入模式的命令

命令模式的指令

底线命令模式的指令

find命令:搜索命令

语法1:根据文件名搜索

find [路径] -name 文件名 -print

语法1:根据文件名搜索

find [路径] -name 文件名 -print 打印搜索到指定路径的文件名

find /etc -name "*.txt" -print 查找/etc下所有格式为txt的文件

语法2:根据文件修改时间来搜索

find [路径] -mtime +5 -print 查找更改时间为指定数值的文件

数值前减号表示5天前,加号表示5天内的

语法3: 根据文件大小来查找

find [路径] -size +100c -print 打印长度超过100个字节的文件,加号表示大于,减号表示小于,不写表示等于

语法4:搜索文件后执行操作

find 路径 -name 名字 -exec 命令 {} \; 找到某个路径下的文件并对其执行对应的操作命令

示例:找到/home的yuwennote.txt ,并执行vi命令将其打开

-type命令 :指定查找文件的类型

常用格式:

b 块设备文件

d 目录

c 字符设备文件

f 普通文件

l 链接文件

示例:查找到 /home更改时间为3天前的目录,并删除它们

搜索内容

grep命令:查找指定文档中的内容

语法:grep (选项) 模式(规则)[文件名]

选项:

-n 显示匹配的行号

-c 统计匹配的行数

-o 仅显示匹配到的字符串

-v 显示不匹配的行

-i 匹配的时候忽略大小写

例如:

查找s开头的内容

grep -n ^s vietest/passwd

查找passwd中包含数字的行

grep -n [0-9] vitest/passwd

查找passwd中包含三位数字的行

grep -n '[0-9]\{3\}' vitest/passwd

查找passwd中包含两或者三位数字的行

grep -n '[0-9]\{2,3\}' vitest/passwd

正则表达式:计算机汇总一种正规的,带有规则的表达方式

例:搜索一个手机号码,可以把手机格式规定好,按照这个格式搜索便可以把所有符合格式规则的号码找到

规则:位数为11,第一位只能是1,第二位3,4,5etc,后面跟上随机9为数字

则其表达式为:1[3-9][0-9]{9}

链接命令 ln

LINUX文件系统中,保存在磁盘分区中的文件,是以索引节点号的方式保存的

硬链接:多个文件名指向同一个索引节点,那么可以称其他文件是其中一个文件的硬链接,如,a是b的硬链接,那么a的节点号和b的节点号相同(备份),删除其中任何一个,另一个不受影响

软链接:软链接类似于windows中的快捷方式,如果a是b的软链接,那么a和b 的节点不同,如果b被删除,a仍然存在,但是无法打开,是无效的

简单区别如下:创建文件f1,创建硬链接文件f2,创建软连接文件f3,删除f1,f2不收影响,f3不能使用;删除f2,f1f3都不受影响

压缩和解压缩

打包(归档):就是把需要压缩的文件先放到一起

压缩:把打包好的文件,按照一定的要求,压缩,从而达到节省空间的目的

tar命令可以用来打包、解打包、压缩、解压缩

tar命令打包

语法: tar [选项] 文件或者目录

选项

-c 将多个文件目录打包

-f 指定包的名称

-v 显示打包过程

-A 追加tar文件到归档文件中

示例:

 打包之后压缩

压缩不能直接压缩目录,需要先用tar命令将目录打包,才能使用压缩命令压缩,比如gzip、bzip2...

gzip的使用: gzip tar包

后面可以通过tar命令,直接一步实现打包压缩操作

tar命令做解打包的操作

语法: tar [选项] 压缩包

选项:

-x 对tar包做解打包

-f 指定要解压的tar包的包名

-C 目录 指定解包的位置

-v 显示解包的过程

示例

使用tar命令做压缩和解压缩操作

语法:tar 选项 压缩文件 源文件或者目录

选项:

-z:压缩和解压缩.tar.gz格式

-j:压缩和解压缩.tar.bz2格式

压缩命令:

tat -zpcv

使用解压缩命令安装软件

在线安装:直接联网安装

压缩包安装:就是把安装包下好,然后安装

权限

3种权限:读--r、写--w、执行--x,

chmod命令:修改文件或目录权限

1.使用数字修改文件权限

r-->4

w-->2

x-->1

chmod语法:

chmod 选项 文件名

选项:

-R 递归修改 修改目录中的所有文件权限

2.使用字母修改权限

LINUX将权限的3种身份 所有者、所属组、其他人分别用3个字母表示身份

所有者-->a

所属组-->g

其他人-->o

每个用户的权限,都可以通过对应的数字累加来确定具体权限

rwx r-x r-- 对应的数值组合是 : 7 5 4

所有者权限是 rwx = 4+2+1 = 7

所属组权限是 r-x = 4+0+1 = 5

其他人权限是 r-- = 4 +0+0 = 4

修改权限语法

示例:

将123文件都加一个x权限

将文件abc,所有者加x,所属组+w,其他人-r

练习:

分别创建两个文件,abc1和abc2

然后分别使用数字授权和字母授权的方式给他们不同的权限

abc1--> rwxr--r--

abc2-> r---w-r-x

临时权限

用户相关

LINUX是多任务多用户,不同用户可以同时访问执行不同的任务,不同的用户也有不同的权限,每个用户都可以在自己的权限范围内执行任务。

Linux中的 /etc/passwd内容解释

是系统用户配置文件,存储了用户的基本信息

每行通过:分隔成7个字段

含义如下:

用户名:密码:UID:GID:描述信息:主目录(家目录):默认的shell

Linux /etc/group文件解释

存放用户组配置文件,所有的用户组的信息,存放在这里

以:分隔为4个字段,每个字段的含义

组名:密码:GID:用户列表

用户组概念

将具有相同特征的用户放在一起

LINUX中ID的概念

系统不认识用户名,只认识对应ID,ID分为用户ID(UID)和组ID(GID)

UID:0-65535之间的数字

0:超级管理员,UID改成0既可

用户相关的命令

useradd:添加用户

passwd :修改用户密码

usermod:修改用户信息

userdel:删除用户

id:查看用户的UID和GID

su命令:切换用户

groupadd:添加用户组

groupmod:修改用户组

groupdel:删除用户组

gpasswd:添加用户进组或者删除用户出组

chgrp:修改文件或者目录的所属组

chown:修改文件或者目录的所有者和所属组

useradd:添加用户

语法: useradd [选项] 用户名

选项:

-u UID : 手动指定UID,500-65535

-d 主目录 : 手动指定主目录,不写系统给

-c 说明 :passwd文件中描述信息那一栏

-g 组名: 指定用户初始组,不指定系统给和用户名同名组

-G 组名 : 指定附加组

-o :允许创建相同的用户的UID

示例:

passwd :修改用户密码

语法: passwd [选项] 用户名

选项:

示例:

超级管理员root修改密码

用户修改自己密码,不能设置简单密码

usermod:修改用户信息

语法: usermod [选项] 用户名

选项:

示例

userdel:删除用户

语法: userdel [选项] 用户名

示例

id:查看用户的UID和GID

语法: id 用户名

su命令:切换用户

语法 : su 用户名 或者 su - 用户名

root可以随意切换到普通用户

普通用户切换到root必须要密码

su 和 su - 的区别

su - 表示,用户在切换身份的同事,将当前的环境变量也切换成指定用户的。

groupadd:添加用户组

语法: groupadd [选项] 组名

选项:

示例:

groupmod:修改用户组

语法: groupmod [选项] 组名

选项:

示例

groupdel:删除用户组

删除用户组不能删除用户的初始组

语法: groupdel 组名

gpasswd:添加用户进组或者删除用户出组

可以设置组管理员,可以完成组中加人和删人的操作

语法: gpasswd [选项] 组名

不加选项是设置组密码

选项:

示例:

 

chgrp:修改文件或者目录的所属组

chown:修改文件或者目录的所有者和所属组

文件系统

重定向

输入输出重定向

标准输入设备:键盘

标准输出设备:显示器

输入重定向:重新指定设备代替键盘作为新的输入设备

输出重定向:重新设定设备代替显示器作为新的输出设备

LINUX输入重定向:

命令 < 文件 : 将指定的文件作为命令的输入设备

命令

命令 < 文件1 > 文件2 :将文件1作为命令的输入设备,该命令的执行结果输出到文件2中

示例:

执行命令 1, cat < /etc/passwd

2, cat /etc/passwd

这两个命令输出的结果是相同的,但是它们的本质是不同的,1就代表了,将passwd这个文件作为输入设备,2就代表是以键盘作为输入设备

执行命令 : cat < /etc/passwd > a.txt

通过重定向将 /etc/passwd作为输入设备,并且将内容输出到a.txt中。最终实现/etc/passwd中内容复制的操作

Linux输出重定向

> 标准输出重定向

>> 错误输出重定向

语法

命令 > 文件 清空输出

命令 >> 文件 追加输出

命令 2> 文件 错误清空输出

命令 2>> 文件 错误追加输出

df命令

用来显示Linux系统中各文件系统的硬盘使用情况

语法: df [选项] [目录或者文件名]

du命令 :目录或者文件所占磁盘大小

语法: du [选项] [目录或者文件名称]

管道符 |

命令连接符,将一个命令生产的数据直接传递给后面的命令。

语法: 命令1 | 命令2 |命令3 | ....

示例1: 查看目录下内容比较多时,一下子查看不完,可以连接分页命令,分页查看

ls -l /etc | less

示例2: 查看进程中带有python关键的进程

查询进程: ps -ef

示例3: 将 /etc/issue文件中的内容转换大小写以后保存到 /tmp/issue.out中

转换内容: tr [a-z] [A-Z] 将小写转成大写

示例4:使用管道符 计算 1-100的和

需要安装一个 Linux的计算器功能

命令: yum -y install bc

echo {1..100} | tr ' ' '+' | bc

利用将echo输出的一串数字中的空格替换成+号,完成计算

rpm :软件管理器,相当于windows中控制面板中的程序,是本地的软件包的管理,可以查看和卸载一些软件

yum: 软件的仓库

可以做的操作:

1,yum check -update 更新仓库

2,yum -y install 软件名 :安装指定软件

3,yum update 软件名 : 更新软件

4,yum -y remove 软件名 :卸载软件

5,yum list installed :列出已经安装的软件包

centos7 修改yum源为阿里源

首先是到yum源设置文件夹里

1. 查看yum源信息:

yum repolist

2. 安装base reop源

cd /etc/yum.repos.d

3. 接着备份旧的配置文件

sudo mv CentOS-Base.repo CentOS-Base.repo.bak

4. 下载阿里源的文件

sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-7.repo

如果wget用不了就使用下面命令:

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5.清理缓存

yum clean all

6.重新生成缓存

yum makecache

7. 再次查看yum源信息

yum repolist

sudo命令:以管理员身份运行

端口命令netstat

1.查看3306端口的情况

netstat -anp | grep 3306

2.查看正在使用的端口情况

netstat -nultp

shell编程

就是以编程的方式写一些可以执行的脚本文件

第一个Shell编程,HelloWorld!

使用vi命令,创建文件并输入内容

给创建好的文件添加一个可以执行的权限

使用./执行文件,显示器就会输出内容

第一行代码: #!/bin/bash

表示一个约定的标记,告诉系统这个脚本需要使用什么解释器来执行,即使用哪种shell,/bin/bash就是指明了解释器的具体位置,一般在这里都是固定写法

第二行代码 :echo "HelloWorld!"

echo 命令用于向标准输出设备,输出文件内容,在.sh中和在终端命令窗口直接输入名的效果一样

稍微复杂一点的Shell脚本

 

echo "请输入你的姓名:" #输出提示

read person #读取用户输入的内容

echo "Hello,$person" #将用户输入的内容读取后输出

Shell的基本使用

变量:每个语言必不可少的部分,是在内存中开辟的一个小空间,用来存放数据的。

Shell变量

shell变量不用指定数据类型,直接赋值就可以使用

在shell中,每一个变量的值都是一个字符串

shell在默认情况下,不会区分变量的数据类型,即使你将整数或者小数赋值给变量,也会被当做字符串,这个特点和很多编程语言不同

定义变量

shell变量定义支持以下三种方式:

变量名=值

变量名='值'

变量名="值"

如果值中,不包含空格或者其他的空白符,可以不适用引号,如果包含空白符必须适用引号引起来。

Shell变量名的取名规范(和大部分编程语言相通):

1,只能由数字、字母、下划线组成

2,必须以字母或者下划线开头

3,不能使用shell关键字

定义变量示例

变量名的外面可以加上一对花括号{}

花括号的作用,可以帮助解释器识别变量的边界,

一般推荐加上{}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值