Linux入门(二)

125 阅读9分钟

我正在参加「掘金·启航计划」

Linux入门(一) - 掘金 (juejin.cn)

上一篇文章介绍了Linux的基本情况以及vim的使用,今天我们深入学习Linux的一些基本命令,从而在后续大数据的学习中可以游刃有余的使用Linux进行开发。

文件目录类

Linux一切皆文件,所以文件目录类的命令非常重要,必须掌握如何使用,但是这类命令很多,很难记忆,为了方便记忆我将这些命令分为三类:

  1. 基本命令:pwd ls cd man help history
  2. 文件或目录的操作命令:mkdir rmdir touch cp mv rm ln
  3. 查看文件内容命令:cat more less echo head tail

基本命令

pwd
显现当前目录的工作路径,这个命令相对比较常用,一般在我们需要查看我们现在操作的目录时比较常用,还一点就是Linux在现实时不会显示全部路径,只会显示最后一层目录,如下图所示:

image.png

这个命令在编写程序时查看目录还是很有用的。

ls
列出目录内容,非常简单常用的命令,在windows中的命令行中也可以使用,需要注意的是它的几个参数:

  • -a 显示全部文件,包括隐藏文件
  • -l 显示文件的属性和权限
  • -al 上面两项内容相加

实际演示一下:

image.png

image.png

在实际使用时还可以简写ll等价于ls -l

image.png

cd
切换目录,这个命令是常用中的常用了,在Linux终端里想要进行操作切换目录是不可避免地,常见使用语法主要有:

  • cd 绝对路径 cd /etc/bashrc
  • cd 相对路径
  • cd ~ 或者 cd 回到家目录
  • cd - 回到上一次所在目录
  • cd .. 回到上一级目录
  • cd -P 跳转到实际物理路径(在软链接时有用)

man和help
帮助命令,这两个命令可以一块记,主要就是显示命令的使用方法。两者主要区别在于:

  • help命令用于显示shell内部的帮助信息,并且只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。
  • man命令,既可以帮助查询linux内置命令,也可以查询linux外部命令。

history
显示历史操作,在终端使用的命令都会显示。

image.png

文件或目录的操作命令

mkdir 和 rmdir
创建目录和删除目录,注意事项:

  • 创建多级目录时,需要使用 -p 选项
  • rmdir只能删除空目录

案例实操

image.png

image.png

touch
创建一个空白文件

image.png rm
删除文件或目录,非常有名的一句话“删库跑路”就是这个命令,程序员要会这个命令,但不能随便用。
选项说明:

  • -r 递归删除目录中所有内容
  • -f 强制执行删除,而不提示确认
  • -v 显示指令的详细执行过程

在实际使用中,最常使用的命令rm -rf

cp
复制命令,相当于Windows中的复制+粘贴,基本使用就是 cp source dest,如果是文件夹的话还需要加-f选项。
案例实操:

image.png

mv
这个命令可以有两个作用:

  • 移动文件 mv /home/dssz/swk /root
  • 重命名文件 mv dssz dssz1

image.png image.png

ln
ln -s 原文件 目标文件,给原文件创建一个软链接存放在目标文件目录,类似于Windows中的快捷方式。

image.png 删除原文件后,这个软链接也就无用了,可以使用rm -rf 软链接名 删除。

查看文件内容命令

cat
cat 文件名,可以显示文件内容

image.png
需要行号的话可以加上-n选项

image.png more more指令是一个基于vi编辑器的文本过滤器,以全屏的方式按页显示文本文件的内容,又叫文件内容分屏查看器。其最强的功能在于内置了许多快捷键,可以方便的查看文件内容。

快捷键作用
空格下一页
enter下一行
q离开
ctrl + F向下滚动一屏
ctrl + B向上滚动一屏
=输出行号
:f输出文件名和当前行号

less
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端,能够查看字符串。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

快捷键作用
空格下一页
pagedown下一页
pageup上一页
/字符串向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字符串向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q离开

echo
输出内容到控制台

image.png tail
输出文件尾部内容

  • tail -n 10 文件 (功能描述:查看文件尾10行内容,10可以是任意行数)
  • tail -n 5 文件 (功能描述:查看文件尾5行内容,5可以是任意行数)
  • tail -f 文件 (功能描述:实时追踪该档的所有更新)

image.png

head
输出文件头部内容
head -n 10 文件 (功能描述:查看文件头10行内容,10可以是任意行数)

image.png

