• 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 [选项] 目录名称(不写目录名则表示显示当前位置的内容)

    常用选项:

    -l:长数据串方式列出

    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关键字

    定义变量示例

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

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

    一般推荐加上{}

     

  • 相关阅读:
    操作系统实现-中断及任务调度
    JS标准库
    【编程题】【Scratch一级】2022.09 猫捉老鼠
    java-net-php-python-jsp网络考试系统计算机毕业设计程序
    Zookeeper特性与节点数据类型详解
    go的gin框架实现接受多个图片和单个视频并保存到本地服务器的接口
    ElasticSearch之类型映射_mapping
    弘辽科技:淘宝流量不稳定该如何应对
    ffmpeg 特效 转场 放大缩小
    Android AGP8.1.0组件化初探
  • 原文地址:https://blog.csdn.net/qq_63771774/article/details/126342086