目录

1.认识Linux

1.1Linux的简介

1.2Linux的组成

1.3终端

1.4Shell命令提示符

1.5修改root密码(包含知道密码与忘记密码的情况):

1.6 关闭网络接口的可预测命名规则(按需关闭)

2.Linux中的命令基础

2.1命令格式

2.2查看命令帮助

2.3date命令

2.4timedatectl命令

2.5cal命令

2.6ls命令

3.Linux文件类型和根目录

3.1Linux文件类型

3.2Linux目录结构

3.3路径

3.4工作目录(当前目录)

3.5PATH环境变量

3.6自行设置环境变量

3.7解决 profile 文件修改错误,引发找不到命令的问题

4.使用命令行管理文件

4.1文件名命名规则(可使用touch、vim等命令创建文件并命名)

4.2链接文件

4.3目录操作命令(mkdir命令)

4.4新建普通文件(touch、tree命令)

4.5创建大容量数据(dd命令)

4.6删除文件(rm 命令)

4.7 数据流和重定向

4.8将标准输出重定向到文件当中(echo 命令)

4.9 tee命令读取数据并输出到文件当中

4.10管道符(|,一个竖线)

4.11vi/vim编辑器

5.文章内容显示命令

5.1浏览普通文件

5.2文件信息(元数据)查看

5.3文件内容过滤显示(grep 命令)

5.4切割显示(cut 命令)

5.5排序显示(sort 命令)

5.6去重显示(uniq 命令)

5.7文件中字符替换显示(tr命令)

6.文件的其他操作命令

6.1文本内容统计(wc 命令)

6.2复制、移动文件(cp、mv命令)

6.3查找文件

6.4压缩和解压缩命令


1.认识Linux

1.1Linux的简介

       Linux是一种广泛使用的开源操作系统,它基于类UNIX的设计理念,提供了一个多用户、多任务的环境,支持多线程和多CPU处理。Linux操作系统核心是Linux内核,它负责管理硬件资源并提供系统服务,通常与GNU工具和服务捆绑在一起,形成一个完整的操作系统,被称为GNU/Linux。

1.2Linux的组成

        1.Linux内核:运行程序和管理硬件设备的核心程序。

        2.Shell:系统的用户界面,提供用户与内核交互的接口。

        工作原理:用户给Shell发送命令,Shell将命令翻译给内核,内核收到命令控制硬件工作,向Shell反馈工作情况,再由Shell向用户返回工作信息。

        3.应用程序:Linux上的一些软件应用,比如:文本编辑器,编程语言等等。

1.3终端

        1.终端:又称终端设备,是计算机网络最外围的设备,用于用户的输入与运行结果的输出。

        2.虚拟终端:在同一个设备上虚拟出多个终端,终端之间互不影响,默认存在6个,可通过快捷键:ctrl+alt+F(1/2/3/4/5/6)快速创建/切换。

1.4Shell命令提示符

例:[root@service2 ~]#

        账户名:又称用户名,当前登录的账户。

        主机名:代表你的主机IP,主机IP的域名。

        当前目录位置~:root管理员是/root,普通用户是/home/用户账户名。

        提示符标志:#代表管理员,$代表普通账户。

1.5修改root密码(包含知道密码与忘记密码的情况):

        1.在知晓原先密码的情况下修改root密码: 登录进入root账户,先输入passwd命令,在输入输入两遍新密码(密码输入时是不会显示的,正常输入即可),即可完成修改。(注意:普通用户设置新密码时需要满足要求,但root管理员可以强行修改密码)

passwd

        当看到以下这句话时,意味着密码修改成功:

        密码少于8个字符:

        密码太过简单:

        2.当你忘记原先的root密码,无法登录root的情况下,修改root密码(rd.break法):

        2.1开启虚拟机,在选项界面,按上下键切换,选定第一行,按E进入编辑:

        2.2 下滑,在linux16这一行的尾部添加:rd.break,完成后按ctrl + X退出编辑

