Linux基操那些事儿

一、关于Linux介绍以及环境搭建

介绍:

Linux创始人:林纳斯 托瓦兹

Linux诞生于1991年,Linux作者上大学期间

因为创始人在上大学期间经常需要浏览新闻处理邮件,发现操作系统不好用,于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型,后来经过全世界网友的支持,现能兼容多种硬件称为最流行的服务器操作系统之一,由于其开源的特性,不同公司创建了不同的Linux版本,但命令99%都是相同的,所以不用担心。

环境搭建:本文作者使用windows操作系统搭建虚拟机(VMware工具),使用centos7aliyun镜像,SSH工具FinalShell远程操作终端,可以通过以下文章去下载搭建环境。

VMware:

https://blog.csdn.net/weixin_52799373/article/details/124324077?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166883548716782395385182%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166883548716782395385182&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-124324077-null-null.142^v65^control,201^v3^control_2,213^v2^t3_esquery_v2&utm_term=vmware&spm=1018.2226.3001.4187

Centos7:

https://blog.csdn.net/promsing/article/details/120208826

FinalShell:

https://blog.csdn.net/muriyue6/article/details/117520456?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166883428516782427499387%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166883428516782427499387&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-117520456-null-null.142^v65^control,201^v3^control_2,213^v2^t3_esquery_v2&utm_term=finalshell&spm=1018.2226.3001.4187

二、Linux基操

图形化界面

Linux操作系统刚进去一般是命令行操作界面,如果需要切换为windows这样的图形化操作界面可以按如下操作。

1.切换为root用户

命令:# su - root

输入root密码

2.检查centos7的默认启动界面方式,输入以下命令

sytemctl get-default

若显示 graphical.target 表示开机启动图形化界面

若显示 multi-user.target 表示开机启动命令行界面

3.安装X Windows System,输入以下命令:

yum groupinstall "X Window System"

中间选项都输入y,若出现complete则表示安装完成

4.安装图形界面软件

yum groupinstall "GNOME Desktop"

中间选项都输入y,若出现complete则表示安装完成

5.设置开机默认启动界面为图形化界面,输入以下命令:

systemctl set-default graphical.target

6.重启或输入startx即可

Linux路径的描述方式

  • 在Linux系统中,路径之间的层级关系,使用:/来表示
  • 在Window系统中,路径之间的层级关系,使用:\来表示

Linux命令基础格式

无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:

command [-options] [parameter]

command: 命令本身

-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节

parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

示例:

ls -l /home/tmylyh, ls是命令本身, -l是选项,/home/tmyly是参数

意思是以列表的形式,显示/home/tmyly目录内的内容

cp -r test1 test2, cp是命令本身, -r是选项,test1和test2是参数

意思是复制文件夹test1 成为test2

ls命令

 ls命令的作用是列出目录下的内容,语法细节如下:

ls [-a -l -h] [Linux路径]

●-a-l-h是可选的选项

●Linux路径是此命令可选的参数

当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容

HOME目录和工作目录

 Linux系统的命令行终端,在启动的时候,默认会加载:

HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在: /home/用户名

Windows系统和Linux系统,均设有用户的HOME目录

ls命令的-a选项

如下语法,ls命令是可以使用选项的

ls [-a -l -h] [Linux路径]

-a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)

以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)

只有通过-a选项,才能看到这些隐藏的文件/文件夹

ls命令的-l选项

-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息

ls命令选项的组合使用

语法中的选项是可以组合使用的,比如学习的-a和-l可以组合使用。

写法:

  • ls -l -a
  • ls -la
  • ls -al

上述三种写法,都是一样的,同时表示应用-l和-a的功能

ls命令的-h选项

ls[-a -l -h] [Linux路径]

  • -h表示以易于阅读的形式,列出文件大小,如K、M、G
  • -h选项必须要搭配-l 一起使用

cd切换工作目录

当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录

我们可以通过cd命令,更改当前所在的工作目录。

cd命令来自英文: Change Directory

语法: cd [Linux路径]

●cd命令无需选项,只有参数,表示要切换到哪个目录下

cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd查看当前工作目录

通过ls来验证当前的工作目录,其实是不恰当的。

我们可以通过pwd命令,来查看当前所在的工作目录。

pwd命令来自: Print Work Directory

语法: pwd

●pwd命令,无选项,无参数,直接输入pwd即可

