目录作用解释
Linux: 一切以根为开始的,所有的目录或文件的顶点目录是根 /
/bin #普通用户所能使用的命令
/boot #引导目录
/dev #设备目录
/dev/cdrom--sr0 光驱,镜像
/dev/zero 源源不断产生数据
/dev/random 产生随机数字
/dev/null 黑洞,接收不要的数据
/dev/stderr -> /proc/self/fd/2 错误输出 2>
/dev/stdin -> /proc/self/fd/0 标准输入 <
/dev/stdout -> /proc/self/fd/1 标准输出 >
/dev/pts 虚拟终端
/etc #系统的主配置文件目录 ********
/etc/sysconfig/network-scripts/ifcfg-eth0 #网卡配置文件 ,可以配置DNS
/etc/resolv.conf #本地DNS配置文件
/etc/hosts #本地域名解析,主机名与ip对应的映射关系
/etc/hostname #主机名配置文件
/etc/fstab #系统开机自启动挂载列表
/etc/profile #系统环境变量和别名配置
/etc/bashrc #系统环境变量和别名配置
/home #普通用户的家目录
/home/username
/lib #系统文件,32位库文件
/lib64 #系统文件,64位库文件
/media #可移动设备挂载目录
/mnt #临时挂载目录
/opt #早期第三方安装软件目录
/proc #实时显示系统状态
/root #超级管理员root用户的家目录
/run #进程运行产生的一些文件,pid文件
/sbin #超级管理员所使用的命令
/srv #物理设备
/sys #硬件信息
/tmp #临时存放文件目录,公共目录,定时清理你长时间没有访问
/usr #系统目录
/usr/local #软件安装目录
/usr/share #程序目录
bin -> usr/bin
lib -> usr/lib
lib64 -> usr/lib64
sbin -> usr/sbin
/var #可变的目录
/var/log #日志目录
messages #系统日志
secure #系统用户登录日志
/var/run #存放程序的pid文件
(resolv.conf dns解析配置文件//messages是系统运行的日志//secure是用户登录的日志//)
报错记录
command not found #命令找不到
No such file or directory #没有这个文件或目录
File exists #文件已经存在
Is a directory #这是一个目录
no such user #没有这个用户
Permission denied #权限不足
Warning: Changing a readonly file #警告:正在修改一个只读文件
Operation not permitted #不允许的操作
No space left on device 磁盘空间不足
out of memory 内存空间不足
命令记录
1. #设置别名,查看系统中的所有别名
2.unalias #取消别名
3.history #查看历史命令记录
-d #删除指定id号的命令记录
-c #清空历史命令记录
-w #将历史命令记录写入到文件
4.shutdown #关机重启
-h #关机
-r #重启
-c #取消定时关机和重启操作
5.poweroff #关机
6.halt #关机,只关闭系统,不关闭电源
-p #关机,都关闭
7.init #切换运行级别(centos-6)
0 #关机
6 #重启
8.reboot #重启
9.exit #退出当前登录的用户,退出当前的shell(会话窗口)
10.logout #退出当前登录的用户,不能退出非登录式shell
11.ip #显示ip地址
ip address / ip a 显示所有网卡信息
ip address show eth0 / ip a s eth0 #显示某个网卡的ip地址
12.ifconfig #显示所有的网卡信息
ifconfig eth0 #显示某个网卡的ip地址
13.hostname #显示系统主机名
-i #显示ip地址和Mac地址
-I #只显示ip地址
14.echo 所及即所得,可以创建文件。
-e #转义
> #重定向,覆盖
>> #追加重定向,追加
15.pwd #显示当前所在路径
16.cd #切换目录
. 当前目录
.. 当前目录的上一级目录
- 返回到上一次所在的目录
17.man 查看命令的帮助信息
18.help 查看系统内置命令的帮助信息
19.info 显示系统命令的帮助信息
20.ls 显示目录的列表
-l #以长格式显示目录列表的详细信息
-a #显示所有文件,包括隐藏文件
-d #显示目录的本身的信息
-h #以人类可读的形式显示文件大小
-t #以时间信息进行排序,时间越早,,排序越后
-S #以文件大小进行排序
-r #倒叙排序
-1 #(数字1),以列表的形式显示文件名
-i #显示文件的inode号,索引节点
-p #给目录加上一个/,表示目录的意思
-F #给不同类型的文件加上一个标识符(/ 目录 = 表示套接字 socket文件 | 管道文件 * 可执行文件 @ 符号文件(已经不显示))
21.tree 以树形结构显示目录结构列表
-F #给不同文件类型加上不同的标识符,跟ls -F 类似
-a #显示隐藏文件
-d #只显示目录
-L #显示目录结构的阶级层次
22.mkdir 创建目录
-p 创建多级目录,递归创建
-v 显示创建过程
-m 创建目录时,修改目录权限
{} 批量创建
23.touch 创建空文件,文件已经存在时,不会报错,只会修改属性的时间
{} 批量创建
24.cp 复制
-p 保持属性
-d 保持软连接
-r 递归复制
-a ==-pdr
-i 进行交互式的询问
-t 把源文件与目标路径进行调换位置
25.mv 移动或重命令文件
-f 强制覆盖
-i 进行交互式的询问
-t 把源文件与目标路径进行调换位置
26.rename 重命名
rename 旧字符 新字符 针对修改的文件
27.rm 删除
-f 强制删除
-r 递归删除
-i 交互式的询问
28.cat 查看文件内容,创建新文件,修改文件,合并多个文件
-n 显示行号
-A 给显示出来的内容的每行结尾加上一个标识符
29.tac 倒序显示文件内容,按行进行显示
30.more 分页显示文件内容,文件显示完成,会自动退出
内部命令:
空格或者f 向下翻页
b 向上翻页
回车 向下显示一行
h 帮助信息
= 显示当前光标所在行数
/xxx 搜索内容,不会高亮显示
n 向下搜索
N 向上搜索
q 退出
选项: - +
-num(数字) 指定显示多少行为一页
+num(数字) 从第几行开始显示
31.less 分页显示文件内容,文件显示完成,不会自动退出
内部命令:
空格或者f 向下翻页
b 向上翻页
回车 向下显示一行
h 帮助信息
= 显示当前所在页是第几行到多少行,总共多少行,总共显示多少了字节,总共多少字节。
/xxx 搜索内容,会高亮显示
n 向下搜索
N 向上搜索
q 退出
选项:
-N 显示的时候加上行号
-i 忽略大小写
32.head 显示文件的头部信息,默认显示前十行
-n num(数字) 取消默认输出,显示指定的行数
-c num(数字) 显示文件最前面的字符
33.tail 显示文件的尾部信息,默认显示最后十行
-n 取消默认输出
-c 显示最后几个字符
-f 实时显示文件内容,实时查看文件内容的更新
文件不存在时,会报错退出
-F 实时显示文件内容,实时查看文件内容的更新
文件不存在时,会不停尝试读取改文件,直到文件存在
34.tailf 实时显示文件内容,实时查看文件内容的更新,
如果文件内容不更新时,不会去读取磁盘信息,减少磁盘的读写,减少压力
-n 取消默认输出
35.grep 三剑客之一,老三 过滤 ,给过滤出来的内容显示颜色,支持正则使用
-c 统计过滤出来的内容的行数
-n 显示过滤出来的内容所在文件的行数
-o 只显示过滤出来的内容
-i 忽略大小写
-v 排除
-w 精确匹配
-A num(数字) 显示过滤出来的内容向下几行
-B num(数字) 显示过滤出来的内容向上几行
-C num(数字) 显示过滤出来的内容向上向下各几行
-E 支持扩展正则
36.which 查找命令的绝对路径
37.whereis 根据文件的类型进行查找,二进制、说明文件 源代码文件
-b 查找二进制文件 命令
-m 查找说明文件
38.locate 根据系统数据库进行查找文件
updatedb #更新数据库
-i 忽略大小写
-r 支持正则 $
39.type 查找命令是否是内置命令
-a 显示内置命令绝对路径
-p 只显示外部命令的绝对路径
40.find 查找文件
-type 类型
f 文件
d 目录
l 软连接
b 块设备
c 字符设备
s 文件套接字
p 管道文件
-maxdepth 目录的层级
-name 根据名称查找
-iname 忽略大小写
-mtime 根据时间
-size 根据文件大小
-user 根据用户
-group 根据用户组
-nouser
-nogroup
-perm 根据权限
-a 并且
-o 或者
模式动作
-print 默认,显示出查找出来的文件
-ls 显示查找出来的文件的详细信息
-delete 删除文件或空目录
-ok 不推荐,跟-exec作用一样,只是会询问
-exec 将find找出来的文件进行传递给后方的{} ,后面调用
41.wget 下载命令
-O 指定下载路径
-q 静默输出
42.curl 根据url规则进行下载,主要访问网站
-o 从网上访问的内容写入到指定的路径
-s 静默输出
43.rz 上传,默认不支持4G以上的文件
-E 如果上传的路径存在该文件,则进行重命令,以数字为结尾0...N
44.sz 下载 ,后面跟要下载的文件
45.sort 排序
-t 指定分隔符,默认以空白字符为分隔符
-r 倒序排序
-n 以数值大小进行排序
-k n 根据第几列进行排序
46.uniq 去重,统计
-c 把相邻相同的行进行去重,统计次数
47.cut 截取字段
-d 指定分隔符,默认以tab键为分隔符
-f 取出指定的列,多列用逗号分隔
48.tr 替换,单对单的替换
-d 删除字符
tr 'old' 'new' < filename
49.wc 统计行数等,默认显示所有,行数,列数,字节数
-l 统计行数
-c 统计字节数
-w 统计列数
-L 统计字符的数量,默认不针对文件操作
50.sed 替换,增删改查
选项:
-n 取消默认输出,跟p命令配合使用
-e 允许多项编辑
-i 替换
-r 支持扩展正则
内部命令
p 打印
$ 结尾
= 会在每行的上面显示当前内容所在行号
; 多条命令的分隔符
d 删除
a 追加
i 插入
s 替换
g 全局
^ 表示以谁开头
51.awk 三剑客大当家的 取列,计算,统计,数组,判断,循环
选项:
-F 指定分隔符 ,默认以空白字符为分隔符
内部命令及变量
NR 表示行号 == >= > <= <
&& 并且
|| 或者
! 取反
NF 每一行的总共有多少列
$NF 表示最后一列
$0 文件所有内容
$1..$N 表示字段,列
52.column 排列
-t 以tab键的格式进行排列
53.ln 创建链接文件,默认创建硬链接文件
-s 创建软链接文件
54.hash 查看命令的缓存表
-d 删除指定命令的缓存
-r 清空缓存表
stat 查看文件的详细属性信息
56.vim 文件编辑器 编辑文本 写脚本 修改服务配置文件
光标跳转
G 光标跳转到行尾
gg 光标跳转到行首
ngg n=数字,跳转到指定的某一行
nG n=数字,跳转到指定的某一行
^ shift键+6 将当前光标移动到当前行的行首
$ shift键+4 将当前光标移动到当前行的行尾
h 向左移动一个字符,移动多个nh n=数字
l 向右移动一个字符
j 向下移动一个字符
k 向上移动一个字符
回车 向下移动一行
w/e 向后移动一组字符串
Ctrl键+b 向上翻页
Ctrl键+f 向下翻页
/xxx 搜索
n 向下搜索
N 向上搜索
删除、剪切,按p粘贴
dd 删除当前行
ndd 删除多行,删除当前行及向下n-1行。
dG 删除当前行及向下所有行
D 删除当前光标所在行的位置及向后的行的所有内容
de 删除当前光标所在行的位置及向后的字符串,以空白字符及特殊符号为分隔
dw 删除当前光标所在行的位置及向后的字符串,以空白字符及特殊符号为分隔
x 从前往后删
X 从后往前删
delete 删除一个字符,从前往后删
u 撤销
Ctrl键+r 回滚撤销
复制与粘贴
yy 复制当前行
nyy 复制多行 n = 数字 ,复制当前行及向下(n-1)行
p 在当前行的下一行进行粘贴
np 向下粘贴多次
P(大) 在当前行的上一行进行粘贴
nP(大) 向上粘贴多次
r 单个替换
R 连续替换
保存退出
:w 保存
:q 退出
:wq 保存退出
:q! 强制退出
:wq! 强制保存退出
:x 保存退出
ZZ 保存退出,不需要敲回车
删除
:nd 删除指定的行 n 数字
:n,md 删除连续的多行 m 数字 n < m
跳转
:n 跳转到指定的行数 n 数字
替换 :%s#server#root#g 全局替换
:1s#root#server#g 替换第一行
:1,3s#root#server#g 替换多行
:%s#server#root# 只替换每一行的第一个
另存为一个文件中
:w /root/test.log
读入一个文件
:r /etc/hsots 将/etc/hosts文件中的内容读入当前文件当前光标所在行的下一行,
:nr /etc/hsots 将文件内容写入指定行的下面。
:$r /etc/hsots 将文件内容写入文件的结尾。
:0r /etc/hsots 将文件内容写入文件的行首。
视图模式
批量添加字符 可视块
将光标移动操作的行的首行或者末行要添加的位置
Ctrl键 + v 进入可视块模式
移动光标选中要添加的位置
shift + i 进入编辑模式
输出要添加的字符
按Esc退出
批量删除字符 可视块
将光标移动操作的行的首行或者末行要删除的位置
Ctrl键 + v 进入可视块模式
移动光标选中要删除的内容
按d删除
可视行
批量复制
将光标移动操作的行的首行或者末行
shift + v 进入可视行模式
选中要操作的行
y 复制
ngg 跳转到某行
p 向下粘贴
批量删除
将光标移动操作的行的首行或者末行
shift + v 进入可视行模式
选中要操作的行
按d删除
vim变量
临时变量
:set nu #给文件内容加上行号
:set ic #忽略大小写,在搜索的时候用到
:set list #给每一行的结尾加上一个制表符,$符
取消变量
:set nonu #取消行号
:set noic #取消大小写
:set nolist #取消制表符
:noh #取消高亮显示
永久变量
个人用户
.vimrc #默认不存在,需要手动创建
[root@qls ~]# vim .vimrc
set nu
set list
全局
vim /etc/vimrc
diff #默认比对文件的命令 不常用
vimdiff #高亮显示不同的行及不同的部分 常用
vim打开多个文件
垂直分隔显示
[root@qls ~]# vim -o test.txt test.bak
Ctrl键+ww 切换屏幕
水平显示
[root@qls ~]# vim -O test.txt test.bak
Ctrl键+ww 切换屏幕
vim打开文件时,快速进入到指定的行
[root@qls ~]# vim +10 test.txt
小
-s #统计大小
-h #以人类可读的形式显示文件大小
60.useradd 创建用户,默认创建的是普通用户
-u 指定uid
-g 指定基本组gid,gid(组)必须存在,指定gid号或者组名称
-G 附加组,多个用逗号分隔
-c 注释信息
-M 不创建家目录
-r 创建系统用户,不创建家目录
-s 指定bash,命令解释器
-d 指定家目录,不存在的目录
root:x:0:0:root:/root:/bin/bash
第一列:root 用户名称
第二列:x 密码占位符
第三列:0 用户的uid信息
第四列:0 用户的gid信息,组的id号码
第五列:root 注释信息
第六列:/root 用户的家目录
第七列:/bin/bash 用户bash shell /sbin/nologin 禁止登陆系统
root:$6$vJBwx2ZSM1J4LUdV$C1eboifu7TS6A39v.eviZb7ktTqCMZrU1cFRXLx.LRbs4tlBSbdTiZ0kOzYyL5GIU1duhrsST0A9WePdD0cBk1::0:99999:7:::
bin:*:17834:0:99999:7:::以:为分隔符,分为9列
第一列:root 用户名
第二列:* 加密之后的密码,*或者!!表示没有密码
第三列:17834 最近的一次修改时间信息表示距离1970年1月1日0点过了多少天
第四列:0 表示两次修改密码的最短间隔时间。0表示可以无限修改
第五列:99999 表示密码的最大有效期
第六列:7 密码过期的警告时间
第七列: 密码过期后的宽恕时间
第八列: 账号过期时间,距离1970年多少天后过期
第九列: 没有使用,保留
61.usermod 修改用户的信息
-u 修改uid
-g 修改用户基本组
-a 添加附加组,跟-G 配合使用
-G 添加附加组,默认是覆盖,-aG 追加 -G 覆盖
-d 修改用户的家目录
-m 迁移家目录, -md 配合使用
-c 修改注释信息
-s 修改命令解释器 bash
-l 修改用户的名称
-L 锁定用户
-U 解锁用户
62.userdel 删除用户,默认不删除家目录及email
-r 删除用户时删除家目录及email
63.id 显示用户信息,uid,gid等
64.passwd 设置密码
65.whoami 显示当前登录的用户
66.who 显示当前系统所有登录的用户的信息
67.w 显示当前系统所有登录的用户的信息,系统的负载,登录干什么
窗口尺寸不能太小
-h 只显示用户的登录信息
68.finger 显示用户的基本信息
69.seq 生成数字序列
70.xargs 分组,让一些不支持|符号的命令支持|
-n 数字 指定分成几组
71.groupadd 创建用户组
-g 设置gid信息
-r 设置系统组
72.groupmod 修改用户组的信息
-g 修改GID
-n 修改组名称
groupdel 删除用户组
74.su 切换用户
- 切换用户时,加载环境变量
-c 不进行切换,直接执行命令
75.sudo 提权
-l 检查所拥有的权限
76.visudo 设置提权规则
-c 检查语法
77.md5sum 给文件设置一个指纹信息
-c 检查指纹信息
78.mkpasswd 设置随机数
-l 设置多少位
-d 指定数字多少位
-c 指定小写字母多少位
-C 指定大写字母多少位
-s 指定特殊字符多少位
78.tee 重定向,将文件内容重定向到文件中并显示到屏幕上方
-a 追加
79.chmod 修改权限
ugo 属主、属组、其他
a 所有,all
-R 递归设置
80.chown 设置属主属组
-R 递归设置
81.umask 权限控制
82.chgrp 设置属组
83.lsattr 显示特殊属性
84.chattr 设置特殊属性
a 只能追加
i 什么都不能做
85.dd 生成一个文件,压测内存
if= 输入的文件
of= 输出的文件
bs= 一次输出多少
count= 输出多少次
86.zip 压缩
-r 递归压缩
-q 静默输出
-T 检查压缩包
87.zcat 查看zip. gz格式的压缩文件
88.unzip 解压zip格式
-d 解压到指定目录
-q 静默输出
-l 显示压缩包列表
-t 显示压缩中文件完整性
89.gzip 压缩,会删除源文件
-d 解压
-r 压缩目录下的所有文件
90.bzip2 压缩,会删除源文件
-d 解压
91.bzcat 查看bz2格式的文件
92.tar 归档打包
z 使用gzip格式压缩
c 创建压缩包
f 指定压缩包名
v 显示打包过程
t 查看压缩包
x 自动识别压缩类型解压
j 使用bz2格式压缩
J 使用xz格式压缩
czf 使用gzip格式打包压缩
cjf 使用bz2格式压缩打包
cJf 使用xz格式压缩
tf 查看压缩包内容
xf 解压压缩包
P 使用绝对路径打包,但是没有删根的操作
h 打包软链接
-C 解压到指定的目录
--exclude= 排除指定的文件
--exclude-from= 排除文件列表
X 排除文件列表
93.date 显示时间
%F 显示日期
%T 显示时间
-d 显示指定的时间
-s 修改时间
94.ntpdate 同步系统时间
ntp.aliyun.com 向阿里云服务器同步时间
95.rpm 安装软件
-i 安装 install
-v 显示安装过程
-h 显示安装进度条
-ivh
-U 升级,前提系统存在旧的版本
-e 卸载软件
-q 查询指定的软件包是否安装
-qa 显示所有已经安装的软件包
-ql 查看软件包列表信息
-qc 显示软件包主要配置文件
-qi 显示软件包的本身详细信息
-qf 查找命令属于哪一个软件包,前提命令存在于该系统,必须要使用绝对路径查找
96.yum 软件包管理工具
install 安装 -y 免交互
reinstall 重新安装
remove 卸载
erase 卸载
info 显示软件包本身信息
list 显示所有可安装的包
updates 显示所有可更新的包
installed 显示已经安装的包
provides 查看命令属于哪一个软件包
search 查看软件包相关信息
repolist 显示所有可用的仓库
enabled 可用的
disabled 不可用的
all 显示所有
check-update 检查可更新的包
update 更新指定的包,不加包名,更新所有
history yum命令的;历史记录
info id 显示具体的操作信息
undo id 回滚id对应的操作
groups 针对组操作
install 安装
remove 卸载
clean 清空缓存
all 所有
packages 清空包缓存
--downloadonly 只下载不安装
--downloaddir= 指定下载路径
localinstall 指定本地的包进行安
makecache 生成本地缓存
97.yum-config-manager yum仓库管理
--enable 开启指定的仓库
--disable 关闭指定的仓库
99.mount 挂载
100.umount 卸载
101.getenforce 查看selinux的状态
102.setenforce 修改selinux的状态
103.createrepo 生成yum仓库
104.systemctl 系统管理的命令
start #启动
status #查看状态
stop #停止
restart #重启
reload #重载,平滑重启
mask #禁用服务
unmask #解除禁用
enable #开机自启动
disable #开机不启动
105.fdisk 分区命令 MBR分区表
-l 显示所有磁盘的分区信息
106.gdisk 分区命令 GPT分区表
-l 显示指定磁盘的分区信息
107.lsblk 显示所有磁盘的分区信息
108.mkfs 格式化及创建文件系统的命令
-t 指定文件系统
mkfs.xfs 指定文件系统为xfs
109.blkid 显示所有磁盘分区的UUID信息
110.free 显示内存的使用情况
-m 以MB的格式显示
111.mkswap 让一个分区成为swap
-f 指定一个文件为swap分区
112.swapon 添加一个分区到swap
-a 添加所有swap,启用swap
-s 显示所有swap的分区
113.swapoff 禁用一个swap分区
-a 禁用swap
114.df 查看磁盘空间使用情况
-h 以人类可读的形式显示磁盘大小
115.crontab 编写定时任务
-e 编辑定时任务
-l 查看定时任务
-r 删除定时任务文件
-u 指定用户的定时任务
116.mail 邮件命令
-s 指定邮件主题
117.ps 显示进程的状态信息
a 显示所有进程
u 显示有效用户或uid
x 显示没有终端的进程
118.top 动态的显示系统状态信息
-d 指定更新时间
-p 显示指定的进程id信息
-u 显示指定的用户的进程状态信息
119.htop top的升级版
120.iotop 显示系统io线程的状态信息
121.iftop 显示系统网卡的网络状态信息
122.glances 动态的显示系统状态信息
123.uptime 显示系统的负载情况
124.netstat 显示服务端口的情况
-lntp
125.ss 显示服务端口的情况
-lntp
126.kill 终止进程,根据进程id号终止
-9 强制终止
127.killall 终止进程,根据进程名称终止
128.pkill 终止进程,根据进程名称终止,模糊,包含进程名都会终止
129.jobs 显示当前窗口的后台的进程
130.bg 让一个后台的进程运行
%id
131.fg 让一个后台的程序放到前台运行
%id
132.nohup 让一个程序放到后台运行,跟& 配合
133.screen 重新打开一个新的会话窗口执行指令
-S 在创建的时候并制定窗口的会话名称
-list 显示screen会话列表
-r 进入到这个会话
```