Linux常见基础命令

Linux

1.Linux目录结构

Linux的目录结构是一个树形结构,没有盘符的概念,只有一个根目录 / 所有的文件都在它下面

’ / ’ 在Linux系统中表示:

​ 1.出现在开头的 / 表示:根目录

​ 2.出现在后面的 / 表示:层次关系

2.Linux命令基础

命令:即Linux操作指令,是系统内置的程序,可以以字符化的形式去使用

命令行:即Linux终端,可以提供字符化的操作页面供命令执行

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

command [-options] [parameter]

command:命令本身

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

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

语法中的[],表示可选的意思

3.ls命令

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

ls命令的作用:在命令行中,以平铺的形式,展示当前工作的目录(默认HOME目录)下的内容(文件或文件夹)

HOME目录是每一个用户在Linux系统的专属目录,默认在:/home/用户名

Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的HOME目录

参数:

当ls不使用参数,表示列出:当前工作目录的内容,即用户的HOME目录

当使用参数时,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容

选项:

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

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

只有通过-a选项才能看见隐藏的文件/文件夹

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

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

写法:

ls -l -a

ls -la

ls -al

ls -a -l

这些写法都是一样的,表示同时应用-l和-a的功能

-h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位

4.cd命令

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

语法:cd [Linux路径]

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

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

5.pwd命令

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

语法:pwd

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

6.相对路径和绝对路径

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

cd /home/aaa/Desktop

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

特殊路径符:

. 表示当前目录,比如cd ./Desktop表示切换到当前目录下的Desktop目录内

… 表示上一级目录,比如 cd … 即可切换到上一级目录,cd …/…切换上两级目录,以此类推
表示HOME目录,比如 cd ~ 即可切换到HOME目录,或cd ~/Desktop,切换到HOME内的Desktop目录

7.mkdir命令

mkdir用以创建新的目录(文件夹)

语法:mkdir [-p] Linux路径

参数必填,表示要创建的目录的路径,相对、绝对、特殊路径符都可以使用

-p选项的作用:可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

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

注意:创建文件夹需要修改权限,必须确保操作均在HOME目录内,不要在HOME目录外操作,涉及到权限问题,HOME外无法成功

8.touch命令

可以通过touch命令创建文件

语法:touch Linux路径

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

9.cat命令

准备好文件内容后,可以通过cat查看内容

语法:cat Linux路径

cat没有选项,只有必填参数,参数表示:被查看的文件路径

10.more命令

用于查看文件内容,可翻页查看

语法:more Linux路径

参数必填,表示要查看的文件的路径

使用空格进行翻页,使用q退出查看

11.cp命令

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

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

-r选项,可选,用于复制文件夹使用,表示递归

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

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

12.mv命令

mv命令可以移动文件\文件夹

语法:mv 参数1 参数2

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

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

例:

mv test.txt Desktop/ 将test.txt文件移动至Desktop目录下

13.rm命令

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

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

同cp命令一样,-r选项用于删除文件夹

-f表示force,强制删除(不会弹出提示确认信息)

​ 普通用户删除内容不会弹出提示,只有root管理员删除内容会有提示

​ 所以普通用户一般用不到-f选项

参数1、参数2、… 、参数N表示要删除的文件或文件夹路径,按照空格隔开

通配符:

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

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

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

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

通过输入su - root,并输入密码临时切换到root用户

通过输入exit命令,退回普通用户

注意:rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候,请谨慎使用

如下命令,千万不要在root管理员用户下执行:

rm -rf /