相对路径和绝对路径

 

绝对路径:以根目录为起点,描述路径的一种写法,路径藐视以/开头

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

特殊路径符

  • .   表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果-致
  • ..  表示上一-级目录,比如: cd..即可切换到上一-级目录,cd../.. 切换到上二级的目录
  • ~  表示HOME目录,比如: cd~即可切换 到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录

mkdir命令

通过mkdir命令可以创建新的目录(文件夹)

mkdir来自英文:Make Directory

语法:mkdir [-p] Linux路径

  • 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
  • -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

mkdir -p 选项

如果想要一次性创建多个层级的目录,可以通过-p选项,将一整个链条都创建完成。

 touch创建文件

可以通过touch命令创建文件

语法:touch Linux路径

●touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

cat命令 查看文件内容

语法:cat Linux路径

more命令查看文件内容

more命令同样可以查看文件内容,同cat不同的是:

  • cat是直接将内容全部显示出来
  • more支持翻页,如果文件内容过多,可以一页页展示

语法:more Linux路径

  • 同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
  • 按q退出查看

cp命令复制文件文件夹

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy

语法:cp [-r] 参数1 参数2

  • -r选项,可选,用于复制文件夹使用,表示递归
  • 参数1,Linux路径表示被复制的文件或文件夹
  • 参数2,Linux路径,表示要复制去的地方

mv移动文件或文件夹

mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move

语法:mv 参数1 参数2

  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

rm删除文件、文件夹

rm命令可用于删除文件、文件夹

rm命令来自英文单词:remove

语法 rm [-r -f] 参数1 参数2 ...... 参数N

  • 同cp命令一样,-r选项用于删除文件夹
  • -f表示force,强制删除(不会弹出提示确认信息),普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般用户用不到-f选项
  • 参数1、参数2、......、参数N表示要删除的文件或文件夹路径,按照空格隔开

rm删除文件、文件夹-通配符

rm命令支持通配符*,用来做模糊匹配

  • 符号*表示通配符,即匹配任意内容(包含空),示例:

test*,表示匹配任何以test开头的内容

*test,表示匹配任何以test结尾的内容

*test*,表示匹配任何包含test的内容

grep命令

可以通过grep命令,从文件中通过关键字过滤文件行。

语法: grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用“ ”将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

wc命令做数量统计

可以通过wc命令统计文件的行数、单词数量等

语法:wc[-c -m -l -w]文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

管道符 |

将管道符左边命令的结果,作为右边命令的输入

which命令

通过which命令,查看所使用的一系列命令的程序文件放在哪里

语法:which 要查找的命令

find命令-按文件名查找文件

在图形化种,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。

同样,在Linux系统种,我们可以通过find命令去搜索指定的文件。

语法:find 起始路径 -name “被查找的文件名”

find命令-通配符

根据语法:find 起始路径 -name “被查找文件名”

被查找文件名,支持使用通配符*来做模糊查询

  • 符号*表示通配符,即匹配任意内容(包括空),示例:

test*,表示匹配任何以test开头的内容

*test,表示匹配任何以test结尾的内容

*test*,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询。

find命令-按文件大小查找文件

语法:find  起始路径 -size +|-n[kMG]

  • +、-表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

  • 查找小于10KB的文件:find / -size -10k
  • 查找大于100MB的文件:find / -size +100M
  • 查找大于1GB的文件: find / -size +1G

echo命令

可以使用echo命令在命令行内输出指定内容

语法:echo 输出的内容

  • 无需选项,只有一个参数,表示输出的内容,复杂内容可以用“ ”包围

