Linux命令及其相关操作(学习7天内容)

 Linux命令

 

第一章 指令

11 关机 

shutdown -h now(正常关机),init 0, halt(关闭内存)

 

Bin:二进制文件

Dev:存放外界设备

Etc:存储配置文件

Home:除了root用户外,其他用户目录

Procprocess,存储进程

Rootroot用户专属的目录

Sbin:二进制文件,只有超级管理员才能执行

Tmp:临时文件存储

Usr:用户自己安装的软件

Var:程序或系统日志

Mnt:需要挂载时目录

12列出ls

A.#ls

B.#ls 路径

C.#ls 选项 路径

#ls -l 路径:列出详细列表

#ls -la 路径:列出隐藏和已知列表

D:#ls -lh 路径:可显示文件大小

 

13 #pwd 

打印当前工作位置

 

14 #cd 

路径 :切换当前工作目录

#cd ~当前目录家目录

 

15 #mkdir 

路径:创建目录

ls 列出颜色,其中蓝色文件夹,黑色文件,绿色的权限为拥有所有权限。

#mkdir -p 路径,多层目录的创建

#mkdir 路径1 路径2 路径3 一次性创建多个文件

16 #touch 

文件路径:创建文件

17 #cp 

被复制的文档路径 文档被复制到的路径:复制文件到指定位置

可进行重命名。

#cp -r 被复制的文档路径 文档被复制到的路径:表示递归复制,复制文件夹

 

18 #mv 

需要移动的文档路径 需要保存的位置路径:移动文档到新的位置

A:移动文件:

B: 移动文件夹:

 

19 #rm 

删除,需要移除的文档

#rm -r:删除文件夹,有提示

#rm -rf:删除文件夹,没有提示

#rm -f:强制删除文件,没有提示

删除多个文档

#rm -rf aa bb

#rm -f linux* :删除前缀为linux的文档。*为通配符,表示任何字符。

 

110 #vim 

#vim 文件的路径:文本编辑器

打开一个文件,shift+: ,输入q,退出。

 

111输出重定向

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

>> :追加输出,不会覆盖,末尾追加

 

112 #cat

  1. 可直接打开文件

#cat 文件的路径:查看文件

  1. 对文件进行合并

#cat 带合并的文件路径1 带合并的文件路径2...>合并之后的文件路径

 

113 #df -h

查看磁盘格式,可以换算单位

 

114 #free -m

查看内存使用情况,m指兆为单位进行查看

Swap:用于临时内存,当系统真实内存不够用,可临时使用磁盘充当内存。

 

115 #head -n 

文件路径:查看文件前n行,默认前10行。n为行数

 

116 #tail -n

查看文件末尾n行。默认10行。与head相对

#tail -f 文件路径:查看文件动态变化

查看系统日志,用路径将内容加入

 

117 #less 

需要查看的文件路径:查看文件,以较少的内容进行输出,按下辅助键查看更多(空格,回车,上下,数字)

q结束

 

118 #wc 

统计文件内容信息(包括行数、单词数,字节数)

#wc -l   需要统计的文件路径

-l 表示line,行数

-w 表示words,单词数

-c 表示bytes,字节数

 

119 #date 

表示操作时间日期(读取,设置)

shell脚本

A:#date :输出

 

 

B:#date +%F  (等价于#date +%Y-%m-%d)  2019-7-15

C:#date +%F %T 等价#date +%Y-%m-%d %H:%M:%S

引号表示‘年月日与时分秒’成为一个不可分割的整体 2019-7-15 9:45:00

D:获取之前,之后的某个时间(备份)

#date -d“-1Day”+%Y-%m-%d %H:%M:%S

%F:表示完整的年月日

%T:表示完整的时分秒

%Y:表示四位年份

%m:表示两位月份(带前导0)

%d:表示日期(带前导0)

%H:表示小时(带前导0)

%M:表示分钟(带前导0)

%S:表示秒数(带前导0)

 

120 #cal

用来操作日历

A:#cal     直接输出当前月份的日历 等价cal -1

B: #cal -3  输出上一个月,这个月,下一个月

C: #cal -y 年份 :输出年份

 

121 #clear/Ctrl+L

清除终端中已经存在的命令和结果。

#clear  等价Ctrl+L

 

122 管道

管道符:|

用于过滤,特殊,扩展处理

A:辅助作用,不可单独使用

过滤,需要管道查出当前目录下‘s’字母

#ls /|grep s

grep指令:主要用于过滤

 

