Linux常用命令(每一个努力的人都应当被肯定,加油!)

    Linux系统介绍

1、Linux操作系统介绍

1.1操作系统介绍

啥是操作系统?

操作系统其实就是应用程序和硬件之间的媒介,它本身也是一个计算机程序。

举个例子:你在电脑上使用qq或微信和小伙伴通电话时,就是qq向操作系统提出请求,然后操作系统接受到请求打开麦克风和音频播放器。

1.2常见的操作系统

1.个人电脑:Windows、MacOS

2.服务器:Linux、Unix、Windows、Server

3.嵌入式(汽车系统):Linux

4.移动端(手机、平板):安卓(基于Linux)、iOS、鸿蒙

1.3Linux操作系统的特点

1.最最最主要的原因就是开源免费

2.其次就是安全稳定、可移植性性好、高性能

1.4Linux常见的发行版本

Ubuntu(乌班图)、Redhat(红帽)、CentOS

(这些东东了解就行啦)

1.5Linux使用领域

应用服务器、数据库服务器、网络服务器、虚拟化云计算、嵌入式领域、个人PC、移动手机

(了解就好)

1.6Linux使用场景(测试)

1.项目部署的测试环境(这个东东一般情况下应该也不会让我们测试部署,最怕开发和运维生病有事请假哈哈哈哈)

2.查看日志定位问题(如何查看日志后面会讲到滴)

2、Linux文件系统和目录

Linux是树形结构的文件结构,一个根目录“/”和若干子节点,每个子节点都可以继续展开出自身的子节点(下一级)。

/:唯一根目录

/home:用户目录

/root:系统管理员目录

/usr:应用程序

/etc:系统配置

/boot:内核文件

/tmp:临时文件

/bin:存放命令、工具

Linux常用命令

1、Linux远程链接

1.1什么是远程链接

就是用自己的电脑控制放在”山沟沟“里的电脑(服务器),然后一般我们不好去山沟沟

1.2为啥要远程链接?

因为实际情况中,我们的项目服务器是在机房或者云服务器里,我们都接触不到,想要访问服务器就需要通过远程链接来完成。因为Linux不像我们平时使用的Windows系统,它没有图形界面,想要操作文件只能通过命令在控制台进行,这就很抽象了嘿嘿,但是我们用工具远程链接的话,有的工具经过开发是具备半图形界面化的,就文件会显示出界面图像可以看到或者点击操作的。

1.3远程链接工具介绍

常用的远程链接的工具有:finalshell   xshell   SecureCRT

我们今天说的工具是finalshell

就是长这个样子

连接在这,有需要的小伙伴自行下载哦:

链接:https://pan.baidu.com/s/19bFPwpDrIYbZNsqeBTHZrg
提取码:FNSL

安装的话就是哪里亮了点哪里,小心别安在C盘哈哈

1.4链接Linux服务器

我们链接Linux服务器的时候需要知道服务器的ip地址,用户名和密码还有ssh链接的端口号

链接前最好先确定远程ip地址是否可以同ping(连通)可以通过本地电脑进入cmd进行ping x.x.x.x

查询服务器的ip地址的命令是ifconfig,用户名密码我用的是默认的root+123456

ifconfig

查看ssh链接的端口号:netstat –anp | grep sshd
netstat –anp | grep sshd

然后就可以打开finalshell连接了

设置完后就是这样

然后我们选择这个链接打开就链接成功啦嘿嘿

对ssh链接有兴趣的宝子们可以去搜一搜嘿嘿

2、Linux命令格式

2.1终端命令格式

command [-options] [parameter]

Command:命令名称

[]:可选项

[-options]:命令选项,可有可无

[parameter]:命令参数,可以不传,也可以传一个或多个

2.2查看命令帮助

命令   --help

man   命令

例如查看ls命令的使用

ls  --help
man  ls

使用吗man help时:b和空格上下翻页、退出时按q、/word:搜索word字符串

3、文件和目录常用命令

3.1查看目录内容--ls

命令格式:ls  [选项]  [文件或命令]

ls选项:

        -l:以列表的形式查询文件信息

        -a:显示所有的文件信息,包括隐藏的文件

        -h:显示文件大小

小伙伴们注意啦:这个命令查看的是指定路径下的目录(文件夹)和文件的信息,有的小伙伴以为查看文件信息就是查看文件具体内容,实际上并不是的,这里我们并没有打开具体的文件,只是看看有没有这个文件。(我们可以暂时理解为,不带后缀的叫目录(文件夹),有后缀的是文件)