反引号`

我们可以通过将命令用反引号包围,被包围的内容会被命令而非普通字符

 

重定向符

我们再来学习两个特殊符号,重定向符:>和>>

  • >   将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >> 将左侧命令的结果,追加写入到符号右侧指定的文件中

 

tail命令

使用tail命令,可以查看文件尾部内容,跟踪文件的最新修改,语法如下:

tail [-f  -m] Linux路径

  • 参数,Linux路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪
  • 选项,-num,表示,查看尾部多少行,不填默认10行

vi\vim编辑器的三种工作模式

命令模式

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。

此模型下,不能自由进行文本编辑。

输入模式 

也就是所谓的编辑模式、插入模式。

此模式下,可以对文件内容进行自由编辑

底线命令模式

以:开始,通常用于文件的保存、退出。

命令模式

如果需要通过vi\vim编辑器编辑文件,请通过如下命令:

vi 文件路径

vim 文件路径

vim兼容全部的vi功能,后续全部使用vim命令

  • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
  • 如果文件路径表示的文件不存在,那么此命令用于编辑已有文件

vi编辑器的快速体验

通过vi/vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是:命令模式窗口

命令模式是vi编辑器的入口和出口

  • 进入vi编辑器会进入命令模式
  • 通过命令模式输入键盘指令,可以进入输入模式
  • 输入模式需要退回到命令模式,然后通过命令可以进入底线模式

快速体验

1.使用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式

2.在命令模式内,按键盘i,进入输入模式

3.在输入模式内输入:hello Linux.

4.输入完成后,按esc回退到命令模式

5.在命令模式内,按键盘: 进入底线命令模式

6.在底线命令内输入wq   保存文件并退出

命令模式快捷键

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
命令模式esc任何情况下输入esc都能回到命令模式

 

命令模式键盘上、键盘k向上移动光标
命令模式键盘下、键盘j向下移动光标
命令模式键盘左、键盘h向左移动光标
命令模式键盘右、键盘l向右移动光标
命令模式0移动光标到当前行的开头
命令模式$移动光标到当前行的结尾
命令模式pageup(PgUp)向上翻页
命令模式PgDn向下翻页
命令模式/进入搜索模式
命令模式n向下继续搜索
命令模式N向上继续搜索
命令模式dd删除光标所在行的内容
命令模式nddn是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,表示复制当前行和下面n行
命令模式P粘贴复制的内容
命令模式u撤销修改
命令模式ctrl+r反向撤销修改
命令模式gg跳到首行
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式dS从当前光标开始,删除到本行的结尾
命令模式d0从当前光标开始,删除到本行的开头

底线命令模式

编辑模式没有什么特殊的,进入编辑模式后,任何快捷键都没有作用,就是正常输入文本而已。

唯一大家需要记住的,就是:通过esc,可以退回到命令模式中即可。

在命令模式内,输入: 即可进入底线命令模式,支持如下命令:

底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste

设置粘贴模式

root用户(超级管理员)

无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。

  • 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
  • 而在前期,我们一直使用的账户是普通的用户:tmylyh

su和exit命令

在前面,我们接触过su命令切换到root账户。

su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

语法:su - 用户名

  • 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
  • 使用普通用户,切换到其他用户需要输入密码,如切换到root用户
  • 使用root用户切换到其他用户,无需密码,可以直接切换

sudo命令

 为普通用户配置sudo认证

 用户组管理

 用户管理

以下命令需root用户执行

创建用户

useradd [-g -d] 用户名

选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

删除用户

userdel [-r] 用户名

选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

查看用户所属组

id [用户名]

参数:用户名,被查看的用户,如果不提供则查看自身

修改用户所属组

usermod -aG 用户组 用户名,将指定用户加入指定用户组

gentent

使用getent命令,可以查看当前系统中有哪些用户

语法:getent passwd

共有7份信息,分别是:

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

使用getent命令,同样可以查看当前系统中有哪些用户组

语法:gentent group

包含3份信息,组名称:组认证(显示为x):组id

认知权限信息

rwx

 

chomd命令

 

 

 chown命令

ctrl+c强制停止

 

ctrl+d退出或登出 

历史命令搜索

 

 光标移动快捷键

清屏

 

 yum命令

 

apt命令(非Centos 7 而是Ubuntu)

systemctl命令

 

 ln命令创建软链接

date命令

 

  

 修改Linux时区

ntp程序 

IP地址

 

 主机名

 在Linux中修改主机名

  

域名解析

 

为什么需要固定IP

 

 

 

ping命令

 

wget命令

 

 curl命令

 

 端口

 

查看端口占用

 

 进程

查看进程

 

关闭进程

 

查看系统资源占用

 

top命令内容详解

 

top命令选项

top交互式选项

 磁盘信息监控

 

网络状态监控

 环境变量

 

 

 

自行设置环境变量

 

自定义环境变量PATH

上传、下载

 rz、sz命令

压缩格式

 

tar命令

 tar命令压缩 

 tar解压

zip命令压缩文件

 

unzip解压文件

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值