rd.break

        2.3 之后你会进入一个临时救援模式,你需要将真实根目录挂载为可读写模式(默认情况下,/sysroot是以只读(ro)方式挂载的,直接修改密码会失败)

mount -o remount,rw/sysroot/
mount | grep sysroot

        挂载成功如下图:

        2.4 使用chroot命令,将你的根目录切换到真实系统目录/sysroot下,设置新密码

chroot /sysroot/
echo 新的root密码 | passwd --stdin root

        2.5 强置重启文件系统的上下文。(如果你的系统之前已经关闭了SElinux,可以跳过这一步)

touch ./autorelabel

        原因:在rd.break的临时环境中,SELinux 并未运行。直接修改了存储密码的 /etc/shadow 文件,会导致该文件的 SELinux 安全上下文标签不正确。touch ./autorelabel 这个操作会告诉系统在下次启动时重新检查和修复所有文件的标签,确保一切正常。

        2.6 两次exit退出临时环境即可

1.6 关闭网络接口的可预测命名规则(按需关闭)

        目的:CentOS 7以后,操作系统建立了一套新的网卡命名规则(根据网卡的硬件物理位置、总线地址、MAC地址等信息来生成名称),虽然它固定了网口的名称,但是很多老脚本、老配置文件里写死了eth0,在新系统上会找不到网卡。

        1.编辑Linux的启动文件

vim /boot/grub2/grub.cfg

        2.进入文件后,输入:100跳转至文件的第100行,按住shift + A,跳转至行尾,添加net.ifnames=0,关闭网络接口的“可预测命名”规则。修改完成后,按:wq 保存并退出。

net.ifnames=0

        3.  重启虚拟机

reboot

        4.输入nmcli查看所有连接配置:

nmcli c s

2.Linux中的命令基础

2.1命令格式

        1.格式:

主命令 参数 操作对象

例如:

        意思:以长格式列出etc目录下的所有文件和目录

        2.命令分类:内置命令和外置命令

        内置命令:由Shell自带的命令

        外置命令:独立的可执行程序文件

        3.参数:指定命令的执行特性,具体执行哪一项功能

        短选项:例如:-l,-d,多个短选项可合并。例如-ld。

        长选项:例如:--help,

        4.操作对象:命令的作用对象,可以是文件或者目录,多个操作对象间用空格分开。

        5.注意事项:

        终止命令:ctrl + c。

        补全:输入命令/文件的前几个关键字,按 Tab 键补全(需提前安装bash-completion)。

2.2查看命令帮助

        1.查看bash内的命令帮助(用于Shell内置命令)

help 命令

        2.使用命令 --help (查看外部程序的命令)

命令 --help

        3.man命令(几乎适用所有命令)

man 命令

        空格翻页,按 Q 退出。

2.3date命令

        1.作用:用于显示和设置系统的时间。

        2.格式:

date -选项参数 +显示日期时间的格式参数

        -选项参数:

                -d:用于时间的加减,适合写脚本

                -s:设置系统的时间

        -显示日期时间的格式参数:

                %Y:显示完整的年份

                %y:只显示年份的后两位

                %m:显示月份

                %d:显示当月的天数

                %H:显示小时

                %M:显示分钟

                %s:显示秒数

        3.同步时间:系统时间修改后,通常需要同步到硬件时钟(BIOS),防止重启后失效。

hwclock --systohc

        4.创建一个以当前日期命名的文件

touch file_$(date "+%Y-%m-%d")

2.4timedatectl命令

        1.作用:设置系统时间,同步时区。

        2.格式:

timedatectl 参数

        status:显示状态信息

        list-timezones:列出已知时区

        set-timezones:设置生效时区

        set-time:修改时间

2.5cal命令

        1.作用:查看日期

        2.格式:

cal 