B:特殊用法:通过管道来实现less的等价效果(了解)

# cat 路径 |less = #less 路径

C:扩展处理:#ls /|wc -l

 

123 #hostname:操作主机名(读取)

A:#hostname      表示出现完整主机名

B: #hostname -f   表示输出当前主机名中的FQDP(全限定域名)

 

124 #id

查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...)

默认当前用户。

A:#id  :         默认显示当前执行用户的id

B:#id  用户名:显示指定的用户基本信息

验证用户信息:通过文件/etc/passwd

验证用户组信息:通过文件/etc/group

 

125 #whoami 

显示当前登录的用户名。一般用于shell脚本,用于获取当前用户名

#whoami

 

126 #ps -ef

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

选项含义:

-e :等价于‘-A’列出全部进程

-f :显示全部的

 

列的含义:UID:进程的用户id

      PID:进程id

  PPID:该进程父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程。

     Ccpu的占用率,百分比。

  STIME:进行启动时间

  TTY:终端设备,发起该进程的设备识别符号,如果“?”表示该进程并不是由终端设备发起。

  TIME:进程的执行时间

  CMD:该进程的名称或者对应的路径

 

#ps -ef|grep 进行名称:再ps 中过滤出先要查看的进程状态。

 

 

127 #top指令

查看服务器的进程占的资源。

进入命令:#top

退出命令:按下q键。

 

 

PID:进程id

USER:该进程对应用户

PR:优先级

VIRT:虚拟内存

RES:常驻内存

SHR:共享内存:计算一个进程实际使用的内存 = 常驻内存 - 共享内存

S:表示进行的状态sleepingS)表示睡眠 (R)表示运行

%CPU:表示CPU的占用百分比

%MEM:表示内存的占用百分比

TIME+:执行的时间

COMMAND:进程名称或者路径

 

运行top快捷键:

M:将结果按内存(MEM)从高到低进行降序排列

P:  将结果按CPU使用率从高到低进行降序排列

1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否显示为各个cpu详细信息

 

128 #du -sh

作用:查看目录的真实大小

-s :只汇总的大小

-h :表示以高可读性形式进行显示

语法:#du -sh 目录路径

129 #find

作用:用于查找文件

语法:#find 路径范围 选项 选项的值

选项:

-name:按照文档名称进行搜索(支持模糊搜索)

-type:按照文档类型进行搜索

文档类型:“-”表示文件(在使用find的时候需要f来替换),“d”表示文件夹

 

#find /-name httpd.conf

 

#find /-name *.conf          有.conj的文档

#find /-name *.conf |wc -l   数量

 

#find /etc/sane.d/ -type f

 

 

#find /etc  -type d 文件夹

可查找隐藏文件

 

130 #service

作用:用于控制一些软件的服务(启动,停止,重启)

语法:#service 服务名 start/stop/restart

 

例如:启动本机安装的apache

#service httpd start

131 #kill

作用:表示杀死进程       (当遇到僵尸进程或者需要关闭进程的时候)

A:语法:#kill 进程PID     (语法需配合ps一起使用)

B:语法:#killall 进程名称

 

132 #ifconfig

作用:用于操作网卡相关指令

#ifconfig   (获取网卡信息)

 

 

注意:inet addr 就是网卡的ip地址

 

133 #reboot

作用:重新启动计算机

A:语法:# reboot     重启

B:语法:# reboot -w      模拟重启,但是不重启 (只写关机与开机的日志信息)

134 #shutdown

作用:关机                    (最好不用)

语法:#shutdown -h now 或者 #shutdown -h 时间 “关机提示”

取消关机:针对centOS7.x之前的版本:ctrl +c

针对centOS7.x之后的版本:shutdown -c

 

 

 

135 #uptime

作用:输出计算机持续时间(从开机到现在的持续时间)

#uptime

136#uname

作用:获取计算机操作系统相关信息

A:#uname获取操作系统的类型

B:#uname  -a        全部信息(类型,主机名,发布时间,内核版本等)

 

137# netstat -tnlp

作用:查看网络连接状态

语法:#netstat -tnlp

 

 

选项说明:

-t:表示只列出tcp协议的连接

-n:将地址从字母组合转化为ip地址,将协议转化为端口号

-l:过滤出“state”列出LISTEN(监听)的连接

-p:发起连接的进程pid和进程名称

 

138#man

作用:手册(包含了Linux中全部命令)

#man 命令(退出按q)

 

 

 

 

注意:

(1)删除终端命令:前  ctrl + u  ,后  ctrl + k

