一,目录查看命令 ls
语法:ls 选项[-ald] [文件或目录]
原意:list
1,查看当前目录: ls
2,查看当前目录所有文件(包括隐藏文件): ls -a 或 ls -all
3,查看指定目录的文件:ls [目录路径]
4,查看文件详细信息:ls -l
-rw-rw-r--
r:查看 w:编辑 x:执行
-(1位):文件类型(-:二进制文件 d:目录 l:软链接文件)
rw-(2-4位):u(所有者)权限:查看,编辑
rw-(5-7位):g(所属组)权限:查看,编辑
r--(8-10位):o(其他人)权限:查看
0:文件大小(单位:B)
10月 23 14:14:更新时间
5, 查看文件详细信息(自动换算单位大小):ls -lh 或 ls -l -h
6,查看目录详细信息:ls -ld [目录路径]
7, 查看目录的i结点:ls -i
二,目录处理命令
1,创建目录:mkdir
语法:mkdir -p [目录名]
原意:make directory 创建目录
(1) 创建目录:mkdir [目录名]
(2) 递归创建目录 一次创建多级目录:mkdir -p [目录名]
2,切换目录:cd
原意:change directory 改变目录
(1) 切换指定目录:cd [目录]
(2) 返回上一级目录:cd ..
3,显示当前目录:pwd
原意:print working directory 打印工作目录
4,删除空目录:rmdir
语法:rmdir [目录名]
原意:remove directory 删除目录
5,复制文件或目录:cp
语法:cp -rp [原文件或目录] [目标目录]
-r:复制目录
-p:保留文件属性
原意:copy 复制
(1) 复制目录:cp -r [原目录] [目标目录]
(2) 复制保留原来属性:cp -p [原文件] [目标文件]
(3) 复制目录后改名:cp -r [原目录] [新目录名称]
6,移动文件或目录:mv
语法:mv [原文件或目录] [目标目录]
原意:move 移动
可直接改名
三,文件处理命令
1,删除文件:rm
语法:rm -rf [文件或目录]
-r 删除目录
-f 强制执行
原意:remove 删除
(1) 删除文件:rm [文件名]
(2) 删除目录:rm -r [目录]
2,创建空文件:touch
语法:touch [文件名]
3,显示文件内容:cat
语法:cat [文件名]
-n 显示行号
4,显示文件内容(反向序列):tac
5,分页查看文件内容:more
语法:more [文件名]
(空格)或f 翻页
(Enter) 换行
q或Q 退出
6, 分页查看文件内容(可向上翻页):less
下一页:Pgdn
上一页:Pgup
首页:Home
尾页:end
上下行:方向箭头 鼠标滚轮
搜索:/ + 关键词 向下查找 :n
7,查看文件前几行:head
语法:head [文件名]
-n 指定行数 默认是10
8,查看文件后几行:tail
语法:tail [文件名]
-n 指定行数 默认是10
-f 动态显示文件末尾内容
动态查看文件内容(可以实时监控日志)
四,链接命令 生成链接文件 ln
语法:ln -s [原文件] [目标文件]
原意:link
1,生成软连接
特点:
(1)类似于桌面快捷方式,文件夹中是不存在的
(2)文件大小,只是链接的大小
(3)原文件丢失,软链接不能访问
(4)l:表示为软连接文件 权限为rwxrwxrwx
(5)/tmp/issue.soft -> /etc/issue 箭头指向源文件
2,生成硬链接
特点:
(1)拷贝 cp -p + 同步更新
(2)i结点相同
(3)原文件丢失,硬链接可以正常访问
(4)不能跨分区
(5)不能针对目录使用
五,改变文件或目录权限 chmod
语法:chmod [{ugoa} {+-=} {rwx}] [文件或目录]
[mode(例:421)] [文件或目录]
-R 递归修改
{ugoa}:
u: 所有人
g: 所属组
o: 其他人
a:全部人 (上面三个加起来)
{+-=}:
+:新增权限
-:减少权限
=:重新赋予权限
{rwx}:
r:读取
w:编辑
x:执行
原意:change the permissions mode of a file
1,使用 +,- 修改文件权限
给文件的U(所有者)增加X(执行权限) chmod u+x [文件名]
原本权限
修改后
2,使用 +,- 修改文件多个权限
所有者减去执行权限,其他人减去读取权限
3,使用=修改文件权限
给u(所有者)和o(其他人)赋予rwx(读取,编辑,执行)权限
4,使用数字修改权限
r : 4
w:2
x:1
例:rwxrw-r-- 的权限表示为764
(1) 将所有人的权限改为读取
(2)将所有人的权限改为读取和编辑
5,递归修改权限 -R
原来权限
修改cc目录权限为700,可以看到cc目录的权限变了,但是cc目录中的权限没有更改
使用-R命令修改后,cc和cc目录下的文件的权限都为777(rwx)
6,权限总结
字符 | 权限 | 对目录的含义 | 对文件的含义 | ||
r | 读 | 可以列出目录中的内容 | ls | 可以查看文件内容 | cat tac more less head tail |
w | 写 | 可以在目录中创建,删除文件 | touch mkdir rmdir rm cp(若没有x权限,只能复制空目录,无法复制目录中内容) | 可以修改文件内容 | vim |
x | 执行 | 可以进入目录 | cd | 可以执行文件 | 例:可以执行脚本文件 |
六,其他权限管理命令
1,改变文件或目录的所有者 chown
语法:chown [用户] [文件或目录]
原意:change file ownership
注意:只有管理员root可以操作
使用root账号创建一个用户
更改文件的所有人为root123
注意:必须是存在的用户才可以
2,改变文件或目录的所属组 chgrp
语法:chgrp [用户组] [文件或目录]
原意:change file group ownership
创建一个组
改变文件所属组
3,显示、设置文件的缺省权限 umask
语法:umask [-S]
-S 以rwx形式新建文件缺省权限
原意:the user file-creation mask
默认情况下创建目录和文件,文件比目录少了执行权限
(1) 查看默认权限
0:特殊权限
0:所有者
2:所属组
2:其他人
实现逻辑:
777 :rwx rwx rwx
022 :- - - -w- -w-
两者做 "逻辑异或"得出 rwx r-x r-x
(2) 修改默认权限
修改前:
修改默认权限为rwx --- ---
七,文件搜索命令 find
语法:find [搜索范围] [匹配条件]
1,精准搜索文件
2,模糊搜索文件 *
注:root用户直接输入文件名,非root用户需要在文件名加""
3,通配符搜索文件 ?
4,不区分大小写搜索 -iname
5,根据文件大小搜索 -size
6,根据所有者查找 -user
7,根据所属组查找 -group
8,根据修改访问时间查找 -amin
原意:access
查找修改时间40分钟以内,和40分钟以上的文件
9,根据修改文件属性查找 -cmin
原意:change
10,根据修改文件内容查找 -mmin
原意:modify
11,连接多条件查找 -a
12,多条件选其一查找 -o
13,查找出文件后执行操作 -exec/-ok 命令 {} \;
ok:多一步询问信息
14,根据文件类型查找 -type
f 文件 d 目录 l 软链接文件
15,根据i结点查找
根据结点查询文件并删除
八,其他文件搜索命令
1,在文件资料库中查找文件 locate
语法:locate 文件名
注:不能运行命令的话按以下步骤下载安装
1,下载镜像
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2,下载命令 yum install mlocate
都输入y,下载完成
3,最后运行 updatedb
查询成功
2,搜索命令所在目录及别名信息 which
3,搜索命令所在目录及帮助文档路径 whereis
4,文件搜索字串匹配的并行输出 grep
语法:grep -iv [指定字串] [文件]
-i 不区分大小写
-v 排除指定字串
排除#注释: grep -v ^# [文件]
九,帮助命令
1,获取命令或配置文件帮助 man
语法:man [命令或配置文件]
注意:配置文件不需要绝对路径
原意:manual
翻页:空格
下一行:回车
搜索/ XXX
退出:q
1:命令的帮助 5:配置文件的帮助
2,查看命令作用 whatis
whatis 命令 :查看命令信息
3,查看配置文件信息 apropos
appropos 配置文件:查看配置文件信息
4,查看命令选项信息 --help
5,info 帮助命令 用法同 man
6,获取shell内置命令的帮助信息 help
十,用户管理命令
1,添加新用户 useradd
语法:useradd 用户名
执行权限:root
2,设置用户密码 passwd
语法:passwd 用户名
用户root123 登录成功
3,查看登录用户信息 who
(1),登录用户名
(2),登录终端(tty:本地终端 pts:远程终端)
(3),登录时间
(4),登录主机IP地址(没写就说明是本机登录)
4,查看登录用户详细信息 W
14:51:14 当前时间
up 3:54 连续运行3小时54分钟
7 user 一共有多少用户登录
load average: 0.76, 0.63, 0.44 过去1分钟 5分钟 10分钟 的负载均衡情况
WHAT 用户正在执行什么命令
IDLE 用户登录过来空闲多久了
PCPU 当前登录用户占用CPU时间
JCPU 当前登录用户累计占用CPU时间
十一,压缩解压命令
1,压缩文件 gzip
语法:gzip [文件]
原意:GUN zip
2,解压.gz的压缩文件 gunzip
语法:gunzip [压缩文件]
原意:GUN unzip
3,打包目录 tar
语法:tar 选项 [-zcf] [压缩后文件名] [目录]
-c 打包 -x 解包
-v 显示详情信息 -v 显示详情信息
-f 指定文件名 -f 指定解压文件
-z 打包同时压缩 -z 解压缩
4,压缩文件或目录 zip
语法:zip 选项 [-r] [压缩后文件名] [文件或目录]
-r 压缩目录
5,解压.zip的压缩文件 unzip
语法:unzip [压缩文件]
6,压缩文件 bzip2
语法:bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留原文件
7,压缩目录 tar
十二,网络命令
1,给用户发信息 write
语法:write <用户名>
输入完成后 以Ctrl+D保存结束
2,发广播信息 wall
语法:wall [message]
原意:write all
3,测试网络连通性 ping
语法:ping 选项 IP地址
-c 指定发送次数
4,查看和设置网卡信息 ifconfig
语法:ifconfig 网卡名称 IP地址
原意:interface configure
5,查看发生电子邮件 mail
语法:mail [用户名]
6,列出目前与过去登入系统的用户信息 last
7,检查某特定用户上次登录的时间 lastlog
指定特定用户 -u
8,显示数据包到主机间的路径 traceroute
例如:访问百度
9,显示网络相关信息 netstat
语法:netstat [选项]
-t :TCP协议
-u:UCP协议
-l:监听
-r:路由
-n:显示IP地址和端口号
查看本机监听端口
查看本机所有的网络连接
查看本机路由表
10,配置网络 setup
11,挂载命令 mount
语法:mount [-t 文件系统] 设备文件名 挂载点
卸载挂载点
十三,关机重启命令
1,关机命令 shutdown
语法:shutdown [选项] 时间
-c:取消前一个关机命令
-h:关机
-r:重启
2,其他关机命令
(1)halt
(2)poweroff
(3)init 0
3,重启命令
(1)reboot
(2)init 6
4,系统运行级别
0 关机
1 单用户
2 不完全用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
5,退出登录命令 logout
十四,文本编辑器 Vim
1,插入命令
命令 | 作用 |
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
2,定位命令
命令 | 作用 |
: set nu | 设置行号 |
: set no | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
: n | 到第n行 |
$ | 移至行尾 |
0 | 移至行首 |
3,删除命令
命令 | 作用 |
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标所在行,ndd删除n行 |
dG | 删除光所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除指定范围的行 |
4,复制和剪切命令
命令 | 作用 |
nyy | 复制当前行 |
nyy | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p、P | 粘贴在当前光标所在行下或行上 |
5,替换和取消命令
命令 | 作用 |
r | 取代光标所在字符 |
R | 从光标所在处开始替换字符,按Esc结束 |
u | 取消上一步操作 |
6,搜索和搜索替换命令
命令 | 作用 |
/string | 搜索指定字符串 搜索时忽略大小写:set ic 搜索时不忽略大小写:set no ic |
n | 所有指定字符串的下一个出现位置 |
:%s/old/new/g | 全局替换指定字符串 |
:n1,n2s/old/new/g | 在一定范围内替换指定字符串 |
7,保存和退出命令
命令 | 作用 |
:w | 保存文件 |
:w new_filename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键,保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root可使用) |
8,导入命令 r !命令
9,定义快捷键:map 快捷键 触发命令
光标在行首插入
跳到行首 删除
ctrl + b
10,连续行注释 n1,n2s/^/#/g
前四行注释
11,替换 ab 替换内容 原本内容
输入 xg 后 按回车
十五,rpm命令管理
1,安装 rpm -ivh 包全名
选项:
-i (install) 安装
-v (verbose) 显示详情信息
-h (hash) 显示进度
--nodeps 不检测依赖性
2,升级 rpm -Uvh 包全名
选项:
-U (upgrade) 升级
3,卸载 rpm -e 包名
选项:
-e (erase) 卸载
--nodeps 不检查依赖性
4,查询是否安装
(1)查询包是否安装 rpm -q 包名
选项:
-q(query) 查询
(2)查询所有已经安装的RPM包
选项:
-a(all) 所有
5,查询软件包详细信息 rpm -qi 包名
选项:
-i(information) 查询软件信息
-p(package) 查询未安装包信息
6,查询包中文件安装位置 rpm -ql 包名
选项:
-l(list) 列表
-p(package) 查询未安装包信息
7,查询系统文件属于哪个RPM包 rpm -qf 系统文件名
选项:
-f(file) 查询系统文件属于哪个软件包
8,查询软件包的依赖性 rpm -qR 包名
选项:
-R(requries) 查询软件包的依赖性
-p(package) 查询未安装包信息
9,RPM包校验 rpm -V 已安装的包名
选项:
-V(verify) 校验指定RPM包中的文件
验证内容的具体信息:
S 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否被改变
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备的中,从代码是否改变
L 文件路径是否改变
U 文件的所有者是否改变
G 文件的所属组是否改变
T 文件的修改时间是否改变
文件类型:
c 配置文件(config file)
d 普通文档(documentation)
g “鬼”文件(ghost file)很少见,就是该文件不应该被这个RPM包包含
l 授权文件(license file)
r 描述文件(read me)
10,RPM包中文件提取 rpm2cpio 包全名 | cpio -idv .文件绝对路径
rpm2cpio:将rpm包转换为cpio格式的命令
cpio:是一个标准工具,它用于创建软件文件和档案文件中提取文件
语法:cpio 选项 [文件|设备]
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程
十六,yum命令管理
1,查询
(1)查询所有可用软件安装包列表 yum list
(2)搜索服务器上所有和关键字相关的包 yum search 关键字
2,安装 yum -y install 安装
选项:
install 安装
-y 自动回答 yes
3,升级 yum -y update 包名
选项:
update 升级
-y 自动回答 yes
4,卸载 yum -y remove 包名
选项:
remove 卸载
-y 自动回答 yes
5,YUM软件组管理命令
(1)列出所有可用的软件组列表 yum grouplist
(2)安装指定软件组,组名可以由grouplist查询出来 yum grouplist 软件组名
(3)卸载指定软件组 yum groupmove 软件组名