2.6ls命令

        1.作用:列出目录下的文件/目录

        2.格式:

ls 选项 操作对象

        选项:

                -l:以长格式显示内容,包含文件的类型,权限,所有者,内存。

                -h:更清楚的显示文件内存,一般与-l搭配,如-lh或者 ll -h

                -a:显示隐藏文件/目录

                -R:以递归的方式显示目录下的内容以及其子目录的全部内容

        3.ls的颜色表示(系统自带的ls是个别名,ls --color=auto):

                白色:普通文件。

                蓝色:目录。

                红色:压缩包文件。

                黄色:设备文件。

                绿色:可执行文件。

3.Linux文件类型和根目录

3.1Linux文件类型

        1.使用ls -l或ll命令进行查看:

ls -l 或 ll

        

        2.字符代表的文件类型:

                d:表示目录。

                -:表示普通文件。

                c:表示字符设备文件。

                b:表示块设备文件。

                p:表示管道文件。

                s:表示套接字文件。

                l:表示链接文件。

3.2Linux目录结构

        1.结构特点:

                1.使用树形结构来组织文件。

                2.整个系统只有一个根目录,用"/"表示。

                3.其他所有分区以及外部设备都挂接在目录树下的某一目录中,通过访问挂载点目录,来访问这个分区。

        2.结构图:

        常见目录:

        /:Linux中的根目录。

        /boot:存放启动文件的目录。

        /root:超级用户的个人目录。

        /home:存放一般用户的个人目录。

        /bin:存放普通用户的可执行程序或者命令。

        /sbin:和bin类似,存放系统管理文件,只有root可使用。

        /lib:存放系统的各种库文件。

        /lib64:存放系统本身所需的64位程序的共享函数库。

        /usr:一般用户程序安装所在的目录,用于安装各类程序。

        /opt:提供给较大型的第三方程序使用,避免文件分散至多个目录。

        /etc:存放系统管理时所需的配置文件及其子目录。

        /var:存放各种系统日志文件。

        /run:保存自系统启动以来的系统信息。

        /dev:包含所有设备文件。

        /mnt和/media:临时将别的文件系统挂在当前目录下。

        /tmp:存放不同程序执行时的临时文件。

        /srv:服务启动后需要访问的数据目录。

        /sys:包含内核信息映射文件,供应用程序使用。

        /proc:获取系统信息。

        注意:

                1.系统目录不要随便删除,特别是第一级目录。

                2.目录是区分大小写的。

3.3路径

        1.路径:表示某一文件或者目录所处的位置。

        2.分类:绝对路径和相对路径。

                绝对路径:以根目录"/"为起点,表示系统的某个文件或者目录的位置。

                相对路径:以当前目录为起点,表示系统的某个文件或者目录的位置。

3.4工作目录(当前目录)

        1.使用 pwd 命令显示当前目录

pwd

        2.使用 cd 命令切换工作目录

cd 目录:切换到指定目录
cd .:切换成当前目录
cd ..:返回上一级目录
cd :返回登录时的初始目录

3.5PATH环境变量

        1.作用:自动查询二进制命令,告诉Shell去哪里寻找用户输入的命令。

        2.查看当前的PATH($:表示取变量值)

echo $PATH

3.6自行设置环境变量

       1.作用:将自己的程序放在PATH环境下。

        2.临时设置环境变量,仅在当前终端生效:

export 变量名 = 变量值

        3.设置普通用户的永久环境变量:

                1.编辑普通用户目录下的.bashrc文件

vim .bashrc

                2.最后一行插入 export 变量名 = 变量值,完成后退出

export 变量名 = 变量值

                3.文件生效

source .bashrc

                4.重启查看环境变量

echo $MY_project

                5.小贴士:设置环境变量时,等号(=)两边不要留空格,否则会报错。如下所示:

        4.设置超级用户的永久环境变量,(普通用户也可使用)

                1.编辑 /etc/profile文件