(2)查看系统最后创建的3个用户:#tail -3 /etc/passwd  

(3)统计当前系统一共多少用户:#wc -l /etc/passwd 或 #cat /etc/passwd|wc -l

第二章 vim操作

2.1三种模式

A:命令模式:不能对文件进行直接编辑,输入快捷键进行操作(删除行,复制行,移动光标,粘贴等)默认进入的格式

B:编辑模式:对文件内容进行编辑

C:末行模式:在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等)

 

vim打开文件的方式:

1)vim 文件路径       :    打开指定文件

2)vim +数字 文件路径 :    打开指定文件,并且将光标移动到指定行

3)vim +/关键词 文件路径:  打开指定文件,并且高亮显示关键词

4)vim 文件路径1 文件路径2文件路径3     :同时打开多个文件

 

复制一个passwd 文件放到一个位置。基于vim操作。

Shift + zz 退出

2.2命令模式

打开文件的第一个看到的模式

1、光标移动

1)光标移动到行首

shift + 6   或者^

(2)光标移动到行尾

shift + 4   或者$

(3)光标移动到首行

按键: gg

(4)光标移动到末行

按键:G

(5)翻屏

向上翻屏: 按键 ctrl + b (back)    或    PgUp

向下翻屏: 按键ctrl + f (forward)   或   PgDn

2、复制

1)复制光标所在行

按键:yy

粘贴:想要粘贴的地方按  p 键

 

(2)以光标所在行为准(包含当前行),向下复制指定行数

按键:   数字yy

 

(3)可视化复制

按键:ctrl + v,按下上下左右选中区块,按下yy进行复制,按p进行粘贴

3、剪切/删除

1)删除/剪切光标所在行(属于剪切,但是不选择粘贴就是删除)

按键:dd (删除后下一行上移)

 

2)删除/剪切光标所在行为准(包含当前行),向下删除/剪切指定行数

按键:数字dd     (删除后下一行上移)

 

3)删除/剪切光标所在行,但是删除之后下一行不上移

按键:D           (删除之后当前行会变成空白行)

4、撤销/恢复

撤销:输入      :u       (不属于命令模式)或者 u  (undo)

恢复:输入      ctrl + r      恢复之前的撤消的操作

5、光标的快速移动

1)快速将光标移动到指定行

按键:数字 G

(2)以当前光标为准向上/向下移动n行

按键:数字+上键  数字+下键

(3)以当前光标为准向左/向右移动n行

按键:数字+左键  数字+右键

(4)末行模式下的快速移动方式,移动到指定的行

按键:输入英文“:”,行数数字,按下回车

2.3模式间的切换

命令模式 切换 末行模式   :输入“:”,即可进入

退出:按一个esc ,按两下 esc,删除末行全部输入字符

 

命令模式 切换 编辑模式   i:在光标所在字符前开始插入(insert)

   a :在光标所在字符之后(after)

退出:按一个esc

2.4末行模式

(1)保存操作(write)

输入 “:w”    保存文件

输入 “:w  路径”另存为

 

(2)退出(quit)

输入  “:q”   退出文件

 

(3)保存并退出

输入   “:wq” 保存并退出

 

(4)强制(!)

输入:“:q!”  强制退出,刚才做得修改操作不做保存

 

(5)调用外部命令(not important)

输入:  ! 外部命令

 

(6)搜索/查找

输入: “/关键词”

在搜索中,按N/n进行切换上下结果(next)

取消高亮:“:nohl” (no highlight)

 

(7)替换

s/搜索的关键词/新的内容       替换光标所在行第一处符合条件的内容

s/搜索的关键词/新的内容/g     替换光标所在行全部符合条件的内容

%s/搜索的关键词/新的内容      替换整个文档中每行第一处符合条件的内容

%s/搜索的关键词/新的内容/g    替换整个文档全部符合条件的内容

 

%表示整个文档

g表示全局(global)

 

(8)显示行号

输入:“:set nu”(number)

不显示行号“:set nonu”

(9)使用vim打开多个文件,在末行模式切换其他文件

查看当前已经打开的文件名称:“files”

%a 的位置有2种显示可能:

%a :a = active,表示当前正在打开的文件

#  :表示上一个打开的文件

 

切换文件:

A:如果需要指定切换文件的名称,输入“:open 已经打开的文件名”

B:可以通过其他命令来切换上一个/下一个文档

输入:“bn”切换到下一个文件(back next)

输入:“bp”切换到上一个文件(back prev)

2.5编辑模式

