linux1——linux常用命令

请添加图片描述

一.Linux常用命令

可见本章的重点是,获得命令帮助的方法,查看及切换目录,创建目录和文件,查找目录和文件
请添加图片描述

1.linux命令概述

现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。

然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩的“黑屏”本身就是一件枯燥的事情;这个时候的计算机还远远谈不上炫酷和普及,只有专业人员才能使用。

对于图形界面,用户点击某个图标就能启动某个程序;对于命令行,用户输入某个程序的名字(可以看做一个命令)就能启动某个程序。这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行。
换句话说,图形界面和命令行要达到的目的是一样的,都是让用户控制计算机。

然而,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。

由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。

用户界面和命令行就是这个另外开发的程序,就是这层“代理”。在Linux下,这个命令行程序叫做 Shell。

Shell 除了能解释用户输入的命令,将它传递给内核,还可以:

  • 调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;
  • 在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;
  • Shell 本身也可以被其他程序调用。

由此可见,Shell 是将内核、程序和用户连接了起来。

原文链接:https://blog.youkuaiyun.com/qq_41854911/article/details/122444012
请添加图片描述

(1)Linux命令的分类

请添加图片描述
linux的命令分为内部命令和外部命令,他们有什么区别呢,在刚装好的linux系统的机器上可以运行的就是内部命令,不能运行的就是外部命令。举个例子,我当时在刚装好系统后想查看ip地址,于是我使用了 ifconifg 命令,结果报错了,所以我又使用了 ip addr 命令,成功了。所以,ifconfig是外部命令而ip addr是内部命令。

(2)Linux命令行格式

请添加图片描述
请添加图片描述
在这里可以看到选项分为长格式与短格式,但是他们有什么区别呢,就比如用 ls 来举例,-a或–all 都是列出目录下所有文件和目录,包括以 . 开头的隐含文件。但是短选项是可以写到一起的,如下图所示:
请添加图片描述
请添加图片描述
可以看得出来 -lh 和 -l -h 所起到的效果是一样的。那么如果一个命令的多个短格式选项合起来所组成的字符串正好和长格式所代表的字符串重合怎么办?所以短格式和长格式都会存在,用来应对不同的情况。

  • linux命令行快捷键:
    这里有一些快捷键,可以方便我们的日常使用,比如
    请添加图片描述

  • ctrl+c:可以停止结束进程。

  • ctrl+l:可以清屏,如果觉得屏幕太乱,可以一下子把之前的全去掉。

  • ctrl+k :可以删掉这一行中光标之后的字符。

  • ctrl+u :可以删除这一行中光标之后的字符。

  • ** :如果一行命令太长的话可以在行末加 \ 然后在下一行继续写,所以在看别人的指令时,当看到 \ 时候,往后看看。
    请添加图片描述

  • tab:命令补全,特别好用。

(3)获得命令帮助的方法

请添加图片描述
man指令来打开详细使用手册,在查看完相关用法之后可以点 q 来退出。
这时候可能就有有人不解了,看起来 help 和选项 --help 差不多,那为什么要有两个呢?这个其实和之前那个内部命令和外部命令有关系,如果是一个外部命令的话,比如说上面提到的 ifconfig 用help ifconfig 是无法查看的,如图
请添加图片描述
所以这时候,我们就需要用 ifconfig --help来查看,如图
请添加图片描述
所以,help指令只能查看内部命令,如果想详细查看内容还是用man指令比较好。


重定向:

请添加图片描述
0 :是一个文件描述符,表示标准输入(stdin) ,键盘输入,并返回在前端
1 :是一个文件描述符,表示标准输出(stdout),正确返回值 输出到前端
2 :是一个文件描述符,表示标准错误(stderr),错误返回值 输出到前端
> :是向指定文件内输入,如果没有文件则会新建文件,如果已有文件的话,输入会覆盖原有内容
>>:向指定文件内追加输入
<:从指定位置读取输入
举个例子 请添加图片描述
echo先简单理解为输入,后面会详细介绍,在这里,输入字符 test 重定向到memo文件中,mail是邮件指令,因为我们当前是root用户,mail root相当于把邮件发给自己,也就是发送的内容从memo文件中读取然后发送给自己,这时候我们打开邮件就可以看到我们的输入 test字符了。

可能就有人好奇了 那么1和2有什么用呢?
示例:
当前目录只有一个文件 a.txt.

[root@redhat box]# ls
a.txt
[root@redhat box]# ls a.txt b.txt
ls: b.txt: No such file or directory 