vim /etc/profile

                2.在最后一行,插入环境变量,完成后退出。

export 变量名 = 变量值

                3.使用source使文件生效

source /etc/profile

                4.重启虚拟机,查看环境变量是否生效

echo $MY_PATH

                超级用户:

                普通用户:                 

        4.实战:将自己的程序放入全局变量当中,(普通用户和超级用户都可以访问)

                1.创建一个目录(注意不要在根目录下创建),将文件放在该目录当中

cd /usr/local/bin
mkdir myenv
cd myenv
vim 你的程序

                2.在文件中放入你的程序(我这里是输出hello,用于测试),完成后退出

echo "hello"

                3.,返回根目录,编辑 /etc/profile 文件

cd
vim /ect/profile

                4.在最后一行插入:原先的环境变量路径+你的环境变量,意思是在原先的PATH后面增加一个你的环境变量(注意,不要少了这个冒号,否则会导致文件错误,找不到命令)。

export PATH=$PATH:你定义的环境变量

                5.使文件生效

source /etc/profile

                6.修改 hello 文件权限,使文件能够被root和普通用户读、写和执行。(关于chmod的更多用法会在下面介绍)

cd /usr/local/bin/myenv
chmod 777 hello

                7.重启,查看程序是否成功加入全局变量:

hello

                        普通用户:

                        超级用户:

3.7解决 profile 文件修改错误,引发找不到命令的问题

        问题原因:profile文件被破坏,修改存在错误

        解决方法:将文件恢复正常,修正编辑错误的信息

        问题如下:

        使用完整的vim命令,修改 profile 文件:

/usr/bin/vim /etc/profile

4.使用命令行管理文件

4.1文件名命名规则(可使用touch、vim等命令创建文件并命名)

        1.不能使用 / 为文件命名。

        2.文件名字符不能超过255。

        3.区分大小写。

        4.不同类型的文件也不能同名。

4.2链接文件

        1.硬盘数据分类:

                元数据:关于数据的数据,描述数据的对象的基本信息,即数据的大小,创建者等。

                用户数据:数据本身,具体的文件数据内容。

        2.硬链接与软链接的区别:

                硬链接:源文件被销毁,数据依然存在,占用与源文件相同大小的空间。

                软链接:源文件被销毁,所有链接文件也被销毁,占用较小的空间。

                软链接可以通过 ls -l 命令查看指向关系,硬链接无法查看指向。

                软链接不受文件系统的影响,任何文件都可以指向目录的软链接。

        3.硬链接:指向原始文件indoe(文件编号)的指针。

        4.硬链接原理:Linux中允许多个文件指向同一个indoe,即一个文件允许多个地址指向它。

        5.建立硬链接:

                格式:

ln -参数(可选) 源文件 目标链接文件

  

                  查看硬链接数:

stat 源文件

    

                参数:

                        -f:若目标文件已存在,可使用 -f 强制覆盖。

        6.硬链接注意:

                硬链接创建完成后,即使删除源文件,数据依然可以访问,只有硬链接数是0时,数据才会被销毁。

                硬链接不能给目录建立。

                目录自带两个硬链接,即 . :当前目录和 .. :上一级目录。

                不可以在不同的文件系统中创建硬链接,不允许跨设备,跨分区。

        7.软链接原理:一种符号的连接方式,仅包含指向文件的路径,类似windows中的快捷方式。

        8.软链接格式:

ln -s 源文件 目标链接文件

       查看软链接文件

stat 源文件

        9.更改软链接指向:

ln -snf 指向的新文件名 软链接名

        例:将t3.txt指向更改成t2.txt

ln -snf t2.txt t3.txt

        10.软链接注意:

                目标文件只是一种指向关系,删除源文件数据会丢失。

                可以使用ll命令查看源文件及其位置。

                删除软链接,只是删除指向关系,不会造成源数据丢失。