rm -rf /*

以上命令效果等同于在windows上执行c盘格式化

14.which命令

学习的Linux命令,其实他们的本体就是一个个的二进制可执行程序

和windows系统中的.exe文件,是一个意思

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

语法:which 要查找的命令

15.find命令

按文件名搜索

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

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

find命令可以结合通配符查找文件

按文件大小查找

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

+、—表示大于和小于

n表示大小数字

kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

查找小于10kB的文件:find / -size -10k

16.grep命令

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

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

选项-n,可选,表示在结果中显示匹配的行的行号

参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用“ ”将关键字包围起来

参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

17.wc命令

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

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

选项-c,统计bytes数量

选项-m,统计字符数量

选项-l,统计行数

选项-w,统计单词数量

参数,文件路径,被统计的文件,可作为内容的输入端口

18.管道符

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

例:

统计test.txt文件中带有system关键字的有几行

cat test.txt|grep “system”|wc -l

19.echo命令

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

语法:echo 输出的内容

无需选项,只有一个参数,表示要输出的内容

类似于编程中的 print 语句

反引号 ` (通常称为飘号) 键盘布局中,位于~下面

重定向符:>和>>

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

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

例:

echo “this is a test to use >” > test.txt

echo “you can so anything in this file” >> test.txt

20.tail命令

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

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

参数,Linux路径,表示被跟踪的路径

选项-f,表示持续跟踪,使用ctrl+c停止跟踪

选项-num,表示查看尾部多少行,不填默认10行

21.vi/vim编辑器的三种工作模式

vi/vim编辑器,就是命令行模式下的文本编辑器,用来编辑文件

vim是vi的升级版,一般用vim即可,包含全部vi命令

1.命令模式

如果需要通过vi/vim编辑器编辑文件,使用如下命令

vi 文件路径 或 vim 文件路径

vim兼容全部的vi功能

如果文件存在,则修改文件,若不存在,那么会创建新文件

i —在当前光标位置进入输入模式

a —在当前光标位置之后进入输入模式

I —在当前行的开头进入输入模式

A —在当前行的结尾进入输入模式

o —在当前光标的下一行进入输入模式

O —在当前光标的上一行进入输入模式

esc —任何情况下输入esc都能回到命令模式

键盘上、k —向上移动光标

键盘下、j —向下移动光标

键盘左、h —向左移动光标

键盘右、l —向后移动光标

0 —移动光标到当前行的开头

$ —移动光标到当前行的末尾

pageup —向上翻页

pagedown —向下翻页

/ —进入搜索模式

n —向下继续搜索

N —向上继续搜索

dd —删除光标所在行的内容

ndd —n是数字,表示删除当前光标向下n行

yy —复制当前行

nyy —n是数字,复制当前行和下面的n行

p —复制粘贴的内容

u —撤销修改

ctrl+r —反向撤销修改

gg —跳到首行

G —跳到行尾

dG —从当前行开始,向下全部删除

dgg —从当前行开始,向上全部删除

dS —从当前光标开始,删除到本行的结尾

d0 —从当前光标开始,删除到本行的开头

2.底线命令模式

:wq —保存并退出

:q —仅退出

:q! —强制退出

:w —仅保存

:set nu —显示行号

:set paste —设置粘贴模式

22.root用户

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的

普通用户的权限一般在其HOME目录内是不受限的

一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

1.su命令

su命令适用于账户切换的系统命令

语法:su [-] [用户名]

-符号是可选的,表示是否在切换用户后加载环境变量(建议带上)

参数,用户名,表示要切换的用户,用户名可以省略,省略表示切换到root

切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d

使用普通用户切换到其他用户需要输入密码

使用root用户切换到其他用户,无需密码,可以直接切换

2.sudo命令

使用sudo命令,为普通的命令授权,临时以root身份执行

语法:sudo 其他命令

在其他命令之前带上sudo,即可为这一条命令临时赋予root授权

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

23.用户和用户组管理

  • Linux用户管理模式

    Linux可以支持多用户、多用户组、用户加入多个组

    Linux权限管控的单元是用户级别和用户组

用户组管理:

需用root用户执行

创建用户组 groupadd 用户组名

删除用户组 groupdel 用户组名

用户管理:

需用root用户执行

  • 创建用户 useradd [-g -d] 用户名

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

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

  • 删除用户 userdel [-r] 用户名

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

  • 查看用户所属组 id [用户名]

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

  • 修改用户所属组 usermod -aG 用户组 用户名

将指定用户加入指定用户组

  • getent

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

语法:getent passwd

共有七份信息,分别是:

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

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

语法:getent group

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

24.查看权限控制信息

在这里插入图片描述

在这里插入图片描述

25.chmod命令

可以使用chmod命令,修改文件、文件夹的权限信息

注意:只有文件、文件夹的所属用户或root用户可以修改

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

选项: -R,对文件内的全部内容应用同样的操作

例:

chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为rwxr-x–x

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

chmod u=rwx,g=rx,o=x test,将文件夹test以及文件夹内的全部内容权限设置为:rwxr-x–x

除此之外,还有快捷写法:chmod 751hello.txt

将hello.txt的权限修改为751

'r’记作4 'w’记作2 'x’记作1

26.chown命令

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

普通用户无法修改所属为其他用户或组,此命令只适用于root用户执行

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

选项,-R,同chmod,对文件夹内全部内容应用相同的规则

选项,用户,修改所属用户

选项,用户组,修改所属用户组

:用于分隔用户和用户组

27.小技巧

ctrl+c 强制停止当前运行的程序或退出当前未写好命令并重新输入

ctrl+d 退出账户登录或者退出某些特定程序的专属页面

history可查看历史输入过的命令

可以通过!命令前缀,自动执行上一次匹配前缀的命令(基本只能用于才执行过的短暂时间内的命令)

ctrl+r 输入内容去匹配历史命令:

如果搜索到的内容是你需要的,那么回车键可以直接执行,键盘左右键,可以得到此命令(不执行)

光标移动快捷键:

ctrl+a 跳到命令开头

ctrl+e 跳到命令结尾

ctrl+键盘左键 向左跳一个单词

ctrl+键盘右键 向右跳一个单词

ctrl+l 清空终端内容---------等同于命令clear

28.软件安装

Ubuntu安装包格式:.deb 使用apt

CentOS安装包格式:.rpm 使用yum

Ubuntu apt命令

语法:apt [-y] [install | remove | search] 软件名称

选项,-y,自动确认

30.ln命令

在系统中创建软连接,可以将文件、文件夹链接到其他位置

类似于Windows系统中的快捷方式

链接只是一个指向,并不是物理移动

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

-s选项,创建软链接

参数1:被链接的文件或文件夹

参数2:要链接去的目的地

例:

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

31.date命令

date命令可以查看时间,并格式化显示形式以及做日期计算

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

  • %Y 年

    %y 年份后两位数字

    %M 月份

    %d 日

    %H 小时

    %M 分钟

    %S 秒

    %s 自1970-01-01 00:00:00 UTC到现在的秒数

修改Linux的时区

rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntp的作用

可以自动联网同步时间,也可以通过ntpdate -u ntp.aliyun.com手动校准时间

32.IP地址和主机名

127.0.0.1 —这个IP地址用于指代本机

0.0.0.0 —特殊IP地址

​ 可以用于指代本机,可以在端口绑定中用来确定绑定关系,在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

可以利用hostname查看主机名

centos修改主机名:hostnamectl set-hostname 主机名,修改主机名(需root)

可以自行在本地记录里配置相关的主机名映射关系

33.ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态

语法:ping [-c num] ip或主机名

选项,-c,检查的次数,不使用-c选项,将无限次数持续检查

参数:ip或主机名,被检查的服务器的ip地址或主机名地址

34.wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件

语法:wget [-b] url

选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件

参数:url,下载链接

注意:无论是否下载完成,都会生成要下载的文件

35.curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等

语法:curl [-O] url

选项:-O,用于下载文件,当url是下载地址时,可以使用此选项保存文件

参数:url,要发起请求的网络地址

37.nmap命令

可以通过nmap命令查看端口的占用情况 查看指定IP的对外暴露端口

语法:nmap 被查看的IP地址

例:nmap 127.0.0.1 查看本机端口占用

38.netstat命令

可以通过netstat命令,查看指定端口的占用情况

语法:netstat -anp|grep 端口号

39.ps命令查看进程

进程是指程序在操作系统内运行后被注册为系统内的一个进程,并拥有独立的进程ID(进程号)

可以通过ps命令查看Linux系统中的进程信息

语法:ps [-e -f]

选项:-e,显示出全部的进程

选项:-f,以完全格式化的形式展示信息(展示全部信息)

可以通过管道符和grep命令过滤信息

例:

ps -ef|grep tail 可以准确的找到tail命令的信息

40.kill命令关闭进程

在Linux中,通过kill命令关闭进程

语法:kill [-9] 进程ID

选项:-9,表示强制关闭进程。不使用-9,会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制

41.主机状态监控

可以通过top命令查看cpu、内存使用情况,类似于windows的任务管理器
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

42.磁盘信息监控

使用df命令,可以查看硬盘的使用情况

语法:df [-h]

选项:-h,以更加人性化的单位显示

可以使用iostat查看cpu、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

选项:-x,显示更多的信息

num1:数字,刷新间隔 num2:数字,刷新几次

在这里插入图片描述

43.网络状态监控

可以使用sar命令查看网络的相关统计

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束)

num2:查看次数(不填就查看无限次数)

在这里插入图片描述

44.环境变量

环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行记录关键信息

env命令查看环境变量

$符号被用于取“变量”的值

取得环境变量的值就可以使用语法:$环境变量名 来取得

echo $PATH 取得环境变量PATH的值,通过echo输出

Linux环境变量可以有用户自行设置,分为:

临时设置,语法:export 变量名=变量值

永久生效:

​ 针对当前用户生效,配置在当前用户的: ~/bashrc文件中

​ 针对所有用户生效,配置在系统的: /etc/profile文件中

​ 并通过语法:source配置文件,进行立刻生效,或重新登录FinalShell生效

加入自定义的命令搜索路径

例:export PATH=$PATH:自定义路径

45.压缩和解压缩

Linux系统常见压缩格式有:

tar格式,归档文件,简单的将文件整合到一个文件内,无压缩效果

gzip格式,gzip压缩文件,不仅能整合到一个文件,同时有体积压缩效果

  • tar命令

tar [-z -x -c -f -C] 参数…

-c:创建压缩文件

-v:查看压缩\解压过程

-x:解压模式

-f:指定压缩\解压的文件

-z:gzip模式

常见格式:tar格式压缩 -cvf gzip格式压缩 -zcvf

tar格式解压 -xvf gzip格式解压 -zxvf

-C:指定解压的路径

-z在选项组建议在开头,-f在选项组必须在尾部,-C单独使用

例:

将test1.txt,test2.txt压缩到test.tar.gz中

tar -zcvf test.tar.gz test1.txt test2.txt

解压到test文件中

tar -zxvf test1.tar.gz -C ./test/

  • zip命令

zip [-r] 参数…

-r :压缩文件夹使用

例:zip -r test.zip test1 test2.txt

  • unzip命令

unzip [-d] 参数

-d:指定解压到的目录

符号被用于取“变量”的值

取得环境变量的值就可以使用语法:$环境变量名 来取得

echo $PATH 取得环境变量PATH的值,通过echo输出

Linux环境变量可以有用户自行设置,分为:

临时设置,语法:export 变量名=变量值

永久生效:

​ 针对当前用户生效,配置在当前用户的: ~/bashrc文件中

​ 针对所有用户生效,配置在系统的: /etc/profile文件中

​ 并通过语法:source配置文件,进行立刻生效,或重新登录FinalShell生效

加入自定义的命令搜索路径

例:export PATH=$PATH:自定义路径

45.压缩和解压缩

Linux系统常见压缩格式有:

tar格式,归档文件,简单的将文件整合到一个文件内,无压缩效果

gzip格式,gzip压缩文件,不仅能整合到一个文件,同时有体积压缩效果

  • tar命令

tar [-z -x -c -f -C] 参数…

-c:创建压缩文件

-v:查看压缩\解压过程

-x:解压模式

-f:指定压缩\解压的文件

-z:gzip模式

常见格式:tar格式压缩 -cvf gzip格式压缩 -zcvf

tar格式解压 -xvf gzip格式解压 -zxvf

-C:指定解压的路径

-z在选项组建议在开头,-f在选项组必须在尾部,-C单独使用

例:

将test1.txt,test2.txt压缩到test.tar.gz中

tar -zcvf test.tar.gz test1.txt test2.txt

解压到test文件中

tar -zxvf test1.tar.gz -C ./test/

  • zip命令

zip [-r] 参数…

-r :压缩文件夹使用

例:zip -r test.zip test1 test2.txt

  • unzip命令

unzip [-d] 参数

-d:指定解压到的目录

例:unzip test.zip -d ./test/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值