由于没有b.txt这个文件, 于是返回错误值, 这就是所谓的2输出 a.txt 而这个就是所谓的1输出
再接着看

[root@redhat box]# ls a.txt b.txt 1>file.out 2>file.err

执行后,没有任何返回值. 原因是, 返回值都重定向到相应的文件中了,而不再前端显示

[root@redhat box]# cat file.out
a.txt
[root@redhat box]# cat file.err
ls: b.txt: No such file or directory

总结
1> : 代表标准正确输出,即如果命令的执行结果是正确,则执行输出
2> : 代表标准错误输出,即如果命令的执行结果是错误,则执行输出
&>: 代表标准正确输出+标准错误输出

管道 |

通过前面的学习,我们已经知道了怎样从文件重定向输入,以及重定向输出到文件。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)。

当在两个命令之间设置管道时,管道符|左边命令的输出就变成了右边命令的输入。只要第一个命令向标准输出写入,而第二个命令是从标准输入读取,那么这两个命令就可以形成一个管道。“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

这里需要注意,command1 必须有正确输出,而 command2 必须可以处理 command1的输出结果;而且 command2 只能处理 command1 的正确输出结果,不能处理 command1 的错误信息。
请添加图片描述
那么这样的话就会有很多有趣的组合,比如我想查看文件 services 会用到 cat services ,但是直接浏览,上下翻页很麻烦,于是我可以在命令后加上翻页命令less ,可以这么写 cat service | less,就可以以翻页的形式来查看 service文件了。

2.目录和文件的基本操作

(1)查看及切换目录

请添加图片描述

pwd

pwd是Linux中一个非常有用而又十分简单的命令,pwd是词组print working directory的首字母缩写,即打印工作目录;工作目录就是你当前所处于的那个目录。

pwd始终以绝对路径的方式打印工作目录,即从根目录(/)开始到当前目录的完整路径。在实际工作中,我们常常记不起当前目录的完整路径,此时pwd命令就派上用场了。
请添加图片描述
请添加图片描述

cd

请添加图片描述
绝对路径始终从根目录(/)开始
相对路径从当前目录开始。
请添加图片描述
比如说你的root文件夹有个文件夹叫ABC,文件夹下有两个文件file1和file2
如果让文件file1说出文件file2的位置(也就是路径),那么它有两种表示方法:
第一种:/ABC/file2 这就是绝对路径,指明file2文件在C盘ABC文件下,从最大的目录C盘开始表示出来.
第二种:file2 这就是相对路径,因为file1文件和file2文件都在/ABC下,所以它们的路径前面"/ABC"都是一样,就不用表示出来了.

在这里,有的朋友可能会问,如果file1和file2不在同一个文件夹下,相对路径该怎么表示呢。比如:

file1的位置为/ABC/path1/file1;

file2的位置为/ABC/path2/file2;

这时候让file1说出file2的位置则为:…/path2/file2;两个点(…)表示回退一层。解释下就是,file1在path1文件夹下,先点点,回退到ABC文件夹下,然后加上path2/file2,也就是…/path2/file2,这就是相对路径了。

ls

请添加图片描述
-a:表示查询所有的文件/文件夹,也包括以.开头的隐藏文件
-l : 表示查询文件的详细信息
-l 加文件名:如果想查看具体某个文件的详细信息,可以再加上它的文件名
-d :只显示当前目录自身,通常和-l搭配使用来显示当前目录自身的权限和属性信息
-h :用"K",“M”,"G"来显示文件和目录的大小

du

请添加图片描述

alias别名命令

请添加图片描述
现在好多命令是已经重命名之后的,比如ls,自动带颜色
请添加图片描述

(2)创建目录和文件

请添加图片描述

mkdir

请添加图片描述

touch

请添加图片描述
请添加图片描述

ln

请添加图片描述
1,软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。
2,硬链接等于cp -p 加 同步更新。

下面这篇文章是我觉得解释的很好的一篇文章
原文链接:https://blog.youkuaiyun.com/gao_zhennan/article/details/79127232
请添加图片描述

(3)复制,删除,移动目录和文件

请添加图片描述

cp

请添加图片描述
如果cp复制目录时总提示失败
原因可能是 目录非空,或者选项没加r

rm

请添加图片描述

mv

请添加图片描述

(4)查找目录和文件

which

请添加图片描述

find

请添加图片描述
请添加图片描述
请添加图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值