Linux命令及其相关操作(学习7天内容)
Linux命令
第一章 指令
1、1 关机
shutdown -h now(正常关机),init 0, halt(关闭内存)

Bin:二进制文件
Dev:存放外界设备
Etc:存储配置文件
Home:除了root用户外,其他用户目录
Proc:process,存储进程
Root:root用户专属的目录
Sbin:二进制文件,只有超级管理员才能执行
Tmp:临时文件存储
Usr:用户自己安装的软件
Var:程序或系统日志
Mnt:需要挂载时目录
1、2列出ls
A.#ls
B.#ls 路径
C.#ls 选项 路径
#ls -l 路径:列出详细列表
#ls -la 路径:列出隐藏和已知列表
D:#ls -lh 路径:可显示文件大小
1、3 #pwd
打印当前工作位置
1、4 #cd
路径 :切换当前工作目录
#cd ~当前目录家目录
1、5 #mkdir
路径:创建目录
ls 列出颜色,其中蓝色文件夹,黑色文件,绿色的权限为拥有所有权限。
#mkdir -p 路径,多层目录的创建
#mkdir 路径1 路径2 路径3 一次性创建多个文件
1、6 #touch
文件路径:创建文件
1、7 #cp
被复制的文档路径 文档被复制到的路径:复制文件到指定位置
可进行重命名。
#cp -r 被复制的文档路径 文档被复制到的路径:表示递归复制,复制文件夹
1、8 #mv
需要移动的文档路径 需要保存的位置路径:移动文档到新的位置
A:移动文件:
B: 移动文件夹:
1、9 #rm
删除,需要移除的文档
#rm -r:删除文件夹,有提示
#rm -rf:删除文件夹,没有提示
#rm -f:强制删除文件,没有提示
删除多个文档
#rm -rf aa bb
#rm -f linux* :删除前缀为linux的文档。*为通配符,表示任何字符。
1、10 #vim
#vim 文件的路径:文本编辑器
打开一个文件,shift+: ,输入q,退出。
1、11输出重定向
> :覆盖输出,会覆盖原先的文件内容
>> :追加输出,不会覆盖,末尾追加
1、12 #cat
- 可直接打开文件
#cat 文件的路径:查看文件
- 对文件进行合并
#cat 带合并的文件路径1 带合并的文件路径2...>合并之后的文件路径
1、13 #df -h
查看磁盘格式,可以换算单位
1、14 #free -m
查看内存使用情况,m指兆为单位进行查看
Swap:用于临时内存,当系统真实内存不够用,可临时使用磁盘充当内存。
1、15 #head -n
文件路径:查看文件前n行,默认前10行。n为行数
1、16 #tail -n
查看文件末尾n行。默认10行。与head相对
#tail -f 文件路径:查看文件动态变化
查看系统日志,用路径将内容加入
1、17 #less
需要查看的文件路径:查看文件,以较少的内容进行输出,按下辅助键查看更多(空格,回车,上下,数字)
用q结束
1、18 #wc
统计文件内容信息(包括行数、单词数,字节数)
#wc -l 需要统计的文件路径
-l 表示line,行数
-w 表示words,单词数
-c 表示bytes,字节数
1、19 #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)
1、20 #cal
用来操作日历
A:#cal 直接输出当前月份的日历 等价cal -1
B: #cal -3 输出上一个月,这个月,下一个月
C: #cal -y 年份 :输出年份
1、21 #clear/Ctrl+L
清除终端中已经存在的命令和结果。
#clear 等价Ctrl+L
1、22 管道
管道符:|
用于过滤,特殊,扩展处理
A:辅助作用,不可单独使用
过滤,需要管道查出当前目录下‘s’字母
#ls /|grep s
grep指令:主要用于过滤
B:特殊用法:通过管道来实现less的等价效果(了解)
# cat 路径 |less = #less 路径
C:扩展处理:#ls /|wc -l
1、23 #hostname:操作主机名(读取)
A:#hostname 表示出现完整主机名
B: #hostname -f 表示输出当前主机名中的FQDP(全限定域名)
1、24 #id
查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...)
默认当前用户。
A:#id : 默认显示当前执行用户的id
B:#id 用户名:显示指定的用户基本信息
验证用户信息:通过文件/etc/passwd
验证用户组信息:通过文件/etc/group
1、25 #whoami
显示当前登录的用户名。一般用于shell脚本,用于获取当前用户名
#whoami
1、26 #ps -ef
ps :主要查看服务器的进程信息
选项含义:
-e :等价于‘-A’列出全部进程
-f :显示全部的

列的含义:UID:进程的用户id
PID:进程id
PPID:该进程父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程。
C:cpu的占用率,百分比。
STIME:进行启动时间
TTY:终端设备,发起该进程的设备识别符号,如果“?”表示该进程并不是由终端设备发起。
TIME:进程的执行时间
CMD:该进程的名称或者对应的路径
#ps -ef|grep 进行名称:再ps 中过滤出先要查看的进程状态。
1、27 #top指令
查看服务器的进程占的资源。
进入命令:#top
退出命令:按下q键。

PID:进程id
USER:该进程对应用户
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存:计算一个进程实际使用的内存 = 常驻内存 - 共享内存
S:表示进行的状态sleeping(S)表示睡眠 (R)表示运行
%CPU:表示CPU的占用百分比
%MEM:表示内存的占用百分比
TIME+:执行的时间
COMMAND:进程名称或者路径
运行top快捷键:
M:将结果按内存(MEM)从高到低进行降序排列
P: 将结果按CPU使用率从高到低进行降序排列
1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否显示为各个cpu详细信息
1、28 #du -sh
作用:查看目录的真实大小
-s :只汇总的大小
-h :表示以高可读性形式进行显示
语法:#du -sh 目录路径
1、29 #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 文件夹
可查找隐藏文件
1、30 #service
作用:用于控制一些软件的服务(启动,停止,重启)
语法:#service 服务名 start/stop/restart
例如:启动本机安装的apache
#service httpd start
1、31 #kill
作用:表示杀死进程 (当遇到僵尸进程或者需要关闭进程的时候)
A:语法:#kill 进程PID (语法需配合ps一起使用)
B:语法:#killall 进程名称
1、32 #ifconfig
作用:用于操作网卡相关指令
#ifconfig (获取网卡信息)

注意:inet addr 就是网卡的ip地址
1、33 #reboot
作用:重新启动计算机
A:语法:# reboot 重启
B:语法:# reboot -w 模拟重启,但是不重启 (只写关机与开机的日志信息)
1、34 #shutdown
作用:关机 (最好不用)
语法:#shutdown -h now 或者 #shutdown -h 时间 “关机提示”
取消关机:针对centOS7.x之前的版本:ctrl +c
针对centOS7.x之后的版本:shutdown -c

1、35 #uptime
作用:输出计算机持续时间(从开机到现在的持续时间)
#uptime
1、36#uname
作用:获取计算机操作系统相关信息
A:#uname获取操作系统的类型
B:#uname -a 全部信息(类型,主机名,发布时间,内核版本等)
1、37# netstat -tnlp
作用:查看网络连接状态
语法:#netstat -tnlp

选项说明:
-t:表示只列出tcp协议的连接
-n:将地址从字母组合转化为ip地址,将协议转化为端口号
-l:过滤出“state”列出LISTEN(监听)的连接
-p:发起连接的进程pid和进程名称
1、38#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
2、SSH服务文件传输
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

浙公网安备 33010602011771号