4.3目录操作命令(mkdir命令)

        1.创建目录 mkdir,多目录间用空格间隔。

mkdir -[参数]  [/路径]目录1 目录2 目录3 ..

       参数:

                -p:快速创建目录结构中指定的每个目录,对于已存在的目录不会覆盖。

                -v:显示创建目录的过程。

        2. du 命令

                1.作用:查看目录的空间使用情况,以及各个子目录占用的磁盘空间。

                2.格式:

du -[参数]  [目录路径(为空是当前目录)]

                参数:

                        -a:统计目录下的所有文件大小

                        -h:提高可读性,以M,K,G为单位

                        -s:只统计文件大小,不包含子目录及其下面的文件。

        3.df 命令:

                1.作用:查看磁盘分区空间使用情况。

                2.格式:

df -[参数] [目录路径]

                    参数:

                        -h:显示数据大小的单位

                        -T:显示文件类型

4.4新建普通文件(touch、tree命令)

        1.创建普通文件(touch命令的用法)

                用法1:若文件存在,更改文件的访问,内容修改和元数据变化的时间。

touch 一个已存在的文件

                用法2:若文件不存在,即创建一个新的文件

touch 文件1 文件2 文件3 ..

        2.tree命令:

                1. 作用:以树形结构图显示目录下的文件。

                2.下载tree命令:

yum -y install tree

                3.格式:

tree -[参数] [路径]

                参数:

                        -a:显示全部文件

                        -f:列出文件的完整路径内容

                        -d:只显示目录

                        -L:设置显示的最大深度

4.5创建大容量数据(dd命令)

        1.作用:创建指定个数以及大小的文件,类似将来源的文件内容放入新的文件当中,从而开辟空间。

        2.格式:

dd if=来源 of=新的文件名 count=数据块个数 bs=容量(文件大小)

        if=/dev/zero:zero:空数据设备文件,可以向其他文件塞入若干个0。

        of=新文件名:可以在当前目录,也可以指定路径。

        count:新文件由几个数据块(分配空间时的最小单位)组成。

        bs:新文件的空间大小。

4.6删除文件(rm 命令)

        1.作用:删除系统中的文件和目录。

        2.格式:

rm -[参数] 文件名1 文件名2 ..

        参数:

                -r:删除目录。

                -f:强制删除,不需要输入yes判断是否删除。

        3.注意:

                删除前注意你当前所处的目录。

                删除时要写全文件名或者目录名。

4.7 数据流和重定向

        1.数据流:主要包含标准输入,标准输出,标准错误输出。

                标准输入(stdin):从键盘上获取的输入,代码为0

                标准输出 (stdout):命令执行成功后,将正确的结果信息输出到终端Shell屏幕上,代码为1

                标准错误输出(stderr):命令执行失败后,将错误的结果信息输出到终端Shell屏幕上,代码为2

        2.重定向操作符:

                1.概念:

                        将命令的输入和输出的数据流从默认设备上重定向到指定的位置。

                        重定向操作符实际上命令中附加的更改输入流和输出流的符号。

                2.符号:

输出重定向操作符
>    :用命令结果信息覆盖文件内容
>>   :用命令结果信息追加到文件后面

输入重定向操作符:
<    :读取文件内容作为输入
<<   :读取文件内容作为输入,直到读到结束标识符

                3.用法:

                        1.命令输出内容覆盖到文件中,当文件不存在时,会自动创建文件

命令 > 文件名

                        2.命令输出内容追加到文件当中

命令 >> 文件名

                        3.将错误的命令结果信息输出到文件当中

 命令 2> 文件名

                        4.丢弃错误信息

命令 2> /dev/null

                        5.将命令输出后的正确和错误信息都放到文件当中

命令 &> 或 >& 文件名

                        6.文件中的内容作为输入

命令 < 文件名

                        7.文件中的内容作为输入,直到读取到结束标识符

<< 结束标识符

