linux的简单介绍以及常用简单命令

基本知识

基本

1
2
3
4
5
6
7
8
9
# 关机
正常关机
shutdown(腾讯云使用这个就关机了)
shutdown -h now(虚拟机上是这样的 centOS 6.5)

halt(关闭内存) 因为计算机没有内存无法开机,因此等同于关机

init 0()

文件与目录

1
2
3
4
5
6
7
8
9
10
11
Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
Etc:该目录主要存储一些配置文件。
Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。
Root:该目录是root用户自己的家目录。
Sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
Imp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr:存放的是用户自己安装的软件。类似于windows 下的program files。
Var:存放的程序/系统的日志文件的目录。
Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

指令

注:文中所有的 中括号 [] 表示可选

基本

commond not found 指令没有找到

一个完整的指令的基本格式
# 指令 [选项] [操作对象]

  1. 一个指令可以包含多个选项
  2. 操作对象也可以是多个

例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。|

基础指令

ls 指令

含义:ls(list) 列表清单的意思

1
2
3
4
5
6
7
8
9
10
用法1
# ls
含义:列出当前工作目录下的所有文件/文件夹的名称

用法2
# ls 路径
含义:列出指定路径下的所有文件/文件夹的名称
路径可以是相对路径(../上一级目录 || ./当前目录)也可以是绝对路径(/)
````
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921001852.png)

用法3

ls 选项 路径

含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
常见的语法:
# ls -l 路径 –》 以列表的形式,列出当前目录的文件,不包含隐藏文件
# ls -la 路径 –》 以列表的形式,列出当前目录的文件,包含隐藏文件

1
2
3
4
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921002310.png)

上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”
表示文档类型为文件夹。隐藏的文档`.`开头

用法4

ls -lh 路径v

含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候
以可读性较高的形式显示

1
2
3
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921002950.png)

### pwd命令

用法

pwd

含义:print working directory,打印当前工作目录 打印的是绝对路径

1
2
3

### cd命令
作用:change directory 切换当前的工作目录

语法 # cd 路径

1
2
3
4
5
6
补充:
在Linux中有一个特殊的符号`“~”`,表示`当前用户的家目录`
切换的方式:# cd ~

### mkdir
作用: make directory,创建目录

语法1

mkdir 路径

1
2
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921004207.png)

语法2

mkdir -p

作用:多层创建文件夹

1
2
3
4
5
6
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921004820.png)

上图如果不使用`-p`,name则无法创建文件夹

在使用`-p`后则可以创建**多层**文件夹

语法3
mkdir 路径1 路径2 路径3
含义:在同一个目录下创建多个文件夹

1
2
3
4
5
6
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921005125.png)

上图创建了`css`,`js`,`images`三个文件夹

### touch
作用:创建文件

语法

touch 文件路径

路径可以是文件名或者是路径

touch 路径1 路径2 …

创建多个文件

1
2
3

### cp
作用:复制文件或者文件夹到指定的位置 copy

用法1 复制文件

cp 被复制的文件路径 文件被复制到的路径

1
2
3
4
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921103130.png)

*注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。*

用法2 复制目录

cp -r 被复制的目录路径 目录被复制到的路径

1
2
3
4
5
6
7
8
9
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921103532.png)

注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】
否则目录将被忽略

### mv
作用1:移动,剪切文档到新的位置,语法与cp类似,移动文件夹不需要加 `-r`

作用2:重命名

mv 需要移动的文档路径 需要保存的路径

1
2
3

### rm
作用:remove 移除或者删除一个或者多个文档

rm 选项 需要移除的文档路径

选项: -f 强制删除,这样就没有提示了
-r 删除文件夹

1
2
3
4
5
6
7
8
9
10
11
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921111954.png)

上图输入 y(yes) n(no) 删除文件,如果添加了`-f`则不会删除

注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询间,所以移除目录的时候一般需要使用`-rf`选项。

其中`*`称之为通配符,意思表示任意的字符,Linux*,则表示只要文件以Linux开头,后续字符则不管。
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921112852.png)

### vim
作用:打开文件,创建文件

vim 文件路径

退出文件
:q 回车

1
2
3
4
5
6
7
8
9
10
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180921113254.png)


### 输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。

`>:覆盖输出,会覆盖掉原先的文件内容`

`>>:追加输出,不会覆盖原始文件内容,会在原始内容未尾继续输出`

正常的命令 > 文件的路径

正常的命令 >> 文件的路径

