Linux基础

一、准备工作

1.CentOS 7(CentOS 7安装教程在前面的文章)

2.FinalShell

二、远程连接CentOS

1.查看CentOS的ip地址

①鼠标右键,点击打开终端

②输入命令,并查看ip

ifconfig

2.打开FinalShell

①点击如图图标

②点击如图图标,选择ssh连接

③输入刚才查看CentOS的IP地址,用户名以及密码(名称可随便填写)

④然后出现如图连接,双击即可连接,出现如图内容即说明成功连接

三、拍摄快照(不是必须)

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。如果之后系统损坏,可以恢复快照,就不用重新装系统了。

①回到VMware,点击虚拟机

②下拉菜单中,选择快照->拍摄快照

③点击快照->快照管理器就可以查看拍摄的快照,如需转到快照,点击要转的快照,再点击转到即可恢复

四、相关概念

1.Linux的目录结构

        Linux和Windows的目录结构都是树形结构,Windows可以拥有多个盘符,如C盘、D盘等,但是Linux系统没有盘符的概念,只有一个根目录 /,所有文件都在根目录下。

2.Linux路径的描述方式

        在Linux系统中,路径之间的层级用/来表示,例如/usr/local(开头的/表示根目录)

        在Windows系统中,路径之间的层级用\来表示,例如D:\data

3.Linux命令基础格式

        在Linux中,命令的通用格式为:command [-options] [parameter]

        command:命令本身

        -options:[可选,非必填]命令的一些选项,可以更精细的控制命令

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

4.相对路径和绝对路径

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

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

        如图所示,上面框内为相对路径,下面为绝对路径,但最后进到的目录都是相同的

5.特殊路径符

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

五、基础命令

        首先,我们要了解HOME目录和工作目录这两个概念。

        HOME目录是每个Linux的操作用户的个人账户目录,路径为/home/用户名

        工作目录是当前所在的目录

1.ls

ls命令的作用是列出目录下的内容

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

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

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

当不使用选项和参数时,直接使用ls时,就会以平铺的方式列出当前工作目录下的内容

ls

①使用选项-a时,显示目录内隐藏文件,图中以.开头的文件都是隐藏文件

ls -a

②使用选项-l时,文件以列表方式展现

ls -l

此外,ls选项也可以组合使用

ls -l -a
ls -la
ls -al

这样就同时以列表的方式列出了隐藏文件

③选项-h表示以易于阅读的方式,列出文件的大小,必须要与-l一起使用,同时在后面写参数/就可查看根目录下的信息

ls -lh /

2.cd

cd命令用来改变当前所在的工作目录

cd [Linux路径]

从当前目录切换到根目录

cd /

3.pwd

pwd命令用来查看当前工作目录

pwd命令没有选项,没有参数,可以直接使用

pwd

4.mkdir

mkdir命令用来创建新的目录(文件夹)

mkdir [-p] Linux路径

参数必填,表示Linux的路径,也可以理解为文件夹的名称

-p 选项用于创建连续多层目录,自动创建不存在的父目录

mkdir test1
mkdir app/app
mkdir -p app/app

可以看出在当前工作目录下没有app目录,在添加选项-p后自动创建了父目录,同时创建目录时要在HOME目录下进行,在HOME目录外是没有权限创建目录的

5.touch

touch命令用来创建文件

语法:touch Linux路径

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

touch good.txt

6.cat

cat命令,用来查看文件内容

语法:cat Linux路径

cat命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用

在刚才创建的good.txt中写入一句话,然后查看文件的内容

cat good.txt

7.more

more命令也是用来查看文件的,与cat不同的是

cat是直接将内容全部展示出来

more是一页一页的展示

语法:more Linux路径

more命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用

more /etc/services

下面可以看到查看了文件内容的多少,按空格翻页,按q退出

8.cp

cp 命令可以用于复制文件或文件夹

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

-r 选项:可选,用于文件夹的复制