例如:

我们先进入usr目录

cd  /usr

创建一个test_demo目录(文件夹)

mkdir  test_demo

进入test_demo

cd test_demo

创建两个文件 file.txt   file.csv

touch  file.txt  file.csv

创建两个目录(文件夹)directory1   directory2

mkdir  directory1  directory2 

现在我们使用ls命令来查看test_demo目录下的文件信息

我们只写了命令和选项并没有写路径/目录是因为我们查看的是当前目录下的文件信息,不写的话默认就是当前目录

我们查看文件信息的时候还可以结合则通配符一起使用

常见的通配符:

        *:表示0或多个任意字符(也代表所有的意思)

        ?:表示一个字符

        [abcd]:表示匹配abcd之中的任意一个字符

        [a-z]或者[0-9]:表示匹配这个范围内的任意一个字符:注意只能匹配一个字符哦

打架可以把下面几个命令敲一下感受一下

ls -l *
ls -l fi*
ls -l ?ile.txt
ls -l [a-d]ire*

3.2切换目录--cd

cd或cd ~:切换到当前用户主目录

cd
cd ~

cd  ./ :切换到当前目录

cd ./

cd ../:切换到上级目录

cd ../

cd -:切换到上次所在目录

cd -

小伙伴们要注意目录是要区分大小写的

这里还就涉及到绝对路径和相对路径:

绝对路径:从根目录或者家目录开始到目标目录过程中的所有目录都写出来

相对路径:相对当前目录所在的位置(不以根目录或家目录开头)

3.3创建文件--touch

命令:touch 文件名

touch 文件名

规则:

如果文件不存在则创建文件

如果文件已存在,则更新文件的修改时间

如果创建的文件不在当前目录则文件名前面需要加路径

可以同时创建多个文件

3.4创建目录--mkdir

命令:mkdir  目录名

mkdir 目录

规则:

选项加 -p (小写) 可以创建多个层级的目录

目录名称不能和当前目录下的文件的目录名字相同

支持其他路径创建目录

mkdir -p mod/mod1/mod2

3.5删除目录或文件--rm

命令:rm   [-选项]   目录名或文件名

选项:

-i:交互式执行,删除前会询问是否删除

-f:强制删除,忽略不存在的文件,不提示

-r:删除文件夹和文件夹下的所有内容

注意:使用rm删除文件时无法恢复,建议使用rm时跟上 –i 参数

rm  -i  fileA.txt  fileB.txt  fileC.txt

有一个小细节:用ls命令查看目录下稳健信息时,没有反应就是目录下没东西

couch  directory2/file.txt
rm  -r  directory2

rm  -rf  directory1

3.6复制文件或目录-cp

命令:cp 源文件  目标文件

选项:

-i:交互,覆盖时会提示用户确认

-f:强制覆盖已存在的目标文件不提示(就是我想把a文件复制到一个目录下并取名叫b文件,但是此目录下已经有b文件了,咋办,直接把原来的b文件替换了嘿嘿,后面我们可以验证一下)

-r:若文件为目录,则复制目录下面的所有内容

-v:显示进度(这个没有动画效果哈,其实就是把文件操作的过程通过目录文件显示出来)

cp file.txt file1.txt

(用ls检查要形成一种习惯滴)

我们现在来验证一下选项-f是不是和描述一样(这里本来设计到后面的查看文件和编辑文件,但是图形界面话工具真是个好东西,我们可以直接像操作windows系统一样写文件和查看文件)

现在我们file.txt和file1.txt里面是都没有东西的

我们可以直接在像windows系统一样直接选中右键打开

我们在file.txt里面写入:我好喜欢linux哇

在file1.txt里面写入:我不喜欢linux

然后我们用cp命令把file.txt文件复制到当前目录下并取名为file1.txt,但是当前目录已经存在file1.txt文件了,我们看看能不能把原有的file1的内容替换掉

cp -f file.txt file1.txt

乖乖!成功了!还真的可以直接覆盖掉原来的文件内容哈哈

3.7移动文件或目录--mv

命令格式:mv 源文件 目标文件

选项:

-f:强制覆盖已存在的目标文件,刚刚解释过啦

-i:交互,覆盖时会提示用户确认

-v:显示进度

(mv命令的本质其实是把文件销毁掉然后再冲新创建一个一样的文件,但是新文件的名字你可以冲新取,如果新名字跟已存在的文件冲突了,价加个-f就可以把原来的文件替换了)