命令模式 切换 编辑模式   i:在光标所在字符前开始插入(insert)

   a :在光标所在字符之后(after)

退出:按一个esc

2.6实用功能

1、代码着色

 

如何控制着色显示:

显示:“syntax on”   

关闭显示:“syntax off”   syntax:语法

2、Vim中计算器的使用

使用计算机但是不离开终端:

A:进入编辑模式

B:按下“Ctrl + R”,然后输入“=”,此时光标变到最后一行

C:输入需要计算的内容,按下回车

2.7拓展

1、vim 的配置

Vim是一款编辑器。

三种情况:

A:在文件打开的时候,在末行模式下输入的配置(临时)

B:个人配置文件 (~/.vimrc,如果没有可以自行新建)

C:全局配置文件(vim自带,/etc/vimrc)

 

1)新建好个人配置文件之后进行编辑

2)在配置文件中进行配置

显示行号:

set nu

配置好之后vim打开文件就会永远显示行号

 

问:某个配置项,在个人配置文件与全局配置文件产生冲击以谁为准?

以个人为准

 

如果针对同一个配置项,个人配置文件存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准。

2、异常退出

在编辑文件之后,直接推出,会显示异常退出

解决方法:将交换文件删除

3、别名机制

作用:相当于创建一些属于自己的自定义命令

别名机制依靠一个别名映射文件~/bashrc

#vim ~/.bashrc

新创建的文件生效,必须重新登录当前用户

4、退出方式

之前vim中退出编辑的文件使用“:q”或者“:wq”

现在    “:x”

(1)“:x”文件没有修改,直接退出,在文件修改的情况下,表示保存并退出。

(2)若文件没有修改,用了wq进行退出,则文件的修改时间会被更新,但是若文件没有修改,使用x进行退出,文件修改时间不会被更新,主要会混淆用户对文件的修改时间

X表示对文件的加密。

第三章Linux自有服务(1

自有服务,已经有的服务。

3.1运行模式(运行级别)

有一个进程:init(初始化)进程id为1

#ps -ef|grep init  查看进程

有一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)

文件的主要内容:

 

 

7种运行级别/模式:

0     表示关机级别(不要将默认的运行级别设置成0)

1     单用户模式

2     多用户模式,不带NFS(Network File System)

3     多用户模式,完全多用户模式

4     没有被使用的模式(被保留模式)

5     X11,完善的图形化界面模式

6     表示重启级别(不要将默认的运行级别设置成这个值)

 

Init指令需要超级管理员模式。

#init 0      表示关机

#init 3      表示切换到不带桌面的模式

#init 5      切换到图形界面

#init 6      重启电脑

命令调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。

(1)切换到纯命令行模式 init 3(临时切换模式)

(2)切回桌面           init 5

(3)设置模式永久为命令行模式

etc/inittab文件中的initdefault值设置为3,然后重启

3.2用户与用户组管理

用户账号的添加、删除、修改以及用户密码的管理

用户组的管理

三个文件:

/etc/passwd           存储用户关键信息

/etc/group 存储用户组关键信息

/etc/shadow 存储用户的密码信息

1、用户管理

1)添加用户

常用语法:#useradd 选项  用户名

常用:

-g:表示指定用户的用户主组,选项的值可以是用户组id,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组id,也可以是组名

-u:uid 用户的id(用户的标示符),系统默认会从500之后按顺序分配uid,可以通过该选项自定义。

 

创建一个用户asdf,不带任何选项。#useradd asdf

验证是否成功:

A:验证etc/passwd 最后一行,查看是否有asdf信息

B:验证是否存在家目录(会随之产生用户家目录)

不添加选项的情况下:

A:创建同名的家目录

B:创建同名的用户组

 

用户名:密码:用户id:用户组id:注释:家目录:解释器 shell

用户名:创建新用户名称,后期登录的时候需要输入

密码:此密码位置一般情况都是“x”,表示密码的占位

用户id:用户的识别符

用户组id:用户所属的主机id

注释:解释该用户是做什么用的

家目录:用户的登录进入系统之后默认的位置

解释器 shell :等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理

 

查看用户的主组可以查看passwd文件,查看附加组查看group文件

 

2)修改用户

常用语法:#usermod  选项 用户名        :(user modify用户修改)

-g:表示指定用户的用户主组,选项的值可以是用户组id,也可以是组名

-G:表示指定用户的用户附加组,选项的值可以是用户组id,也可以是组名