时间日期类

这类命令只有两个date和cal,一个显示年月日,一个显示日历,简单了解一下就行。

image.png

还有其他具体的参数设置,这里我就不详细介绍了,看下面这张图就行。

image.png

用户管理类

Linux是支持多用户的,所谓多用户就是可以有多个用户使用终端登录系统进行操作,这里和后面的文件权限有很大关联,为了确保系统安全,用户可以分为超级管理员用户(root)和普通用户,普通用户权限少,可以避免不懂的小白误操作导致系统出现错误。

  • useradd 和 passwd 分别添加用户和为用户设置密码
  • userdel 删除用户
  • su 切换用户
  • id 查看当前用户信息
  • who 查看用户登录信息

还需要掌握的是为普通用户赋予更多权限,这里主要通过修改配置文件 /etc/sudoers 第91行

#修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,
## Allow root to run any commands anywhere  
root    ALL=(ALL)     ALL  
atguigu   ALL=(ALL)     ALL  
  
#或者配置成采用sudo命令时,不需要输入密码  
## Allow root to run any commands anywhere  
root      ALL=(ALL)     ALL  
atguigu   ALL=(ALL)     NOPASSWD:ALL

文件权限类

Linux系统一切皆文件,文件权限是确保系统安全的重要途经。

文件属性

image.png

如果第一次看到这个很多人都会感到懵逼,这都啥啊,别急,我们依次介绍:

  • 第一列:inode
  • 第二列:文件种类和权限;
  • 第三列: 硬链接个数;
  • 第四列: 属主;
  • 第五列:所归属的组;
  • 第六列:文件或目录的大小;
  • 第七列和第八列:最后访问或修改时间;
  • 第九列:文件名或目录名

第二列文件种类和权限又是什么呢,它在第二列有十位

文件权限.png

chmod改变权限

了解文件属性之后,我们就可以着手去尝试修改权限,在Linux中chmod就是这样的功能,我们看一下它的使用方法:

  • chmod [{ugoa}{+-=}{rwx}] 文件或目录
  • chmod [mode=421 ] [文件或目录]

选项说明:

  • u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和) +:新增权限 -:减少权限
  • r=4 w=2 x=1 rwx=4+2+1=7

案例实操:对一个文件增加可执行权限

image.png 现实比较常用的其实是第二种使用数字的形式,比如设置文件所有者、所属组、其他用户都具有可读可写可执行权限。

image.png

搜索查找类

这个类主要就是find和grep 以及通道|。比较重要的是grep和|,find这里我就不多介绍,看下图就行。

image.png

grep过滤查找及|管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理,配合grep 可以实现很多操作

  • yum list | grep firefox 查找安装包
  • rpm -qa | grep firefox | xargs rpm -e 删除浏览器

可以说使用好了管道符,Linux就算入门了。

压缩和解压缩

有三对命令:gzip/gunzip、zip/unzip、tar。 前两种了解即可。

image.png

常用的是tar命令 tar [选项] XXX.tar.gz 将要打包进去的内容
选项说明:

  • -c 产生.tar打包文件
  • -v 显示详细信息
  • -f 指定压缩后的文件名
  • -z 打包同时压缩
  • -x 解压

这里要记住两组常用的压缩解压命令:

  • tar -zcvf xxx.tar.gz 内容 和 tar -zxvf xxx.tar.gz
  • tar -cvf xxx.tar 内容 和 tar -xvf xxx.tar

磁盘分区类

有三个命令:

  • df :df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
  • fdisk:fdisk -l (功能描述:查看磁盘分区详情)
  • mount/umount:挂载卸载

image.png 记住功能即可,在面试时问了解哪些Linux命令,说出这类命令,逼格能提升不少。

进程管理类

ps查看进程

  • ps -aux | grep xxx (功能:查看系统所有进程)
  • ps -ef | grep xxx (功能:查看子父进程之间的关系)

选项说明:

  • -a 所有进程
  • -u 所有用户的所有进程
  • -x 没有终端的进程

image.png

image.png

image.png

image.png

kill

  • kill [选项] 进程号 (功能描述:通过进程号杀死进程)
  • killall 进程名称 (功能描述:通过进程名称杀死进程)

-9 可以强制终止进程

top

查看系统状态

image.png

image.png

netstat

显示网络统计信息

netstat -anp (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容) 主要是查看端口。

  • -an 按一定顺序排列输出
  • -p 表示哪个进程在调用

image.png