文件含义
(图片出处:B站—遇见狂神说)
常用命令
ls
显示内容
选项:-a 显示所有文件/目录 -l 以列表的形式显示 -h 以k/m等类型显示文件大小 -d 查看目录本身 -i 查看文件的i节点
ls -l
权限 文件调用次数 所有者 所属组 文件大小 创建/修改/访问日期 文件名
-rw-r–r-- 1 root root 1024 12月 3 12:00 install.log
-rw-r–r--
第一个-表示文件类型,文件类型:- 二进制文件 d 目录 l 软链接文件
rw- r-- r–
u g o
用户类别:user 所有者 group 所属组 other 其他人
权限类型:read 读 write 写 execute 执行
mkdir
创建目录
选项:-p 递归创建
cd
切换目录
pwd
显示当前目录
. 当前目录 … 上一级目录
rmdir
删除空目录
cp
复制文件/目录
选项:-r 复制目录 -p 保留文件属性
mv
剪切/重命名
rm
删除文件/目录
选项:-r 删除目录 -f 强制执行
touch
创建空文件
cat
显示文件内容
选项:-n 显示行号
tac
(行)反向显示文件内容
more
分页显示文件内容
选项:空格/f 分页 回车 换行 q/Q 退出
less
分页显示文件内容,可以向上翻页,可以进行搜索(/要搜索的内容,n向下查找)
head
显示文件前几行的内容,默认10行
选项:-n 指定行数
tail
显示文件后几行的内容
选项:-n 指定行数 -f 动态显示末尾的内容
ln
生成链接文件
选项:-s 创建软链接
软链接
lrwxrwxrwx root root 47 12月 21 2020 /tmp/issue.soft —> /etc/issue
软链接的特点:
-
软链接箭头指向源文件
-
软链接类似于windows的快捷方式,所有用户都拥有全部的权限rwx,软链接执行时要找到原来的文件进行执行,
软链接的实际权限取决于源文件的权限
硬链接
lrwxrwxrwx root root 47 12月 21 2020 /tmp/issue.soft
硬链接的特点:
1.拷贝cp-p+同步更新,源文件删除了硬链接依旧可以运行
2.通过i节点识别,和源文件是同一i节点
3.不能跨分区
4.不能针对目录使用
权限管理命令
chmod
改变文件/目录权限
选项:-R 递归修改
权限以数字表示
r——4 w——2 x——1
例子
-rwx-r-x-r-- mode=754 7—rwx 5—r-x 4—r–
语法
1.chmod [{u/g/o/a}{+/-/=}{rwg}][文件/目录](设置多个权限以,分割)
2.chmod [mode][文件/目录]
能够修改权限的只有两个人:一是文件的所有者,二是root用户
(图片出处:B站—吾方羡_)
chown
修改文件/目录的所有者
语法:chown [用户] [文件/目录]
umask
查看文件创建时预设的权限
选项:-S 以文字的方式来表示权限掩码
chgrp
修改文件/目录的所有者
语法:chgrp [用户] [文件/目录]
文件搜索命令
find
文件搜索
语法:find [搜索范围] [匹配条件]
选项:-name 以文件名进行搜索 -iname 以文件名进行搜索,不区分大小写
-size 以文件大小进行搜索(+n 大于 -n 小于 n 等于,n以数据块就行换算)
-user 以所有者进行搜索 -group 以所属组进行搜索
-amin 访问时间 -cmin 文件属性 -mmin 文件内容
-a 两个条件同时满足 -o 两个条件满足任意一个 -inum 根据i节点查找
-type 根据类型进行查找 f 文件 d 目录 l 软链接
-exec [-ok] 操作 {} ; 对搜索结果执行操作,-ok可选 表示操作前询问
例
1.find -name filename 文件名精准搜索
2.find -name *filename* 搜索文件名中包含filename的文件
3.find -name *filename 搜索以filename结尾的文件
4.find -name filename* 搜索以filename开头的文件
5.find -name fi?? 搜索以fi开头后面有两个字符的文件
6.find /etc -cmin -30 查找/etc目录下30分钟内文件属性被修改过的文件和目录
7.find /etc -name table -exec ls -l {} \; 查找/etc目录下文件名为table的文件,并显示其详细信息
数据块
Linux文件存储的最小单位,1数据块=512字节=0.5k
100M=102400KB=204800
locate
在文件资料库中查找文件(查找非/tmp目录的文件)
选项:-i 不区分大小写
updatedb
更新locate的文件资料库
which
搜索命令所在目录及别名信息
whereis
搜索命令所在目录及帮助文档路径
grep
在文件中搜索字符串匹配的行并显示
选项:-i 不区分大小写 -v 排除指定字符串
语法:grep -iv [指定字符串] [文件]
例:grep -v ^# /etc/inittab 查找/etc目录下的inittab文件,去掉以#号开头的行(^表示开头)
帮助命令
man
查看命令的帮助信息
–help
查看命令选项的作用
help
查看Shell内置命令的帮助信息
用户管理命令
useradd
添加新用户
passwd
设置用户密码
who
查看用户登录信息
登录用户名 登录终端(:0 本地终端 pts 远程终端) 登录时间 IP地址
w
用于显示目前登入系统的用户信息
压缩解压命令
gzip
压缩文件(只能压缩文件,不能压缩目录,压缩完不保留源文件)
语法:gzip [文件]
压缩后文件格式:.gz
gunzip
解压缩.gz的压缩文件
语法:gunzip [压缩文件]
gzip -d 也可以用于解压.gz压缩文件
tar
打包目录
选项:-c 打包 -f 指定文件名 -v 显示详细信息 -z 打包同时压缩
压缩后文件格式:.tar.gz
解压缩
选项: -x 解压包 -v 显示详细信息 -f 指定解压文件 -z 解压缩
zip
压缩文件/目录
选项:-r 压缩目录
语法:zip [-r] [压缩后文件名] [文件/目录]
压缩后文件格式:.zip
bzip2
压缩文件
选项: -k 产生压缩文件后保留原文件
压缩后文件格式:.bz2
语法:bzip2 [-k] [文件]
和tar一起使用:tar -cjf filename.bz2 newfilename
bunzip2
解压缩
选项:-k 解压缩后保留原文件
语法:bzip2 [-k] [压缩文件]
和tar一起使用:tar -xjf filename.tar.bz2
网络命令
write
给在线用户发消息,cltr+D保存发送
语法:write [用户名]
wall
发广播信息
语法:wall [message]
ping
测试网络连通性
选项:IP地址 -c 指定发送次数
ifconfig
查看和设置网卡信息
语法:ifconfig 网卡名称 IP地址
执行权限:root
查看发送电子邮件,ctrl+D保存发送
语法:mail [用户名]
last
列出登入系统的用户信息及日志
lastlog
查看特定用户最后一次登录的时间
选项:-u
语法:lastlog [-u] [用户UID]
traceroute
显示数据包到主机间的路径
netstat
显示网络相关信息
选项:-t TCP协议 -u UDP协议 -l 监听 -r 路由 -n 显示IP地址和端口号
setup
配置网络
执行权限:root
挂载命令
moute
挂载
语法:mount [-t文件系统] 设备文件名 挂载点
umoute
卸载
关机重启命令
shutdown
关机/重启
选项:-c 取消前一个关机命令 -h 关机 -r 重启
语法:shutdown [选项] 时间
注意:关机和重启时,最好先关掉服务
其他关机命令
1.halt 2.poweroff(相当于断电) 3.init0
其他重启命令
1.reboot 2.inti 6
系统运行级别
0 关机
1 单用户模式,系统出现问题时可使用这种模式进入系统维护,典型的使用场景是在忘记root密码时可进入此模式修改root密码
2 不完全多用户,不含NFS服务,没有网络连接
3 完全多用户,Linux服务器最常见的运行级
4 未分配
5 图形界面,支持多用户,可连接网络
6 重启
runlevel:查看运行级别用
init 级别:切换系统运行级别
logout
退出登录
vim的常用操作
:n
直接到第n行,这个用的比较多
:r!
导入命令执行结果
:map
定义快捷键
语法::map 快捷键 触发命令
例1::map ^P I#
注释代码:输入:map 按ctrl+v+p(出现^P) I(大写的i表示跳到行首并进入插入模式)#(表示按键盘的ESC键)
例2::map ^B 0x
取消注释(去掉行首的第一个字符):输入:map 按ctrl+v+b(出现^B) 0(0表示跳到行首)x
连续行注释
:n1,n2s/^/#/g (^表示匹配开头,#表示添加的字符)
把连续行开头的注释替换为空: :n1,n2/^#//g
:n1,n2s/^ (\表示转义字符,表示输入/是要插入的内容)
替换
:ab web www.baidu.com
输入web按回车/空格会替换成www.baidu.com
永久生效的写法(一般快捷键/替换重启虚拟机后会失效)
配置文件一般在用户的/etc/vimrc ,把快捷键等写在vimrc下永久生效
软件包分类
1.源码包
1.1脚本安装包
2.二进制包(RPM包、系统默认包)
rpm包安装、卸载与升级(一般默认安装位置)
语法:rpm -ivh 保全名
选项:-i 安装 -U 升级 -v 显示详细信息 -h 显示进度 –nodeps 不检测依赖性 -e 卸载
rpm -e 包名
rpm包
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名 2.2.15 软件版本 15 软件发布的次数 e16.centos 适合的Liunux平台 i686 适合的硬件平台 rpm 包扩展名
rpm包查询
rpm -q 包名
rpm -a
注:查询时是在系统数据库中进行搜索,执行查询命令时不需要进入到对应的目录
查询软件包详细信息
rpm -qi 包名
选项:-i 查询软件信息 -p 查询未安装包信息
查询包中文件安装位置
rpm -ql 包名
选项:-l 列表 -p 查询未安装包信息
查询系统文件属于哪个RPM包
rpm -qf 系统文件名
选项:-f 查询系统文件属于哪个软件包
查询软件包的依赖性
rpm -qR 包名
选项:-R 查询软件包的依赖性 -p 查询未安装包信息
RPM包校验
rpm -V 已安装的包名
选项: -V 校验指定RPM包中的文件
RPM包中文件提取
rpm2cpio 包全名 | \ (将rpm包转换为cpio格式)
cpio -idv .文件绝对路径 (cpio是一个标准工具,用于创建软件档案文件和从档案文件中提取文件)
cpio 选项 < [文件|设备]
选项:-i copy-in模式,还原 -d 还原时自动新建目录 -v 显示还原过程
RPM包管理-yum在线命令
进入网路配置图形界面:nmtui
yum常用命令
查询
yum list
查询所有可用软件包列表
yum search 关键字
搜索服务器上所有和关键字相关的包
安装、升级和卸载
yum -y install/update/remove 包名
选项:-y 全部回答yes
update时记得带包名,不带包名会升级所有的东西,包括Linux内核(慎用)
尽量不要用yum卸载,yum卸载包是相互依赖的
yum软件组管理命令
yum grouplist
列出所有可用的软件组列表
yum groupinstall 软件组名
安装指定软件组,组名可以有grouplist查询出来
yum groupremove 软件组名
卸载指定软件组
源码包(一般安装在/usr/local/src)
软件一般安装在/usr/local下
用户配置文件
用户信息文件
/etc/passwd
第1个字段:用户名
第2个字段:密码标志(x代表有密码)
第3个字段:UID 0:超级用户 1-499:系统优化 500-65535:普通用户
第4个字段:GID(用户初始组ID)
第5个字段:用户说明
第6个字段:家目录 普通用户:/home/用户名/ 超级用户:/root/
第7个字段:登录之后的shell