-u:uid 用户的id(用户的标示符),系统默认会从500之后按顺序分配uid,可以通过该选项自定义。

-l:修改用户名

例如:修改asdf用户主组为500,附加组改为501

#usermod -g 500 -G 501 asdf

 

例如:修改asdf用户名,改为sdfg

#usermod -l sdfg asdf

#usermod -l 新的用户名 旧的用户名

 

3)设置密码

语法:#passwd 用户名

用户需要密码,才能登录计算机,前面的用户属于锁定状态。

例如:sdfg用户密码设置

 

在设置密码后进行登录,#su 用户名 (switch user )用户名不指定就为root用户

例如:切换用户asdf

# su asdf

注意:

A:从root用户到普通用户切换不需要密码,反之需要密码

B:切换之后前后路径是一样的

C:普通用户没有办法访问root用户家目录,反之可以

 

4)删除用户

语法:#userdel 选项 用户名

常用选项:

- r:删除用户的同时,删除其家目录

例如:#userdel hjkl

已经登录的用户不能删除,没有登录的用户可以删除。

解决办法:kill 对应用户的进程

 

所有用户操作的命令,(除了passwd外)只有root能执行。

2、用户组管理

每个用户都有一个用户组,这个用户组在创建用户时同时创建。

 

 

文件结构:

用户组名:密码:用户组id:组内用户名

密码:X表示占位符,虽然用户组有密码,但是一般不设置

组内用户名:表示附加组是该组的用户名称

 

(1)用户组添加

语法:#groupadd 选项 用户组名

选项:

-g :类似用户添加里的“-u”,表示选择设置自定义用户组id数字,如果不指定,默认从500之后递增

例如:使用groupadd指令创建一个新的用户组,命名为admin

 

验证:#cat /etc/group

(2)用户组编辑

语法:#groupmod 选项 用户组名

选项:

-g:类似用户修改里的“-u”,表示选择设置自定义用户组id数字

-n: 类似用户修改“-l”,表示设置新的用户组的名称

例如:修改admin用户组,将组id从502改为520,将名称改为admins

(3)用户组删除

语法:groupdel 用户组名

如果删除一个组,但是这个组是某个用户的主组,则不允许删除,先将组内移除所有用户。

3.3网络设置

 

 

网卡配置文件位置: /etc/sysconfig/network-scripts

在目录中网卡的配置文件命名格式:ifcfg-网卡名称

ONBOOT:是否开机启动

BOOTPROTO:ip地址分配方式,DHCP表示动态主机分配协议

HWADDR:硬件地址,MAC地址

 

若后续需要重启网卡怎么操作?

#service network restart

 

在没有service命令来快速操作服务,但是在/etc/init.d  有很多服务的快捷方式。

#etc/init.d/network restart

 

 

若修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式,方便查找

 

#ls -n 原始文件的路径 快捷方式的路径

文件类型位置的“l”表示其类型为link(连接类型),->指向原始文件路径

如何去重启单个网卡:

停止某个网卡:#ifdown 网卡名

开启某个网卡:#ifup 网卡名

3.4ssh服务

ssh(secure shell ,安全外壳协议),远程连接协议,远程文件传输协议

协议使用端口号:默认22

可以是修改的,若修改,需要修改ssh服务配置文件

#/etc/ssh/ssh_config

 

A.注意范围,端口范围0-65535

B.不能使用别的服务已经占用的服务

 

服务启动/停止/重启

#service sshd start/stop/restart

#/etc/init.d/sshd start/stop/restart

 

 

1、远程终端

终端工具主要帮助运维人员连接远程的服务器,常见的终端工具有Xshell,secureCRT,Putty等。Putty

2SSH服务文件传输

FileZilla

3、通过命令行工具来传输文件、文件夹

Pscp.exe(必须通过命令行打开)

 

 

用法:

A:pscp 选项 用户名@linux 主机地址:资源路径 windows 本地地址(下载到win)

B:pscp 选项 资源路径 用户名@linux 主机地址:远程路径  (上传到linux)

C:pscp 选项 -ls 用户名@linux 主机地址 (列出远程路径下结构)

A:下载到windows下

#pscp -r root@192.168.21.123:/etc D:\Linux

 

C:\Desktop\ALL\WPS\Linux命令.docx移动到root目录下:

#pscp -r "C:\Desktop\ALL\WPS\Linux命令.docx" root@192.168.21.123:/root

 

 

 

 

 

 

 

 

posted @ 2019-07-19 10:57  My,Little,horse  阅读(572)  评论(0)    收藏  举报