所以所mv命令不仅可以移动文件还能给文件改名字哈哈

这里我把file.csv文件移动到和我们的test_demo同一级并把名字改为file_csv.csv

mv   file.csv  /usr/file_csv.csv

3.8查看文件命令

常用查看文件的命令:

1.cat 文件名:查看内容较少的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能

2.more 文件名:查看内容较多的文件,分屏展示

3.grep 索引:查看内容较多的文件,用来搜索指定内容

cat命令格式:cat [选项] 文件名

选项:

-b:对有内容的行进行编号

-n:对所有行编号

(这里我就偷偷懒不敲啦,上面有演示过啦哈哈)

more命令格式:more [选项] 文件名

(使用more会进入查看文件模式,这个时候不能输入命令但可以操作,可以配合管道符进行操作)

操作键:

空格键或f:下一页

b:上一页

回车键(Enter):下一行

q:退出查看模式

grep命令格式:gerp  [选项]  匹配字符  文件名(这个必须要有匹配字符,不然不能查找得到)

(这个东东很常用滴,用grep来搜索很方便,会配合这管道符来使用)

选项:

-v:取反,非,意思就是搜索除匹配到的行的所有行(就是我不想看啥我就加个-v然后把)

-n:显示匹配的行号

-i:忽略大小写

(grep可以配合着正在表达式一起用,正则表达式就是用来匹配字段滴)

(管道符  |  :就是对命令的结果进行再次操作)

查看file文件’我‘开头的行并显示行号

cat file.txt | grep -n ^我

grep -n ^我 file.txt

(后面还会一直用到)

^a:以a来头的行

a$:以a结尾的行

[abc]:匹配abc之中的任意一个字符

(家人们,别搞混了喔,grep匹配字符用的是正则表达式,不是通配符哦)

3.9其他命令

重定向-->  >>

解释:

linux允许命令执行结果重定向到另一个文件中

可以将终端显示的内容添加或追加到另一个文件中

> 重定向符号表示输出到新文件中,会覆盖文件中原有内容

>> 重定向符号表示追加到新文件中,不会覆盖原有的内容

ls -l >> file1.txt

cat file.txt > file1.txt

(重定向可以配合cat对文件进行创建、追加、合并)

还有个管道符   |

linux允许将一个命令的输出结果通过管道符作为另一个命令的输入

(这个东西后面会经常出现滴,看一下很容易理解的,可以和more,grep一起使用)

其他命令--pwd、clear、which

命令格式:pwd

pwd命令用于显示当前所在的行

命令格式:clear

clear命令用于清除当前屏幕终端显示的所有内容

命令格式:which   工具名称

which用于查找工具或程序的安装位置

which ls

4、信息系统相关命令

4.1重启与关机

重启命令:reboot

命令说明:执行命令后立即冲新启动操作系统

关机命令:shutdown

命令说明:执行命令后,根据选项自定义关机系统

选项:

shutdow -r now :重新启动操作系统,shutdown会给别的用户提示

shutdow -h now:立即关机,now相当于时间为0的状态

shutdow -h 22:22 :系统在今天22:22会关机

shutdow -h +10:十分钟后系统自动关机

4.2擦看系统进程--ps

命令格式:ps -aux

选项:

-a:显示终端上的所有进程,包括其他用户的进程

-u:显示进程状态的详细信息

-x:显示没有控制终端的进程

ps命令一般会配合这管道符和grep对查找出来的结果进行筛选

例如:

ps -aux | grep nginx

ps -ef  | grep nginx

4.3查看系统进程--top

命令格式:top

说明:top命令 用于实时查看系统进程相关信息

交互键:

M:根据当前内存的大小降序查看系统进程相关的信息

P:根据cpu使用率大小降序显示进程信息

q:退出top命令 或者按ctrl+c

top

4.4关闭进程--kill

命令:kill -9 进程号(强制关闭对应进程)

进程号可通过ps和netstat命令查看(那个PID就是进程号)

这个俺就不掩饰啦哈哈

4.5查看监听端口--netsat

命令:netstat [-anptu]

说明:netstat可以查看当前系统网络状态和对应软件使用的端口

选项:

-a:显示所有已打开的端口

-p:显示对应进程的id(这个也可以显示进程号6的哇)

-n:用数字显示对应端口,不用别名显示

-t:显示所有tcp协议端口

-u:显示所有udp协议端口

(滴滴,这个东东可以和管道符一起使用喔)

 netstat -anp |grep mysql

4.6查看监听指定端口--lsof

