Linux总结

这篇博客详细介绍了Linux系统的目录结构,包括/bin、/etc、/home等关键目录的功能。同时,列举了处理目录的常用指令,如ls、cd、pwd、mkdir等,并讲解了vi/vim编辑器的基本操作。此外,还涵盖了网络配置命令ifconfig以及管道命令的使用,如grep、awk和sed,是Linux初学者的实用教程。
摘要由CSDN通过智能技术生成

一、linux系统目录结构#

登录系统后,在当前命令窗口下输入命令:
ls /
你会看到如下图所示:
在这里插入图片描述

树状目录结构:
在这里插入图片描述

以下是对这些目录的解释:

/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
  值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
  /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

二、处理目录的常用指令

ls:列出目录及文件名
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
redir:删除一个空的目录
cp:复制文件或目录
rm:移除文件或目录
mv:移动文件与目录,或修改文件与目录的名称
你可以使用man[命令]来查看各个命令的使用文档,如:man cp。

1.ls(列出目录)

  ls 就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。
常用参数搭配:
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及…的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

2.cd (切换目录)

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

3.pwd(显示目前所在的目录)

pwd 命令用于查看当前工作目录路径。
选项与参数:
-P :显示出确实的路径,而非使用连结 (link) 路径。

4.mkdir(创建新目录)

mkdir 命令用于创建文件夹。
可用选项:
-m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

5.rmdir(删除空的目录)

语法:
rmdir [-p] 目录名称
选项与参数:
-p :连同上一级『空的』目录也一起删除
注意:这个rmdir仅能删除空的目录,你可以使用rm命令来删除非空目录。

6.cp(复制文件或目录)

将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样

7.rm(移除文件或目录)

删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
rm [选项] 文件…

8.(移动文件与目录,或修改名称)

语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 … directory
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

三、文件内容查看

linux系统中使用以下命令查看文件内容:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行

四、vi/vim基本操作

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。
    若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
    命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
    输入模式
    在命令模式下按下i就进入了输入模式。
    在输入模式中,可以使用以下按键:
    字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式
    底线命令模式
    在命令模式下按下:(英文冒号)就进入了底线命令模式。
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    在底线命令模式中,基本的命令有(已经省略了冒号):
  • q 退出程序
  • w 保存文件
  • 按ESC键可随时退出底线命令模式。
    在这里插入图片描述

五、网络配置与测试命令

  Linux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。

1.ifconfig命令

(1)配置ip地址

在这里插入图片描述

(2)显示网络设备信息

在这里插入图片描述

(3)启动关闭指定网卡

在这里插入图片描述

2.ip命令

  Linux ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备。ip 命令是 Linux 加强版的的网络配置工具,用于代替 ifconfig 命令。
在这里插入图片描述

六、管道命令

1.管道介绍

管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息。
如,/etc目录下会有大量的文件,如果使用ls很难找到需要的文件,因此可以使用管道命令将ls的结果进行一次筛选,只保留需要的信息。
在这里插入图片描述

2.管道命令

command1 | command2 | command3

3.管道工作原理

在这里插入图片描述

  连续使用管道意味着第一个命令的输出(第一个命令执行之后输出的结果)会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
  它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 standard error 信息没有直接处理能力。

4.常用管道命令

(1)选取指定列:cut

  cut为剪切的意思,它能将一行行的数据按照指定的分隔符切成一列列,然后只显示特定列的数据。注意该指令处理的讯息是以行为单位的。
cut有两种使用方式:

  • 按照指定字符分隔
    这个命令会按照特定的分隔符将数据切分,并只显示第n列的数据。
    语法:cut -d ‘分隔字符’-f n
  • 选择特定范围内的数据
    语法:cut -c 字符区间
    选项与参数:
    -d :后面接分隔字符。与-f一起使用;
    -f :依据-d的分隔字符将一段讯息分区成为数段,用-f取出第几段的意思;
    -c :以字符(characters)的单位取出固定字符区间。
    示例:
    在/test文件夹下创建test文件,并在其中写入123:456:789:abc:def:ghi,在此基础上进行cut指令的操作。
    在这里插入图片描述

(2)关键词搜索指定行:grep

2)关键词搜索指定行:grep
grep用于进行关键词查找,它会将文件中含有关键词的那一整行输出来。
grep有两种使用方式

  • grep [-参数] ‘关键词’ 文件名
    这种方式并没用用到管道,只是从指定文件中将符合关键词的行搜索出来。
  • 命令|grep [-参数] ‘关键词’
    这种方式采用管道,将前一个命令的执行结果输出给grep,并通过grep的关键词搜索将符合条件的行搜索出来。
    选项与参数:
    sort [-参数] 文件
    -t:指定分隔符
    -k:选取分隔后的第几个字段进行排序
    -f:排序时忽略选取字段的大小写
    -b:去除选取字段前的空格
    -M:将选取的字段按照月份来排序(前提是选取字段就是月份)
    -n:将选取字段按照数据来排序(前提是选取字段就是数字)
    -r:反向排序
    -u:去重。若选取字段有重复,则去掉重复。
    示例:
    在test文件中第一行写入num:123456789,第二行写入let:abcdefg。在此基础上进行grep指令的操作。
    在这里插入图片描述

(3)特定字段提取awk

awk命令是linux系统中一个非常复杂,功能强大的命令,甚至支持在命令中嵌套流程控制语句,以至于在市面上有专门讲awk命令的书籍,当前来说,掌握它的基本的字符提取功能就ok了,其他知识等之后再边查阅资料边应用足矣。
语法:awk ‘条件类型1{动作1} 条件类型2{动作2} …’ 文件名
awk命令的执行原理:
awk虽然是个字段提取命令,但awk是这样处理的:
awk首先会将文件的第一行读取出来,然后再awk中判断条件,如果条件满足,则会执行相应的动作,上面的例子由于没有加条件,所以每一行都会执行同第一行一样的动作。这个动作首先执行的动作是,首先将文件名student.txt赋给$0,然后$1是第一个字段,$2是第二个字段……
然后第二行也重复第一行的动作,将相应字段的内容提取到对应字段中
示例:
在这里插入图片描述

(4)字符替换命令sed

简介:想让计算机自动替换文本,就不适合使用具有交互功能的vi/vim等编辑器,sed命令就是这样一个再shell编程中自动替换文本的命令。sed命令是一种几乎包括在所有UNIX平台(包括linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令。
释义:stream editor 文本编辑器(用来操作纯 ASCII 码的文本)在操作文本的时候是按行进行操作的,所以也叫行编辑器。
类比:那说到这大家应该明白,我们的编辑器分为两类,还有一类叫做全屏编辑器,我们打开一个编辑器,它会占据整个屏幕,然后提供给我们一个编辑窗口,而后我们就可以在编辑窗口中进行操作了(vim vi)。
sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space)。为什么叫模式空间呢:因为sed(不是所有的行都处理)可以指定仅仅处理哪些行,所以sed可以像grep一样做模式过滤的,符合模式条件的处理,不符合条件的不予处理。接着用sed编辑命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。
符合模式(模式空间中的模式 每次读取一行 匹配模式 编辑命令)做编辑(到底是删除还是显示还是什么 取决于 sed的编辑命令)
Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等
定址:可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号($)表示最后一行。范围可以通过数据,正则表达式或者二者结合的方式确定。
sed命令的格式为:
在这里插入图片描述

示例:
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值