[root@localhost ~] #
[root@localhost ~] # 命令 [选项] [参数]
ls [选项] [文件名或目录名]
选项:
? ? ? ? -a: 显示所有文件
? ? ? ? --color=when: 支持颜色输出, when的只默认是always(总显示颜色), 也可以是never(从不显示颜色)和auto(自动)
? ? ? ? -d: 显示目录信息, 而不是目录下的文件
? ? ? ? -h: 人性化显示, 按照我们的习惯显示文件的大小
? ? ? ? -i: 显示文件的i节点号
? ? ? ? -l: 长格式显示
cd是切换所在目录的命令
特殊符号 | 作用 |
---|---|
~ | 代表用户的家目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
.. | 代表上级目录 |
绝对路径: 以根目录作为参照物, 从根目录开始, 一级一级进入目录
相对路径: 以当前目录作为参照物, 进行目录查找
pwd命令查询当前所在目录
mkdir是创建目录的命令
选项: -p 递归的建立所需的目录
删除目录的命令
选项: -p 递归的删除目录
创建空文件或修改文件时间
stat是查看文件的详细信息
查看文件内容
cat?[选项] 文件名
选项:
? ? ? ? -A: 相当于-vET选项的整合, 用于列出所有隐藏符号
? ? ? ? -E: 列出每行结尾的回车符$
? ? ? ? -n: 显示行号(常用)
? ? ? ? -T: 把Tab键使用^I显示出来
? ? ? ? -v: 显示出特殊字符
分屏显示文件
more一般不用什么选项, 但有一些交互命令:
分行显示
显示文件开头
显示文件结尾的内容
tail [选项] 文件名
选项:?
? ? ? ? -n: 行数: 从文件结尾开始, 显示指定行数
? ? ? ? -f: 监听文件的新增内容
ln [选项] 源文件 目标文件
选项:
? ? ? ? -s: 建立软连接(不加-s, 则建立的是硬链接)
? ? ? ? -f: 强制. 如果目标文件已经存在, 则删除目标文件后再建立链接文件
硬链接的特征:?
假设test1是原文件, test2是硬链接, 他们都指向硬盘中相同的位置(即文章的内容), 当我们删除test1时, 由于test2没有删除, 仍然记得文件的位置, 导致硬盘不会清理相关的内容, 必须删除全部的硬链接才行
软连接特征:
?假设test1是源文件, test2是软连接, test2会指向test1, 当我们使用test2是会使用test1然后进行相应的操作, 如果test1删除了, 会导致软连接不可用, 有点像Windows下的快捷方式
删除文件或目录
rm [选项] 文件或目录
选项:
? ? ? ? -f: 强制删除(不会进行询问)
? ? ? ? -i: 交互删除, 在删除之前会询问用户(默认会有-i选项)
? ? ? ? -r: 递归的删除, 用于删除目录
用于复制文件或目录
cp [选项] 源文件 目标文件
选项:
? ? ? ? -a: 相当于dpr选项的总和
? ? ? ? -d: 如果源文件是软连接, 则复制出的目标文件也是软连接
? ? ? ? -i: 询问, 如果目标文件已经存在, 则会进行询问
? ? ? ? -p: 复制后目标文件保留源文件的属性(包含所有者, 所属组, 权限和时间)
? ? ? ? -r: 递归复制, 用于复制目录
剪切的命令
mv [选项] 源文件 目标文件
选项:
? ? ? ? -f: 强制覆盖, 如果目标文件已经存在, 不进行询问, 直接强制覆盖
? ? ? ? -i: 交互的移动(默认选项)
? ? ? ? -v: 显示详细信息
我们使用ll命令即可查看文件的权限
chmod: 修改权限
chmod [选项] 权限模式 文件名
选项:
? ? ? ? -R: 递归的设置权限, 也就是给子目录中的文件设置权限
chmod命令的权限模式的格式是"[ugoa][+-=][perms]", 也就是"[用户身份][赋予方式][权限]的格式
数字权限是非常常用的方式
权限对文件的作用
权限对目录的作用
修改文件或目录所有者和所属组的命令
chown [选项] 所有者:所属组 文件或目录
选项:?
? ? ? ? -R: 递归设置权限, 也就是给子目录中的所有文件设置权限
普通用户不能改变文件的所有者, 文件是自己的也不行
修改文件或目录的所属组的命令
对于文件来说最大的默认权限是666, 对于目录来说最大的默认权限是777, umask默认权限需要使用二进制进行逻辑与和逻辑非运算才能计算出默认的文件权限, 我们只用简单了解文件和目录默认的文件权限和它有关即可
最常见的帮助命令
man [选项] 命令
选项:
? ? ? ? -f: 查看命令拥有哪个级别的帮助
? ? ? ? -k: 查看命令相关的所有帮助
快捷键 | 作用 |
---|---|
上/下箭头 | 向上/下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
q | 退出 |
/字符串 | 从当前页向下搜索字符串 |
?字符串 | 向上搜索字符字符串 |
n | 当搜索字符串时, 使用n找到下一个字符串 |
N | 向搜索字符串时, 使用N 返现查询字符串. 也就是, 使用"/字符串"方式搜索时, 则N表示向上搜索字符串; 如果使用"?字符串", 则N表示向下搜索字符串 |
帮助信息是一套完整的资料, 每个单独的命令的帮助信息只是这套完整资料中的某一个小章节
快捷键 | 作用 |
---|---|
上/下箭头 | 向上/下移动一行 |
PgUp | 向上翻一页 |
PgDn | 向下翻一页 |
Tab | 在又" * " 符号的节点间进行切换 |
回车 | 进入有" * "符号的子页面, 查看帮助信息 |
u | 进入上一层信息 |
n | 进入下一小节信息 |
p | 进入上一小节信息 |
? | 查看帮助手册 |
q | 退出 |
help只能获取Shell内置命令的帮助
绝大多数命令都可以使用"--help"选项来查看帮助, 这也是一种获取帮助的一种方法, 例如
这种方法简单, 输出的帮助信息基本上是man命令的信息简要版本
搜索系统命令的命令, whereis不能搜索普通文件, 只能搜索系统命令
也是系统搜索命令, 和whereis相比有以下区别:
按照问你件名查找普通文件
优点: 按照数据库搜索, 搜索速度快, 消耗资源少. 数据库的位置/var/lib/mlocate/mlocate.db, 我们可以使用updatedb命令强制更新数据库
缺点: 只能按照文件名来搜索文件, 不能执行更加复杂的操作
find 搜索路径 [选项] 搜索内容
选项:
? ? ? ? -name: 按照文件名搜索
? ? ? ? -iname: 按照文件名搜索, 不区分大小写
? ? ? ? -inum: 按照inode号搜索
find 搜索路径 [选项] 搜索内容
选项:????????
? ? ? ? -size [+|-]大小: 按照指定大小搜索文件
+表示比指定大小还大的文件, -表示比指定大小小的文件
相关单位:
? ? ? ? b: 这个默认单位, 如果单位为b或这个不写单位, 则按照512Byte搜索
? ? ? ? c: 按照字节搜索
? ? ? ? w: 按照双字节(中文)搜索
? ? ? ? k: 按照Kb单位搜索(注意是小写)
? ? ? ? M: 按照MB单位进行搜索
? ? ? ? G: 按照GB进行搜索
Linux中文件有访问时间(atime), 数据修改时间(mtime), 状态修改时间(ctime), 这三个时间, 我们可以按照时间来搜索文件
find 搜索路径 [选项] 搜索内容
选项:
? ? ? ? -atime [+|-]时间: 按照文件访问时间搜索
? ? ? ? -mtime [+|-]时间: 按照文件数据修改时间搜索
? ? ? ? -ctime [+|-]时间: 按照文件状态修改时间搜索
-5表示5天内修改的, +5表示5天前修改的
find 搜索路径 [选项] 搜索内容
选项:
? ? ? ? -perm 权限模式: 查找文件权限刚好等于"权限模式"的文件
? ? ? ? -perm -权限模式: 查找文件权限全部包含"权限模式"的文件
? ? ? ? -perm +权限模式: 查找文件权限包含"权限模式"任意一个权限的文件
find 搜索路径 [选项] 搜索内容
选项:?
? ? ? ? -uid 用户ID: 按照用户ID查找所有者是指定ID的文件
? ? ? ? -gid 组ID: 按照用户组ID查找所属组是指定ID的文件
? ? ? ? -user 用户名: 按照用户名查找所有者是指定用户的文件
? ? ? ? -group 组名: 按照组名查找所属组是指定用户组的文件
? ? ? ? -nouser: 查找没有所有者的文件
-nouser比较常见, 主要用于查找垃圾文件. 还有一种情况, 从光盘和U盘中复制的文件, 没有所有者, 再比如源码包安装的文件
find 搜索路径 [选项] 搜索内容
选项:
? ? ? ? -type d: 查找目录
? ? ? ? -type f: 查找普通文件
? ? ? ? -type l: 查找软连接
find 搜索路径 [选项] 搜索内容
选项:?
? ? ? ? -a: 逻辑与
? ? ? ? -o: 逻辑或
? ? ? ? -not: 逻辑非
1) -exec选项
find 搜索路径 [选项] 搜索内容 -exc 命令2 {} \;
{}表示find命令搜索的结果
2)-ok
作用和-exec基本相同, 只不过-ok会进行询问是否这样做才会执行命令
grep的作用是在文件中提取和匹配符合条件的字符串行
grep [选项] "搜索内容" 文件名
选项:
? ? ? ? -i: 忽略大小写
? ? ? ? -n: 输出行号
? ? ? ? -v: 反向查找
? ? ? ? --color=auto: 搜索出的关键字用颜色显示
find和grep的区别是什么呢?
1)find
find命令用于在系统中搜索符合条件的文件名, 如果需要模糊查询, 则使用通配符进行匹配, 通配符是完全匹配
2)grep
grep命令用于在文章中搜索符合条件的字符串, 如果需要模糊搜索, 则使用正则表达式进行匹配, 是包含匹配
3)通配符和正则表达式的区别
通配符:用于匹配文件名, 是完全匹配
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或多个任意字符, 也就是可以匹配任何内容 |
[] | 匹配中括号中任意一个字符, 如[abc]表示一定匹配一个字符a, 或b, 或c |
[-] | 匹配中括号中任意一个字符, -代表范围, 如[a-z]表示一定匹配一小写字母 |
[^] | 逻辑非, 表示匹配的不是中括号内的一个字符, 如[^0-9]表示一定不是匹配数字 |
正则表达式: 用于匹配字符串, 包含匹配
正则符 | 作用 |
---|---|
? | 匹配前一个字符0次, 或者1次(?是扩展正则, 需要使用egrep) |
* | 匹配前一个字符重复0次, 或者任意多次 |
[] | 匹配中括号中任意一个字符 |
[-] | 匹配中括号中任意一个字符, -代表范围 |
[^] | 逻辑非, 表示匹配不是中括号内的一个字符 |
^ | 匹配行尾 |
$ | 匹配行首 |
命令格式: 命令1 | 命令2
命令1的输入作为命令2的操作对象
命令的别名, 也就是命令的小名, 主要为了照顾管理员的使用习惯
命令格式:
????????alias: 查询命令别名
? ? ? ? alias 别名='原命令' : 设定命令别名
用命令定义的别名, 是临时生效的, 想要永久生效, 需要写入环境变量配置文件中~/.bashrc
7.8常用快捷键: 补充命令
快捷键 | 作用 |
---|---|
Tab | 命令和文件补全 |
ctrl+A | 把光标移动到命令行的开头 |
ctrl+E | 把光标移动到命令行的结尾 |
ctrl+C | 强制终止当前命令 |
ctrl+L | 清屏 |
ctrl+U | 删除或剪切 |
ctrl+Y | 粘贴 |
".zip"是Windows中常见的压缩格式, 在Linux中也能正确识别
zip [选项] 压缩包名 源文件或源目录
选项:????????
? ? ? ? -r: 压缩目录
unzip [选项] 压缩包名
选项:
? ? ? ? -d: 指定解压位置
".gz"格式是Linux中常用的压缩格式, 使用gzip命令进行压缩
gzip [选项] 源文件
选项:
? ? ? ? -c: 将压缩数据输出到标准输入中, 可以用于保留源文件
? ? ? ? -d: 解压缩
? ? ? ? -r: 压缩目录
".bz2"是Linux中另一种常见的压缩格式, 且此格式的算法更加先进, 压缩比更好, 且更快
bzip2 [选项] 源文件
选项:
? ? ? ? -d: 解压缩
? ? ? ? -k: 压缩时, 保留源文件
? ? ? ? -v: 显示压缩的详细信息
".tar"格式的打包和解答吧哦都是用tar命令
tar [选项] [-f 压缩包名] 源文件或目录
选项:?
? ? ? ? -c: 打包
? ? ? ? -f: 指定压缩包的文件名, 压缩包的扩展名是为了让管理者进行区分, 所有一定要争取指定扩展名
? ? ? ? -v: 显示打包过程
tar [选项] 压缩包
选项:
? ? ? ? -x: 解打包
? ? ? ? -f: 指定压缩包的文件名
? ? ? ? -v: 显示解打包文件的过程
? ? ? ? -t: 测试, 只是查看包中有哪些文件
? ? ? ? -C 目录: 指定解打包位置
tar [选项] 压缩包 源文件或目录
选项:?
? ? ? ? -z: 压缩和解压缩".tar.gz"格式
? ? ? ? -j: 压缩和解压缩".tar.bz2"格式
tar -zcvf 123.tar.gz 123 : 将123目录压缩成tar.gz的格式, 并且保留源文件, 显示压缩过程
tar -jcvf 123.tar.bz2 123 : 将123目录压缩成tar.bz2的格式, 并且保留源文件, 显示压缩过程
如果需要解压缩把c改为x即可
shutdown [选项] 时间 [警告信息]
选项:?
? ? ? ? -c: 取消已经执行的shutdown命令
? ? ? ? -h: 关机
? ? ? ? -r: 重启
注意服务器只能重启不要关机, 不要关机, 不要关机
常见的命令有: shutdown -r now?
也是重启命令, 在现在的系统中reboot也是安全的, 不需要加入过多的选项
这两个命令都是关机命令, 直接执行即可, 但是不会完整保存系统的服务, 不推荐使用
init时修改Linux运行级别的命令, 也可以用于关机和重启, 但是不安全, 不推荐使用
10.1.1配置IP地址
IP地址是计算机在互联网中的唯一的地址编码, 每台计算机如果都接入网络和其他计算机进行数据通信, 就必须配置唯一的公网IP地址
配置IP地址有两种方法:
1)setup工具
2)vim? /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
vim /etc/sysconfig/network-scripts/ifcfg-eth0 : 删除Mac地址行
rm -rf /etc/udev/rules.d/70-persistent-net.rules:删除Macd地址和UUID绑定文件
reboot
ping [选项] IP
?选项:
? ? ? ? -b: 后面加广播地址, 用于对整个网段进行探测
? ? ? ? -c 次数: 用于指定ping的次数
? ? ? ? -s 字节: 指定探测包的大小
netstat是网络状态查看命令, 既可以查看本机开启的端口, 也可以查看有哪些客户端连接. 在CentOS7.x中 netstat命令默认没有安装, 如果需要使用, 需要安装: net-snmp和net-tools软件包
netstat [选项]
选项:?
? ? ? ? -a: 列出所有网络状态, 包括Socket程序
? ? ? ? -c 秒数: 指定每隔几秒刷新一次网络状态
? ? ? ? -n: 使用IP地址和端口号显示, 不适用域名和服务名
? ? ? ? -p: 显示PID和程序名
? ? ? ? -t: 显示使用TCP协议端口的连接状况
? ? ? ? -u: 显示使用UDP协议端口的连接状态
? ? ? ? -l: 仅显示监听状态的连接
? ? ? ? -r: 显示路由表
write [用户名] [终端名称]
使用Ctrl + D结束发送
write命令用于给指定用户发送信息, 而wall命令给所有登录用户发送信息, 包括自己.
mail是Linux的邮箱客户端命令, 可以利用这个命令给其他用户发送邮件
我们接收到的邮箱都保存在"/var/spool/mail/用户名"中, 每个用户都有一个以自己的用户名命名的邮箱.
其中N表示维度邮件, 后面的数字是邮件的编号, 我们输入1就可以查看相应的邮件
系统中中有一些重要的痕迹日志文件, 如/var/log/wtmp, /var/run/utmp等日志文件, 如果你使用vim打开这些文件, 你会发现这些文件是二进制乱码的. 这是由于这些日志中保存的是系统的重要登录痕迹, 包括某个用户合适登录了系统, 合适退出了系统, 错误的登录信息. 这些信息如果使用vim打开, 就能修改, 这样痕迹信息就不准确了, 所以这些信息, 只能用对应的命令来查看
w命令是显示系统中增在登录的用户信息的命令, 这个命令查看的痕迹日志是/var/run/utmp
who命令和w命令相似, 用于查看正在登录的用户, 但是显示的更加简略
last命令是查看所有登录过的用户信息, 包含正在登录的用户和之前登录的用户
lastlog命令是查看系统中所有用户最后一次登录时间的命令, 它查看的日志是/var/log/lastlog
lastb命令是查看错误登录的信息, 查看的是/var/log/btmp
Linux中所有储存设备都必须要挂在才能使用, 包括硬盘
mount [选项] 设备名 挂载点
选项:
? ? ? ? -l: 查询系统中已经挂载的设备
? ? ? ? -a: 依据配置文件/etc/fastab的内容, 自动挂载
? ? ? ? -t 文件系统: 加入文件系统类型来指定挂载的类型
? ? ? ? -L 卷标名: 挂载指定卷标的分区, 而不是安装设备文件名挂载
? ? ? ? -o 特殊选项: 可以指定挂载的额外选项, 比如读写权限, 同步异步等, 不指定则默认值生效
光盘挂载的前提是指定关盘的设备文件名, 不同Linux, 设备文件名不相同:
不论那个系统都有软连接/dev/cdrom, 与可以作为光盘的设备文件名
注意: 卸载时候, 要推出光盘目录, 才能正常卸载
U盘会和硬盘公用设备文件名, 所以U盘设备文件名不是固定的, 需要搜东查询: fdisk -l
然后就是挂载了, 命令: mount -t vfat /dev/sdb1 /mnt/usb/? ? ?挂载U盘, 因为是Windows分区, 所以是vfat文件系统格式
如果需要中文, 我们可以手动指定编码集: mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
然后进行卸载: umount /mnt/usb/