4.8将标准输出重定向到文件当中(echo 命令)

       1.作用:向终端设备输出字符串或者变量值。

        2.格式:

echo "字符串"
echo $变量名

                

        3.将标准输出重定向到文件当中

echo "内容" > 或 >> 文件

4.9 tee命令读取数据并输出到文件当中

        1.作用:读取键盘的输入数据,并把它输出到屏幕和文件当中。

        2.格式:

tee -[参数] 文件名 

         参数:

                 -a:内容追加到文件末尾

                -i:忽略中断信号

4.10管道符(|,一个竖线)

        1.作用:用于多个命令相连接,将管道符(|)左边的输出内容作为右边的输入内容。

        2.格式:

命令1 | 命令2 | 命令3

        例:统计1.txt文件的函数,单词数和字符数。

        3.注意:管道符会增加运算时间,较低效率。

4.11vi/vim编辑器

        1.概念:

                命令模式:又称阅读模式,用于移动光标,查看文件内容

                编辑模式:又称插入模式,用于修改文件内容

                末行模式:保存,不保存,退出编辑模式。

                三者的关系:

        2.基本步骤:

                1.命令窗口输入 vim 文件名,进入命令模式

                2.移动光标,到想要修改的位置

                3.按 i 键进入编辑模式,对文件内容进行修改

                4.修改完成后,按 Esc 键退出编辑模式

                5.按 :键进入末行模式

                6.按 wq 保存并退出该文件

        3.光标跳转快捷键

                上下左右:移动光标,没按一次移动一格。

                gg:跳转至文件第一行第一个字符

                G:跳转至文件最后一行最后一个字符

                w:向后跳转一个单词

                b:向前跳转一个单词

                ^:跳转至行首

                $:跳转至行尾

                ":行数":跳转至指定行

        4.复制、粘贴和删除

                dd:删除所在行

                "数字dd":删除从光标开始的第n行

                d^:删除光标至行首的字符

                d$:删除光标至行尾的所有字符

                yy:复制当前行

                "数字yy":复制从光标开始的n行

                p:将缓冲区的内容粘贴到光标所在的下一行

                P:将缓冲区的内容粘贴到光标所在的上一行

                u:撤销操作

        5.编辑模式的快捷键

                i:在光标前插入

                I:光标所在行的行首第一个非空字符处插入

                a:光标后插入

                A:光标所在行尾处插入

                o:光标下一行插入

                O:在光标的上一行插入

                s:删除当前字符并插入

                S:删除当前行并插入

        6.末行模式的快捷键

                ":"或" / ":从命令模式切换到末行模式

                Esc:切换末行模式

        7.查找关键字并代替

                /word:自上到下寻找匹配的word(匹配字符),(按 n 键切换到下一个匹配的字符)

                :s /old/new:当前行中的第一个字符"old"换成"new"

                :s /old/new/g: 当前行中的所有字符"old"替换成"new"

                :n1,n2 s/old/new/g:在行号(n1,n2)间的所有字符"old'替换成"new"

                :% s/old/new/g:全部文件的"old"替换成"new"

        8.保存退出

                :q:退出编辑器,文件未被修改

                :q!:强制退出编辑器,不保存修改内容

                :w:保存文件

                :wq / zz:保存并退出文件

                :w 文件名:另存文件

        9.其他操作

                :r 文件名:在当前文件中读取其他文件内容

                :g/word/d:找出包含word的行并删除

                :set nu:显示行号

                :set nonu:关闭显示行号

                :n1,n2 d:删除(n1,n2)行

                n1,n2 co n:复制(n1,n2)行到第n行后面

        10.vim异常情况处理

                1.出现原因,文件异常退出(ctrl + z退出文件),如下情况:

                2.恢复:

                        1.在该界面按 R 键 或者 :recover 或者 使用 vim -r 文件 命令编辑

按 R 键
:recover
vim -r 文件名

                        修复完成:

                        2.删除产生的交换文件