如果后面的文件路径不存在则会创建

1
2

### cat

作用1:直接打开一个文件,与vim相比,他不需要使用 :q 退出

cat 文件的路径

1

作用2:对多个文件进行合并

cat 文件的路径1 文件的路径2 文件的路径3 … > 输出的文件路径

1
2
3
4
5


## 进阶指令
### df
作用:查看磁盘空间

df -h

-h表示以可读性较高的形式展示大小

1
2
3
4
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180927160620.png)

### free指令
作用:查看内存使用情况

free -m

1
2
3
4
5
6
7
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180927161159.png)
一般使用`-m`即可,单位是**mb**

Swap:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存。|

### head
作用:查看一个文件的前 n 行,如果不指定 n,则默认显示前10

head -n 文件路径 n表示数字

1
2
3
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180927164326.png)

### tail

作用1:查看一个文件的末尾 n 行 ,如果不指定 n,则默认显示末尾10行

tail -n 文件路径 n表示数字 如果n=-1 则显示最后一行

1

作用2:用过tail查看一个文件的动态变化

tail -f 文件路径

1
2
3
4
5
6
`退出按 q`

### less 指令
作用:查看文件,以较少的内容进行输出,按下辅助功能键查看更多

辅助键:数字+回车,空格(翻页),上下键

less 需要查看的文件路径

1
2
3

### wc 指令
作用:用于统计文件内容信息(行数 -l,单词数 -w,字节数 -c)

wc -lwc 文件路径

1
2
3
4
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180927165542.png)

### date (重点)
作用:表示操作时间日期(读取与设置)

date

date +%F

1
2
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180928141946.png)

%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
H:表示小时(带前导0)
M:表示分钟(带前导0)
%S:表示秒数(带前导0)

1
2
3
4
5

更多的命令可以查看:[http://man.linuxde.net/date](http://man.linuxde.net/date)

### cal
作用:用来操作日历

语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
语法2:#cal -3 表示输出上一个月+本月+下个月的日历
语法3:#cal y 年份 表示输出某一个年份的日历

1
2
3
4
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180928143417.png)

### clear、CRTL+L
作用:清屏

clear

快捷键:crtl+l

1
2
3
4
5
6
7

### 管道(重要)
管道符号:`|`

作用:用于过滤,特殊用法,一些扩展用法。不能单独使用,需要配合前面所讲的那些

过滤案例:需要通过管道查询出根目录下包含“y”字母的文档名称。

ls 路径 |grep y grep 的作用就是过滤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1. 过滤当前路径下面有 `0` 的文件
![](https://raw.githubusercontent.com/Anthony-Wilson/PicGo/master/20180928144401.png)

2. 特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)

之前通过less查看一个文件,可以 `# less 路径`

现在通过管道还可以这么:`# cat 路径 | less`

3. 扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数?

答:#s/Iwc-|


## 高级指令
### hostname
作用:操作服务器的主机名(`读取`,设置),一般只是读取,不会去修改

语法1:

hostname 含义:表示输出完整的主机名

1
2
3
```
语法2
# hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名),本地服务器的localhost

id

作用:用于查看一个用户的一些基本信息(用户ID,用户组ID,附加组ID等),如果不指定用户则默认当前用户

1
# id
1
# id 用户名

whoami

作用:获取当前用户的用户名,一部用于shell脚本,用户获取当前操作的用户名方便记录日志。

1
# whoami

ps -ef(重点)

作用:主要查看服务器的进程信息

1
2
3
选项含义:
-e:等价于 -A 表示列出全部的进程
-f:显示全部的列(显示器全字段)

1
2
3
4
5
6
7
8
9
列的含义:
UID:该进程执行的用户id
PID:进程id
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程;
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;

top(重点)

作用:查看服务器的进程占用的资源

1
2
进入命令:# top
退出:按 q

1
2
3
4
5
6
7
8
9
10
11
12
13
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存=常驻内存(RES)-共享内存(SHR)
s:表示进行的状态(sleeping,其中s表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;

在运行top的时候,可以按下方便的快捷键:

1
2
3
M:表示将结果按照内存(MEM)从高到低进行降序排列;
P:表示将结果按照CPU使用率从高到低进行降序排列;
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息
文章作者: 踏浪
文章链接: https://www.lyt007.cn/技术/linux的简单介绍以及常用简单命令.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 平凡的生活,不平凡的人生
支付宝
微信打赏