命令:lsof -i:端口号

说明:这话lsof其实是一个工具,用来列出当前系统打开文件的工具,可以查看系统中正在使用端口号的详细信息

lsof -i  :不给条件,就是默认显示已打开进程的所有信息

  :只查看端口号为3306的进程信息

(我们在启动一个程序的时候,有时候就会出现端口号被占用的情况,我们可以通过这个命令查看我们要启动程序的端口号的使用信息)

lsof -i:3306

4.7查看日志信息--tail

命令:head 文件明

说明:

默认显示日志文件前10行内容

head -20 文件名:显示日志文件前20行内容

命令: tail 文件名

说明:

默认显示日志文件后10行内容

tail -20 文件名:显示日志文件后20行内容

tail -f 文件名:实时显示日志信息

(然后就是我们的老朋友管道符加grep啦,我就说grep很常用喽哈哈)

tail -f 文件名 | grep 关键字:实时显示日志信息并只显示含关键字的日志信息

找一个日志文件,从根目录开始找

find / -name *.log

有好多日志文件,然后我们用tail命令随便找一个进去看一看就行啦

(要是用项目的话,就找到项目日志文件然后在浏览器打开项目进行操作,在linux里面查看实时日志)

5、用户限权和管理

5.1限权的基本概念

Linux系统文件和目录的限权有以下几种:

5.2查看文件和目录限权

ls -l

5.3修改文件限权

两种方法,一种数字法,一种字母法

数字法:

命令:chmod 777 文件名

解释:这三个数字分别表示的是拥有者/用户组限权/其他用户限权(7代表4+2+1就是全部限权)

有一个表对照表

字母法:

命令:chmod u[+-=][rwx] , g[+-=][rwx] , o[+-=][rwx] 文件名

说明:

u:拥有者       

g:组       

o:其他

+:添加限权

-:减少限权

=:等于设置的限权

举个例子:

给file.txt这个文件的限权设置为:拥有者全部限权、组读和执行限权、其他只读限权

chmod u=rwx,g=rx,o=r file.txt

5.4查看登录用户、切换用户

查看登录用户:who

选项:

-q或 --count:只显示用户的登录账号和登录用户数量

-u或 --heading:显示列标题

who
whoami

5.5切换用户、设置用户密码

切换用户:su -   或   su 用户名

说明:

su -:切换到root用户

su 用户名:切换到指定用户

(滴滴,普通用户切换其他用户是要输入用户名和密码的哦)

设置密码:passwd 货 passwd 用户名

说明:

passwd:设置当前用户密码

passwd 用户名:设置指定用户密码(只用root有这个权限)

5.6退出登录账户

命令:exit

说明:

如果是图形界面,退出当前终端

如果是ssh远程登录,退出登录账户

如果切换过用户,则退出返回上一个用户

(就是一层一层套娃,推到最后一个用户就退出登录了)

6.其他命令

6.1查看文件命令

命令:find 路径 -name 文件名

说明:

/ 表示直接从根目录开始搜索,这是用于完全不知道文件在naer

路径省略不写默认当前路径

文件名可以用通配符表示、

find / -name *.txt

6.2软连接--ln

命令:ln -s 源文件 链接文件

说明:

软连接只是只向源文件的一个链接,就是跟快捷方式一样

源文件要使用绝对路径,这样一定链接文件后,仍然可以使用

软连接可以连接目录

6.3压缩/解压(gzip)

命令:

压缩文件:tar -zcvf  压缩文件名.tar.gz   被压缩的文件/路径(这个压缩文件名是自己起的)

解压:tar -zxvf 压缩文件名.tar.gz

解压到指定目录:tar -zxvf  压缩文件名.tar.gz -C 目标路径(大写的C)

说明:tar(打包)和gzip(压缩)命令结合使用 实现文件打包、压缩、解压,压缩后文件名后缀为xxx.tar.gz

tar -zcvf file.tar.gz file.txt

我们把file.txt删掉,再解压看看有没有解压成功

rm file.txt
ls
tar -zxvf file.tar.gz 

6.4压缩解压--zip

命令:

压缩:zip [r]  压缩文件名  被压缩文件

解压:unzip [d] 解压后的目录 压缩文件.zip(在当前目录可简写成unzip 压缩文件.zip)

说明:

zip压缩的时候是不用指定文件后缀的

(这个命令比较简单就不演示了)

终于说完了,虽然说得没有那么完整呜呜呜QAQ!

之后会继续优化滴!

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是邀月噢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值