rm -f .文件名.swp

 

                        3.文件正常打开,不会出现异常:

vim 文件名

5.文章内容显示命令

5.1浏览普通文件

        1.cat 命令:

                1.作用:查看内容较小的文件,在Shell界面显示

                2.格式:

cat -[参数] 文件名

                参数:

                        -n:显示行号

                        -b:为文件中所有空行加上行号

                3.合并文件(文件1 文件2的内容放到文件3上):

 cat 文件1 文件2 > 文件3

                     

        2.tac 命令:

                1.作用:倒叙查看文件内容

                2.格式:

tac 文件名

        3.more 命令:

                1.作用:查看内容较大的文件(空格翻页,q 键退出)

                2.格式:

more 文件名

        4.less 命令:

                1.作用:查看内容较大的文件(上下键翻页,q 键退出)

                2.格式:

less 文件名

        5.head 命令:

                1.作用:查看文件前n行的内容

                2.格式:

head -n(数字) 文件名

        6.tail 命令:

                1.作用:查看文件末n行的内容

                2.格式:

tail -[参数] 文件名

                参数:

                        -数字:查看末尾几行的内容

                        -f:动态刷新

5.2文件信息(元数据)查看

        1.file 命令:

                1.作用:查看文件类型

                2.格式:

file 文件名

                3.文件类型:

                        ASCII 文件:ASCII字符文件

                        empty:空文件

                        block special:块设备文件

                        character special:字符设备文件

                        diretory:目录

        2.stat 命令:

                1.作用:显示文件属性信息

                2.格式:

stat 文件名

5.3文件内容过滤显示(grep 命令)

        1.作用:筛选出文件中包含指定字符的行

        2.格式:

grep -[参数] "字符" 文件名

        参数:

                -c:仅显示找到的行数

                -i:忽略大小写

                -n:显示行号

                -v:反向选择--列出没有匹配到字符的行

                -A n:显示匹配到字符的那一行及下n行

                -B n:显示匹配到字符的那一行及上n行

                -C n:显示匹配到字符的那一行及上下n行

        3.使用特殊符号匹配:

grep  ^[q]             文件名匹配以q开始的行
grep  ^[qf]            文件名匹配以q或者f开头的行
grep  ^[ ^qf ]         文件名不匹配以q或者f开头的行
grep ^[0-9]            文件名匹配以数字开头的行
grep  q$               文件名匹配以q结束的行
grep  ^$               过滤空白行
grep  -r  h      ./*   如果要明确搜索当前目录中的子目录有h的行
grep  -d s kip h ./*   忽略当前目录下的子目录下的普通文件

5.4切割显示(cut 命令)

        1.作用:按列提取文件内容

        2.格式:

cut -d "分隔符" -f列数字 文件名

5.5排序显示(sort 命令)

        1.作用:对文件内容进行排序显示

        2.格式:

sort -[参数] 文件名

        参数:

                -f:忽略大小写
                -b:忽略缩进与空格
                -n:以数值型排序
                -r:反向排序
                -u:去除重复行
                -t:指定间隔符
                -k:设置字段范围

5.6去重显示(uniq 命令)

        1.作用:去除文本中连续的重复行

        2.格式:

uniq 文件名

5.7文件中字符替换显示(tr命令)

        1.作用:读取标准输入的数据,经替换或删除后,将内容输出到标准输出

        2.格式:

tr -[参数] 原内容 新内容

        参数:

                -c:反选设定字符,替换不匹配的字符

                -d:删除设定字符

                -s:缩减连续重复的字符为单个字符

6.文件的其他操作命令

6.1文本内容统计(wc 命令)

        1.作用:统计指定文件的行数,字符数或字节数

        2.格式:

wc -[参数] 文件名

        参数:

                -i:只显示行数

                -w:只显示单词数

                -c:只显示字节数

6.2复制、移动文件(cp、mv命令)

        1.复制文件或目录( cp 命令):

                1.作用:复制文件内容或者目录为一个新文件或新目录

                2.格式:

cp -[参数] 源文件或目录 新文件名或目录

                参数:

                        -a:拷贝目录时,保存文件的链接,属性及其子目录。

                        -d:保存文件链接。

                        -f:覆盖已存在文件的文件内容不显示提示。

                        -r:复制目录

                        -p:复制修改时间和访问时间等文件属性

                        -i:覆盖文件内容前给出提示

        2.移动或者重命名文件(mv 命令)

                1.作用:更改文件位置,重命名文件

                2.格式:

mv 源文件 目标文件

                        用法1:若源文件为目录,则为移动

                        用法2:若源文件为文件,则为重命名

6.3查找文件

        1.whereis命令:

                1.作用:搜索系统命令的可执行文件路径和说明文档

                2.格式:

whereis 命令

        2.which命令:

                1.作用:搜素系统命令的可执行文件

                2.格式:

which 命令

        2.find命令:

                1.作用:按照文件名、时间、大小、权限、类型、所有者、所有组来搜素文件。

                2.格式:

find 查找路径 -[参数] 查找条件

                参数:

                -name:根据文件basename匹配名称
                -size:匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
                -mtime: [+\|-]n匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5天前的文件名;4指前4~5那一天的文件)
                -atime: [+\|-]n匹配访问文件的时间
                -ctime :[+\|-]n匹配修改文件权限的时间
                -newer f1 !f2:匹配比文件f1新但比f2旧的文件
                -perm:匹配权限(mode为完全匹配,-mode为包含即可)
                -user:匹配所有者
                -group:匹配所有组
                -nouser:匹配无所有者的文件
                -nogroup:匹配无所属组的文件
                -type b/d/c/p/l/f:匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
                -depth:先从该目录子目录下查找,再查找该目录-maxdepth levels<br />-mindepth levels最多查找多少层目录;最少查找多少层目录
                -delete:将找到的文件删除,如果是目录只能删除找到的空目录。
                -exec …… {}\:后面可跟用于进一步处理搜索结果的命令

6.4压缩和解压缩命令

        1.zip和unzip命令:

                1.作用:压缩和解压缩文件

                2.格式:

zip 文件名
unzip 文件名

        2.gzip命令:

                1.作用:压缩文件

                2.格式:

gzip -[参数] 文件名

               参数:

                        -c:保留源文件

        3.bzip2命令:

                1.作用:压缩文件(比gzip有更高的效率)

                2.格式:

bzip2 -[参数] 文件名

                参数:

                        -c:保留源文件

        4.tar归档命令:

                1.格式:

tar -[参数] 文件

                参数:

                        -f(必须):指定打包文件名

                        -c:打包.tar文件

                        -x:释放.tar文件

                        -t:查看包中的文件列表

                        -v:显示详细信息

                        -p:打包时保留文件及目录的权限

                        -z:以gzip格式压缩和解压缩文件(.tar.gz)

                        -j:以bzip2格式压缩和解压缩文件(.tar.bz2)

                        -J:以xz格式压缩或解压缩文件(.tar.xz)

                        -C:与-x搭配使用,解压包文件到指定位置

                2.常用搭配:

                        1.打包压缩格式:

tar  -czf 文件名.tar.gz   要打包压缩的目录或文件名……
tar  -cjf 文件名.tar.bz2  要打包压缩的目录或文件名……
tar  -cJf 文件名.tar.xz   要打包压缩的目录或文件名……

                        2.解压文件到指定位置:

tar  -xzf 文件名.tar.gz  [-C 目标路径]
tar  -xjf 文件名.tar.bz2 [-C 目标路径]
tar  -xJf 文件名.tar.xz  [-C 目标路径]

                        3.列出包中的文件列表:

tar  t[v]f  包文件名

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