目录处理命令
[1] 显示目录文件 $ ls
命令:ls
英文原意:list
命令所在路径:/bin/ls
权限:所有用户
功能描述:显示目录文件
语法:Ls 【选项】 【文件或目录】
-a(all) 显示所有文件,包括隐藏文件
(‘.’点开头的,隐藏文件的目的告诉用户是配置文件,尽量不要操作)
-l(long) 详细信息显示
-d 查看当前目录的属性
-i 文件的i节点(类似于地址)
-h(huamn)人性化显示
ls -l 显示的信息↓↓↓↓
权限 | 连接数 | 所属用户 | 所属组 | 字节 | 修改日期 | 修改次数 | 修改时间 | 文件名 | 软连接(有软连接才会显示) |
---|---|---|---|---|---|---|---|---|---|
–rw-r–r-- | 1 | acheng | achengZu | 70 | 10月 | 6 | 14:01 | main.c | ->main.exe |
drwxr-xr-xr-x | 2 | acheng | achengZu | 1024 | 10月 | 6 | 14:01 | filename |
[2] 创建新目录 $ mkdir
命令名称:mkdir
英文意思:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir –p [目录名]
-p 递归创建(如果没有就创建)
功能描述:创建新目录
注意:一定要规划好这些目录,否则会很混乱的
[3] 切换目录 $ cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
范围:
$ cd /tmp/test 跳转到指定目录
$ cd /..返回当前目录的上一级目录
[4] 显示当前目录de 绝对路径 $ pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录de 绝对路径
范例:-$ pwd
[5] 删除空目录(只能删除空的) $ rmdir
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述:删除空目录,只能删除空的
范例:-$ rmdir /tmp/test
[6] 复制文件或目录 $ cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp –rp [源文件或目录{可以是多个}][目标目录 /重命名源文件]
-r 复制目录
-p 保留文件属性(创建日期,使用权限……)
功能描述:复制文件或目录
[7] 剪切文件、改名两个功能 $ mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [源文件或目录][目标目录]
功能描述:剪切文件、改名两个功能
[8] 删除文件 $ rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm –rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件
注意:删除文件前最好做备份,误删除后不要做补写操作。找回很麻烦
总结 一下
[1] 显示目录文件 $ ls
[2] 创建新目录 $ mkdir
[3] 切换目录 $ cd
[4] 显示当前目录de 绝对路径 $ pwd
[5] 删除空目录(只能删除空的) $ rmdir
[6] 复制文件或目录 $ cp
[7] 剪切文件、改名两个功能 $ mv
[8] 删除文件 $ rm
文件处理命令
[1] 创建文件(mkdir是创建文件夹) $ touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建文件,mkdir是创建目录
需要指定绝对路径,否则会创建在当前文件夹下
创建两个文件:
$ touch linux LINUX
创建一个文件,文件名中用空格隔开时需要用双引号(不建议,后续操作都需要用“”)
$ touch “linux LINUX”
[2] 显示文件内容 $ cat
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
-n 显示行号
功能描述:显示文件内容
不适合浏览长文件
[3] 倒着显示文件内容 $ tac
命令名称:tac
命令所在路径:/bin/tac
执行权限:所有用户
语法:tac [文件名]
-n 显示行号
功能描述:倒着显示文件内容
[4] 分页显示文件内容 $ more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
空格 或 f 翻页
回车(Enter) 换行
Q或q 退出
功能描述:分页显示文件内容,ls查看目录
[5] 从下向上查看文件 $ less
命令名称:less
命令所在路径:/bin/less
执行权限:所有用户
语法:less [文件名]
还可以进行搜索
n next
功能描述:向上翻页,搜索文件
[6] 显示文件前面几行内容、默认十行 $ head
命令名称:head
命令所在路径:/bin/head
执行权限:所有用户
语法:head [文件名]
-n 指定行数
功能描述:显示文件前面几行、、默认十行
[7] 显示文件后面几行内容、默认十行 $ tail
命令名称:tail
命令所在路径:/bin/ tail
执行权限:所有用户
语法:tail [文件名]
-n 指定行数
-f 动态显示文件末尾内容
如果有文件变动会实时看到文件的变更
功能描述:显示文件后面几行、、默认十行
[8] 生成链接文件 $ ln
命令名称:ln
英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln –s [原文件名][目标文件]
-s创建软链接 soft
没有后缀 硬链接 bard
功能描述:生成链接文件
软链接 =类似于windows创建= 快捷方式
硬链接 =类似于windows复制后= 副本,但是两个文件会同步更新
当删除源文件是,
软链接会失效同时可以对目录操作
硬链接可以继续访问,相当于备份
不可以对目录操作,也不可以跨分区
rwx-rwx-rwx l(link)表示软连接且具有所有权限都是rwx
总结 一下
[1] 创建文件(mkdir是创建目录) $ touch
[2] 显示文件内容 $ cat
[3] 倒着显示文件内容 $ tac
[4] 分页显示文件内容 $ more
[5] 从下向上查看文件 $ less
[6] 显示文件前面几行内容、默认十行 $ head
[7] 显示文件后面几行内容、默认十行 $ tail
[8] 生成链接文件 $ ln
权限命令
[1] 更改文件或目录的权限(rwx) $ chmod
命令名称:chmod
英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{u,g,o,a}{+ ,-,=}{r,w,x}] [文件名]
-*-{u所有者 g所属组 o其他人 a所有人}-*-
-R 递归修改,将文件目录下所有的文件的权限改为所设值
功能描述:更改文件或目录的权限
一个文件只有所有者和管理员可以更改
可以使用权限数字表示:
规定r --- 4 w --- 2 x --- 1
eg:
rwx rw -r—
7 6 4
当文件所在的目录有rwx权限时,说明对当前目录下所有的文件都有rwx权限
r 读权限,可以查看文件内容 可以列出目录中的内容
w 写权限,可以修改文件内容,可以在目录中创建,删除文件
x 执行权限,可以执行文件,可以进入目录
d 代表目录
- 没有权限
-------------------------------------------------------------------------
有些文件的权限显示为:
文件所有者对文件的权限-文件所属用户权限-其他人权限
drwrx-xr-x
dr前缀说明这是一个文件夹
-wrx-xr-x
-表示是一个单纯的文件
[2] 更改文件或目录的所有者 $ chown
命令名称:chown
英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:root
语法:chown [用户][文件或目录]
功能描述:更改文件或目录的所有者
在linux下,新建的文件默认是没有可执行权限的
[3] 更改文件或目录的所属组 $ chgrp
命令名称:chgrp
英文原意:change group
命令所在路径:/bin/chgrp
执行权限:root
语法:chgrp
功能描述:更改文件或目录的所属组
[4] 显示设置文件的缺省权限 $ umask
命令名称:umask
英文原意:the user file-creation mask
命令所在路径:shell内置命令
执行权限:所有用户
语法:umaks[-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示设置文件的缺省权限
总结一下
[1] 更改文件或目录的权限(rwx) $ chmod
[2] 更改文件或目录的所有者 $ chown
[3] 更改文件或目录的所属组 $ chgrp
[4] 显示设置文件的缺省权限 $ umask
文件搜索命令
[1] 文件搜索 (占用大量资源) $ find
减少搜索操作,避免占用大量资源
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
-$ find /etc –name init
在目录/etc中查找文件init
-$ find /etc –name *init*
在目录/etc中查找文件名包含init的文件
-$ find /etc –name init???
在目录/etc中查找文件名包含init并且后面有三个字母的文件
-iname 查找的文件名不区分大小写
$ find / -size +204800
在根目录下查找大于100MB的文件
+n 大于 –n小于 n等于
$ find /home –user acheng
在根目录下查找所有者为acheng的文件
-group 根据所属组查找
$ find /etc –cmin -5
在/etc目录下查找5分钟内被修改过的文件和目录
-amin 访问时间
-cmin 文件属性
-mmin文件内容
$find /etc –size +163840 –a –size -204800
在/etc下查找大于80mb小于100mb的文件
-a and
-o or
$find /etc –name inittab –exec ls –l {} \;
在etc目录下查找inittab文件并显示其详细信息
{} \ ;固定格式
-type (f文件、d目录、l软连接)
$ find . –inum 31531 –exec rm {} \ ;
删除当前目录下的 31531节点
功能描述:文件搜索
[2] 在文件资料库(locate)中查找文件 $ locate
命令名称:locate
文件所在路径: /user/bin/locate
执行权限:所有用户
语法:locate 文件名
功能:在文件资料库中查找文件
$ locate acheng秒搜。。。。
但新建的目录可能无法被搜索到,因为locate是一个资料库,新建文件是没有收录到locate中
使用$ updated 语句完成更新文件资料库
不过tmp内的文件是不可以的加入locate资料库中的,因为是临时目录
[3] 搜索命令所在的目录及别名信息 $ which
命令名称:which
文件所在路径: /user/bin/which
执行权限:所有用户
语法:which命令
功能:搜索命令所在的目录及别名信息
$ which ls
[4] 搜索命令所在的目录及帮助文档路径 $ whereis
命令名称:whereis
文件所在路径: /user/bin/ whereis
执行权限:所有用户
语法:whereis [命令名称]
功能:搜索命令所在的目录及帮助文档路径
$ whichis ls
[5] 在文件中搜索字符串匹配的行并输出 $ grep
命令名称:grep
文件所在路径: /bin/ grep
执行权限:所有用户
语法:grep –iv [指定字符串] [文件]
-i 不区分大小写
-v 排除指定字符串
功能:在文件中搜索字符串匹配的行并输出
$grep mysql /root/install.log
[6] 获得帮助信息 $ man
命令名称:man
英文原意:manual
文件所在路径: /usr/bin/man
执行权限:所有用户
语法:man [命令或配置]
功能:获得帮助信息
$ man ls
查看ls的帮助信息
总结一下
[1] 文件搜索 $ find
[2] 在文件资料库(locate)中查找文件 $ locate
[3] 搜索命令所在的目录及别名信息 $ which
[4] 搜索命令所在的目录及帮助文档路径 $ whereis
[5] 在文件中搜索字符串匹配的行并输出 $ grep
[6] 获得帮助信息 $ man
文件压缩
[1] gzip压缩文件 $ gzip
Linux和windows都可以直接解压的文件为 .GZ文件
命令名称:gzip
英文原意:GNUzip
文件所在路径: /bin/gzip
执行权限:所有用户
语法:gzip[文件]
功能:压缩文件,压缩后的格式为 .gz
只能压缩文件,不能压缩目录,压缩后,不会保存源文件。
gzip解压缩文件 $ gunzip
命令名称:gunzip
英文原意:GNUunzip
文件所在路径: /bin/gunzip
执行权限:所有用户
语法:gzip[文件]
功能:解压缩
[2] .tar.gz 打包目录 $ tar
命令名称:tar
文件所在路径: /bin/tar
执行权限:所有用户
语法:tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包的同时压缩
-x 解压
-v 显示详细信息
-f 指定解压文件
-z 解压缩
功能:打包目录
压缩文件格式:.tar.gz
$ tar –cvf
$ tar –zxvf test.tar.gz
[3] .GZ文件压缩 $ zip
Linux和windows都可以直接解压的文件为 .GZ文件
命令名称:zip
文件所在路径: /usr/bin/zip
执行权限:所有用户
语法:zip 选项[-r] [压缩后文件名][文件或目录]
-r 压缩目录
功能:压缩文件或目录,gzip只能压缩目录,压缩后,文件与压缩包共存
压缩后文件格式: zip
[3] .GZ文件解压缩 $ unzip
命令名称:unzip
文件所在路径: /usr/bin/unzip
执行权限:所有用户
语法:unzip[压缩文件]
功能:解压zip的压缩文件
$ unzip test.zip
[4] 压缩文件 $ bzip2
命令名称:bzip2
文件所在路径: /usr/bin/bzip2
执行权限:所有用户
语法:bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留源文件
功能:压缩文件
bzip2文件的解压缩 $ bunzip2
命令名称:bunzip2
文件所在路径: /usr/bin/bunzip2
执行权限:所有用户
语法:bunzip2 选项 [压缩文件]
-k 解压缩后保留源文件
功能:压缩文件
文件的解压缩
总结一下
[1] gzip文件压缩&解压缩 $ gzip / $ gunzip
[2] .tar.gz 打包目录 $ tar
[3] .GZ文件压缩&解压缩 $ zip / $ unzip
[4] bzip2文件压缩&解压缩 $ bzip2 / $ bunzip2
网络命令
[1] 给用户发信息 $ write
命令名称:write
文件所在路径: /usr/bin/write
执行权限:所有用户
语法:write <用户名>
功能:给用户发信息,以C-D保存结束
$ write 用户名
[2] 给所有在线用户发送广播 $ wall
命令名称:wall
命令英文原意:write all
文件所在路径: /usr/bin/wall
执行权限:所有用户
语法:$ wall [message]
功能:给所有在线用户发送广播
$ wall ……
[3] 测试网络连通性 $ ping
命令名称:ping
文件所在路径: /bin/ping
执行权限:所有用户
语法:#ping 选项 IP地址
-c 指定发送次数
功能:测试网络连通性,只要时连接的,他就会一直返回数据
$ ping 127.0.0.1
$ ping –c 3 127.0.0.1
只返回三次, 0%代表丢包率为0,说明网络状况很好
[4] 查看设置网卡信息 $ ifconfig
命令名称:ifconfig
英文原意:interface configure
文件所在路径: /sbin/ifconfig
执行权限 root
语法:ifconfig 网卡名称 IP地址
功能:查看设置网卡信息
Eth0 真实网卡
Lo本机通信和测试
$ ifcofig eth0 127.0.0.1
[5] 发送电子邮件 $ mail
命令名称:mail
文件所在路径: /bin/mail
执行权限 root
语法:mail [用户名]
功能:发送电子邮件
$ 序号 查看响应的mail
$ h 返回列表
$ d 序号 删除
$ q 退出
[6] 列出目前与过去登入系统的用户信息 $ last
命令名称:last
文件所在路径: /usr/bin/last
执行权限 所有用户
语法:last
功能:列出目前与过去登入系统的用户信息
[7] 查看指定UID用户最后一次登陆的信息 $ lastlog
网络命令
命令名称:lastlog
文件所在路径: /usr/bin/ lastlog
执行权限 所有用户
语法:lastlog
Lastlog –u UID
查看指定UID用户最后一次登陆的信息
[8] 打开网页时,显示数据包到主机间的路径 $ traceroute
命令名称:traceroute
文件所在路径: / bin/ traceroute
执行权限 所有用户
语法:traceroute
功能:打开网页时,显示数据包到主机间的路径
[9] 显示网络相关信息 $ netstat
命令名称:netstat
文件所在路径: / bin/netstat
执行权限 所有用户
语法:netstat
功能:显示网络相关信息
-t TCP协议
-u UDP协议协
-l 监听
-r 路由
-n 显示IP地址和端口号
-rn 查看本机路由表
-an 查看本机所有网络连接
-tlun 查看本机监听端口
查询当前连接状态
通过端口来判断连接状况
Tcp才可以直接访问,ndp不可以
[10] 网络配置 $ setup
命令名称:setup
文件所在路径: user/ bin/setup
执行权限 root
语法:setup
功能:配置网络
DNCP动态主机协议
setup设置后的网络配置是永久生效的
但setup只支持
总结一下
[1] 给用户发信息 $ write
[2] 给所有在线用户发送广播 $ wall
[3] 测试网络连通性 $ ping
[4] 查看设置网卡信息 $ ifconfig
[5] 发送电子邮件 $ mail
[6] 列出目前与过去登入系统的用户信息 $ last
[7] 查看指定UID用户最后一次登陆的信息 $ lastlog
[8] 打开网页时,显示数据包到主机间的路径 $ traceroute
[9] 显示网络相关信息 $ netstat
[10] 网络配置 $ setup
挂载命令
[1] 挂载命令 $ mount
命令名称:mount
文件所在路径:/bin/mount
执行权限:所有用户
语法:mount [-t 文件系统] 设备文件名 挂在点
CentOS 设备文件名一般为 /dev/ar0 或 /dev/sr0
将外接连接设备连接到指定挂载点(分配盘符)
linux命令行界面需要手动挂在,图形界面会自动挂载
[2] 卸载挂载点 $ umount
$ umount (只能跟一个挂在点名称/设备文件名)
用户管理命令
关机重启命令
[1] 最常用的关机命令 $ shutdown
命令名称:shutdown
语法:shutdown [选项] 执行时间(now表示立即生效)
-c 取消前一个关机命令
-h 关机
-r 重启
$ shutdown 命令是能够使系统正确保存和关机的命令,可以减少数据丢失
在关机或重启之前需要关闭所有服务
服务器流量很大,谨慎关机重启
[2] 常用启动命令
可以通过改变开机顺序,修改其中的id 行
$ cat /rtc/inittab
————————————————————
查看当前运行等级
$ runlevel
————————————————————
退出当前帐号的登录
$ loglot
在使用完linux 服务后,记得退出登录,避免数据丢失
在shell 中 ctrl+D 就是退出当前shell
————————————————————
开机系统运行级别
0 关机
1 单用户 (类似Windows安全模式)
2 不完全多用户,不含NFS服务
3 完全多用户
————以上命令行启动————
4 未分配
5 图形界面
6 重启
总结一下
[1] 最常用的关机命令 $ shutdown
[2] 常用启动命令
vim 的使用
vim基本知识
1、vim没有菜单,只有命令
2、命令模式执行完自动返回入界面
[1] 插入命令
$ a 在光标所在字符后插入
$ A 在光标所在行尾插入
$ i 在光标所在字符前插入
$ I 在光标所在行首插入
$ o 在光标下插入新的行
$ O 在光标上插入新的行
=============================
[2] 定位命令
$ : set nu 显示行号
$ : set nonu 取消行号
$ : gg 跳到文本首行
$ : G 跳到文本末行
$ : n+g 跳到第n行
$ : n 跳到第n行
$ : wq 退出vim
$ $ 行首
$ 0 行末
=============================
[3] 删除命令
$ x 删除光标所在处字符
$ nx 删除光标所在处n个字符
$ dd 删除光标所在行,ndd删除n行
$ dG 删除光标所在行到文本末尾的内客
$ D 删除光标所在行到行尾
$ : n1.n2d 删除指定范围的行
=============================
[4] 复制和剪切
$ yy 复制当前行
$ nyy 复制当前以下n行
$ dd 剪切当前行
$ ndd 剪切当前行以下n行
$ p、P 粘贴在当前光标所在行下或行上
=============================
[5] 搜索和搜索替换命令
$ /string 搜索指定字符串 (忽略大小写 :set ic)
$ n 搜索指定字串的下一个出现位置
$ :%s/old/new/g 全文替换指定字符串
$ :n1.2s/old/new/g 在一定范围内替换指定字符串
=============================
[6] 保存和退出命令
$ :w 保存修改
$ :w new_filename 令存为指定文件
$ :wq 保存并退出
$ ZZ 快捷键,保存并退出
$ :q! 不保存退出
$ :wq! 强制退出(仅限root)
[7] 补充常用格式
#把一个很长的一行按空格分为多行
$ :%s/ +/\r/g
#删除文章中的空行
$ :g/^s*$/d
#删除行尾空格
#全局查找文本文件的行尾空格并删除
$ :%s= *$==
多行注释
$ :n1.n2s/^\/\///g
文件导入
$ :r /filepath
设制的快捷键
快捷命令一般放在 /home/username/.vimrc 中
$ :map 设制的快捷键
$ ab 快捷语句 内容
[7] 通配符大全
%s 在整个文件范围查找替换
/ 分隔符
+ 匹配空格,其中“ ”表示空格,+表示重复1次或多次,
加在一起表示一个或多个空格。
/r 换行符
/g 全局替换
g 全区命令
^s*$ 匹配空行,其中^表示行首,s表示空字
符,包括空格和制表符,*重复0到n个前面
的字符,$表示行尾。连起来就是匹配只有
空字符的行,也就是空行。
/d 删除该行
= 为%s命令的分隔符,如果把=换为/,则该命令
可以写为:%s/ *$//
*$ $表示行尾,*匹配前面0个到n个字符,*前面是
空格,因此此正则表达式匹配行尾的0个到n个字符
== 分隔符没有中间没有内容,表示删除匹配空格,
在这里表示删除行尾空格。
软件包管理
rpm命令
备注如果操作的是包名,说明这个安装包已经安装完了。如果操作的是包全名,说明这个安装包还没有安装。所以,操作未安装过的包时,需要先进入要安装的目录
包全名
操作的包是没原安装的软件包时,使用包全名。但要注意路径
包名
操作已经安装的软件包时,用包名。
=============================
[1] 安装命令
语法:
$ rpm -ivh 包全名
选项:
-i 安装(insatll)
-v 显示(verbose)
-h 详细信息(hash)
--nodeps 不检测依赖性
[2] 升级命令
语法:
$ rpm -Uvh 包全名
选项:
-U 升级(upgrae)
[3] 卸载命令
语法:
$ rpm -e 包名
选项:
-e 卸载(erase)
--nodeps 不检查依赖性
[4]查询对应的rpm包
语法:
$ rpm -qa 包名
选项:
-q 查询 (query)
-a 全部(all)
RPM包的命名规则
eg:
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
e16.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包的扩展名
尽管linux 没有扩展名,但为了方便用户的使用及区分,所以要加上“扩展名”
[5]查询软件包的详细信息
语法:
$ rpm -qi 包名
$ rpm -qip 包全名
选项:
-q 查询(query)
-i 查询软件信息(information)
-p 查询未安装过的包(package)【后面加包全名】
[6]查询软件包的安装位置
语法:
$ rpm -ql 包名
$ rpm -qlp 包全名
选项:
-q 查询(query)
-l 列表(list)
-P 查询未安装包的信息(package)
!!尽管安装包未安装,但是要安装的目录是固定的。所以未安装的包一样可以看它的安装位置
[7]查询系统文件属于的RPM包
语法:
$ rpm -qf 系统文件名
选项:
-f 查询系统文件属于的RPM包 (file)
通过系统文件名查找所属rpm包
[8]查询软件包的依赖性
语法:
$ rpm -qR 包名
选项:
-R 查询软件包的依赖性(relay)
-p 查询未安装包的信息(package)
如果提前知道未安装包的依赖包,就可以提前去安装对应的依赖包
RPM包依赖性
在安装RPM包时,需要有依赖包来支持,
如果没有依赖包,就算跳过依赖包的安装也不能使用。
使用 模块依赖查询网站,查询我们所需要的依赖包
http://www.rpmfind.net
已经安装的包,会在 /var/lib/rpm中的数据库中
[9]rpm包的校验
语法:
$ rpm -V 已安装的包名
选项:
-V (verify) 校验指定rpm包中的文件
若未做修改,不会返回数据
反之:返回内容
eg: S.5....T c /path
S : 文件大小是否改变
M : 文件的类型或文件的权限(rwx)是否改变
5 :文件MD5校验和 是否改变(文件内容)
D : 文件中的代码是否改变
L : 文件的路径是否改变
U : 文件的所有者是否改变
G : 文件的所属组是否改变
T : 文件的修改时间是否改变
文件类型
c : 配置文件(config file)
d : 普通文档 (documentation)
g : '鬼文件’ 这个文件本不应该在这个rpm包中 (ghost file )
l : 授权文件 (license file)
r ; 描述文件 (read me)
[10]rpm包的找回
语法:
$ rpm2cpio 包全名 | cpio -idv .找回文件绝对路径
选项:
rpm2cpio
将rpm包转换成cpio 格式
cpio
是一个标准工具,用于创建档案文件和从档案文件中提取文件
使用方法
如果误删某个包,可以使用其将找回
[1] 安装命令
[2] 升级命令
[3] 卸载命令
查询对应的rpm包
[5]查询软件包的详细信息
[6]查询软件包的安装位置
[7]查询系统文件属于的RPM包
[8]查询软件包的依赖性
[9]rpm包的校验
[10]rpm包的找回
yum 命令
yum命令不需要手动下载依赖包,系统会在网站上自动下载相应的安装包
[1] IP地址配置
$setup
#仅reathead 系列支持 setup 设置
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
#把ONBOOT = "no" ----> "yes"
$ sercice network restart
#重启网络服务
=============================
[2] 网络yum 源
$ vi /etc/yum.repos.d/CentOS-Base.repo
[base] #容器名
name = 容器说明
mirrorlist = 镜像站点
baseurl = yum 源服务器的地址(默认CentOS官网yum源服务器)
enabled = 容器是否生效(是1 / 否0)
gpgcheck = rpm的数字证书是否生效(是1 / 否0
gpgkey = 数字 证书的公钥文件的保存位置
=============================
[3] yum 命令
1>查询
[root @localhost ~]# yum list
查询所有可用的软件包列表
++++++++
[root @localhost ~]# yum search 关键字(包名)
搜索服务器上所有和关键字相关的包
2>安装
[root @localhost ~]# yum -y install 包名
install 安装
-y 自动回答yes
====================================
========下面两条命令十分危险=========
====================================
3> 升级
[root @localhost ~]# yum -y update 包名
update 升级
-y 自动回答yes
!!!!!!!!!!!!!!!!!!!!!!
注意:一定都要加包名,如果不加包名会导致升级整个系统,因为系统包是需要配置的,这样会远程连接一直连不上。只能从本机去解决,这样会。。。。。。
4>卸载
[root @localhost ~]# yum -y remove 包名
!!!!!!!!!!!!!!!!!!!!!!
注意:尽量不使用卸载命令,在卸载时会将目标的依赖包全部卸载,这会导致其它依赖这些依赖包的包不能再使用。严重的话会导致系统不能使用。
原则:1、安装时最小化安装
2、使用什么安装什么,不多余安装
3、尽量不使用yum卸载
====================================
================慎 用===============
====================================
[4] yum 软件组管理命令
pass
Shell
1、echo 输出命令
[root @localhost ~]# echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
\\ 输出 \本身
\a 输出警告音
\b 退格键
\c 取消输出行末的换行符,与“-n”选项一致
\e ESCAPE键
\f 换页符
\n 换行符
\r 回车
\t 制表符 tab
\v 垂直指标符
\0nnn 八进制ASCLL码输出字符 nnn三位八进制数
\xhh 十六进制ASCLL码输出字符 hh两位十六进制数
30m=黑色 31m=红色 32m=绿色 33m=黄色
34m=蓝色 35m=洋红 36m=青色 37m=白色
颜色用法:
$ echo -e “\e[1;31m abcd \e [0m"
固定用法 输出红色abcde
============
2、脚本输出格式
[root @localhost ~]# vi hello.sh
// .sh :告诉解释器,这是一个shell脚本。并且使用者容易区分
######################################
#!/bin/Bash
# 这一句不是注释,声明这是一个Bash shell 脚本
#
#The frist program
# 注释:程序的简介
#
#Auther :acheng (G-mail : acheng.mct@gmail.com)
#Time : 2019-2-24
################
#
program body
#
#################
#######################################
执行脚本:
1> -bash hello.sh
2> chmod 755 hello.sh
绝对路径 或 相对路径
=====================================
如果在windows下编写的脚本,是无法执行的
要使用dos2unix进行转换
$ yum -y install dos2unix
$ dos2unix hello.sh