文本流常见命令
文本流常见命令背景昨天看Nginx时,看博文中有一些很有意思的文本操作的linux命令自己不曾了解,现下单独分类记述
知识点常见123456789# 查看所有的内容cat [文件名称]# 查看文本文件的前十行head [文件名称]# 查看文本内容,支持翻页less [文件名称]more [文件名称]
tail命令:动态显示12# tail命令可以动态的在命令行窗口刷新文本的内容部分tail -f [文件名称]
egrep:内容检索命令格式1234567# egrep = grep -eegrep [option] [正则表达式] [文件名]# option常用的参数有以下几种:-v:匹配的内容取反-o:只展示匹配上的内容,不展示匹配内容所在行的所有信息-i:忽略大小写的匹配
egrep的正则元字符:
字符匹配
字符
匹配内容
说明
.
匹配任意字符
[内容]
匹配范围内的任意字符
如:[1-9]
[^内容]
匹配范围外的任意字符
如:[ ^a-z]
次数匹配
字符
匹配内容
说明
*
匹配任意次
?
匹配0到1次
+
匹配至少一 ...
服务器禁止ping
服务器禁止ping背景最近搭建几个站点,为了安全,需要设置服务器禁止ping,以提高服务器的安全性。ping使用的是ICMP协议,当我们禁止ping以后,服务器就不会对用户的ping做出任何回应
Linux默认允许ping响应,系统是否能够被ping取决两个要素:内核参数(不懂)和防火墙,二者缺一不可
配置方法
方法1:通过修改配置文件【icmp_echo_ignore_all】(root权限),配置完毕后,别人无法ping本服务器,本服务器也无法ping别的机器(系统提示不允许改)
1234567# 该文件默认只读,设置完毕后重启机器sudo chmod 600 /proc/sys/net/ipv4/icmp_echo_ignore_allsudo vim /proc/sys/net/ipv4/icmp_echo_ignore_all# 将其中的默认值1改为0# 1:表示不允许ping# 0:表示允许ping
方法2:通过命令修改方法1的文件,实现结果都是一样的(系统提示不允许改)
12# 运行该命令需要root权限,设置完毕后重启机器sudo echo 1 > /proc/ ...
帮助命令
常见帮助命令1234# 内容简要command --help# 内容详实man command
备注1234567# 针对man命令,查看时有如下几个操作空格键:查看手册的下一页Enter键:一次滚动手册的一行b:回滚一屏f:前滚一屏q:退出/word:搜索word单词
设置Ubuntu的启动方式123456# 设置默认命令行启动sudo systemctl set-default multi-user.targetreboot# 设置默认图形界面启动sudo systemctl set-default graphical.targetreboot
查找相关
其它命令查找命令find:在特定的目录下搜索符合条件的文件123# 路径:省略路径则在当前路径下查找# 文件名称:默认支持通配符find [路径] -name "文件名称"
软连接ln:建立数据的软连接,也就是创建其快捷方式123# -s:建立的链接是一个软连接,不带-s建立的是硬链接,工作中不会使用# 被链接的文件一定要是一个绝对路径ln -s 被链接的源文件 创建的软连接
123# linux中文件名和文件数据是分开保存的,只有文件的硬链接数为0时,才会将文件数据给删除# 硬链接:是文件数据的别名,可直接访问到存储在盘中的文件数据,而不用通过文件名# 删除软链接,只是删除了访问文件名的方式
打包和解包tar:将一系列文件打包到一个大文件中,也可将打包的大文件回复成一系列文件12345678# c:创建打包文件# v:列出打包、解压的详细过程,显示进度# f:指定档案名称,f后面一定是.tar文件,所以必须放在选项最后tar -cvf 文件名.tar 被打包的文件# x:解开打包文件tar -xvf 文件名.tar
12345678# tar命令只负责打包 ...
文件&目录操作
文件创建、删除touch:创建文件123# 文件不存在,则创建空白文件# 文件已存在,则修改文件的末次修改时间touch [文件名]
mkdir:创建文件夹1234# 新建的目录名称必须不能够与当前目录中已有的目录、文件同名-p:可递归创建文件夹mkdir 文件夹名mkdir -p [嵌套目录]
rm:删除文件、目录12345# rm删除文件后无法恢复,因此需要小心-f:强制删除,忽略不存在的文件,并且不显示提示-r:递归删除目录下的内容,删除文件夹时必须使用此参数 rm [文件名]rm -r [文件夹名]
拷贝、移动tree:以树状图列出文件结构12tree [目录名]-d:只显示目录
cp:将文件、目录复制到另一个路径下1234cp [源文件] [目标文件]-f:若目标文件已存在,则直接复制,不提示-i:覆盖文件时提示-r:若给出的源文件是目录文件,则cp将递归复制该目录下所有子目录、文件,目标文件必须为一个目录名
mv:用于移动文件、目录12# -i:覆盖文件前的提示mv [源文件] [目标文件]
查看文件内容cat:查看文件内容、创建文件、文件合并、追加文件内 ...
权限管理
用户权限知识点用户管理123# 用户管理:包括用户、组管理,# 权限管理:指定每一个用户针对不同的文件/目录的权限# 权限包括:r、w、x
组管理1# 预先对组设置号权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
ls -l拓展
以data文件夹为例,从左到右依次为
1234567drwxrwxr-x:表示用户对该文件夹的权限,d表示文件夹,第一个rwx表示文件夹拥有者所拥有的权限,第二个rwx表示用户所属于的组对文件夹的权限,第三个r-x表示其它用户对该文件夹的权限2:表示该文件夹的硬链接数,也就是访问该文件夹的方式的数目,文件的硬链接数一般为1,文件夹的硬连接数取决于文件夹中所包含的子目录数wuxinag:文件的拥有者wuxiang:文件拥有者所属于的组4096:表示文件的大小Jun 14 10:23:表示文件的修改时间data:文件的用户名,可执行文件为绿色,目录为蓝色,普通文件为白色
超级用户12# root用户常用于系统的维护和部署,对操作系统的所有资源具有访问权限# linux系统常用标准用户操作系统
命令chmod作用:修改用户、组对文件 ...
用户管理
用户管理用户管理注意:创建用户/删除用户/修改其它用户密码的终端命令都需要通过sudo执行
useradd:添加新用户1234# -m:自动创建用户家目录# -g:指定用户所属的组,否则会建立一个与用户名同名的组# 若忘记使用-m选项添加用户家目录,最快的方式是删除该用户,然后重新创建sudo useradd -g 组名 -m 新用户名
passwd:设置用户名密码123456# 用户信息保存在/etc/passwd文件中cat /etc/passwd | grep [用户名]# 修改其它用户sudo passwd [用户名]# 修改自己的密码passed
userdel:删除用户12# -r:会自动删除用户的家目录sudo userdel -r [用户名]
查看用户信息id:查看用户的UID和GID信息123# uid:表示用户代号,存放在/etc/passwd文件中# gid:表示用户所属的主组代号,存放在/etc/group文件中id [用户名]
passwd:文件中信息用:进行分割(共7个信息),从左到右信息依次如下:
1234567wuxiang:表示的是登录的用户 ...
信息查询
文件&目录终端使用技巧1234# 调用历史命令↑/↓# 取消使用当前的命令Ctrl + c
查看目录1234567891011121314# 查看当前目录下文件ls# 常用选项,ubuntu中默认文件以白色显示,文件夹以蓝色显示-a: 显示指定目录下所有子目录和文件,包括隐藏文件-l:以列表形式显示文件详细信息-h:配合-l以人性化方式显示文件大小# ls通配符.:代表?:代表任意一个字符,但是只能代表一个[]: 可以匹配字符组中的任意一个[abc]:匹配a,b,c中的任意一个[a-f]:匹配a-f范围内的任意一个字符
切换目录123456789# 切换至当前用户的Home目录cdcd~# 保持在当前目录不变cd .# 切换至当前目录的上一级目录cd ..# 在最近的两次目录中进行切换cd -
作业题
创建以下文件及文件夹
文件:1.txt,12.txt,212.txt
文件夹:吴翔,212,343
尝试调用前一次执行的命令,然后取消执行当前的命令。
打印出当前文件夹下所有的文件信息(不包括隐藏文件)
打印出当前文件夹下所有的文件信息(包括隐藏文件)
按列表形式打 ...