参数1:Linux路径,表示被复制的文件或文件夹

参数2:Linux路径,表示要复制到的地方

9.mv

mv命令可以用于移动文件或文件夹

语法:mv 参数1 参数2

参数1 表示Linux路径,表示被移动的文件或文件夹

参数2 表示Linux路径,表示被移动到的位置,如果目标不存在,则进行改名,确保目标存在

可以看到把文件test.txt成功移动到了tets文件夹里 

如果目标不存在,则有改名的效果

10.rm

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

语法:rm [-r -f] 参数1 参数2……参数n

-r选项用于删除文件夹

-f选项用于强制删除

        普通用户删除时不会弹出提示

        root用户删除时会提示

参数表示要删除的文件路径,用空格分隔

-r -f选项可以同时使用

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

符号 * 表示通配符,即匹配任意内容(包含空),示例:
test* ,表示匹配任何以 test 开头的内容
*test ,表示匹配任何以 test 结尾的内容
*test* ,表示匹配任何包含 test 的内容

补充一句,rm是一个非常危险的命令,尤其是在root用户下,rm -rf /* 的效果相当于格式化c盘,不建议在真实环境中使用,想试试可以在虚拟机中使用,然后恢复快照。

11.which

which命令用来查找命令的程序文件存放位置

之前学习的命令都是一个可执行的程序,等同于Windows中.exe

语法:which 要查找的命令

which cd

12.find

find命令用来搜索指定文件

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

这里我们切换为root用户,如果在根目录下搜索的话,普通用户的权限是不够的

su - [用户名] 切换root用户可以不用写用户名

find ~ -name "test.txt"

该命令的意思是从~目录也就是root用户的home目录下搜索名字为test.txt文件

同时,find命令也支持通配符*来做模糊搜索

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

语法:find 查找目录 -size +|-[kMG]

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

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

13.grep

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

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

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

现在,创建一个名为“test.txt”的文本

然后通过图形化界面输入如下内容

然后输入

grep "good" test.txt

想要查看想查找内容的行号就会用到-n参数

grep -n "good" test.txt

14.wc

可以通过 wc 命令统计文件的行数、单词数量等
语法:wc [-c -m -l -w] 文件路径
选项, -c ,统计字节数
选项, -m ,统计字符数
选项, -l ,统计行数
选项, -w ,统计单词数
参数,文件路径,被统计的文件,可作为内容输入端口

不带选项,统计文件

wc test.txt

前面三列分别为:行数、单词数、字节数

统计字节数

wc -c test.txt

统计字符数

wc -m test.txt

统计行数

wc -l test.txt

统计单词数

wc -w test.txt

15.管道符 |

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

cat test.txt | grep "test"

这条命令的意思就是,先查看test.txt文件的内容,然后用grep命令过滤文件内容里的”test“

很多命令都可以使用管道符来嵌套使用,只要记住左边的结果作为右边的输入就好

16.echo

可以使用echo来输入指定内容

语法:echo 输入内容

输入带有空格 / 等特殊符号时,建议加""把内容包围起来

echo hello

17.反引号 ` 也叫飘号

输入方式为小写模式下左上角波浪号键

当需要输出当前的工作目录时,直接输入系统会认为想要输出"pwd"这三个字母

这时候就要用到飘号来把他当作命令执行

echo `pwd`

18.重定向符 >和>>

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

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

19.tail

tail命令可以查看文件尾部的内容,跟踪文件的最新更改

语法:tail [-f -num] Linux路径

Linux路径,表示被跟踪的文件路径

-f,表示持续跟踪

-num,表示查看尾部行数,默认为10行

查看/var/log/vmware-network.log这个文件的尾部10行

tail /var/log/vmware-network.log

加上-num

tail -2 /var/log/vmware-network.log

加上-f

可以看到文件的内容是这样的

然后输入

tail -f test.txt

可以看到最下边的框,表示程序一直在执行中,然后复制标签,打开另一个界面后,尝试在里面写入东西,看看这边会有什么变化

可以看到在右边写入abcd后,左边直接就跟踪到了,想要停止跟踪,按ctrl+c就可以停止

20.vi/vim

vi/vim是linux里的文本编辑器,vim是vi的加强版,不仅拥有vi的所有功能还具备shell程序编辑的功能,可以通过颜色来辨别语法的正确性

通过vi/vim编辑文件,如果文件存在,会编辑已有文件,如果文件不存在,将会创建文件后进行编辑

vim test.txt

进入文件输入i,进入编辑模式,可以看到下面变成了插入,现在就可以在文件里输入内容了

想要退出时输入esc,然后输入:wq(w是保存,q是退出),然后回车即可

还有一些例如

:q 仅退出

:w 仅保存

:q! 强制退出

21.查看命令和帮助手册

任何命令都支持--help选项,可以通过这个选项,查看命令帮助

例如查看ls命令的选项有哪些,就可以使用

ls --help

如果想要查看命令的详细选项,可以通过man命令查看

man ls

六、用户和权限

1.su和exit

su命令用户切换用户

语法:su [-] 用户名

符号 - 表示在切换用户是是否加载环境变量,可不加,加上更好

当切换到root用户时,root可以省略

exit命令退回上一个用户,也可以使用快捷键ctrl+d

如果是普通用户,切换到其他用户需要输入密码,如果是root用户,则可以直接切换

2.sudo

因为root用户权限过大,可能出现操作失误的情况,这时就可以使用sudo命令,sudo命令为普通命令授权,临时以root用户身份执行

语法:sudo 其他命令

但不是所有用户都有权利使用sudo,需要为普通用户配置sudo认证

①切换到root用户

su - root

②使用vi打开/etc/sudoers,可以直接使用visudo命令

visudo

③在文件最后添加

红框内最前面的用户为你登录到centos系统的用户,输入完成后按esc退出编辑模式,再输入:wq保存并退出

3.用户和用户组

在linux系统中可以配置多个用户、多个用户组并且用户可以加入多个用户组中

在linux系统中关于权限有2个级别,分别为,针对用户的权限控制、针对用户组的权限控制

①用户组

Ⅰ 创建用户组

(当前操作以及下列操作均需切换到root用户下进行)

groupadd

Ⅱ 删除用户组

groupdel

②用户

Ⅰ创建用户

useradd[-g -d] 用户名

-g指定用户的组,如不指定-g,会创建同名的组并加入,指定-g时需要指定组存在

-d指定用户home路径,如不指定,则为默认路径/home/用户名

Ⅱ 删除用户

userdel[-r] 用户名

-r 删除用户的home目录,不使用-r则保留

Ⅲ id[用户名]

输入用户名则查看该用户的id,不输入则查看当前用户id

Ⅳ 修改用户所属组

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

4.getent

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

genent passwd

一共有7个信息,分别为:

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

同样也可以查看有哪些组

genent group

一共有3个信息,分别为:

组名称 : 组认证 ( 显示为 x): 组 ID

5.查看权限控制

通过ls -l来查看文件详细信息

可以看到最前面的就是这个文件的权限,中间为所属用户,后面为所属组

可以看到第一个红框内一共有10位,要把它分成4部分来看,以下图为例

首先第一位是一个部分,可以看到图中是 d,还有 - 和 l ,d表示文件夹,-表示文件,l表示软链接

其次是后面的9位每3位为一组,分别代表所属用户权限、所属用户组权限和其他用户权限

其中r表示读权限,w表示写权限,x表示执行权限,如图后面三组分别为rwx、rwx、r-x,前两组rwx表示所属用户以及所属用户组都有读、写、执行的权限,最后一组r-x表示其他用户有读和执行的权限,没有写的权限,没有的权限用-表示

6.修改权限控制

①chmod

使用chmod来修改文件、文件夹的权限

语法:chomd [-R] 权限 文件或文件夹

-R的意思为对文件夹内所有文件应用同样的操作

修改test.txt文件的权限

chmod u=rwx,g=rwx,o=rwx test.txt

其中: u 表示 user 所属用户权限, g 表示 group 组权限, o 表示 other 其它用户权限

但是这样写通常很麻烦,还有一种用数字代替的简单写法

权限可以用 3 位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下: r 记为 4 , w 记为 2 , x 记为 1 ,可以有:
0 :无任何权限, 即 ---
1 :仅有 x 权限, 即 --x
2 :仅有 w 权限 即 -w-
3 :有 w 和 x 权限 即 -wx
4 :仅有 r 权限 即 r--
5 :有 r 和 x 权限 即 r-x
6 :有 r 和 w 权限 即 rw-
7 :有全部权限 即 rwx

把work.txt的权限都改为rwx就可以这样写

②chown

chown命令修改文件、文件夹的所属用户和用户组

语法:chown [-R] [用户] [:] [用户组] 文件或文件夹

-R的意思为对文件夹内所有文件应用同样的操作

(使用此命令需要切换到root用户下)

将test.txt所属用户修改为centos

chown centos test.txt

将test.txt的所属用户组修改为centos

(要注意填写:)

chown :centos test.txt

将test.txt所属用户和用户组修改为root

chown root:root test.txt

七、其他操作

1.history

通过history命令来查看历史输入过的命令

history

2.yum

rpm包软件管理器,用于自动化安装Linux软件,并可以自动解决依赖问题

语法:yum [-y] [install | remove | search]

-y 自动确认,无需手动确认安装或卸载

install 安装 remove 卸载 search 搜索

(使用yum命令时需要root权限以及需要联网)

3.systemctl

该命令用于管理服务

语法:systemctl start | stop | status | enable | disable 服务名

start 启动 stop 停止 status 查看状态 enable 开机自启 disable 关闭开机自启

4.ln

该命令用于在系统中创建软链接,可以将文件和文件夹链接到其他位置,相当于windows系统中的快捷方式

语法:ln -s 参数1 参数2

-s 用于创建软链接 参数1 被链接的文件或文件夹 参数2 要链接去的地方

 ln -s /etc/yum.conf ~/yum.conf

5.date

通过该命令查看系统时间

语法:date [-d] [+格式化字符串]

-d 按照给定的字符串显示日期,一般用于日期计算

格式化字符串:通过特定的字符串标记,来控制显示的日期格式

%Y 年
%y 年份后两位数字 (00..99)
%m 月份 (01..12)
%d 日 (01..31)
%H 小时 (00..23)
%M 分钟 (00..59)
%S 秒 (00..60)
%s 自 1970-01-01 00:00:00 UTC 到现在的秒数

6.tar

linux系统中有两种压缩格式,一种为.tar另一种为.gz,也有写作.tar.gz,tar是将文件简单封装到一个文件内,体积并没有减少多少,gz则会极大减少文件的体积

语法:tar [-c -v -x -f -z -C] 参数1 参数2……参数n

-c ,创建压缩文件,用于压缩模式
-v ,显示压缩、解压过程,用于查看进度
-x ,解压模式
-f ,要创建的文件,或要解压的文件, -f 选项必须在所有选项中位置处于最后一个
-z , gzip 模式,不使用 -z 就是普通的 tar 格式
-C ,选择解压的目的地,用于解压模式

(-z一般在最前面 -f必须在最后面 -C指定路径时要与其他选项分开)

这样也可以看出使用gz压缩后体积明显变小

解压时只需要把c换成x即可

7.zip

压缩为.zip的压缩包

语法:zip [-r] 参数1 参数2……参数n

-r 被压缩的文件包含文件夹时使用

unzip解压

加选项-d时,解压到指定路径,不指定,解压到当前目录

(由于篇幅较长,文中如果出现错误,请大家指正)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值